# Business Logic — KKW05501SF02DBean.listKoumokuIds() [58 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW05501SF.KKW05501SF02DBean` |
| Layer | Service / Data Type Bean (Web View Bean) |
| Module | `KKW05501SF` (Package: `eo.web.webview.KKW05501SF`) |

## 1. Role

### KKW05501SF02DBean.listKoumokuIds()

This method serves as the **metadata catalog** for the "Service Contract Detail List" (サービス契約明細リスト) data type view bean in the KKW05501SF web screen module. It returns a statically-defined, ordered list of 55 field name strings (項目名) that correspond to the columns of the service contract detail entity displayed by the screen. Each string in the returned list maps one-to-one to a column header or data binding key used by the view bean framework when rendering contract detail rows.

The method follows a **factory/catalog design pattern** — it is a stateless static method that produces a fixed enumeration of domain field identifiers. It acts as a shared utility invoked by the parent bean (`KKW05501SFBean.listKoumokuIds(String key)`) when the screen requests column metadata for the "サービス契約明細リスト" (Service Contract Detail List) item. This is part of a larger system where multiple DBean subclasses provide their own field name catalogs to support polymorphic data type view beans.

As a pure metadata provider with no external dependencies, this method plays a foundational role in the screen's UI framework: it enables dynamic column generation, form validation, and data type mapping for the service contract detail listing screen.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    CREATE["Create ArrayList<String> koumokuList"]
    ADD1["Add 選択 Selection"]
    ADD2["Add お客様ID Customer ID"]
    ADD3["Add 契約サービスコード Contract Service Code"]
    ADD4["Add 契約サービス名称 Contract Service Name"]
    ADD5["Add 料金コースコード Charge Course Code"]
    ADD6["Add 料金コース名称 Charge Course Name"]
    ADD7["Add 利用住所 Usage Address"]
    ADD8["Add 契約状態 Contract Status"]
    ADD9["Add SAT-ID"]
    ADD10["Add 契約者タイプコード Contractor Type Code"]
    ADD11["Add 内外販売コード Sales Channel Code"]
    ADD12["Add 内岩企業識別コード Domestic Enterprise ID Code"]
    ADD13["Add 料金グループコード Charge Group Code"]
    ADD14["Add 料金プランコード Charge Plan Code"]
    ADD15["Add 料金プラン名称 Charge Plan Name"]
    ADD16["Add 背景色 Background Color"]
    ADD17["Add キャンペーン番号 Campaign Number"]
    ADD18["Add キャンペーン状態 Campaign Status"]
    ADD19["Add 請求オプションサービス契約番号 Billing Option Service Contract No"]
    ADD20["Add 申込明細番号 Application Detail No"]
    ADD21["Add 請求先番号 Billing Address No"]
    ADD22["Add 課金先番号 Billing Destination No"]
    ADD23["Add 最終更新年月日時分秒 Last Updated DateTime"]
    ADD24["Add 異動区分 Change Category"]
    ADD25["Add サービス契約回線内訳番号 Service Contract Line Item No"]
    ADD26["Add サービスコード Service Code"]
    ADD27["Add サービス契約ステータスコード Service Contract Status Code"]
    ADD28["Add 請求オプションサービス契約ステータス Billing Option Service Contract Status"]
    ADD29["Add 請求オプションサービスコード Billing Option Service Code"]
    ADD30["Add マション案件コード Machine Case Code"]
    ADD31["Add 異動NN状態コード Change NN Status Code"]
    ADD32["Add 有効性確認結果区分 Validity Check Result Category"]
    ADD33["Add サービス契約番号パラメータ Service Contract No Parameter"]
    ADD34["Add 申込番号 Application No"]
    ADD35["Add プラン課金開始年月日 Plan Billing Start Date"]
    ADD36["Add チェックボックス選択値 Checkbox Selection Value"]
    ADD37["Add マション設備システム連携用記事項 Machine Equipment System Link Item"]
    ADD38["Add マション通信設備コード Machine Communication Equipment Code"]
    ADD39["Add 工事案件番号 Construction Case No"]
    ADD40["Add 提供方契約番号 Provider Contract No"]
    ADD41["Add 複製元提供方契約番号 Copy Source Provider Contract No"]
    ADD42["Add マションID Mason ID"]
    ADD43["Add SAT-ID"]
    ADD44["Add 回線使用契約タイプコード Line Usage Contract Type Code"]
    ADD45["Add 回線内外販売コード Line Sales Channel Code"]
    ADD46["Add 回線内岩企業識別コード Line Domestic Enterprise ID"]
    ADD47["Add オナー契約番号 Owner Contract No"]
    ADD48["Add 回線使用契約物件都道府県名 Line Property Prefecture"]
    ADD49["Add 回線使用契約物件市区町村名 Line Property CityTownVillage"]
    ADD50["Add 回線使用契約物件大字通名称 Line Property District Name"]
    ADD51["Add 回線使用契約物件丁目名称 Line Property Block Name"]
    ADD52["Add 回線使用契約物件番地号 Line Property Lot Number"]
    ADD53["Add マションSAT-ID Mason SAT-ID"]
    ADD54["Add マションお客様ID Mason Customer ID"]
    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 --> ADD19
    ADD19 --> ADD20
    ADD20 --> ADD21
    ADD21 --> ADD22
    ADD22 --> ADD23
    ADD23 --> ADD24
    ADD24 --> ADD25
    ADD25 --> ADD26
    ADD26 --> ADD27
    ADD27 --> ADD28
    ADD28 --> ADD29
    ADD29 --> ADD30
    ADD30 --> ADD31
    ADD31 --> ADD32
    ADD32 --> ADD33
    ADD33 --> ADD34
    ADD34 --> ADD35
    ADD35 --> ADD36
    ADD36 --> ADD37
    ADD37 --> ADD38
    ADD38 --> ADD39
    ADD39 --> ADD40
    ADD40 --> ADD41
    ADD41 --> ADD42
    ADD42 --> ADD43
    ADD43 --> ADD44
    ADD44 --> ADD45
    ADD45 --> ADD46
    ADD46 --> ADD47
    ADD47 --> ADD48
    ADD48 --> ADD49
    ADD49 --> ADD50
    ADD50 --> ADD51
    ADD51 --> ADD52
    ADD52 --> ADD53
    ADD53 --> ADD54
    ADD54 --> RETURN
