---
# Business Logic — KKW01601SF03DBean.listKoumokuIds() [24 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA15301SF.KKW01601SF03DBean` |
| Layer | DBean (Data Bean / View Model — Web layer data transfer object) |
| Module | `KKA15301SF` (Package: `eo.web.webview.KKA15301SF`) |

## 1. Role

### KKW01601SF03DBean.listKoumokuIds()

This method serves as a static catalog provider for the display field names used in the service contract data-type view bean (`KKA15301SF03DBean`). It returns an `ArrayList<String>` containing 20 Japanese field/item names that correspond to the logical columns presented in the service contract inquiry and maintenance screens within the KKA15301SF screen module. The returned list is the canonical source of column-order metadata: it is consumed by the `typeModelData(String key, String subkey)` method defined in the same bean, which uses each string as a lookup key to determine the runtime data type (`String.class`) and visual state for a given field and sub-key (`value` or `state`). As a static utility method on a DBean, it implements a registry/factory pattern — providing a fixed, order-sensitive index of fields that screens use to render data-grid columns, validate user input keys, and map screen parameters to backend entity fields. The method contains no conditional branches, no external dependencies, and no CRUD operations; it is a pure data-producer.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["Start: listKoumokuIds()"])
    INIT(["Initialize ArrayList<String> koumokuList"])
    ADD1(["Add \"SSPID\""])
    ADD2(["Add \"Service Contract Number\""])
    ADD3(["Add \"Difference Division\""])
    ADD4(["Add \"Difference Reason Code\""])
    ADD5(["Add \"Difference Reason Memo\""])
    ADD6(["Add \"Optional Service Contract Number\""])
    ADD7(["Add \"Processing Division\""])
    ADD8(["Add \"Application Number\""])
    ADD9(["Add \"Application Detail Number\""])
    ADD10(["Add \"Specific IT Item Name\""])
    ADD11(["Add \"Specific IT Item Value\""])
    ADD12(["Add \"Update Mode\""])
    ADD13(["Add \"Simultaneous Application Service Contract Number\""])
    ADD14(["Add \"Maintenance Name\""])
    ADD15(["Add \"Address\""])
    ADD16(["Add \"Difference Division Selection Screen Transition Parameter\""])
    ADD17(["Add \"P-IT\""])
    ADD18(["Add \"M-IT\""])
    ADD19(["Add \"CATV-IT\""])
    ADD20(["Add \"External System Code\""])
    RETURN(["Return koumokuList"])
    END(["End"])

    START --> INIT
    INIT --> ADD1
    ADD1 --> ADD2
    ADD2 --> ADD3
    ADD3 --> ADD4
    ADD4 --> ADD5
    ADD5 --> ADD6
    ADD6 --> ADD7
    ADD7 --> ADD8
    ADD8 --> ADD9
    ADD9 --> ADD10
    ADD10 --> ADD11
    ADD11 --> ADD12
    ADD12 --> ADD13
    ADD13 --> ADD14
    ADD14 --> ADD15
    ADD15 --> ADD16
    ADD16 --> ADD17
    ADD17 --> ADD18
    ADD18 --> ADD19
    ADD19 --> ADD20
    ADD20 --> RETURN
    RETURN --> END
