# Business Logic — KKW22101SF03DBean.listKoumokuIds() [12 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW22101SF.KKW22101SF03DBean` |
| Layer | Data Type View Bean (Web / Presentation-tier data carrier) |
| Module | `KKW22101SF` (Package: `eo.web.webview.KKW22101SF`) |

## 1. Role

### KKW22101SF03DBean.listKoumokuIds()

This method is a **static factory method** that constructs and returns a predefined list of column header labels used by the **EO Smart Link Detail List** data type view bean. In business terms, it provides the set of display names for the columns shown in the equipment provisioning service contract detail screen — the EO Smart Link system is K-Opticom's smart-link integration platform for managing equipment provision services (smartphone, tablet, and device contract lines bundled with telecom service plans).

The method follows the **builder pattern** in its simplest form: it instantiates a new `ArrayList<String>`, populates it with exactly eight domain-specific Japanese column headers, and returns the collection. It implements a **routing/dispatch** role in the larger screen framework — other view beans (such as `KKW22101SFBean`) invoke this method when their data type view bean is set to the "EO Smart Link Detail List" item (`EOスマートリンク明細一覧リスト`), serving as the canonical source of column metadata for that screen.

The returned column list maps directly to the eight data fields displayed in the EO Smart Link equipment provisioning service contract detail screen, covering the full lifecycle of a service contract line item: from identification number and model through to billing details (installment month, purchase method, settlement amounts, and discount codes).

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    STEP1["Create new ArrayList<String> koumokuList"]
    ADD1["Add item 1: EO Smart Link - Equipment Provisioning Service Contract Number"]
    ADD2["Add item 2: EO Smart Link - Model Number"]
    ADD3["Add item 3: EO Smart Link - Installment Start Month"]
    ADD4["Add item 4: EO Smart Link - Device Purchase Method"]
    ADD5["Add item 5: EO Smart Link - Settlement Amount (Total)"]
    ADD6["Add item 6: EO Smart Link - Settlement Amount (Monthly)"]
    ADD7["Add item 7: EO Smart Link - Settlement Amount (Remaining Months)"]
    ADD8["Add item 8: EO Smart Link - Discount Sales Form Code"]
    RETURN["Return ArrayList<String> koumokuList"]
    END(["Return / Next"])

    START --> STEP1
    STEP1 --> ADD1
    ADD1 --> ADD2
    ADD2 --> ADD3
    ADD3 --> ADD4
    ADD4 --> ADD5
    ADD5 --> ADD6
    ADD6 --> ADD7
    ADD7 --> ADD8
    ADD8 --> RETURN
    RETURN --> END
```

This is a linear, unconditional processing flow — no conditionals, no branches, no external service calls. The method creates an `ArrayList`, adds eight hardcoded column label strings, and returns the list.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none — static method) | - | This method takes no parameters. It returns a fixed, compile-time constant list of column headers with no runtime variation. |

**Instance fields / external state read:** None. This method is fully stateless — it does not read any instance fields, static fields, or external resources.

## 4. CRUD Operations / Called Services

This method performs **no CRUD operations** and **no service component (SC) or CBS calls**. It is a pure in-memory factory that builds a simple list and returns it. No database tables or entities are accessed.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| (none) | — | — | — | No database or service calls — pure in-memory list construction. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Class:KKW22101SFBean (Data Type View Bean Router) | `KKW22101SFBean.listKoumokuIds(String key)` → delegates to `KKW22101SF03DBean.listKoumokuIds()` when key equals "EOスマートリンク明細一覧リスト" | — (no terminal SC/CRUD) |

**Details:**

- **KKW22101SFBean.listKoumokuIds(String key)** — This is the parent dispatcher bean. It receives a `key` parameter representing the data type view bean type name. When the key matches the string `"EOスマートリンク明細一覧リスト"` (EO Smart Link Detail List), it delegates to `KKW22101SF03DBean.listKoumokuIds()` to obtain the column headers. The full routing logic checks multiple data type view bean names and dispatches to different typed DBean classes accordingly.
- **Caller type:** `KKW22101SFBean` is a view bean routing/dispatcher (not a screen class per the `KKSVxxxx` naming convention, but a shared web-tier bean that coordinates multiple typed data beans for the same screen area).

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(ArrayList creation)` (L629)