```

**Processing overview:** The method has a single linear execution path with no conditional branches, loops, or external calls. It instantiates an `ArrayList<String>`, sequentially appends 55 Japanese field name literals representing service contract detail columns, and returns the list. The order of elements is **significant** — it determines the column display order on the screen.

## 3. Parameter Analysis

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

**External state / instance fields accessed:** None. This method is fully stateless and self-contained. It does not read any instance fields, static configuration, or external data sources.

## 4. CRUD Operations / Called Services

This method does **not** invoke any service components, data access methods, or external services. It is a pure in-memory data factory.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| (none) | — | — | — | No database or service calls. This method constructs and returns a static list of field name strings entirely in memory. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW05501SF | `KKW05501SFBean.listKoumokuIds("サービス契約明細リスト")` → `KKW05501SF02DBean.listKoumokuIds()` | (none — pure in-memory) |

**Caller details:**
- **KKW05501SFBean.java (L9394):** The parent bean's `listKoumokuIds(String key)` method acts as a router. When the `key` parameter equals `"サービス契約明細リスト"` (Service Contract Detail List), it delegates to `KKW05501SF02DBean.listKoumokuIds()` to retrieve the field catalog for the service contract detail sub-screen. This is the only caller found in the source code.

## 6. Per-Branch Detail Blocks

### Block 1 — [SEQUENTIAL] (L3488–L3537)

> Initialize an ArrayList and populate it with 55 field name literals in a fixed order. The order determines the column display sequence on the service contract detail list screen.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Instantiate the field name list [L3489] |
| 2 | EXEC | `koumokuList.add("選択");` // Add "Selection" placeholder — allows users to select a column [L3490] |
| 3 | EXEC | `koumokuList.add("お客様ID");` // Add "Customer ID" — the customer identifier [L3491] |
| 4 | EXEC | `koumokuList.add("契約サービスコード");` // Add "Contract Service Code" — unique service contract identifier [L3492] |
| 5 | EXEC | `koumokuList.add("契約サービス名称");` // Add "Contract Service Name" — human-readable service name [L3493] |
| 6 | EXEC | `koumokuList.add("料金コースコード");` // Add "Charge Course Code" — billing course identifier [L3494] |
| 7 | EXEC | `koumokuList.add("料金コース名称");` // Add "Charge Course Name" — human-readable billing course name [L3495] |
| 8 | EXEC | `koumokuList.add("利用住所");` // Add "Usage Address" — service usage location address [L3496] |
| 9 | EXEC | `koumokuList.add("契約状態");` // Add "Contract Status" — current status of the contract [L3497] |
| 10 | EXEC | `koumokuList.add("SAT-ID");` // Add "SAT-ID" — Service Access Terminal identifier [L3498] |
| 11 | EXEC | `koumokuList.add("契約者タイプコード");` // Add "Contractor Type Code" — type of contractor entity [L3499] |
| 12 | EXEC | `koumokuList.add("内外販売コード");` // Add "Sales Channel Code" — domestic/international sales channel [L3500] |
| 13 | EXEC | `koumokuList.add("内岩企業識別コード");` // Add "Domestic Enterprise ID Code" — internal enterprise identification [L3501] |
| 14 | EXEC | `koumokuList.add("料金グループコード");` // Add "Charge Group Code" — billing group identifier [L3502] |
| 15 | EXEC | `koumokuList.add("料金プランコード");` // Add "Charge Plan Code" — billing plan identifier [L3503] |
| 16 | EXEC | `koumokuList.add("料金プラン名称");` // Add "Charge Plan Name" — human-readable billing plan name [L3504] |
| 17 | EXEC | `koumokuList.add("背景色");` // Add "Background Color" — UI column background color setting [L3505] |
| 18 | EXEC | `koumokuList.add("キャンペーン番号");` // Add "Campaign Number" — promotional campaign identifier [L3506] |
| 19 | EXEC | `koumokuList.add("キャンペーン状態");` // Add "Campaign Status" — current campaign status [L3507] |
| 20 | EXEC | `koumokuList.add("請求オプションサービス契約番号");` // Add "Billing Option Service Contract No" — optional service contract number for billing [L3508] |
| 21 | EXEC | `koumokuList.add("申込明細番号");` // Add "Application Detail No" — application line item number [L3509] |
| 22 | EXEC | `koumokuList.add("請求先番号");` // Add "Billing Address No" — billing destination identifier [L3510] |
| 23 | EXEC | `koumokuList.add("課金先番号");` // Add "Billing Destination No" — billing target identifier [L3511] |
| 24 | EXEC | `koumokuList.add("最終更新年月日時分秒");` // Add "Last Updated DateTime" — last modification timestamp [L3512] |
| 25 | EXEC | `koumokuList.add("異動区分");` // Add "Change Category" — change type classification [L3513] |
| 26 | EXEC | `koumokuList.add("サービス契約回線内訳番号");` // Add "Service Contract Line Item No" — service contract line breakdown number [L3514] |
| 27 | EXEC | `koumokuList.add("サービスコード");` // Add "Service Code" — service identifier [L3515] |
| 28 | EXEC | `koumokuList.add("サービス契約ステータスコード");` // Add "Service Contract Status Code" — contract status identifier [L3516] |
| 29 | EXEC | `koumokuList.add("請求オプションサービス契約ステータス");` // Add "Billing Option Service Contract Status" — optional service contract status [L3517] |
| 30 | EXEC | `koumokuList.add("請求オプションサービスコード");` // Add "Billing Option Service Code" — optional service code [L3518] |
| 31 | EXEC | `koumokuList.add("マション案件コード");` // Add "Machine Case Code" — building/machine case identifier (Mashon/Mansion) [L3519] |
| 32 | EXEC | `koumokuList.add("異動.NN状態コード");` // Add "Change NN Status Code" — change network node status code [L3520] |
| 33 | EXEC | `koumokuList.add("有効性確認結果区分");` // Add "Validity Check Result Category" — validity verification result classification [L3521] |
| 34 | EXEC | `koumokuList.add("サービス契約番号パラメータ");` // Add "Service Contract No. Parameter" — contract number parameter [L3522] |
| 35 | EXEC | `koumokuList.add("申込番号");` // Add "Application No" — application identifier [L3523] |
| 36 | EXEC | `koumokuList.add("プラン課金開始年月日");` // Add "Plan Billing Start Date" — billing start date for the plan [L3524] |
| 37 | EXEC | `koumokuList.add("チェックボックス選択値");` // Add "Checkbox Selection Value" — UI checkbox selection result [L3525] |
| 38 | EXEC | `koumokuList.add("マション設備システム連携用記事項");` // Add "Machine Equipment System Link Item" — building equipment system linkage reference [L3526] |
| 39 | EXEC | `koumokuList.add("マション通信設備コード");` // Add "Machine Communication Equipment Code" — building communication equipment code [L3527] |
| 40 | EXEC | `koumokuList.add("工事案件番号");` // Add "Construction Case No" — construction project number [L3528] |
| 41 | EXEC | `koumokuList.add("提供方契約番号");` // Add "Provider Contract No" — service provider contract number [L3529] |
| 42 | EXEC | `koumokuList.add("複製元提供方契約番号");` // Add "Copy Source Provider Contract No" — original provider contract number for copy operations [L3530] |
| 43 | EXEC | `koumokuList.add("マションID");` // Add "Mason ID" — building/machine identifier [L3531] |
| 44 | EXEC | `koumokuList.add("SAT-ID");` // Add "SAT-ID" — Service Access Terminal identifier [L3532] |
| 45 | EXEC | `koumokuList.add("回線使用契約タイプコード");` // Add "Line Usage Contract Type Code" — line usage contract type [L3533] |
| 46 | EXEC | `koumokuList.add("回線内外販売コード");` // Add "Line Sales Channel Code" — line sales channel identifier [L3534] |
| 47 | EXEC | `koumokuList.add("回線内岩企業識別コード");` // Add "Line Domestic Enterprise ID" — line-related domestic enterprise ID [L3535] |
| 48 | EXEC | `koumokuList.add("オナー契約番号");` // Add "Owner Contract No" — owner contract number [L3536] |
| 49 | EXEC | `koumokuList.add("回線使用契約物件都道府県名");` // Add "Line Property Prefecture" — prefecture name of the line usage property [L3537] |
| 50 | EXEC | `koumokuList.add("回線使用契約物件市区町村名");` // Add "Line Property CityTownVillage" — city/town/village name of the line usage property [L3538] |
| 51 | EXEC | `koumokuList.add("回線使用契約物件大字通名称");` // Add "Line Property District Name" — district/street name of the line usage property [L3539] |
| 52 | EXEC | `koumokuList.add("回線使用契約物件丁目名称");` // Add "Line Property Block Name" — block name of the line usage property [L3540] |
| 53 | EXEC | `koumokuList.add("回線使用契約物件番地号");` // Add "Line Property Lot Number" — lot number of the line usage property [L3541] |
| 54 | EXEC | `koumokuList.add("マションSAT-ID");` // Add "Mason SAT-ID" — building-specific SAT identifier [L3542] |
| 55 | EXEC | `koumokuList.add("マションお客様ID");` // Add "Mason Customer ID" — building-specific customer identifier [L3543] |
| 56 | RETURN | `return koumokuList;` // Return the complete field name catalog [L3544] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `listKoumokuIds` | Method | List of field names — returns the catalog of column identifiers for a data type view bean |
| 項目名 (Koumoku-mei) | Field | Field name / item name — the display label used as a column header or binding key in the UI |
| データタイプビーン (Data Type Bean) | Concept | Data Type Bean — a view bean that defines the field metadata (column names, types) for a screen's data display |
| サービス契約明細リスト (Service Contract Detail List) | Business term | Service Contract Detail List — the screen section that displays detailed service contract information in tabular form |
| 選択 (Sentaku) | Field | Selection — a placeholder field enabling users to select rows/columns from the data table |
| お客様ID (Okyakusama ID) | Field | Customer ID — unique identifier for the customer/account holder |
| 契約サービスコード (Keiyaku Saabisu Code) | Field | Contract Service Code — unique code identifying a specific service contract |
| 契約サービス名称 (Keiyaku Saabisu Meishou) | Field | Contract Service Name — human-readable name of the contracted service |
| 料金コースコード (Ryoukin Kousu Code) | Field | Charge Course Code — billing course/package code associated with the service |
| 料金コース名称 (Ryoukin Kousu Meishou) | Field | Charge Course Name — human-readable name of the billing course |
| 利用住所 (Riyou Juushou) | Field | Usage Address — the physical address where the service is used |
| 契約状態 (Keiyaku Joungyou) | Field | Contract Status — current operational state of the service contract (active, suspended, terminated, etc.) |
| SAT-ID | Field | Service Access Terminal ID — hardware endpoint identifier for the service line |
| 契約者タイプコード (Keiyakusha Taipu Code) | Field | Contractor Type Code — classification code for the type of contracting entity (individual, corporate, etc.) |
| 内外販売コード (Naiwai Hanbai Code) | Field | Sales Channel Code — distinguishes domestic (内) vs. international (外) sales channels |
| 内岩企業識別コード (Naiwasa Kigyou Shikibetsu Code) | Field | Domestic Enterprise ID Code — internal enterprise identification code for the contractor |
| 料金グループコード (Ryoukin Gurupu Code) | Field | Charge Group Code — grouping code for charge/billing categories |
| 料金プランコード (Ryoukin Puran Code) | Field | Charge Plan Code — billing plan code associated with the service |
| 料金プラン名称 (Ryoukin Puran Meishou) | Field | Charge Plan Name — human-readable billing plan name |
| 背景色 (Haigoshoku) | Field | Background Color — UI display property for column background coloring |
| キャンペーン番号 (Kyanpeen Bangou) | Field | Campaign Number — promotional campaign identifier linked to the contract |
| キャンペーン状態 (Kyanpeen Joungyou) | Field | Campaign Status — current status of the associated promotional campaign |
| 請求オプションサービス契約番号 (Seikyuu Option Saabisu Keiyaku Bangou) | Field | Billing Option Service Contract Number — contract number for optional/add-on billing services |
| 申込明細番号 (Moushikomi Meisai Bangou) | Field | Application Detail Number — line item number within a service application |
| 請求先番号 (Seikyuu-saki Bangou) | Field | Billing Address Number — identifier for the billing destination/address |
| 課金先番号 (Kakin-saki Bangou) | Field | Billing Destination Number — identifier for the billing target/account |
| 最終更新年月日時分秒 (Saishuu Koushin Nengappi Jifunbyou) | Field | Last Updated DateTime — timestamp of the most recent modification |
| 異動区分 (Idou KUBUN) | Field | Change Category — classification of the contract change type (add, modify, cancel, transfer) |
| サービス契約回線内訳番号 (Saabisu Keiyaku Kaisen Uchiwake Bangou) | Field | Service Contract Line Item Number — breakdown number for a specific line within a service contract |
| サービスコード (Saabisu Code) | Field | Service Code — identifier for the service type/product |
| サービス契約ステータスコード (Saabisu Keiyaku Status Code) | Field | Service Contract Status Code — status code for the service contract |
| マション (Mashon) | Field | Mansion/Building — refers to multi-unit building/mansion-related contract data (note: "マション" is a shortened form of "マンション") |
| マション案件コード (Mashon Anken Code) | Field | Building Case Code — case code associated with a building/mansion contract |
| 異動.NN状態コード (Idou NN Joungyou Code) | Field | Change NN Status Code — network node change status code |
| 有効性確認結果区分 (Kouseisei Kakunin Kekka Kubun) | Field | Validity Check Result Category — result classification from a validity/verification check |
| サービス契約番号パラメータ (Saabisu Keiyaku Bangou Parameter) | Field | Service Contract Number Parameter — parameterized contract number |
| 申込番号 (Moushikomi Bangou) | Field | Application Number — unique identifier for a service application |
| プラン課金開始年月日 (Puran Kakin Kaishi Nengappi) | Field | Plan Billing Start Date — the date when plan-based billing commences |
| チェックボックス選択値 (Chekku Bokku Sentaku-chi) | Field | Checkbox Selection Value — user's checkbox selection result in the UI |
| マション設備システム連携用記事項 (Mashon Setsubi System Renkei You Kimonkou) | Field | Building Equipment System Link Reference Item — reference item for building equipment system integration |
| マション通信設備コード (Mashon Tsushin Setsubi Code) | Field | Building Communication Equipment Code — communication equipment identifier at the building |
| 工事案件番号 (Kouji Anken Bangou) | Field | Construction Case Number — project number for construction/installation work |
| 提供方契約番号 (Teikyouhou Keiyaku Bangou) | Field | Provider Contract Number — contract number of the service provider |
| 複製元提供方契約番号 (Fukuzo-ji Teikyouhou Keiyaku Bangou) | Field | Copy Source Provider Contract Number — original provider contract number when copying a contract |
| オナー契約番号 (Onaa Keiyaku Bangou) | Field | Owner Contract Number — contract number associated with the property owner |
| 回線使用契約物件都道府県名 (Kaisen Shiyou Keiyaku Bukken Todoufukename) | Field | Line Usage Contract Property Prefecture Name — prefecture of the property where the line contract is used |
| 回線使用契約物件市区町村名 (Kaisen Shiyou Keiyaku Bukken Shikuchohsoname) | Field | Line Usage Contract Property City/Town/Village Name — municipality of the line usage property |
| 回線使用契約物件大字通名称 (Kaisen Shiyou Keiyaku Bukken Ooji Dooriname) | Field | Line Usage Contract Property District Name — district/street name of the line usage property |
| 回線使用契約物件丁目名称 (Kaisen Shiyou Keiyaku Bukchen Choumeiname) | Field | Line Usage Contract Property Block Name — block/choumei name of the line usage property |
| 回線使用契約物件番地号 (Kaisen Shiyou Keiyaku Bukken Banchigou) | Field | Line Usage Contract Property Lot Number — lot/banchi number of the line usage property |
| マションSAT-ID (Mashon SAT-ID) | Field | Building SAT-ID — SAT identifier specific to a building/mansion |
| マションお客様ID (Mashon Okyakusama ID) | Field | Building Customer ID — customer identifier at the building/mansion level |
