# Business Logic — KKW22501SF01DBean.listKoumokuIds() [13 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW22501SF.KKW22501SF01DBean` |
| Layer | Utility / Data Bean (View-layer data type bean, implements data type metadata for the Futurity X33 web framework) |
| Module | `KKW22501SF` (Package: `eo.web.webview.KKW22501SF`) |

## 1. Role

### KKW22501SF01DBean.listKoumokuIds()

This method is a static factory that returns a fixed list of field name (item name) strings used by the data type view bean `KKW22501SF01DBean`. In the K-Opticom web framework (Fujitsu Futurity X33), a **data type bean** defines the structure of a data grid or form — each "item" (koumoku) in the grid is identified by a human-readable field name, and this method provides the canonical list of those names in definition order. The returned list is consumed by the parent bean `KKW22501SFBean.listKoumokuIds(String key)` which acts as a dispatcher: based on the requested view item type (e.g., "Data Extraction Item Setting Condition List Dialog (Event SP)" or "Pre-Change Data Extraction Item Setting Condition List Dialog (Event SP)"), it delegates to the appropriate DBean's `listKoumokuIds()` to obtain the column headers for rendering a data table. This is a shared utility method called by multiple screen views within the KKW22501SF screen module, specifically for data extraction item management dialogs.

**Design patterns:** Factory method (static factory returning a pre-built collection), Routing/Dispatch (parent bean routes to this DBean based on view item key).

**Role in the larger system:** This method serves as the metadata source for UI column definitions in the data extraction item setting condition dialog screens. It has no side effects, no conditional branches, and no external dependencies — it is a pure data-returning utility.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds"])
    STEP1["Create ArrayList<String> koumokuList"]
    STEP2["Add Agent Code"]
    STEP3["Add Agent Name"]
    STEP4["Add Display Data Extraction Item Code"]
    STEP5["Add Application Start Date/Time"]
    STEP6["Add Application End Date/Time"]
    STEP7["Add Data Extraction Item Code for Modification"]
    STEP8["Add Setting Condition Number for Modification"]
    STEP9["Add Update Year/Month/Day/Second"]
    STEP10["Add Delete Check"]
    RETURN(["Return koumokuList"])
    END(["Return / Next"])

    START --> STEP1
    STEP1 --> STEP2
    STEP2 --> STEP3
    STEP3 --> STEP4
    STEP4 --> STEP5
    STEP5 --> STEP6
    STEP6 --> STEP7
    STEP7 --> STEP8
    STEP8 --> STEP9
    STEP9 --> STEP10
    STEP10 --> RETURN
    RETURN --> END