> Create an empty `ArrayList<String>` to hold the column header labels.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` | Initialize an empty list named "koumokuList" (item names) to store column header strings. |

**Block 2** — [ADD] `(Item 1)` (L630)

> Add the first column header: equipment provisioning service contract number.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | ADD | `koumokuList.add("EOスマートリンク−Equipment Provisioning Service Contract Number");` | Register column 1 — identifies the service contract line item number for the equipment provisioning service under EO Smart Link. |

**Block 3** — [ADD] `(Item 2)` (L631)

> Add the second column header: model number.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | ADD | `koumokuList.add("EOスマートリンク−Model Number");` | Register column 2 — identifies the device model number for the contracted equipment. |

**Block 4** — [ADD] `(Item 3)` (L632)

> Add the third column header: installment start month.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | ADD | `koumokuList.add("EOスマートリンク−Installment Start Month");` | Register column 3 — indicates the month when installment payments for the equipment begin. |

**Block 5** — [ADD] `(Item 4)` (L633)

> Add the fourth column header: device purchase method.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | ADD | `koumokuList.add("EOスマートリンク−Device Purchase Method");` | Register column 4 — describes how the equipment is acquired (e.g., purchase, lease, or bundled with service plan). |

**Block 6** — [ADD] `(Item 5)` (L634)

> Add the fifth column header: settlement amount (total).

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | ADD | `koumokuList.add("EOスマートリンク−Settlement Amount (Total)");` | Register column 5 — the total settlement amount for the equipment over the full contract term. |

**Block 7** — [ADD] `(Item 6)` (L635)

> Add the sixth column header: settlement amount (monthly).

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | ADD | `koumokuList.add("EOスマートリンク−Settlement Amount (Monthly)");` | Register column 6 — the monthly settlement installment amount. |

**Block 8** — [ADD] `(Item 7)` (L636)

> Add the seventh column header: settlement amount (remaining months).

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | ADD | `koumokuList.add("EOスマートリンク−Settlement Amount (Remaining Months)");` | Register column 7 — the remaining number of months for the settlement term. |

**Block 9** — [ADD] `(Item 8)` (L637)

> Add the eighth column header: discount sales form code.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | ADD | `koumokuList.add("EOスマートリンク−Discount Sales Form Code");` | Register column 8 — the code identifying the discount/sales promotion form applied to the equipment contract. |

**Block 10** — [RETURN] `(return list)` (L638)

> Return the populated list to the caller.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | RETURN | `return koumokuList;` | Return the fully constructed list of 8 column header strings to the dispatcher (KKW22101SFBean). |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `koumoku` | Field | Item / column — Japanese term for the column header names displayed on a data grid or detail list screen |
| `KKW22101SF` | Module | Equipment Provisioning Service Screen module — handles screens related to equipment provision service contracts under the EO Smart Link platform |
| `KKW22101SF03DBean` | Class | Data Type View Bean — a typed data carrier that defines column structure, data types, and validation rules for a specific data type view bean (in this case, the EO Smart Link Detail List) |
| `KKW22101SFBean` | Class | View Bean Router / Dispatcher — the parent bean that routes data type view bean requests to the appropriate typed DBean based on the item key |
| EO Smart Link | Business term | A smart-link integration platform by K-Opticom that manages equipment (smartphone, tablet, device) provisioning service contracts bundled with telecom service plans |
| Equipment Provisioning Service Contract Number | Field | Internal tracking ID for each equipment provision service contract line item — the primary key identifier on the detail screen |
| Model Number | Field | The device model identifier shown on the equipment provision contract detail screen |
| Installment Start Month | Field | The calendar month when equipment installment payments commence |
| Device Purchase Method | Field | Classification of how the equipment is acquired — purchase, lease, or plan-bundled |
| Settlement Amount (Total) | Field | The total monetary amount payable for the equipment over the entire contract term |
| Settlement Amount (Monthly) | Field | The periodic (monthly) installment amount for the equipment settlement |
| Settlement Amount (Remaining Months) | Field | The number of months remaining in the equipment settlement term |
| Discount Sales Form Code | Field | A code identifying the discount or promotional sales form applied to the equipment contract |
| Data Type View Bean | Pattern | A view bean that defines the schema (column names, data types) for a specific data view — used by the screen framework to render dynamic tables |
| `smtlnk_info_list` | Field | Item ID for the "EO Smart Link Detail List" data type view bean — used as the routing key in the dispatcher |
| 明細一覧リスト | Japanese | Detail list — a screen section that displays tabular detail records for a specific data type |
