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

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00844SF.KKW00844SF01DBean` |
| Layer | View / Data Bean (Web Presentation Layer) |
| Module | `KKW00844SF` (Package: `eo.web.webview.KKW00844SF`) |

## 1. Role

### KKW00844SF01DBean.listKoumokuIds()

This method is a **static data-bean metadata factory** that returns a fixed, ordered list of field identifiers (items names) for the `KKW00844SF01DBean` data type. It serves as the schema definition for a list-type UI component — specifically the **"Customer Contract Inheritance List" (顧客契約引継リスト)** — which appears in the KKW00844SF screen for managing customer contract inheritance operations.

The method follows the **registry/dispatch pattern** used throughout the K-Opticom web framework (Fujitsu Futurity X33). The corresponding `KKW00844SFBean` dispatcher receives the key `"顧客契約引継リスト"` and delegates to this static method to obtain the column metadata. The returned list of 9 items defines the column headers and field order for a data table rendered in the browser.

In the larger system, this method is a **shared UI metadata provider** — it does not perform any business logic, database access, or parameterized processing. It simply enumerates the field identifiers that the view layer uses to render and bind form data. It is a pure getter with no conditional branches.

**Javadoc:** データタイプビーンの項目名のリストを返す。 (Returns a list of item names for the data type bean.)

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    INIT["Initialize ArrayList&lt;String&gt; koumokuList"]

    ADD1["Add: SSID"]
    ADD2["Add: 顧客契約引継番号
(Customer Contract Inheritance Number)"]
    ADD3["Add: 異動区分
(Change Classification)"]
    ADD4["Add: 異動理由コード
(Change Reason Code)"]
    ADD5["Add: 異動理由メモ
(Change Reason Memo)"]
    ADD6["Add: オプションサービス契約番号
(Option Service Contract Number)"]
    ADD7["Add: 処理区分
(Process Classification)"]
    ADD8["Add: 申請番号
(Application Number)"]
    ADD9["Add: 申請明細番号
(Application Detail Number)"]

    RETURN["Return koumokuList"]
    END(["Return / Next"])

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

**Processing flow:**
1. **Initialize** — Creates a new `ArrayList<String>` to hold the item name strings.
2. **Populate (sequential adds)** — Adds 9 hardcoded field identifier strings in a fixed order:
   - `SSID` — Unique item identifier key
   - `顧客契約引継番号` — Customer contract inheritance number (field ID: `cust_kei_hktgi_no`)
   - `異動区分` — Change classification (e.g., new, modify, cancel)
   - `異動理由コード` — Change reason code
   - `異動理由メモ` — Change reason memo (free-text)
   - `オプションサービス契約番号` — Option service contract number
   - `処理区分` — Process classification
   - `申請番号` — Application number (field ID: `mskm_no`)
   - `申請明細番号` — Application detail number (field ID: `mskm_dtl_no`)
3. **Return** — Returns the populated list.

No conditional branches, loops, or external calls exist in this method. It is a pure, deterministic factory with a fixed output.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a static method with no parameters. |

**Instance fields or external state read:** None. This method has no side effects and does not read any instance fields, static state, or external resources.

## 4. CRUD Operations / Called Services

This method performs **no CRUD operations** and calls **no external services**. It is a pure metadata provider.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| (none) | — | — | — | This method returns a hardcoded list of item names. No data access is performed. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW00844SF | `KKW00844SFBean.listKoumokuIds("顧客契約引継リスト")` → `KKW00844SF01DBean.listKoumokuIds()` | None (metadata only) |

**Caller details:**
- **KKW00844SFBean.listKoumokuIds(String key)** at line 1454 — When the key matches `"顧客契約引継リスト"` (Customer Contract Inheritance List), this dispatcher method delegates directly to `KKW00844SF01DBean.listKoumokuIds()` to obtain the field metadata. The screen class `KKW00844SFBean` is the parent bean for the KKW00844SF web screen.

## 6. Per-Branch Detail Blocks

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

> Initialize the return list and populate it with 9 field identifier strings in order.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Initialize empty list |
| 2 | EXEC | `koumokuList.add("SSID");` // Add item identifier key |
| 3 | EXEC | `koumokuList.add("顧客契約引継番号");` // Add customer contract inheritance number |
| 4 | EXEC | `koumokuList.add("異動区分");` // Add change classification |
| 5 | EXEC | `koumokuList.add("異動理由コード");` // Add change reason code |
| 6 | EXEC | `koumokuList.add("異動理由メモ");` // Add change reason memo |
| 7 | EXEC | `koumokuList.add("オプションサービス契約番号");` // Add option service contract number |
| 8 | EXEC | `koumokuList.add("処理区分");` // Add process classification |
| 9 | EXEC | `koumokuList.add("申請番号");` // Add application number |
| 10 | EXEC | `koumokuList.add("申請明細番号");` // Add application detail number |

**Block 2** — [RETURN] (L615)

> Return the populated list of 9 field identifiers.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return koumokuList;` // Returns the list of item names |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `listKoumokuIds` | Method | List of item (column/field) names — a factory method that provides field metadata for UI data tables |
| `koumoku` | Japanese term | Item / field — refers to a column or data field in a table or form |
| `SSID` | Field | Unique item identifier — internal key used to identify each field within the data bean (based on the Fujitsu Futurity X33 framework naming convention) |
| `顧客契約引継番号` | Field (Japanese) | Customer Contract Inheritance Number — the contract number being inherited during a customer contract transfer operation |
| `cust_kei_hktgi_no` | Field | Customer contract inheritance number — field ID corresponding to "顧客契約引継番号" |
| `異動区分` | Field (Japanese) | Change Classification — indicates the type of change (e.g., new registration, modification, cancellation) |
| `異動理由コード` | Field (Japanese) | Change Reason Code — a code value indicating why a change was made to the contract |
| `異動理由メモ` | Field (Japanese) | Change Reason Memo — free-text field for additional explanation of the change reason |
| `オプションサービス契約番号` | Field (Japanese) | Option Service Contract Number — the contract number for an add-on/option service associated with the main contract |
| `処理区分` | Field (Japanese) | Process Classification — categorizes the type of processing being performed |
| `申請番号` | Field (Japanese) | Application Number — the primary identifier for a service application request (field ID: `mskm_no`) |
| `mskm_no` | Field | Application number — internal field ID for "申請番号" |
| `申請明細番号` | Field (Japanese) | Application Detail Number — the sub-identifier for a specific line item within an application (field ID: `mskm_dtl_no`) |
| `mskm_dtl_no` | Field | Application detail number — internal field ID for "申請明細番号" |
| `KKW00844SF` | Module | A web screen module for customer contract inheritance operations in the K-Opticom telecom billing system |
| `KKW00844SFBean` | Class | Parent bean for the KKW00844SF screen — handles view-level data dispatching and list management |
| `KKW00844SF01DBean` | Class | Data bean for a single row/item in the Customer Contract Inheritance List — defines field types and metadata |
| X33VDataTypeList | Framework class | Fujitsu Futurity X33 framework class for list-type data binding in web views |
| X33VViewBaseBean | Framework class | Base class for X33 framework view beans — provides common view-level functionality |
