---

# Business Logic — KKW00129SF01DBean.listKoumokuIds() [10 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA17701SF.KKW00129SF01DBean` |
| Layer | Data Type Bean (Web UI / View Model — implements `X33VDataTypeBeanInterface` and `X33VListedBeanInterface`) |
| Module | `KKA17701SF` (Package: `eo.web.webview.KKA17701SF`) |

## 1. Role

### KKW00129SF01DBean.listKoumokuIds()

This method provides the list of item name identifiers (field keys) that define the schema of the `KKW00129SF01DBean` data type bean. It is a static factory method that returns a fixed `ArrayList<String>` containing six Japanese string keys. Each key represents a configurable property of a code-type data entry — specifically: the code value, code type name, selection index, initial setting code list, the code list itself, and the code name list. It follows a **shared data provider pattern**: multiple screen beans delegate to this static method to populate their own `listKoumokuIds(String key)` routing logic, so this single source of truth supplies the item schema to several callers across `koptWebA` and `koptWebB`. Within the larger system, this bean implements `X33VDataTypeBeanInterface` and `X33VListedBeanInterface`, meaning the returned item list is consumed by the X33 data-type framework to dynamically render and validate code management UI screens.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    INIT["Create ArrayList<String> koumokuList"]
    ADD1["Add: コード値 (Code Value)"]
    ADD2["Add: コードタイプ名称 (Code Type Name)"]
    ADD3["Add: 選択インデックス (Selection Index)"]
    ADD4["Add: 初期設定コードリスト (Initial Setting Code List)"]
    ADD5["Add: コードリスト (Code List)"]
    ADD6["Add: コード名リスト (Code Name List)"]
    RET(["Return koumokuList"])

    START --> INIT
    INIT --> ADD1
    ADD1 --> ADD2
    ADD2 --> ADD3
    ADD3 --> ADD4
    ADD4 --> ADD5
    ADD5 --> ADD6
    ADD6 --> RET
```

**Processing Summary:**

The method has no conditional branches, loops, or external calls. It follows a simple linear execution:

1. **Initialize** — Create a new empty `ArrayList<String>` named `koumokuList`.
2. **Populate** — Add six hardcoded Japanese string constants representing field keys, in order.
3. **Return** — Return the populated list to the caller.

This is a pure data-provider with no input parameters, no state mutations, and no side effects.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a static method with no parameters. It always returns the same fixed list of item keys. |

**Instance fields read:** None. This method does not read any instance fields or external state.

## 4. CRUD Operations / Called Services

This method performs no CRUD operations and makes no calls to service components (SC), business components (CBS), DAOs, or the database. It is a pure in-memory factory method that constructs and returns an `ArrayList`.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| — | — | — | — | No data access. Pure in-memory list construction. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW00129SF (koptWebA) | `KKW00129SFBean.listKoumokuIds(key)` — when `key.equals("事務手数料")` — calls `KKW00129SF01DBean.listKoumokuIds()` | No SC/DB access — returns field key list |
| 2 | Screen:KKW00129SF (koptWebA) | `KKW00129SFBean.listKoumokuIds(key)` — when `key.equals("標準工事費")` — calls `KKW00129SF01DBean.listKoumokuIds()` | No SC/DB access — returns field key list |
| 3 | Screen:KKW00129SF (koptWebB) | `KKW00129SFBean.listKoumokuIds(key)` — when `key.equals("事務手数料")` — calls `KKW00129SF01DBean.listKoumokuIds()` | No SC/DB access — returns field key list |
| 4 | Screen:KKW00129SF (koptWebB) | `KKW00129SFBean.listKoumokuIds(key)` — when `key.equals("標準工事費")` — calls `KKW00129SF01DBean.listKoumokuIds()` | No SC/DB access — returns field key list |

**Caller details:**
- The callers are both in `koptWebA` and `koptWebB` variants of the `KKW00129SFBean` class.
- They delegate to `KKW00129SF01DBean.listKoumokuIds()` as a routing fallback when the requested `key` corresponds to data-type-bean-type fields: "事務手数料" (Transaction Fee) or "標準工事費" (Standard Construction Fee).
- These caller beans use the returned item list to determine which fields to display and validate on the code management screen.

## 6. Per-Branch Detail Blocks

The method contains a single linear block with no branching.

**Block 1** — [PROCESS] `(L532)`

> Initialize and populate the item key list with six hardcoded field identifiers.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Create new empty list [-> L533] |
| 2 | ADD | `koumokuList.add("コード値");` // Add "Code Value" [-> L534] |
| 3 | ADD | `koumokuList.add("コードタイプ名称");` // Add "Code Type Name" [-> L535] |
| 4 | ADD | `koumokuList.add("選択インデックス");` // Add "Selection Index" [-> L536] |
| 5 | ADD | `koumokuList.add("初期設定コードリスト");` // Add "Initial Setting Code List" [-> L537] |
| 6 | ADD | `koumokuList.add("コードリスト");` // Add "Code List" [-> L538] |
| 7 | ADD | `koumokuList.add("コード名リスト");` // Add "Code Name List" [-> L539] |
| 8 | RETURN | `return koumokuList;` // Return the populated list [-> L540] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `コード値` | Field | Code Value — the actual value stored for a code item (e.g., "001", "A", "100") |
| `コードタイプ名称` | Field | Code Type Name — the human-readable label for a code type category |
| `選択インデックス` | Field | Selection Index — the numeric index used for dropdown/radio button selection ordering |
| `初期設定コードリスト` | Field | Initial Setting Code List — the set of codes used as defaults during initial system setup |
| `コードリスト` | Field | Code List — the collection of all registered code values for a given code type |
| `コード名リスト` | Field | Code Name List — the collection of human-readable names corresponding to code values |
| Data Type Bean | Component | A bean implementing `X33VDataTypeBeanInterface` that defines the schema (field keys, types, labels) for a configurable UI data entry |
| X33VDataTypeBeanInterface | Interface | Fujitsu Futurity X33 framework interface for beans that describe data type field metadata |
| X33VListedBeanInterface | Interface | Fujitsu Futurity X33 framework interface for beans that provide selectable/listed data options |
| 事務手数料 | Business term | Transaction Fee — a fee charged for processing transactions, handled as a data-type-bean-type item |
| 標準工事費 | Business term | Standard Construction Fee — a standard fee for installation/construction work, handled as a data-type-bean-type item |
| KKW00129SF | Screen module | Code management screen module within the K-Opticom web application (koptWebA/koptWebB) |

---
