# Business Logic — KKW00129SF03DBean.listKoumokuIds() [18 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA17701SF.KKW00129SF03DBean` |
| Layer | Utility (Data Type Bean — metadata provider for webview display fields) |
| Module | `KKA17701SF` (Package: `eo.web.webview.KKA17701SF`) |

## 1. Role

### KKW00129SF03DBean.listKoumokuIds()

This method serves as a **data type bean field name provider** within the K-Opticom TT (Telecom Tools) web application framework. It returns a hardcoded `ArrayList<String>` containing 15 Japanese display labels for the data type **"サービス契約＜ｅｏ光ＴＴ＞同意情報"** (Service Contract <eo Light TT> Consent Information). The method implements a **static factory pattern** — it requires no instance state and can be invoked directly from the class name, making it a lightweight metadata source for the view layer.

Its role in the larger system is to supply the column headers (item names) for the **data type bean-based webview grid** used on the KKW00129SF screen. When the screen processes the data type key `サービス契約＜ｅｏ光ＴＴ＞同意情報`, the bean dispatcher (`KKW00129SFBean`) routes to this method to obtain the ordered list of field labels that will be rendered as column headers in the consent information table. Each string in the returned list corresponds one-to-one with the fields expected by the data type bean class `KKW00129SF03DBean` itself, forming the schema definition for this particular service contract consent view.

This is a **shared utility** consumed by multiple bean methods (e.g., `getDataType`, `getBeanClass`, `getRowKey`) across both koptWebA and koptWebB modules, ensuring UI consistency for the TT service contract consent screen.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    CREATE["Create ArrayList<String> koumokuList"]
    ADD1["Add: Service Contract Number"]
    ADD2["Add: Generation Registered Date/Time"]
    ADD3["Add: Radio Wave Damage Case Number"]
    ADD4["Add: TT Business Area Code"]
    ADD5["Add: TT Sales Staff User ID"]
    ADD6["Add: External Integration Contract Code"]
    ADD7["Add: Bundle Information Code"]
    ADD8["Add: Bundle Information Code Name"]
    ADD9["Add: Resend Provision Service Type Code"]
    ADD10["Add: Reservation Apply Code"]
    ADD11["Add: Reservation Apply Code Name"]
    ADD12["Add: Invalid Flag"]
    ADD13["Add: Invalid Flag Name"]
    ADD14["Add: Last Updated Date/Time"]
    RETURN["Return koumokuList"]
    START --> CREATE
    CREATE --> 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 --> RETURN