```

This is a sequential, linear method with no conditional branches. It instantiates an `ArrayList<String>`, appends exactly 10 field name strings in a fixed definition order, and returns the list. Each `add()` call corresponds to one column/header in the data type view bean's UI display.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | (none) | — | This is a static method with no parameters. It returns a complete, pre-built list of 10 field names. |

**Instance fields / external state read:** None. The method is fully self-contained and stateless.

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| — | `new ArrayList<String>()` | — | — | In-memory collection creation |
| — | `koumokuList.add(...)` | — | — | In-memory list population (10 calls) |

This method performs no database operations, no service component (SC) calls, and no CBS (CBS = batch/consolidated business service) invocations. It is a pure in-memory factory method.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW22501SF | `KKW22501SFBean.listKoumokuIds(key)` → `KKW22501SF01DBean.listKoumokuIds()` | N/A (pure in-memory, no SC/CBS) |

**Notes on call chain:**
- `KKW22501SFBean.listKoumokuIds(String key)` is the instance dispatcher method in the parent screen bean.
- It is called when the framework requests column metadata for specific data type view item keys:
  - `key == "データ抽出項目設定条件一覧照会（イベントSP）明细"` (Data Extraction Item Setting Condition List Dialog (Event SP) details) — line 1259
  - `key == "変更前データ抽出項目設定条件一覧照会（イベントSP）明细"` (Pre-Change Data Extraction Item Setting Condition List Dialog (Event SP) details) — line 1266
- The parent bean (`KKW22501SFBean`) is itself part of the KKW22501SF screen module and is instantiated by screen controllers or mapper classes (e.g., `KKSV0940_KKSV0940OPDBMapper` which interacts with KKW22501SF constants for the broader screen context).
- The terminal call reaches no SC, CBS, or database table — this method is a metadata provider only.

## 6. Per-Branch Detail Blocks

This method has **no conditional branches** (no if/else, switch, loops, or try/catch). It is a flat sequential block.

**Block 1** — [SEQUENTIAL] `(none)` (L650)

> Instantiate an `ArrayList<String>` and populate it with 10 field name strings in definition order.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Create empty list for item names |
| 2 | EXEC | `koumokuList.add("代理店コード")` // Add "Agent Code" — field 1: identifies the agent (distributor) by code |
| 3 | EXEC | `koumokuList.add("代理店名")` // Add "Agent Name" — field 2: human-readable name of the agent |
| 4 | EXEC | `koumokuList.add("表示用データ抽出項目コード")` // Add "Display Data Extraction Item Code" — field 3: code used for data extraction in display context |
| 5 | EXEC | `koumokuList.add("受付開始年月日时分")` // Add "Application Start Date/Time" — field 4: start date and time of the application window |
| 6 | EXEC | `koumokuList.add("受付終了年月日时分")` // Add "Application End Date/Time" — field 5: end date and time of the application window |
| 7 | EXEC | `koumokuList.add("データ抽出項目コード（変更用）")` // Add "Data Extraction Item Code (for modification)" — field 6: item code used specifically in change/modify operations |
| 8 | EXEC | `koumokuList.add("データ抽出項目設定条件番号（変更用）")` // Add "Data Extraction Item Setting Condition Number (for modification)" — field 7: condition sequence number for modification context |
| 9 | EXEC | `koumokuList.add("更新年月日秒")` // Add "Update Year/Month/Day/Second" — field 8: last update timestamp with second precision |
| 10 | EXEC | `koumokuList.add("削除チェック")` // Add "Delete Check" — field 9: flag indicating whether deletion is permitted |
| 11 | RETURN | `return koumokuList;` // Return the populated list to the caller |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `koumoku` | Field | Item / Field — a column or data field in a data type view bean's grid or form definition |
| `代理店コード` | Field | Agent Code — the unique identifier for a sales agent or distributor (代理店 = agent/distributor) in the K-Opticom system |
| `代理店名` | Field | Agent Name — the human-readable name of the sales agent or distributor |
| `表示用データ抽出項目コード` | Field | Display Data Extraction Item Code — the code used to identify a data extraction item when displaying or querying data in the user interface |
| `受付開始年月日时分` | Field | Application Start Date/Time — the date and time from which applications (requests/orders) are accepted; includes year, month, day, hour, minute |
| `受付終了年月日时分` | Field | Application End Date/Time — the date and time until which applications are accepted |
| `データ抽出項目コード（変更用）` | Field | Data Extraction Item Code (for Modification) — a variant of the data extraction item code used specifically in modification/change workflows |
| `データ抽出項目設定条件番号（変更用）` | Field | Data Extraction Item Setting Condition Number (for Modification) — the sequence number of a data extraction setting condition, used in modification contexts |
| `更新年月日秒` | Field | Update Year/Month/Day/Second — the last modification timestamp of a record, with second-level precision |
| `削除チェック` | Field | Delete Check — a flag or indicator used to determine whether a record can be deleted |
| DBean | Acronym | Data Bean — a view-layer bean that defines the structure (field names, data types) of a data grid or form in the Futurity X33 framework |
| SF | Acronym | Screen Function — denotes a screen-related component (KKW22501SF is the screen module ID) |
| Futurity X33 | Acronym | Fujitsu Futurity X33 — the enterprise web application framework used by K-Opticom for building UI screens |
| KKW22501SF | Identifier | Screen module code — the module ID for the data extraction item setting condition management screen in the K-Opticom system |
| K-Opticom | Business term | K-Opticom — a Japanese telecommunications service provider; the system being documented |
