# Business Logic — KKW01601SF02DBean.listKoumokuIds() [102 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA15301SF.KKW01601SF02DBean` |
| Layer | Web View / Data Type Bean (webview tier — UI data presentation layer) |
| Module | `KKA15301SF` (Package: `eo.web.webview.KKA15301SF`) |

## 1. Role

### KKW01601SF02DBean.listKoumokuIds()

This method serves as a **static item label registry** for the `KKW01601SF02DBean` data type bean. It returns a pre-built, ordered `ArrayList<String>` containing Japanese display labels (項目名 — "koumoku names" / field names) that are used in the billing contract history list screen (`rireki_seiky_list`). Each string represents a column header or field label that appears in the UI table/grid for viewing billing contract records. The method implements a **registry/lookup design pattern** — it acts as a shared factory for a fixed set of UI column identifiers, enabling the parent bean (`KKW01601SFBean`) to dynamically populate dropdown columns, table headers, and field selection menus without hardcoding display labels at each call site. Its role in the larger system is as a **centralized UI metadata provider**: any screen component that needs to know which columns exist in the billing contract history view can invoke this method to get the canonical ordered list of field labels. The ordering of items in the returned list defines the column order displayed to users.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["Start: listKoumokuIds"])
    CREATE["Create ArrayList<String> koumokuList"]
    ADD1["Add items: Selection, Billing Contract Number, Payment Audit Result, Payment Audit Result Code, Applied Date, Cancellation Date, Adjustment Date, Payment Method, Payment Method Code, Billing Party Name, Billing Contract Cancel Name, Billing Contract Roman Characters, Initial Billing Month, Invoice Issuance Required, Invoice Issuance Required Code, Financial Institution Name, Branch Name, Financial Institution Code, Branch Code, Account Number, Advance Type, Advance Type Code, Account Number, Card Type, Card Type Code, Card Number, Expiry Date, Invalid Year"]
    ADD2["Add items: Postal Code, Address Code, Delivery Address, Delivery Cancel Name, Delivery Name, Section Name, Responsible Person Name, Phone Number, Background Color, Delivery Prefecture, Delivery City/Town/Village, Delivery Street Name, Delivery Block Number, Delivery Building Name, Delivery Room Number, Update Timestamp, Registration Timestamp, Salary Advance Start Date, Initial Application Receipt Date, Manual Entry Flag, Forced Window, Forced Window Flag Name, Legal Entity Type Code, Legal Entity Prefix/Suffix Code, Last Update Timestamp Billing Contract, Applied Date Mask Maintenance, Adjustment Date Mask Maintenance, Billing Party Name Mask Maintenance, Billing Contract Cancel Name Mask Maintenance, Billing Contract Roman Characters Mask Maintenance, Initial Billing Month Mask Maintenance"]
    ADD3["Add items: Financial Institution Name Mask Maintenance, Branch Name Mask Maintenance, Financial Institution Code Mask Maintenance, Branch Code Mask Maintenance, Account Number Mask Maintenance, Account Number Mask Maintenance, Card Number Mask Maintenance, Expiry Date Mask Maintenance, Billing Method Number Credit Card, Credit Card Status, Billing Method Number Current Account, Validity Confirmation Result Section, Payment Audit Result N/A Reason Code Current Account, Payment Audit Result N/A Reason Memo Current Account, Current Account Holder Name Kanji, Payment Audit Request Date Current Account, External Account Audit Completion Date, Payment Audit Result N/A Reason Code Credit Card, Payment Audit Result N/A Reason Memo Credit Card, Payment Audit Request Date Credit Card, Credit Card Exchange Code, Credit Card Name Roman Characters, Audit Confirmation Timestamp, Audit Approval Number, Payment Method Notification Email Control Code, Card Pre-IV, Card Pre-IV Mask Maintenance, Counterparty Company Code, Applied Date Initial Value, Difference Section, Billing Card Company Name, Card Category, Domestic/International, Current Account Payment Method Receipt Section Code, Payment Method Avoidance, Current Account Payment Method Receipt Section Avoidance"]
    RETURN(["Return koumokuList — 106 items total"])

    START --> CREATE
    CREATE --> ADD1
    ADD1 --> ADD2
    ADD2 --> ADD3
    ADD3 --> RETURN
