---

# Business Logic — KKW05501SF03DBean.listKoumokuIds() [22 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW05501SF.KKW05501SF03DBean` |
| Layer | Web Controller/Bean (Package: `eo.web.webview.KKW05501SF`) |
| Module | `KKW05501SF` (Package: `eo.web.webview.KKW05501SF`) |

## 1. Role

### KKW05501SF03DBean.listKoumokuIds()

This method returns a fixed list of item (field) names — referred to as "koumoku" (項目, items) — that define the column headers and data schema for the Customer Contract Inheritance data type bean (`KKW05501SF03DBean`). The Customer Contract Inheritance feature ("顧客契約引継", hktgi_cust_kei) enables operators to transfer an existing service contract from one customer to another, preserving the service history and configuration. The method produces an ordered list of 18 business field identifiers that the UI layer uses to render table columns, validate input bindings, and drive the data-type-bean routing logic in the parent bean (`KKW05501SFBean`). It implements a shared utility pattern: as a `public static` method, any class that needs to query the schema of the `KKW05501SF03DBean` data type can call it without instantiating the bean, making it a read-only metadata accessor in the larger web-screen data binding architecture.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    CREATE(["Create ArrayList<String> koumokuList"])
    ADD1(["Add \"SSSPID\""])
    ADD2(["Add \"サービス契約番号\""])
    ADD3(["Add \"変動区分\""])
    ADD4(["Add \"変動理由コード\""])
    ADD5(["Add \"変動理由メモ\""])
    ADD6(["Add \"オプションサービス契約番号\""])
    ADD7(["Add \"処理区分\""])
    ADD8(["Add \"申請番号\""])
    ADD9(["Add \"申請明細番号\""])
    ADD10(["Add \"特定IT項目名\""])
    ADD11(["Add \"特定IT項目値\""])
    ADD12(["Add \"アップデートモード\""])
    ADD13(["Add \"同時申請サービス契約番号\""])
    ADD14(["Add \"マシオン名\""])
    ADD15(["Add \"住所\""])
    ADD16(["Add \"P-IT\""])
    ADD17(["Add \"M-IT\""])
    ADD18(["Add \"CAT-IT\""])
    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 --> ADD15
    ADD15 --> ADD16
    ADD16 --> ADD17
    ADD17 --> ADD18
    ADD18 --> RETURN
