# Business Logic — KKW14301SF03DBean.listKoumokuIds() [10 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA35101SF.KKW14301SF03DBean` |
| Layer | Utility (Data Type Bean — Web Client presentation-layer helper) |
| Module | `KKA35101SF` (Package: `eo.web.webview.KKA35101SF`) |

## 1. Role

### KKW14301SF03DBean.listKoumokuIds()

This method serves as a **display label provider** for the Discount/Campaign Code List (割引／キャンペーンコードリスト) data type within the KKW14301SF order inquiry screen. It returns a pre-defined list of six Japanese column headers that define how a discount/campaign code data table is rendered in the UI — effectively acting as the column definition registry for that specific data type bean.

The method implements the **Data Type Bean pattern** common in the X33 framework: each DBean class supplies its own set of display labels via a static `listKoumokuIds()` method, allowing the parent bean (`KKW14301SFBean`) to dispatch to the correct label list based on the data type key string. This method is one of five such DBeans (`KKW14301SF01DBean` through `KKW14301SF04DBean`, plus others), each covering a distinct service category on the inquiry screen.

The six items it provides correspond to the business data model for discount/campaign code entries: internal code, display name, order start date, order end date, application method, and discount/campaign code list style. The method has no conditional branches — it is a pure factory that builds and returns a fixed ordered list.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    CREATE["Create ArrayList"]
    A1["Add: Code"]
    A2["Add: Name"]
    A3["Add: Order Start Date"]
    A4["Add: Order End Date"]
    A5["Add: Application Method"]
    A6["Add: Discount Campaign Code List Style"]
    RET["Return list"]

    START --> CREATE
    CREATE --> A1
    A1 --> A2
    A2 --> A3
    A3 --> A4
    A4 --> A5
    A5 --> A6
    A6 --> RET
```

This method performs a simple linear sequence: it instantiates an `ArrayList<String>`, appends six display label strings in a fixed order, and returns the list. There are no conditional branches, loops, or method calls beyond `ArrayList.add()`.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters; it is a static factory with no inputs. |

## 4. CRUD Operations / Called Services

This method performs no database operations, service component calls, or entity accesses. It is a pure presentation-layer utility that constructs an in-memory list of display labels.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| (none) | — | — | — | No CRUD operations — pure factory method returning display label strings. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW14301SF (koptWebA) | `KKW14301SFBean.listKoumokuIds(key)` [key=`割引／キャンペーンコードリスト`] → `KKW14301SF03DBean.listKoumokuIds()` | (none — no downstream calls) |
| 2 | Screen:KKW14301SF (koptWebB) | `KKW14301SFBean.listKoumokuIds(key)` [key=`割引／キャンペーンコードリスト`] → `KKW14301SF03DBean.listKoumokuIds()` | (none — no downstream calls) |

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(L507)`

> Instantiate the return value list.

| # | Type | Code |
|---|------|------|
| 1 | SET | `koumokuList = new ArrayList<String>();` // Create empty list for display labels |

**Block 2** — [EXEC] `(L508)`

> Append the first column header — internal code identifier.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `koumokuList.add("コード");` // Add "Code" display label |

**Block 3** — [EXEC] `(L509)`

> Append the second column header — item/display name.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `koumokuList.add("名称");` // Add "Name" display label |

**Block 4** — [EXEC] `(L510)`

> Append the third column header — order start date.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `koumokuList.add("受注開始日");` // Add "Order Start Date" display label |

**Block 5** — [EXEC] `(L511)`

> Append the fourth column header — order end date.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `koumokuList.add("受注終了日");` // Add "Order End Date" display label |

**Block 6** — [EXEC] `(L512)`

> Append the fifth column header — application method.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `koumokuList.add("適用方法");` // Add "Application Method" display label |

**Block 7** — [EXEC] `(L513)`

> Append the sixth column header — discount/campaign code list style.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `koumokuList.add("割引／キャンペーンコードリスト❔スタイル");` // Add "Discount/Campaign Code List Style" display label |

**Block 8** — [RETURN] `(L514)`

> Return the completed list of display labels.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return koumokuList;` // Return ArrayList of 6 Japanese display labels |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `コード` | Field | Code — internal identifier for a discount/campaign code entry |
| `名称` | Field | Name — display name for a discount/campaign code entry |
| `受注開始日` | Field | Order Start Date — the date when orders for this discount/campaign begin |
| `受注終了日` | Field | Order End Date — the date when orders for this discount/campaign expire |
| `適用方法` | Field | Application Method — how the discount/campaign is applied (e.g., percentage, fixed amount) |
| `割引／キャンペーンコードリスト❔スタイル` | Field | Discount/Campaign Code List Style — the display/format style for the discount code list |
| `listKoumokuIds` | Method | List of Item IDs — returns display label strings for a data type bean's data table columns |
| `KKW14301SF` | Screen | Order Inquiry Screen — K-Opticom web inquiry screen for viewing order details |
| DBean | Acronym | Data Bean — a data type bean that provides display labels and data type definitions for X33 framework table rendering |
| X33 Framework | Technical | Fujitsu Futurity X33 — the web presentation framework used for building the K-Opticom web client screens |
| koptWebA | Module | K-Opticom Web Application A — the primary web application module hosting the inquiry screens |
| koptWebB | Module | K-Opticom Web Application B — a secondary/redundant web application module |