```

This method has **no conditional branches**, **no loops**, and **no external calls** beyond `ArrayList` creation and `List.add()`. It is a pure data factory that builds an ordered, static list of 106 Japanese column labels.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a static method with no parameters. It returns a complete, fixed list of UI column labels for the billing contract history data type bean. |

**External state / instance fields used:** None. This method is fully stateless — it does not read any instance fields, configuration, or external dependencies.

## 4. CRUD Operations / Called Services

This method performs **no CRUD operations** and **calls no external services**. It only manipulates a local `ArrayList` via `add()` calls.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| N/A | N/A | N/A | N/A | No database or service calls — pure in-memory list construction |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV15301 (KKA15301SF) | `KKW01601SFBean.listKoumokuIds` -> `KKW01601SF02DBean.listKoumokuIds` | N/A (no CRUD) |

**Caller detail:**
- `KKW01601SFBean.java` (line 25671) — Direct static call within the same screen module `KKA15301SF`. This is a data type bean delegation pattern where the main bean delegates column metadata to its sub-bean.
- `KKW01601SFBean.java` (lines 25922–25927) — Used in a conditional block where the data type bean is instantiated and its `listKoumokuIds()` is retrieved for dynamic screen rendering.

## 6. Per-Branch Detail Blocks

Since this method has no conditional branches, the entire method body is treated as a single sequential block:

**Block 1** — [SEQUENTIAL BLOCK] (L5322–L5418)

> Creates an ordered list of 106 Japanese UI column labels for the billing contract history view. Each `add()` call appends a field label that becomes a column header in the data type bean's table/grid display.

| # | Type | Code |
|---|------|------|
| 1 | SET | `koumokuList = new ArrayList<String>();` // Initialize empty list |
| 2 | SET | `koumokuList.add("選択");` // Selection (column 0) |
| 3 | SET | `koumokuList.add("請求契約番号");` // Billing Contract Number |
| 4 | SET | `koumokuList.add("支払審計結果");` // Payment Audit Result |
| 5 | SET | `koumokuList.add("支払審計結果コード");` // Payment Audit Result Code |
| 6 | SET | `koumokuList.add("適用年月日");` // Applied Date |
| 7 | SET | `koumokuList.add("終了年月日");` // Cancellation Date |
| 8 | SET | `koumokuList.add("調整日");` // Adjustment Date |
| 9 | SET | `koumokuList.add("支払方法");` // Payment Method |
| 10 | SET | `koumokuList.add("支払方法コード");` // Payment Method Code |
| 11 | SET | `koumokuList.add("請求先名");` // Billing Party Name |
| 12 | SET | `koumokuList.add("請求契約カナ名");` // Billing Contract Cancel Name (Kana) |
| 13 | SET | `koumokuList.add("請求契約ローマ字");` // Billing Contract Roman Characters |
| 14 | SET | `koumokuList.add("初回請求月");` // Initial Billing Month |
| 15 | SET | `koumokuList.add("請求書発行要否");` // Invoice Issuance Required |
| 16 | SET | `koumokuList.add("請求書発行要否コード");` // Invoice Issuance Required Code |
| 17 | SET | `koumokuList.add("金融機関名");` // Financial Institution Name |
| 18 | SET | `koumokuList.add("支店名");` // Branch Name |
| 19 | SET | `koumokuList.add("金融機関コード");` // Financial Institution Code |
| 20 | SET | `koumokuList.add("支店コード");` // Branch Code |
| 21 | SET | `koumokuList.add("口座番号");` // Account Number |
| 22 | SET | `koumokuList.add("預金種類");` // Advance Type |
| 23 | SET | `koumokuList.add("預金種類コード");` // Advance Type Code |
| 24 | SET | `koumokuList.add("通帳記号");` // Account Number (passbook symbol) |
| 25 | SET | `koumokuList.add("通帳番号");` // Passbook Number |
| 26 | SET | `koumokuList.add("カード種類");` // Card Type |
| 27 | SET | `koumokuList.add("カード種類コード");` // Card Type Code |
| 28 | SET | `koumokuList.add("カード番号");` // Card Number |
| 29 | SET | `koumokuList.add("有効期限");` // Expiry Date |
| 30 | SET | `koumokuList.add("無効年月");` // Invalid Year/Month |
| 31 | SET | `koumokuList.add("郵便番号");` // Postal Code |
| 32 | SET | `koumokuList.add("住所コード");` // Address Code |
| 33 | SET | `koumokuList.add("送付先住所");` // Delivery Address |
| 34 | SET | `koumokuList.add("送付先カナ名");` // Delivery Cancel Name (Kana) |
| 35 | SET | `koumokuList.add("送付先名");` // Delivery Name |
| 36 | SET | `koumokuList.add("部課名");` // Section Name |
| 37 | SET | `koumokuList.add("担当者名");` // Responsible Person Name |
| 38 | SET | `koumokuList.add("電話番号");` // Phone Number |
| 39 | SET | `koumokuList.add("背景色");` // Background Color |
| 40 | SET | `koumokuList.add("送付先住所都道府県");` // Delivery Prefecture |
| 41 | SET | `koumokuList.add("送付先住所市区町村");` // Delivery City/Town/Village |
| 42 | SET | `koumokuList.add("送付先住所大字通称");` // Delivery Street Name (Oaza) |
| 43 | SET | `koumokuList.add("送付先住所字丁目");` // Delivery Block/Chome |
| 44 | SET | `koumokuList.add("送付先住所番地号");` // Delivery Street Number |
| 45 | SET | `koumokuList.add("送付先住所建物名");` // Delivery Building Name |
| 46 | SET | `koumokuList.add("送付先住所部屋番号");` // Delivery Room Number |
| 47 | SET | `koumokuList.add("更新年月日時分秒");` // Update Timestamp (YYYY-MM-DD HH:MM:SS) |
| 48 | SET | `koumokuList.add("世代登録年月日時分秒");` // Registration Timestamp (generation) |
| 49 | SET | `koumokuList.add("課金先適用開始年月日");` // Salary Advance Start Date |
| 50 | SET | `koumokuList.add("初回支払申請書受領年月日");` // Initial Application Receipt Date |
| 51 | SET | `koumokuList.add("手動入力フラグ");` // Manual Entry Flag |
| 52 | SET | `koumokuList.add("強制窗口");` // Forced Window |
| 53 | SET | `koumokuList.add("強制窗口フラグ名称");` // Forced Window Flag Name |
| 54 | SET | `koumokuList.add("法人格種別コード");` // Legal Entity Type Code |
| 55 | SET | `koumokuList.add("法人格前後指定コード");` // Legal Entity Prefix/Suffix Code |
| 56 | SET | `koumokuList.add("最終更新年月日時分秒請求契約");` // Last Update Timestamp Billing Contract |
| 57 | SET | `koumokuList.add("適用年月日マスク保持");` // Applied Date Mask Maintenance |
| 58 | SET | `koumokuList.add("調整日マスク保持");` // Adjustment Date Mask Maintenance |
| 59 | SET | `koumokuList.add("請求先名マスク保持");` // Billing Party Name Mask Maintenance |
| 60 | SET | `koumokuList.add("請求契約カナ名マスク保持");` // Billing Contract Kana Mask Maintenance |
| 61 | SET | `koumokuList.add("請求契約ローマ字マスク保持");` // Billing Contract Roman Characters Mask Maintenance |
| 62 | SET | `koumokuList.add("初回請求月マスク保持");` // Initial Billing Month Mask Maintenance |
| 63 | SET | `koumokuList.add("金融機関名マスク保持");` // Financial Institution Name Mask Maintenance |
| 64 | SET | `koumokuList.add("支店名マスク保持");` // Branch Name Mask Maintenance |
| 65 | SET | `koumokuList.add("金融機関コードマスク保持");` // Financial Institution Code Mask Maintenance |
| 66 | SET | `koumokuList.add("支店コードマスク保持");` // Branch Code Mask Maintenance |
| 67 | SET | `koumokuList.add("口座番号マスク保持");` // Account Number Mask Maintenance |
| 68 | SET | `koumokuList.add("通帳番号マスク保持");` // Passbook Number Mask Maintenance |
| 69 | SET | `koumokuList.add("カード番号マスク保持");` // Card Number Mask Maintenance |
| 70 | SET | `koumokuList.add("有効期限マスク保持");` // Expiry Date Mask Maintenance |
| 71 | SET | `koumokuList.add("請求方法番号（クレジットカード）");` // Billing Method Number (Credit Card) |
| 72 | SET | `koumokuList.add("クレジットカードステータス");` // Credit Card Status |
| 73 | SET | `koumokuList.add("請求方法番号（口座）");` // Billing Method Number (Current Account) |
| 74 | SET | `koumokuList.add("有効性確認結果区分");` // Validity Confirmation Result Section |
| 75 | SET | `koumokuList.add("支払い審計結果.N/A理由コード（口座）");` // Payment Audit Result N/A Reason Code (Current Account) |
| 76 | SET | `koumokuList.add("支払い審計結果.N/A理由メモ（口座）");` // Payment Audit Result N/A Reason Memo (Current Account) |
| 77 | SET | `koumokuList.add("口座名義人（漢字）");` // Account Holder Name (Kanji) |
| 78 | SET | `koumokuList.add("支払い審計依頼年月日（口座）");` // Payment Audit Request Date (Current Account) |
| 79 | SET | `koumokuList.add("外部口座審計完了年月日");` // External Account Audit Completion Date |
| 80 | SET | `koumokuList.add("支払い審計結果.N/A理由コード（クレジット）");` // Payment Audit Result N/A Reason Code (Credit Card) |
| 81 | SET | `koumokuList.add("支払い審計結果.N/A理由メモ（クレジット）");` // Payment Audit Result N/A Reason Memo (Credit Card) |
| 82 | SET | `koumokuList.add("支払い審計依頼年月日（クレジット）");` // Payment Audit Request Date (Credit Card) |
| 83 | SET | `koumokuList.add("クレジット交換コード");` // Credit Card Exchange Code |
| 84 | SET | `koumokuList.add("クレジットカード名義（ローマ字）");` // Credit Card Name Roman Characters |
| 85 | SET | `koumokuList.add("オーソリ確認年月日時分秒");` // Audit Confirmation Timestamp |
| 86 | SET | `koumokuList.add("オーソリ承認番号");` // Audit Approval Number |
| 87 | SET | `koumokuList.add("支払方法通知メール制御コード");` // Payment Method Notification Email Control Code |
| 88 | SET | `koumokuList.add("カード預りIV");` // Card Pre-IV |
| 89 | SET | `koumokuList.add("カード預りIVマスク保持");` // Card Pre-IV Mask Maintenance |
| 90 | SET | `koumokuList.add("仕向先会社コード");` // Counterparty Company Code |
| 91 | SET | `koumokuList.add("適用年月日初期値");` // Applied Date Initial Value |
| 92 | SET | `koumokuList.add("異動区分");` // Difference Section |
| 93 | SET | `koumokuList.add("請求カード会社名");` // Billing Card Company Name |
| 94 | SET | `koumokuList.add("カード種類");` // Card Category |
| 95 | SET | `koumokuList.add("国内／海外");` // Domestic/International |
| 96 | SET | `koumokuList.add("口座支払方法受払区分コード");` // Current Account Payment Method Receipt Section Code |
| 97 | SET | `koumokuList.add("支払方法退避");` // Payment Method Avoidance |
| 98 | SET | `koumokuList.add("口座支払方法受払区分退避");` // Current Account Payment Method Receipt Section Avoidance |
| 99 | RETURN | `return koumokuList;` // Return the complete list of 106 column labels |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| 項目名 (koumoku mei) | Field | Item name / field label — Japanese display text for UI column headers in data grids |
| データタイプビーン (deeta taipii biin) | Field | Data Type Bean — a UI-level data class that provides column metadata (labels, types, order) for screen display |
| 請求契約 (seikyuu keiyaku) | Field | Billing Contract — the contract record for a customer's billing arrangement, including payment method, financial institution, card details, and delivery address |
| 請求契約履歴 (seikyuu keiyaku rireki) | Field | Billing Contract History — the screen/list view where past billing contract records are displayed and queried |
| 支払審計 (shihai shinkei) | Field | Payment Audit — the review and verification process for payment records, including approval/disapproval and N/A reason codes |
| 選択 (sentaku) | Field | Selection — the first column, typically a checkbox or radio button for row selection in a list |
| 口座 (kouza) | Field | Current Account — bank account used for automatic payment/direct debit |
| クレジット (kurejjitto) | Field | Credit Card — credit card payment method |
| 有効性確認 (kousei kakunin) | Field | Validity Confirmation — verification that a payment method (card/account) is still active/valid |
| N/A | Field | Not Applicable — indicates why a payment audit result could not be determined |
| マスク保持 (masuku hoji) | Field | Mask Maintenance — UI flag indicating whether a field's display value should be masked/obscured on screen |
| カナ (kana) | Field | Japanese Kana script — phonetic characters (hiragana/katakana) used for reading names |
| ローマ字 (roomaji) | Field | Roman Characters — Latin alphabet transcription of Japanese names |
| 漢字 (kanji) | Field | Kanji characters — Chinese-origin Japanese characters used for formal name representation |
| 預金種類 (yokin shurui) | Field | Deposit Type — type of bank deposit account (e.g., regular, savings) |
| 送付先 (soushaki) | Field | Delivery Address — the postal/mail delivery destination for invoices and statements |
| 強制窗口 (kyousei soukou) | Field | Forced Window — a system flag that forces a particular input/display window to be shown |
| 法人格 (houminkaku) | Field | Legal Entity — the legal classification of a corporate entity (e.g., corporation, limited company) |
| 課金先 (kakin saki) | Field | Billing Destination — the entity or account to which charges are applied |
| 手動入力 (shudou nyuuryoku) | Field | Manual Entry — flag indicating the record was entered manually rather than via automated process |
| 世代登録 (sedai touroku) | Field | Generation Registration — timestamp when a versioned record was registered in the system |
| 口座名義人 (kouza meiginin) | Field | Account Holder — the registered name of the bank account owner |
| 外部口座審計 (gaibu kouza shinkei) | Field | External Account Audit — audit performed by an external party (e.g., bank confirmation) |
| オーソリ (oosori) | Field | Authorization — credit card authorization process and approval number |
| 仕向先会社 (mukou saki gaisha) | Field | Counterparty Company — the company to which goods/services are being delivered or billed |
| 異動区分 (idou kubun) | Field | Movement/Difference Section — indicates changes or discrepancies in the contract record |
| 国内／海外 (kokunai/kaigai) | Field | Domestic/International — classification of whether the billing entity is domestic or overseas |
| 受払区分 (ujiwari kubun) | Field | Receipt/Payment Section — classification of payment direction (incoming vs outgoing) |
| 退避 (taihi) | Field | Avoidance / Hold — flag indicating a payment method has been suspended or set aside |
| IV | Acronym | Invoice / Verification — internal system code reference for card-related operations |
| KKA15301SF | Module | Screen module code — the billing contract history screen module in the web application |
| KKW01601SF02DBean | Class | Data type bean class — provides column metadata (item names, data types) for the billing contract history list view |
