---
title: Business Logic — FUW00927SFBean.listKoumokuIds() [98 LOC]
created: 2026-07-27
---

# Business Logic — FUW00927SFBean.listKoumokuIds() [98 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW00927SF.FUW00927SFBean` |
| Layer | Web View Bean (Controller/Service Component — part of the web view tier) |
| Module | `FUW00927SF` (Package: `eo.web.webview.FUW00927SF`) |

## 1. Role

### FUW00927SFBean.listKoumokuIds()

This method serves as the central item-label resolver for the FTTH service contract screen within the FUW00927SF module. Its business responsibility is to return a named list of display item labels (project field names) that appear as column headers or data field descriptors on the service contract input/view screens. It implements a routing/dispatch pattern with three mutually exclusive branches: when the `key` parameter is `null`, it constructs and returns the complete set of approximately 90 item labels that define the full service form grid; when the key starts with a forward slash and has a length greater than 2, it delegates to the superclass implementation (enabling shared/common information lookups); otherwise, it returns an empty list as a safe fallback. As a shared utility called by multiple screen beans across the web layer, it ensures consistent item labeling across all FTTH service contract screens, and it supports both the full-screen mode and per-sub-screen (detail bean) modes through the delegation path to `super.listKoumokuIds(key)`.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds(String key)"])
    CHECK_NULL{key is null?}
    BUILD_FULL["Build full service form item list
(ArrayList<String>)"]
    ADD_ITEMS["Add ~90 item names:
機能コード(Function Code),
画面モード(Screen Mode),
項目コード(Item Code),
値(Value),
月額料金項目(Monthly Charge Item),
月額料金(Monthly Charge),
初期費用項目(Initial Fee Item),
初期費用(Initial Fee),
月額料金計(Monthly Charge Total),
月額料金計(税抜)(Monthly Charge Total Excl. Tax),
初期費用計(Initial Fee Total),
初期費用計(税抜)(Initial Fee Total Excl. Tax),
モバイル月額料金計(Mobile Monthly Total),
モバイル初期費用計(Mobile Initial Total),
月額料金文言(Monthly Charge Text),
初期費用文言(Initial Fee Text),
月額料金合計(Monthly Charge Sum),
月額料金合計(税抜)(Monthly Charge Sum Excl. Tax),
初期費用合計(Initial Fee Sum),
初期費用合計(税抜)(Initial Fee Sum Excl. Tax),
契約種別(Contract Type),
ご契約者情報(個人情報)・性別(Customer Info Individual/Gender),
ご本人様確認書類(Identity Verification Doc),
ご利用場所設置位置・形態(Location Setup/Format),
ご利用場所設置位置・階数(Location Floor),
ご利用場所設置位置・住所(Location Address),
ご利用場所設置位置・接続中ネットワーク(Location Network),
ご利用場所設置位置・機器設置変更予定(Location Equipment Change),
ご利用場所設置位置・同日実施(Same-Day Survey+Work),
連絡先選択(Contact Selection),
FTTH連絡ご希望(FTTH Contact Preference),
同一利用场所警報表示制御(Same-Location Alert Flag),
郵便番号表示制御(Postal Code Display Flag),
閉じるボタン表示制御(Close Button Flag),
登録次へボタン表示(Next After Register Flag),
次へボタン表示制御(Next Button Flag),
電話料指定額到達通知(Notification at Call Limit),
月額料金項目(スマートリンク)(Monthly Item SmartLink),
月額料金(スマートリンク)(Monthly Charge SmartLink),
初期費用項目(スマートリンク)(Initial Fee Item SmartLink),
初期費用(スマートリンク)(Initial Fee SmartLink),
月額料金計(スマートリンク)(Monthly Total SmartLink),
月額料金計(スマートリンク)(税抜)(Monthly Total SmartLink Excl. Tax),
初期費用計(スマートリンク)(Initial Total SmartLink),
初期費用計(スマートリンク)(税抜)(Initial Total SmartLink Excl. Tax),
月額料金文言(スマートリンク)(Monthly Text SmartLink),
初期費用文言(スマートリンク)(Initial Text SmartLink),
月額料金合計(スマートリンク)(Monthly Sum SmartLink),
月額料金合計(スマートリンク)(税抜)(Monthly Sum SmartLink Excl. Tax),
初期費用合計(スマートリンク)(Initial Sum SmartLink),
初期費用合計(スマートリンク)(税抜)(Initial Sum SmartLink Excl. Tax),
月額料金割引文言適用期間(Discount Text Period),
月額料金割引文言割引名(Discount Text Name),
月額料金割引文言割引額(Discount Text Amount),
月額料金割引文言備考(Discount Text Remark),
月額料金表示項目(Monthly Display Item),
月額料金項目(G)(Monthly Item GT),
月額料金(G)(Monthly Charge GT),
初期費用項目(G)(Initial Fee Item GT),
初期費用(G)(Initial Fee GT),
月額料金計(G)(Monthly Total GT),
月額料金計(G)(税抜)(Monthly Total GT Excl. Tax),
初期費用計(G)(Initial Total GT),
初期費用計(G)(税抜)(Initial Total GT Excl. Tax),
月額料金文言(G)(Monthly Text GT),
初期費用文言(G)(Initial Fee Text GT),
月額料金合計(G)(Monthly Sum GT),
月額料金合計(G)(税抜)(Monthly Sum GT Excl. Tax),
初期費用合計(G)(Initial Sum GT),
初期費用合計(G)(税抜)(Initial Sum GT Excl. Tax),
月額料金合計文言(G)(Monthly Sum Text GT),
初期費用合計文言(G)(Initial Sum Text GT),
契約中サービスエリア表示Flag(Active Service Area Flag),
GP案件開始Flag(GP Case Start Flag),
宅内調査のアポ架電希望表示Flag(Appointment Call Display),
宅内調査のアポ架電希望(Appointment Call Desire)"]
    CHECK_START_SLASH{key starts with '/'}
    CHECK_LENGTH{key.length > 2?}
    CALL_SUPER["Call super.listKoumokuIds(key)"]
    RETURN_EMPTY["Return new empty ArrayList<String>()"]
    END_NODE(["Return / Next"])

    START --> CHECK_NULL
    CHECK_NULL -->|true| BUILD_FULL
    BUILD_FULL --> ADD_ITEMS
    ADD_ITEMS --> RETURN_EMPTY
    CHECK_NULL -->|false| CHECK_START_SLASH
    CHECK_START_SLASH -->|false| RETURN_EMPTY
    CHECK_START_SLASH -->|true| CHECK_LENGTH
    CHECK_LENGTH -->|true| CALL_SUPER
    CALL_SUPER --> END_NODE
    CHECK_LENGTH -->|false| RETURN_EMPTY
    RETURN_EMPTY --> END_NODE
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | The item name used to select which set of display labels to return. When `null`, the full service form item list (all ~90 columns for the FTTH contract screen) is returned. When it starts with a forward slash (`/`) and has more than 2 characters, it acts as a lookup key for shared/common information (delegated to the superclass). For any other value, an empty list is returned as a safe default. |

## 4. CRUD Operations / Called Services

### Pre-computed evidence from code analysis graph:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `super.listKoumokuIds` | (superclass, parent bean) | - | Delegates to the parent class implementation when the key starts with `/` and length > 2, enabling shared/common item lookups across related service screens |

No database or entity-level CRUD operations are performed by this method. It is a pure UI-label resolution utility with no data persistence or retrieval beyond the in-memory item list construction.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Bean: `FUW00927SFBean` | (Self-referenced — pre-computed: caller is `FUW00927SFBean.listKoumokuIds()` with no-arg variant) | `listKoumokuIds [R] (superclass delegation)` |

No external screens (KKSV*) or batches were found directly calling this method. The method is consumed internally within the FUW00927SF bean hierarchy and potentially by screen beans that reference this service form bean for column label data.

## 6. Per-Branch Detail Blocks

### Block 1 — IF `(key == null)` (L4567–L4657)

> When `key` is `null`, this block constructs the complete list of approximately 90 item labels for the full FTTH service contract form. Each label corresponds to a column header or data field descriptor displayed on the service input/view screen. The items cover charge types (monthly, initial), calculations (totals, tax-excluded), smart-link and GT (Google Tag) variants, customer information fields, location setup details, notification settings, and screen control flags.

| # | Type | Code |
|---|------|------|
| 1 | SET | `koumokuList = new ArrayList<String>()` // Create new list // -> `key == null` (build full service form items) |
| 2 | EXEC | `koumokuList.add("機能コード")` // Add function code label |
| 3 | EXEC | `koumokuList.add("画面モード")` // Add screen mode label |
| 4 | EXEC | `koumokuList.add("項目コード")` // Add item code label |
| 5 | EXEC | `koumokuList.add("値")` // Add value label |
| 6 | EXEC | `koumokuList.add("月額料金項目")` // Add monthly charge item label |
| 7 | EXEC | `koumokuList.add("月額料金")` // Add monthly charge label |
| 8 | EXEC | `koumokuList.add("初期費用項目")` // Add initial fee item label |
| 9 | EXEC | `koumokuList.add("初期費用")` // Add initial fee label |
| 10 | EXEC | `koumokuList.add("月額料金計")` // Add monthly charge total label |
| 11 | EXEC | `koumokuList.add("月額料金計(税抜)")` // Add monthly charge total excl. tax label |
| 12 | EXEC | `koumokuList.add("初期費用計")` // Add initial fee total label |
| 13 | EXEC | `koumokuList.add("初期費用計(税抜)")` // Add initial fee total excl. tax label |
| 14 | EXEC | `koumokuList.add("モバイル月額料金計")` // Add mobile monthly charge total label |
| 15 | EXEC | `koumokuList.add("モバイル初期費用計")` // Add mobile initial fee total label |
| 16 | EXEC | `koumokuList.add("月額料金文言")` // Add monthly charge text label |
| 17 | EXEC | `koumokuList.add("初期費用文言")` // Add initial fee text label |
| 18 | EXEC | `koumokuList.add("モバイル月額料金文言")` // Add mobile monthly charge text label |
| 19 | EXEC | `koumokuList.add("モバイル初期費用文言")` // Add mobile initial fee text label |
| 20 | EXEC | `koumokuList.add("月額料金合計")` // Add monthly charge sum label |
| 21 | EXEC | `koumokuList.add("月額料金合計(税抜)")` // Add monthly charge sum excl. tax label |
| 22 | EXEC | `koumokuList.add("初期費用合計")` // Add initial fee sum label |
| 23 | EXEC | `koumokuList.add("初期費用合計(税抜)")` // Add initial fee sum excl. tax label |
| 24 | EXEC | `koumokuList.add("月額料金合計文言")` // Add monthly charge sum text label |
| 25 | EXEC | `koumokuList.add("初期費用合計文言")` // Add initial fee sum text label |
| 26 | EXEC | `koumokuList.add("契約種別")` // Add contract type label |
| 27 | EXEC | `koumokuList.add("ご契約者情報（個人情報）・性別")` // Add customer info (individual)/gender label |
| 28 | EXEC | `koumokuList.add("ご本人様確認書類")` // Add identity verification document label |
| 29 | EXEC | `koumokuList.add("ご利用場所設置位置・ご利用場所の形態")` // Add location setup/formation label |
| 30 | EXEC | `koumokuList.add("ご利用場所設置位置・お住まいの階数")` // Add location floor label |
| 31 | EXEC | `koumokuList.add("ご利用場所設置位置・住所")` // Add location address label |
| 32 | EXEC | `koumokuList.add("ご利用場所設置位置・利用中のネットワーク")` // Add location network label |
| 33 | EXEC | `koumokuList.add("ご利用場所設置位置・機器の設置場所変更予定")` // Add location equipment change plan label |
| 34 | EXEC | `koumokuList.add("ご利用場所設置位置・室内調査と工事の同日実施")` // Add same-day survey and work label |
| 35 | EXEC | `koumokuList.add("連絡先選択")` // Add contact selection label |
| 36 | EXEC | `koumokuList.add("FTTH連絡ご希望")` // Add FTTH contact preference label |
| 37 | EXEC | `koumokuList.add("同一利用场所警報表示制御フラグ")` // Add same-location alert display control flag label |
| 38 | EXEC | `koumokuList.add("郵便番号表示制御フラグ")` // Add postal code display control flag label |
| 39 | EXEC | `koumokuList.add("閉じるボタン表示制御フラグ")` // Add close button display control flag label |
| 40 | EXEC | `koumokuList.add("登録次へボタン表示フラグ")` // Add next-after-register button display flag label |
| 41 | EXEC | `koumokuList.add("次へボタン表示フラグ")` // Add next button display control flag label |
| 42 | EXEC | `koumokuList.add("電話料指定額到達通知指定金額")` // Add notification at specified call amount label |
| 43 | EXEC | `koumokuList.add("月額料金項目（スマートリンク")` // Add monthly charge item (Smart Link) label |
| 44 | EXEC | `koumokuList.add("月額料金（スマートリンク")` // Add monthly charge (Smart Link) label |
| 45 | EXEC | `koumokuList.add("初期費用項目（スマートリンク")` // Add initial fee item (Smart Link) label |
| 46 | EXEC | `koumokuList.add("初期費用（スマートリンク")` // Add initial fee (Smart Link) label |
| 47 | EXEC | `koumokuList.add("月額料金計（スマートリンク")` // Add monthly total (Smart Link) label |
| 48 | EXEC | `koumokuList.add("月額料金計（スマートリンク）(税抜)")` // Add monthly total (Smart Link) excl. tax label |
| 49 | EXEC | `koumokuList.add("初期費用計（スマートリンク")` // Add initial total (Smart Link) label |
| 50 | EXEC | `koumokuList.add("初期費用計（スマートリンク）(税抜)")` // Add initial total (Smart Link) excl. tax label |
| 51 | EXEC | `koumokuList.add("月額料金文言（スマートリンク")` // Add monthly text (Smart Link) label |
| 52 | EXEC | `koumokuList.add("初期費用文言（スマートリンク")` // Add initial text (Smart Link) label |
| 53 | EXEC | `koumokuList.add("月額料金合計（スマートリンク")` // Add monthly sum (Smart Link) label |
| 54 | EXEC | `koumokuList.add("月額料金合計（スマートリンク）(税抜)")` // Add monthly sum (Smart Link) excl. tax label |
| 55 | EXEC | `koumokuList.add("初期費用合計（スマートリンク")` // Add initial sum (Smart Link) label |
| 56 | EXEC | `koumokuList.add("初期費用合計（スマートリンク）(税抜)")` // Add initial sum (Smart Link) excl. tax label |
| 57 | EXEC | `koumokuList.add("月額料金合計文言（スマートリンク")` // Add monthly sum text (Smart Link) label |
| 58 | EXEC | `koumokuList.add("初期費用合計文言（スマートリンク")` // Add initial sum text (Smart Link) label |
| 59 | EXEC | `koumokuList.add("月額料金割引文言適用期間")` // Add monthly discount text application period label |
| 60 | EXEC | `koumokuList.add("月額料金割引文言割引名")` // Add monthly discount text discount name label |
| 61 | EXEC | `koumokuList.add("月額料金割引文言割引額")` // Add monthly discount text discount amount label |
| 62 | EXEC | `koumokuList.add("月額料金割引文言備考")` // Add monthly discount text remark label |
| 63 | EXEC | `koumokuList.add("月額料金表示項目")` // Add monthly display item label |
| 64 | EXEC | `koumokuList.add("月額料金項目（GT")` // Add monthly charge item (GT) label |
| 65 | EXEC | `koumokuList.add("月額料金（GT")` // Add monthly charge (GT) label |
| 66 | EXEC | `koumokuList.add("初期費用項目（GT")` // Add initial fee item (GT) label |
| 67 | EXEC | `koumokuList.add("初期費用（GT")` // Add initial fee (GT) label |
| 68 | EXEC | `koumokuList.add("月額料金計（GT")` // Add monthly total (GT) label |
| 69 | EXEC | `koumokuList.add("月額料金計（GT）(税抜)")` // Add monthly total (GT) excl. tax label |
| 70 | EXEC | `koumokuList.add("初期費用計（GT")` // Add initial total (GT) label |
| 71 | EXEC | `koumokuList.add("初期費用計（GT）(税抜)")` // Add initial total (GT) excl. tax label |
| 72 | EXEC | `koumokuList.add("月額料金文言（GT")` // Add monthly text (GT) label |
| 73 | EXEC | `koumokuList.add("初期費用文言（GT")` // Add initial text (GT) label |
| 74 | EXEC | `koumokuList.add("月額料金合計（GT")` // Add monthly sum (GT) label |
| 75 | EXEC | `koumokuList.add("月額料金合計（GT）(税抜)")` // Add monthly sum (GT) excl. tax label |
| 76 | EXEC | `koumokuList.add("初期費用合計（GT")` // Add initial sum (GT) label |
| 77 | EXEC | `koumokuList.add("初期費用合計（GT）(税抜)")` // Add initial sum (GT) excl. tax label |
| 78 | EXEC | `koumokuList.add("月額料金合計文言（GT")` // Add monthly sum text (GT) label |
| 79 | EXEC | `koumokuList.add("初期費用合計文言（GT")` // Add initial sum text (GT) label |
| 80 | EXEC | `koumokuList.add("契約中サービスエリア表示フラグ")` // Add active service area display flag label |
| 81 | EXEC | `koumokuList.add("GP案件開始フラグ")` // Add GP case start flag label |
| 82 | EXEC | `koumokuList.add("宅内調査のアポ架電希望表示フラグ")` // Add in-home survey appointment call desire display flag label |
| 83 | EXEC | `koumokuList.add("宅内調査のアポ架電希望")` // Add in-home survey appointment call desire label |
| 84 | RETURN | `return koumokuList;` // Return full service form item list |

### Block 2 — ELSE-IF `(key.startsWith("/") && key.length() > 2)` (L4659–L4661)

> When the key starts with a forward slash and has more than 2 characters, this block delegates the lookup to the superclass implementation. This enables common/shared information lookups that are defined at a higher level in the bean hierarchy, supporting item resolution for shared business information across multiple screens.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `super.listKoumokuIds(key)` // Delegate to superclass for common/shared item lookup |
| 2 | RETURN | `return super.listKoumokuIds(key);` // Return superclass result |

### Block 3 — ELSE (implicit, any other key) (L4663–L4664)

> For any key value that does not match the previous two conditions (not null, and does not start with `/` with length > 2), this block returns a new empty list as a safe default. No items are returned for unrecognized keys.

| # | Type | Code |
|---|------|------|
| 1 | SET | `new ArrayList<String>()` // Create empty list |
| 2 | RETURN | `return new ArrayList<String>();` // Return empty list |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `koumoku` | Field | Item / field — Japanese term for data fields or columns displayed on a screen |
| 機能コード | Field | Function Code — internal identifier for a screen or feature module |
| 画面モード | Field | Screen Mode — indicates the current display/edit mode of the screen |
| 項目コード | Field | Item Code — unique identifier for a data field or column on the service form |
| 値 | Field | Value — the actual data value entered or displayed for a field |
| 月額料金項目 | Field | Monthly Charge Item — the column label for monthly service charges |
| 月額料金 | Field | Monthly Charge — the recurring monthly fee for the FTTH service |
| 月額料金計 | Field | Monthly Charge Total — the aggregated monthly charge (sum of all line items) |
| 月額料金計(税抜) | Field | Monthly Charge Total Excl. Tax — monthly total without consumption tax |
| 初期費用項目 | Field | Initial Fee Item — the column label for one-time setup/initiation fees |
| 初期費用 | Field | Initial Fee — the one-time setup fee for activating the service |
| 初期費用計 | Field | Initial Fee Total — the aggregated initial fee |
| 初期費用計(税抜) | Field | Initial Fee Total Excl. Tax — initial total without consumption tax |
| モバイル月額料金計 | Field | Mobile Monthly Charge Total — total monthly charges for mobile add-on services |
| モバイル初期費用計 | Field | Mobile Initial Fee Total — total one-time fees for mobile add-on services |
| 月額料金文言 | Field | Monthly Charge Text — display text / label for the monthly charge field |
| 初期費用文言 | Field | Initial Fee Text — display text / label for the initial fee field |
| 月額料金合計 | Field | Monthly Charge Sum — cumulative monthly charge sum across billing periods |
| 月額料金合計(税抜) | Field | Monthly Charge Sum Excl. Tax — cumulative monthly sum without tax |
| 初期費用合計 | Field | Initial Fee Sum — cumulative initial fee sum |
| 初期費用合計(税抜) | Field | Initial Fee Sum Excl. Tax — cumulative initial fee sum without tax |
| 契約種別 | Field | Contract Type — the classification of the service contract (e.g., new, renewal, change) |
| ご契約者情報（個人情報）・性別 | Field | Customer Information (Individual) / Gender — personal data field for individual contract holders |
| ご本人様確認書類 | Field | Identity Verification Document — document used to verify the identity of the contract holder |
| ご利用場所設置位置・ご利用場所の形態 | Field | Location Setup / Form — the physical form of the service installation location (e.g., apartment, house) |
| ご利用場所設置位置・お住まいの階数 | Field | Location Floor — the floor number where the service is installed |
| ご利用場所設置位置・住所 | Field | Location Address — the full address of the service installation location |
| ご利用場所設置位置・利用中のネットワーク | Field | Location Network — the currently active network type at the installation location |
| ご利用場所設置位置・機器の設置場所変更予定 | Field | Location Equipment Change Plan — whether the equipment installation location will be changed |
| ご利用場所設置位置・室内調査と工事の同日実施 | Field | Same-Day Survey and Work — whether the in-home survey and installation work are scheduled for the same day |
| 連絡先選択 | Field | Contact Selection — the method by which the customer will be contacted |
| FTTH連絡ご希望 | Field | FTTH Contact Preference — the customer's preferred method for FTTH-related contact |
| スマートリンク | Field | Smart Link — a pricing/charge variant linked to smart service plans (mobile/internet bundle) |
| GT | Field | Google Tag — a variant of charge labels used for Google Tag Manager / analytics tracking |
| 税抜 | Field | Excl. Tax — indicates the amount excludes consumption tax (Japanese: 税抜) |
| 割引文言 | Field | Discount Text — promotional discount description text applied to monthly charges |
| GP案件 | Field | GP Case — GP refers to a specific business case or project type in the service ordering domain |
| アポ架電 | Field | Appointment Call — a phone call made to schedule an appointment (for in-home surveys) |
| 宅内調査 | Field | In-Home Survey — a pre-installation visit to assess the premises |
| 同一利用场所警報 | Field | Same-Location Alert — a warning indicator when duplicate service registrations exist at the same address |
