# Business Logic — KKW01030SF01DBean.listKoumokuIds() [11 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA15101SF.KKW01030SF01DBean` |
| Layer | View / Data Bean (Web presentation layer — part of the Fujitsu Futurity X33/V web framework) |
| Module | `KKA15101SF` (Package: `eo.web.webview.KKA15101SF`) |

## 1. Role

### KKW01030SF01DBean.listKoumokuIds()

This method is a static factory that returns a fixed list of Japanese-named field labels (item names) used by the data type bean `KKW01030SF01DBean` for display purposes within the K-Opticom web application's customer contract handover (引継ぎ) screens. In business terms, it answers the question "what columns should the user see in the customer contract handover list?" — each entry in the returned `ArrayList<String>` corresponds to a column header label rendered in the UI. The method implements a simple factory pattern with no conditional logic or branching; it always returns the same seven hardcoded field names in a fixed order, which mirrors the top-to-bottom field layout of the data bean. As a shared utility, it is called by the parent view bean `KKW01030SFBean.listKoumokuIds()` when the view framework needs to resolve item names for the `"顧客契約引継リスト"` (Customer Contract Handover List) data type item. It plays a supporting role in the screen rendering pipeline, specifically in the data type bean metadata resolution phase that populates table column headers.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    CREATE_LIST["Create ArrayList<String> koumokuList"]
    ADD_SYSID["Add: システムID (System ID)"]
    ADD_SVC["Add: サービス契約番号 (Service Contract Number)"]
    ADD_IDO_DIV["Add: 異動区分 (Change Classification)"]
    ADD_IDO_RSN_CD["Add: 異動理由コード (Change Reason Code)"]
    ADD_IDO_RSN_MEMO["Add: 異動理由メモ (Change Reason Memo)"]
    ADD_MSFM_NO["Add: 申請番号 (Application Number)"]
    ADD_MSFM_DTL_NO["Add: 申請明細番号 (Application Detail Number)"]
    RETURN["Return koumokuList"]
    END_NODE(["Return / Next"])

    START --> CREATE_LIST
    CREATE_LIST --> ADD_SYSID
    ADD_SYSID --> ADD_SVC
    ADD_SVC --> ADD_IDO_DIV
    ADD_IDO_DIV --> ADD_IDO_RSN_CD
    ADD_IDO_RSN_CD --> ADD_IDO_RSN_MEMO
    ADD_IDO_RSN_MEMO --> ADD_MSFM_NO
    ADD_MSFM_NO --> ADD_MSFM_DTL_NO
    ADD_MSFM_DTL_NO --> RETURN
    RETURN --> END_NODE
```

**No conditional branching or constant resolution is needed.** The method is a straight-line sequence: create an empty `ArrayList<String>`, add seven hardcoded Japanese field names, and return the populated list.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none — static method) | - | - |

No parameters. The method operates purely on local state (a newly created `ArrayList`) and returns a deterministic result regardless of external inputs.

## 4. CRUD Operations / Called Services

This method performs **no CRUD operations** and calls **no external services, SC codes, or CBS**. It is a pure in-memory factory that returns a hardcoded list.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| — | (none) | — | — | No database or service interaction. Pure list construction. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW01030SF | `KKW01030SFBean.listKoumokuIds(key)` → `KKW01030SFBean` delegates to `KKW01030SF01DBean.listKoumokuIds()` when `key.equals("顧客契約引継リスト")` | none (no downstream CRUD) |

**Notes on the call chain:**
- The parent bean `KKW01030SFBean` (in both koptWebA and koptWebB) owns the routing method `listKoumokuIds(String key)`.
- When the calling screen passes the item key `"顧客契約引継リスト"` (Customer Contract Handover List), the parent bean matches this key in an `else if` block and delegates directly to the static method `KKW01030SF01DBean.listKoumokuIds()`.
- No intermediate CBS or SC layer is involved; the delegation is a direct bean-to-bean call.

## 6. Per-Branch Detail Blocks

Since this method has no conditional branches, only a single linear processing block exists.

**Block 1** — [PROCESS] `(straight-line sequence)` (L487)

> Create an empty `ArrayList<String>` and populate it with seven field name strings in fixed order.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Initialize empty list [-> ArrayList] |
| 2 | CALL | `koumokuList.add("システムID");` // システムID = "システムID" (System ID) |
| 3 | CALL | `koumokuList.add("サービス契約番号");` // サービス契約番号 = "サービス契約番号" (Service Contract Number) |
| 4 | CALL | `koumokuList.add("異動区分");` // 異動区分 = "異動区分" (Change Classification) |
| 5 | CALL | `koumokuList.add("異動理由コード");` // 異動理由コード = "異動理由コード" (Change Reason Code) |
| 6 | CALL | `koumokuList.add("異動理由メモ");` // 異動理由メモ = "異動理由メモ" (Change Reason Memo) |
| 7 | CALL | `koumokuList.add("申請番号");` // 申請番号 = "申請番号" (Application Number) |
| 8 | CALL | `koumokuList.add("申請明細番号");` // 申請明細番号 = "申請明細番号" (Application Detail Number) |

**Block 2** — [RETURN] `(returns the populated list)` (L496)

> Return the fully-populated list to the caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return koumokuList;` // Return the 7-item list of field name strings |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| システムID (System ID) | Field | System identifier — internal system-level unique identifier for records in the handover list |
| サービス契約番号 (Service Contract Number) | Field | Service contract number — the unique contract ID assigned to a customer's telecom service subscription |
| 異動区分 (Change Classification) | Field | Change classification — indicates the type of modification made to a service contract (e.g., addition, cancellation, modification). Value typically drawn from a reference table. |
| 異動理由コード (Change Reason Code) | Field | Change reason code — a coded value representing the reason for the contract change (e.g., customer request, system error, maintenance) |
| 異動理由メモ (Change Reason Memo) | Field | Change reason memo — free-text notes explaining the reason for the contract change |
| 申請番号 (Application Number) | Field | Application number — the unique identifier for a service change request / application submitted by the customer or system |
| 申請明細番号 (Application Detail Number) | Field | Application detail number — a sub-identifier that distinguishes individual line items within a multi-line application |
| 顧客契約引継リスト (Customer Contract Handover List) | Business term | Customer contract handover list — a screen/data module used for transferring or reviewing customer service contract changes between operators or departments |
| KKW01030SF01DBean | Class | Data type bean — implements `X33VDataTypeBeanInterface` and `X33VListedBeanInterface` from the Fujitsu Futurity X33/V framework; provides field metadata and type information for a specific data type item |
| KKW01030SFBean | Class | Parent view bean — owns the routing logic (`listKoumokuIds(String key)`) that dispatches item name requests to the appropriate child data type bean |
| X33/V | Platform | Fujitsu Futurity X33/V web framework — an enterprise web application framework providing bean-based data binding, view state management, and presentation-layer scaffolding |
| data type bean | Pattern | A bean implementing `X33VDataTypeBeanInterface` that supplies field-level metadata (names, types, default values) to the X33/V framework for automatic UI rendering |
| listKoumokuIds | Method | "Get item names list" — returns the ordered list of field label strings for a data type bean; used by the framework to populate table column headers |
| KKA15101SF | Module | Screen/module identifier — the web screen module handling customer contract handover operations in the koptWebA application |
| koptWebA | Application | K-Opticom web application layer A — the primary web-facing application tier for the K-Opticom telecom operations system |
