# Business Logic — KKW01023SF01DBean.listKoumokuIds() [12 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW01023SF.KKW01023SF01DBean` |
| Layer | Webview / DBean (Data Bean) — View-layer presentation data structure |
| Module | `KKW01023SF` (Package: `eo.web.webview.KKW01023SF`) |

## 1. Role

### KKW01023SF01DBean.listKoumokuIds()

This method provides the display field name list for a data-type bean view used within the **discount service contract screen** (KKW01023SF) module. It returns a pre-built `ArrayList<String>` containing 8 Japanese field labels that represent column headers for a data view — specifically for the **"Inquiry Selection" (照会選択)** context, which is the primary listing view of this screen.

The method implements a **static factory** pattern: it is a `public static` method that always returns the same fixed set of field names, independent of any input parameters or runtime state. This design allows the Futurity X33 web framework (`X33VListedBeanInterface`) to query the column metadata at any time during screen rendering without needing an instance of the bean.

Its role in the larger system is as a **shared presentation metadata provider**. The DBean (Data Bean) hierarchy (`KKW01023SF01DBean`, `02DBean`, `03DBean`, `04DBean`) each defines their own `listKoumokuIds()` with different field lists, enabling the parent `KKW01023SFBean.listKoumokuIds(String key)` to dispatch to the appropriate DBean based on the data-type view being rendered. This method specifically handles the base/default view case.

There are no conditional branches, no external calls, and no CRUD operations — this is a pure data-returning method.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])

    START --> CREATE_LIST["Create ArrayList&lt;String&gt; koumokuList"]

    CREATE_LIST --> ADD1["Add: 照会選択 (Inquiry Selection)"]
    ADD1 --> ADD2["Add: 番号 (Number)"]
    ADD2 --> ADD3["Add: キャンペーンコード (Campaign Code)"]
    ADD3 --> ADD4["Add: キャンペーン名 (Campaign Name)"]
    ADD4 --> ADD5["Add: タイプコード (Type Code)"]
    ADD5 --> ADD6["Add: タイプコード名称 (Type Code Name)"]
    ADD6 --> ADD7["Add: 種別コード (Category Code)"]
    ADD7 --> ADD8["Add: 種別コード名称 (Category Code Name)"]
    ADD8 --> RETURN["Return koumokuList"]
    RETURN --> END(["Return / Next"])
```

**Description:** This is a linear, unconditional processing flow. The method creates a new `ArrayList<String>`, appends 8 Japanese field name strings in a fixed order, and returns the populated list. There are no branches, no loops, no conditional logic, and no method calls beyond the `ArrayList` constructor and `add()` invocations.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. It is a static factory that always returns the same fixed field name list. |

**Instance Fields / External State:** This method reads no instance fields, no static state, and no external configuration. It is entirely self-contained.

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| (none) | — | — | — | This method performs no database access, no service calls, and no CRUD operations. It is a pure data-returning utility. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| (none) | — | — | — | This method is not directly called by any other method in the codebase. No callers were found via static analysis of all Java files. It may be invoked dynamically by the X33 framework through reflection or interface dispatch (`X33VListedBeanInterface`), but no static caller references exist in the source tree. |

**Note:** The sibling DBeans in the same module (`KKW01023SF02DBean`, `KKW01023SF03DBean`, `KKW01023SF04DBean`) follow the identical pattern — they define `listKoumokuIds()` as static factory methods. These sibling methods are called from `KKW01023SFBean.listKoumokuIds(String key)` (at lines 2728, 2735, 2742), but `KKW01023SF01DBean.listKoumokuIds()` specifically is not referenced by the parent bean's dispatch logic. It may serve as the default/base template in the bean design pattern or be invoked through the X33 framework's `X33VListedBeanInterface.listKoumokuIds()` contract.

## 6. Per-Branch Detail Blocks

### Block 1 — [LINEAR EXECUTION] `(No condition — unconditional flow)` (L598)

> Creates a new ArrayList, populates it with 8 field name strings in a fixed order, and returns the list. Each `add()` call appends a display label used as a column header in the discount service contract inquiry list view.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Create empty list for field names [L599] |
| 2 | EXEC | `koumokuList.add("照会選択");` // Add "Inquiry Selection" (照会選択) — primary view identifier [L600] |
| 3 | EXEC | `koumokuList.add("番号");` // Add "Number" (番号) — row/item number column [L601] |
| 4 | EXEC | `koumokuList.add("キャンペーンコード");` // Add "Campaign Code" (キャンペーンコード) — campaign identifier [L602] |
| 5 | EXEC | `koumokuList.add("キャンペーン名");` // Add "Campaign Name" (キャンペーン名) — campaign display name [L603] |
| 6 | EXEC | `koumokuList.add("タイプコード");` // Add "Type Code" (タイプコード) — service/item type code [L604] |
| 7 | EXEC | `koumokuList.add("タイプコード名称");` // Add "Type Code Name" (タイプコード名称) — type code display name [L605] |
| 8 | EXEC | `koumokuList.add("種別コード");` // Add "Category Code" (種別コード) — category classification code [L606] |
| 9 | EXEC | `koumokuList.add("種別コード名称");` // Add "Category Code Name" (種別コード名称) — category code display name [L607] |
| 10 | RETURN | `return koumokuList;` // Return the populated field name list [L608] |

No nested branches exist. The method body is a single flat sequence of set + exec + return operations.

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| 照会選択 (Shoukai Sentaku) | Field | Inquiry Selection — the primary listing view of the discount service contract screen; displays contract records for user review |
| 番号 (Bangou) | Field | Number — sequential row/item number in the listing display |
| キャンペーンコード (Kyanpeen Koodo) | Field | Campaign Code — identifier for a promotional campaign associated with a discount service contract |
| キャンペーン名 (Kyanpeen Me) | Field | Campaign Name — human-readable display name of the promotional campaign |
| タイプコード (Taipu Koodo) | Field | Type Code — classification code for the service item type within a discount contract |
| タイプコード名称 (Taipu Koodo Meishou) | Field | Type Code Name — human-readable display name for the type code |
| 種別コード (Shubetsu Koodo) | Field | Category Code — sub-classification code within a type, further segmenting service items |
| 種別コード名称 (Shubetsu Koodo Meishou) | Field | Category Code Name — human-readable display name for the category code |
| listKoumokuIds | Method | List of Item Names (項目名) — returns the display labels for columns in a data-type bean view |
| DBean | Abbreviation | Data Bean — a view-layer bean class implementing `X33VDataTypeBeanInterface` and `X33VListedBeanInterface` in the Futurity X33 web framework; holds presentation metadata and form data for a specific screen view |
| X33VListedBeanInterface | Interface | Futurity X33 framework interface for beans that provide listed/column-based view metadata; methods like `listKoumokuIds()` are called by the framework to build table column headers |
| X33VDataTypeBeanInterface | Interface | Futurity X33 framework interface for beans that define per-field data type information (Class types) used in form rendering |
| KKW01023SF | Module | Discount Service Contract screen module — handles inquiry and management of discount service contract lines within the telecom billing system |
| K-Opticom | Business | KDDI's wholesale telecommunications division; the domain context for this billing/order management system |
| Futurity X33 | Technology | Fujitsu's proprietary Java web application framework used for building enterprise screen interfaces; provides bean-based MVC pattern with automatic form handling |

---

**Javadoc (original / English):** データタイプビーンの項目名のリストを返す。 → Returns a list of item names for the data-type bean. @return ArrayList List of item names
