# Business Logic — FUW00928SF02DBean.listKoumokuIds() [15 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW00928SF.FUW00928SF02DBean` |
| Layer | Utility / Data Bean (webview data transfer object) |
| Module | `FUW00928SF` (Package: `eo.web.webview.FUW00928SF`) |

## 1. Role

### FUW00928SF02DBean.listKoumokuIds()

This method serves as a **static data-provider utility** for the data-type bean view of the webview screen `FUW00928SF`. Its sole responsibility is to return a predefined, ordered list of display item names (field labels) that the UI layer uses to render columns in a data-type view — specifically, the **Number Portability List** screen view type. Each entry is a Japanese-language label describing a customer or service attribute: display detail control flags, N-number menu titles, phone numbers using number portability, current service provider information (provider name, postal code, address), contractor details (name, hiragana reading), NTT number transfer procedures, current installation location address, and current contractor name. It implements a simple **builder / factory pattern** — instantiating a new `ArrayList` and populating it with fixed-string literals. Its role in the larger system is that of a shared UI metadata supplier: the calling `FUW00928SFBean.listKoumokuIds(String key)` method dispatches to `listKoumokuIds()` when the key matches `"番号ポートバリティリスト"` (Number Portability List), enabling the screen to know which column labels to render.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    CREATE["Create ArrayList<String> koumokuList"]
    ADD1["Add: 表示明细制御フラグ (Display detail control flag)"]
    ADD2["Add: Ｎ番号目タイトル (N-number menu title)"]
    ADD3["Add: 番号ポートバリティを利用する電話番号 (Phone number using number portability)"]
    ADD4["Add: 現在ご利用中の電話サービス提供事業者 (Current telephone service provider)"]
    ADD5["Add: 現在ご利用中の電話サービスの郵便番号 (Telephone service postal code)"]
    ADD6["Add: 現在ご利用中の電話サービスの住所 (Telephone service address)"]
    ADD7["Add: 契約者名義 (Contractor name)"]
    ADD8["Add: 契約者名かな (Contractor name reading in hiragana)"]
    ADD9["Add: ＮＴＴ番号転送手続き (NTT number transfer procedures)"]
    ADD10["Add: 現在利用中設置場所住所 (Current installation location address)"]
    ADD11["Add: 現在利用中契約者名義 (Current contractor name)"]
    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 --> RETURN
```

This method contains no conditional branches, no loops, and no external service calls. It is a pure sequential builder: instantiate an `ArrayList`, call `.add()` eleven times with hardcoded Japanese string literals in a fixed order, and return the populated list. The order of items determines the column rendering order on the UI.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters; it is a `static` factory method. It returns a hardcoded list of display column labels regardless of any input. |

No instance fields or external state is read by this method. It is entirely self-contained.

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| N/A | `listKoumokuIds()` | — | — | This method performs no database or service component operations. It is a pure in-memory list builder returning UI display labels. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:FUW00928SF (FUW00928SFBean) | `FUW00928SFBean.listKoumokuIds("番号ポートバリティリスト")` -> `FUW00928SF02DBean.listKoumokuIds()` | None (pure UI metadata) |

**Caller Detail:**
- `FUW00928SFBean.java` (line 8516) — A `listKoumokuIds(String key)` dispatcher method checks if `key.equals("番号ポートバリティリスト")` (Number Portability List). When matched, it calls `FUW00928SF02DBean.listKoumokuIds()` to retrieve the ordered column labels. This is a common dispatcher pattern across the `FUW00928SF` module where each `*DBean` subclass provides its own set of display items for a specific data type view.

## 6. Per-Branch Detail Blocks

**Block 1** — CREATION `(L807)`

> Instantiate the return value container.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Create empty list to hold item name strings |

**Block 2** — POPULATION (L808–L817)

> Sequentially add eleven hardcoded Japanese display labels to the list.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `koumokuList.add("表示明细制御フラグ");` // Display detail control flag [-> Item 1] |
| 2 | EXEC | `koumokuList.add("Ｎ番号目タイトル");` // N-number menu title [-> Item 2] |
| 3 | EXEC | `koumokuList.add("番号ポートバリティを利用する電話番号");` // Phone number using number portability [-> Item 3] |
| 4 | EXEC | `koumokuList.add("現在ご利用中の電話サービス提供事業者");` // Current telephone service provider [-> Item 4] |
| 5 | EXEC | `koumokuList.add("現在ご利用中の電話サービスの郵便番号");` // Telephone service postal code [-> Item 5] |
| 6 | EXEC | `koumokuList.add("現在ご利用中の電話サービスの住所");` // Telephone service address [-> Item 6] |
| 7 | EXEC | `koumokuList.add("契約者名義");` // Contractor name [-> Item 7] |
| 8 | EXEC | `koumokuList.add("契約者名かな");` // Contractor name reading in hiragana [-> Item 8] |
| 9 | EXEC | `koumokuList.add("ＮＴＴ番号転送手続き");` // NTT number transfer procedures [-> Item 9] |
| 10 | EXEC | `koumokuList.add("現在利用中設置場所住所");` // Current installation location address [-> Item 10] |
| 11 | EXEC | `koumokuList.add("現在利用中契約者名義");` // Current contractor name [-> Item 11] |

**Block 3** — RETURN `(L818)`

> Return the populated list to the caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return koumokuList;` // Return the list of 11 display item labels |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| 表示明细制御フラグ | Field | Display detail control flag — a boolean/flag field that controls whether detailed information is shown or hidden on the screen |
| Ｎ番号目タイトル | Field | N-number menu title — a label field for a special N-number (telecom numbering) menu item |
| 番号ポートバリティを利用する電話番号 | Field | Phone number using number portability — the customer's phone number that has been ported from another carrier (Mobile Number Portability / MNP) |
| 現在ご利用中の電話サービス提供事業者 | Field | Current telephone service provider — the name of the carrier currently providing the customer's telephone service |
| 現在ご利用中の電話サービスの郵便番号 | Field | Telephone service postal code — the postal code associated with the current telephone service address |
| 現在ご利用中の電話サービスの住所 | Field | Telephone service address — the physical address where the current telephone service is provided |
| 契約者名義 | Field | Contractor name — the legal name of the customer who holds the service contract |
| 契約者名かな | Field | Contractor name reading in hiragana — the phonetic hiragana reading of the contractor's name, used for verification purposes |
| ＮＴＴ番号転送手続き | Field | NTT number transfer procedures — the process of transferring a phone number to/from NTT (Nippon Telegraph and Telephone), i.e., number portability with NTT |
| 現在利用中設置場所住所 | Field | Current installation location address — the physical address where the telephone equipment is currently installed |
| 現在利用中契約者名義 | Field | Current contractor name — the name of the current contract holder for the active service |
| data-type bean | Pattern | A Java bean class whose sole purpose is to hold a predefined list of display item labels for a specific screen view type |
| FUW00928SF | Module | A webview module identifier (Fujitsu telecom web module) handling number portability-related screens |
| koumoku (項目) | Domain | Japanese for "item" or "field" — refers to column/display field names in the UI context |
| List / ArrayList | Type | Java collection returned by this method; ordered list of `String` item labels |
| dispatcher pattern | Pattern | `FUW00928SFBean.listKoumokuIds(String key)` acts as a dispatcher, routing the request to the appropriate `*DBean.listKoumokuIds()` based on the data type key |