```

**Processing summary:** The method executes a linear, branchless sequence of 20 sequential `ArrayList.add()` operations, each appending a Japanese field name to the list in a fixed, order-dependent sequence. There are no loops, conditionals, or external method invocations.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a static method with no parameters. It returns a pre-defined, order-sensitive catalog of 20 field names used across the service contract data-type view bean. |

No instance fields or external state are read by this method. It is a pure function with no side effects.

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| (none) | — | — | — | This method performs no database access, no service component calls, and no CRUD operations. It only constructs an in-memory `ArrayList<String>`. |

**Method call analysis:** The only method invocations are `new ArrayList<String>()` (Java standard library constructor) and `ArrayList.add(String)` (standard library append). No Service Component (SC) or Callback Stub (CBS) methods are called.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | — (no callers found) | — | — |

A search across all Java source files in the repository found zero callers of `KKW01601SF03DBean.listKoumokuIds()`. This method appears to be a standalone utility — it is not referenced by any other class in the same module (`KKA15301SF`) or in the broader codebase. The companion method `typeModelData(String key, String subkey)` within the same bean uses the same 20 field name strings as lookup keys, suggesting the list is likely consumed indirectly (e.g., via reflection, screen configuration metadata, or a framework-level bean introspection mechanism) rather than through direct Java method calls.

## 6. Per-Branch Detail Blocks

> This method contains no control-flow branches, conditionals, loops, or exception-handling blocks. The entire method is a single linear block of sequential data construction.

**Block 1** — [SEQUENTIAL EXECUTION] (L1147)

> Construct and return a fixed catalog of 20 field names in order.

| # | Type | Code |
|---|------|------|
| 1 | DECLARE | `ArrayList<String> koumokuList = new ArrayList<String>();` // Create empty list (項目名 = field names) |
| 2 | ADD | `koumokuList.add("SSPID");` // Field ID: hktgi_sysid (システム識別 ID) |
| 3 | ADD | `koumokuList.add("サービス契約番号");` // Field ID: hktgi_svc_kei_no (サービス契約番号) |
| 4 | ADD | `koumokuList.add("異動区分");` // Field ID: hktgi_ido_div (異動区分 = change type/division) |
| 5 | ADD | `koumokuList.add("異動理由コード");` // Field ID: hktgi_ido_riy_by_code (異動理由コード = reason code for change) |
| 6 | ADD | `koumokuList.add("異動理由メモ");` // Field ID: hktgi_ido_riy_memo (異動理由メモ = reason memo for change) |
| 7 | ADD | `koumokuList.add("オプションサービス契約番号");` // Field ID: hktgi_op_svc_kei_no (オプションサービス契約番号 = optional service contract number) |
| 8 | ADD | `koumokuList.add("処理区分");` // Field ID: hktgi_shori_div (処理区分 = processing division/type) |
| 9 | ADD | `koumokuList.add("申請番号");` // Field ID: hktgi_sinsei_no (申請番号 = application number) |
| 10 | ADD | `koumokuList.add("申請明細番号");` // Field ID: hktgi_sinsei_miso_no (申請明細番号 = application detail number) |
| 11 | ADD | `koumokuList.add("特定IT項目名");` // Field ID: hktgi_tokutei_IT_koumoku_mei (特定IT項目名 = specific IT item name) |
| 12 | ADD | `koumokuList.add("特定IT項目値");` // Field ID: hktgi_tokutei_IT_koumoku_chi (特定IT項目値 = specific IT item value) |
| 13 | ADD | `koumokuList.add("アップデートモード");` // Field ID: hktgi_apudo_mo (アップデートモード = update mode) |
| 14 | ADD | `koumokuList.add("同時申請サービス契約番号");` // Field ID: hktgi_doujin_sinsei_svc_kei_no (同時申請サービス契約番号 = simultaneous application service contract number) |
| 15 | ADD | `koumokuList.add("メンテナンス名");` // Field ID: hktgi_mentenano_mei (メンテナンス名 = maintenance name) |
| 16 | ADD | `koumokuList.add("住所");` // Field ID: hktgi_jusho (住所 = address) |
| 17 | ADD | `koumokuList.add("異動区分選択画面遷移パラメータ");` // Field ID: hktgi_ido_div_senta_pama (異動区分選択画面遷移パラメータ = difference division selection screen transition parameter) |
| 18 | ADD | `koumokuList.add("P－IT");` // Field ID: hktgi_P_IT (P-IT = P-Internet service type) |
| 19 | ADD | `koumokuList.add("M－IT");` // Field ID: hktgi_M_IT (M-IT = M-Internet service type) |
| 20 | ADD | `koumokuList.add("CATV－IT");` // Field ID: hktgi_CATV_IT (CATV-IT = Cable TV-Internet service type) |
| 21 | RETURN | `return koumokuList;` // Return the completed catalog of 20 field names |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `hktgi_sysid` | Field | System ID — unique system identifier for the service contract entity (SSPID) |
| `hktgi_svc_kei_no` | Field | Service contract number — the primary identifier for a service contract line item |
| `hktgi_ido_div` | Field | Change division/type — classifies the type of modification (e.g., add, delete, change) applied to a service contract |
| `hktgi_ido_riy_by_code` | Field | Change reason code — coded reason for a service contract modification |
| `hktgi_ido_riy_memo` | Field | Change reason memo — free-text memo explaining the reason for a service contract modification |
| `hktgi_op_svc_kei_no` | Field | Optional service contract number — identifier for an optional/add-on service contract |
| `hktgi_shori_div` | Field | Processing division — classifies the processing type/category for the order |
| `hktgi_sinsei_no` | Field | Application number — the unique application/tracking number for a service order |
| `hktgi_sinsei_miso_no` | Field | Application detail number — sub-identifier within an application for line-item-level detail |
| `hktgi_tokutei_IT_koumoku_mei` | Field | Specific IT item name — name of a custom/proprietary IT field |
| `hktgi_tokutei_IT_koumoku_chi` | Field | Specific IT item value — value of a custom/proprietary IT field |
| `hktgi_apudo_mo` | Field | Update mode — indicates the mode of data update (e.g., insert, update, delete) |
| `hktgi_doujin_sinsei_svc_kei_no` | Field | Simultaneous application service contract number — contract number for services applied simultaneously/bundled with the main application |
| `hktgi_mentenano_mei` | Field | Maintenance name — the name/label of a maintenance window or maintenance record |
| `hktgi_jusho` | Field | Address — customer address information |
| `hktgi_ido_div_senta_pama` | Field | Change division selection screen transition parameter — parameter used to navigate to the change type selection screen |
| `hktgi_P_IT` | Field | P-IT (P-Internet) — P-Internet service type identifier |
| `hktgi_M_IT` | Field | M-IT (M-Internet) — M-Internet service type identifier |
| `hktgi_CATV_IT` | Field | CATV-IT (Cable TV-Internet) — Cable TV-Internet bundled service type identifier |
| SSPID | Field | System Service Product ID — the system identifier for a service product |
| DBean | Technical | Data Bean — a view-layer data transfer object used in the web presentation tier to carry form/view data |
| KKA15301SF | Module | Service Contract Data-Type View Screen Module — the screen module handling service contract data-type view operations |
| Koumoku (項目) | Japanese term | Field / Item — a column or data field in the service contract view |
| hktgi | Prefix | Hikari Telecom Gig — internal prefix for Hikari Telecom gigabit service contract entity field names |
| SF | Suffix | Service Function — suffix indicating a screen/business logic component |