```

The method follows a simple linear sequence: it constructs a new `ArrayList<String>` and appends 18 string literals in fixed order. There are no conditional branches, loops, or external calls. Each `add` operation corresponds to one column/field in the Customer Contract Inheritance display and data model. The ordered list directly maps the UI column sequence to the business fields that operators need to view and modify during a contract inheritance transaction.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | - |

This method takes no parameters. It operates purely as a static accessor, returning a constant schema list. The ordering of returned items is significant: index 0 is always the primary key (`SSSPID`), followed by the core contract fields, then change-tracking fields, and finally IT-specific categorization fields.

## 4. CRUD Operations / Called Services

This method performs no CRUD operations, no service calls, and no database interactions. It is a pure data accessor that returns an in-memory `ArrayList` of string labels.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| — | — | — | — | No database or service component interactions. Pure metadata accessor. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Class:KKW05501SFBean | `KKW05501SFBean.getListKoumokuIds(key)` → `KKW05501SF03DBean.listKoumokuIds()` | N/A (metadata accessor) |
| 2 | Class:KKW05501SFBean | `KKW05501SFBean.addListDataInstance(key)` → `KKW05501SF03DBean.listKoumokuIds()` | N/A (metadata accessor) |

Both callers reside in the parent bean `KKW05501SFBean`. The first caller is invoked when the UI layer requests the column header names for a data-type-bean item whose key is `"顧客契約引継リスト"` (Customer Contract Inheritance List). The second caller is used when the system needs to instantiate a new row of the inheritance list data type — before instantiation, the system queries the item names to validate and populate the data model structure. The screen associated with module `KKW05501SF` handles the Customer Contract Inheritance display and processing.

## 6. Per-Branch Detail Blocks

**Block 1** — [SEQUENCE] `(no condition — linear execution)` (L1052)

> Create the ArrayList and populate it with 18 item name literals in fixed order. These items represent the complete schema for the Customer Contract Inheritance data type bean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Initialize empty list for item names |
| 2 | EXEC | `koumokuList.add("SSSPID")` // System Service Sequence ID — unique identifier for the service contract line |
| 3 | EXEC | `koumokuList.add("サービス契約番号")` // Service Contract Number — the main contract ID being inherited |
| 4 | EXEC | `koumokuList.add("変動区分")` // Change Classification — indicates the type of modification (add/modify/delete) |
| 5 | EXEC | `koumokuList.add("変動理由コード")` // Change Reason Code — codes describing why the change occurred |
| 6 | EXEC | `koumokuList.add("変動理由メモ")` // Change Reason Memo — free-text explanation for the change |
| 7 | EXEC | `koumokuList.add("オプションサービス契約番号")` // Option Service Contract Number — associated optional service contract ID |
| 8 | EXEC | `koumokuList.add("処理区分")` // Processing Classification — distinguishes between different processing types |
| 9 | EXEC | `koumokuList.add("申請番号")` // Application Number — the overall application/request ID |
| 10 | EXEC | `koumokuList.add("申請明細番号")` // Application Detail Number — line-item detail ID within the application |
| 11 | EXEC | `koumokuList.add("特定IT項目名")` // Specific IT Item Name — IT-specific field name for configuration |
| 12 | EXEC | `koumokuList.add("特定IT項目値")` // Specific IT Item Value — IT-specific field value for configuration |
| 13 | EXEC | `koumokuList.add("アップデートモード")` // Update Mode — indicates the update operation mode (insert/update/merge) |
| 14 | EXEC | `koumokuList.add("同時申請サービス契約番号")` // Concurrent Application Service Contract Number — related contracts submitted in the same batch |
| 15 | EXEC | `koumokuList.add("マシオン名")` // Machine Name — the workstation/machine identifier associated with the operation |
| 16 | EXEC | `koumokuList.add("住所")` // Address — customer address information |
| 17 | EXEC | `koumokuList.add("P-IT")` // P-IT — Platform IT classification for IT service categorization |
| 18 | EXEC | `koumokuList.add("M-IT")` // M-IT — Management IT classification for IT service categorization |
| 19 | EXEC | `koumokuList.add("CAT-IT")` // CAT-IT — Category IT classification for IT service categorization |
| 20 | RETURN | `return koumokuList;` // Return the fully populated 18-element list |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `SSSPID` | Field | System Service Sequence ID — the unique internal identifier for each service contract line item; serves as the primary key for tracking changes |
| `サービス契約番号` | Field | Service Contract Number — the main contract ID that is the subject of the inheritance operation |
| `変動区分` | Field | Change Classification — indicates what kind of modification is being applied (e.g., add, modify, delete) to the contract |
| `変動理由コード` | Field | Change Reason Code — a categorized code explaining the reason for a contract modification |
| `変動理由メモ` | Field | Change Reason Memo — free-text field for operators to document the rationale behind a change |
| `オプションサービス契約番号` | Field | Option Service Contract Number — the ID of an associated optional service linked to the main contract |
| `処理区分` | Field | Processing Classification — distinguishes between different processing types (e.g., new, transfer, modification) |
| `申請番号` | Field | Application Number — the top-level application/request ID that groups related contract operations |
| `申請明細番号` | Field | Application Detail Number — a line-item detail ID within the application, used to track individual changes |
| `特定IT項目名` | Field | Specific IT Item Name — an IT-specific configuration field name for detailed service setup |
| `特定IT項目値` | Field | Specific IT Item Value — the corresponding value for a specific IT configuration field |
| `アップデートモード` | Field | Update Mode — indicates the mode of data update (e.g., insert, update, delete) for the inheritance operation |
| `同時申請サービス契約番号` | Field | Concurrent Application Service Contract Number — contracts submitted as part of the same batch application |
| `マシオン名` | Field | Machine Name — the workstation or machine identifier associated with the data entry |
| `住所` | Field | Address — the customer's residential or business address |
| P-IT | Business term | Platform IT — IT service classification related to platform-level infrastructure |
| M-IT | Business term | Management IT — IT service classification related to management and administrative systems |
| CAT-IT | Business term | Category IT — IT service classification for categorized service offerings |
| 顧客契約引継 | Japanese | Customer Contract Inheritance — the business process of transferring a service contract from one customer to another |
| 項目名 | Japanese | Item Name — the display label/identifier for a data column or field |
| データタイプビーン | Japanese | Data Type Bean — a Java bean class that defines the structure and schema of a data type within the screen framework |
| KKW05501SF | Module | Web screen module for Customer Contract Inheritance (KKW05501SF = screen module identifier) |
| KKW05501SF03DBean | Class | Data type bean class for the Customer Contract Inheritance detail data structure |
| KKW05501SFBean | Class | Parent screen bean that manages data type bean routing and list data instance creation |

---