```

**Processing summary:** The method performs a single, linear sequence of operations with no conditional branches:

1. Instantiates a new `ArrayList<String>` to hold the field label list.
2. Appends 15 Japanese display labels in a fixed, predefined order — each `add()` call corresponds to one column in the data type bean's view grid.
3. Returns the populated list.

The order of items is **significant**: it determines the column ordering in the UI grid. The sequence follows a business domain grouping — identifiers and reference codes first (items 1-5), bundle/integration metadata (items 6-9), reservation and validity flags (items 10-13), and audit timestamps last (items 14-15).

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. It is a static factory that returns a fixed schema definition. |

**No instance fields or external state are read** — the method is fully self-contained and stateless.

## 4. CRUD Operations / Called Services

This method performs no database operations, service component calls, or CRUD operations. It is a pure metadata provider that constructs and returns an in-memory list.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| — | — | — | — | No database or service component operations. This method is a static factory returning a hardcoded field label list. |

**Method calls breakdown:**

| # | Call Target | Type | Description |
|---|-------------|------|-------------|
| 1 | `ArrayList.<init>()` | Constructor | Creates a new empty ArrayList |
| 2 | `ArrayList.add(String)` | EXEC (×15) | Appends 15 field label strings to the list |
| 3 | `return koumokuList` | RETURN | Returns the populated list |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW00129SF (koptWebA) | `KKW00129SFBean.getDataType()` — conditional branch on key `サービス契約＜ｅｏ光ＴＴ＞同意情報` → `KKW00129SF03DBean.listKoumokuIds()` | N/A (metadata only) |
| 2 | Screen:KKW00129SF (koptWebB) | `KKW00129SFBean.getDataType()` — conditional branch on key `サービス契約＜ｅｏ光ＴＴ＞同意情報` → `KKW00129SF03DBean.listKoumokuIds()` | N/A (metadata only) |

**Caller context:** `KKW00129SFBean` (in both koptWebA and koptWebB modules) is the main screen bean dispatcher for the KKW00129SF screen (Service Contract <eo Light TT> Consent Information). When processing the data type key `サービス契約＜ｅｏ光ＴＴ＞同意情報`, the dispatcher routes to `listKoumokuIds()` to obtain the display column labels. This screen appears to be part of the TT (Telecom Tools) workflow for managing service contract consent data — specifically for radio wave damage cases and external integration contracts in the eo Light fiber service domain.

## 6. Per-Branch Detail Blocks

> This method contains **no conditional branches** (no if/else, switch, loops, or try-catch). It follows a single linear execution path.

**Block 1** — EXECUTION (linear) `(no condition)` (L1002)

> Create a new ArrayList and populate it with 15 field display labels in the order they should appear as column headers.

| # | Type | Code |
|---|------|------|
| 1 | NEW | `ArrayList<String> koumokuList = new ArrayList<String>();` // Instantiate empty list |
| 2 | ADD | `koumokuList.add("サービス契約番号");` // Service Contract Number [L1003] |
| 3 | ADD | `koumokuList.add("世代登録年月日时分秒");` // Generation Registered Date/Time [L1004] |
| 4 | ADD | `koumokuList.add("電波障害案件番号");` // Radio Wave Damage Case Number [L1005] |
| 5 | ADD | `koumokuList.add("ＴＴ営業地区コード");` // TT Business Area Code [L1006] |
| 6 | ADD | `koumokuList.add("ＴＴ営業担当者ユーザＩＤ");` // TT Sales Staff User ID [L1007] |
| 7 | ADD | `koumokuList.add("外部連携契約コード");` // External Integration Contract Code [L1008] |
| 8 | ADD | `koumokuList.add("バンドル情報コード");` // Bundle Information Code [L1009] |
| 9 | ADD | `koumokuList.add("バンドル情報コード名称");` // Bundle Information Code Name [L1010] |
| 10 | ADD | `koumokuList.add("再送信提供サービス種別コード");` // Resend Provision Service Type Code [L1011] |
| 11 | ADD | `koumokuList.add("予約適用コード");` // Reservation Apply Code [L1012] |
| 12 | ADD | `koumokuList.add("予約適用コード名称");` // Reservation Apply Code Name [L1013] |
| 13 | ADD | `koumokuList.add("無効フラグ");` // Invalid Flag [L1014] |
| 14 | ADD | `koumokuList.add("無効フラグ名称");` // Invalid Flag Name [L1015] |
| 15 | ADD | `koumokuList.add("最終更新年月日时分秒");` // Last Updated Date/Time [L1016] |
| 16 | RETURN | `return koumokuList;` // Return populated list [L1017] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `サービス契約番号` | Field | Service Contract Number — unique identifier for a service contract |
| `世代登録年月日时分秒` | Field | Generation Registered Date/Time — timestamp when the data generation/record was first created |
| `電波障害案件番号` | Field | Radio Wave Damage Case Number — case ID for radio wave interference/damage incidents (Japanese regulatory requirement for telecom providers) |
| `ＴＴ営業地区コード` | Field | TT Business Area Code — geographic sales region code used by TT (Telecom Tools) sales operations |
| `ＴＴ営業担当者ユーザＩＤ` | Field | TT Sales Staff User ID — user identifier of the assigned sales representative in the TT system |
| `外部連携契約コード` | Field | External Integration Contract Code — code referencing contracts that integrate with external partner systems |
| `バンドル情報コード` | Field | Bundle Information Code — code identifying bundled service packages (e.g., internet + phone + TV combos) |
| `バンドル情報コード名称` | Field | Bundle Information Code Name — human-readable label for the bundle information code |
| `再送信提供サービス種別コード` | Field | Resend Provision Service Type Code — type code for retransmitted service provisioning (used when a prior service attempt failed and needs resubmission) |
| `予約適用コード` | Field | Reservation Apply Code — code indicating whether a reservation/pending service has been applied |
| `予約適用コード名称` | Field | Reservation Apply Code Name — human-readable label for the reservation apply code |
| `無効フラグ` | Field | Invalid Flag — boolean-style flag (typically "1" or "0") indicating whether the record is disabled/invalidated |
| `無効フラグ名称` | Field | Invalid Flag Name — human-readable label for the invalid flag state |
| `最終更新年月日时分秒` | Field | Last Updated Date/Time — timestamp of the most recent modification to the record |
| KKW00129SF | Screen | Service Contract <eo Light TT> Consent Information screen — a webview screen for displaying and managing consent information related to eo Light TT fiber service contracts |
| KKA17701SF | Module | Parent module identifier — the application group containing the KKW00129SF screen |
| KKW00129SF03DBean | Class | Data type bean — a metadata class that defines the schema (field names, types, classes) for a specific data type view configuration |
| Data Type Bean | Pattern | A design pattern where a bean class provides metadata about a data type's structure (field names via `listKoumokuIds`, Java class types via `getDataType`/`getBeanClass`) — used by the webview framework to dynamically render grids |
| eｏ光ＴＴ | Business term | eo Light TT — K-Opticom's fiber-to-the-home (FTTH) broadband service brand; "TT" stands for Telecom Tools, the sales/operational support system |
| コラム | Japanese term | Column — the screen column header names that appear in the data type bean-based webview grid |
| KoptWebA / KoptWebB | Module | Two deployment variants of the K-Opticom web application (WebA and WebB), each containing a copy of the KKW00129SFBean dispatcher |
| KOPT | Acronym | K-Opticom — Japanese telecommunications carrier |
