---
title: Business Logic - KKW01023SF03DBean.listKoumokuIds()
tags:
  - dd
  - KKW01023SF
---

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

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW01023SF.KKW01023SF03DBean` |
| Layer | Webview / Data Bean (Controller layer — presentation data holder) |
| Module | `KKW01023SF` (Package: `eo.web.webview.KKW01023SF`) |

## 1. Role

### KKW01023SF03DBean.listKoumokuIds()

This method serves as a **column header registry** for the "Discounted Service Contract Details" (割引サービス契約内訳) data type bean in the KKW01023SF web screen. It returns a fixed, ordered `ArrayList<String>` of eight Japanese column name labels that define the display order for a list/grid table rendered in the UI. These labels are used by the screen framework to generate table headers dynamically — the first label ("番号") corresponds to the row number, while the remaining seven map to the data fields displayed for each discounted service contract line item. As a static factory method with no parameters, it implements a **registry pattern**: providing a canonical, immutable ordering of display labels that both the data bean and its parent screen bean (`KKW01023SFBean`) can rely on consistently. This method is the **sole entry point** for populating the column header definitions for the `wrib_svc_kei_ucwk_list` (discounted service contract details list) in the KKW01023SF order information screen.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds"])
    ALLOC["Allocate: koumokuList = new ArrayList<String>()"]
    ADD1["Add: \"番号\" (Row Number)"]
    ADD2["Add: \"内容内訳\" (Content Breakdown)"]
    ADD3["Add: \"種別コード\" (Type Code)"]
    ADD4["Add: \"種別コード名称\" (Type Code Name)"]
    ADD5["Add: \"割引適用回数\" (Discount Application Count)"]
    ADD6["Add: \"初回割引適用年月日\" (First Discount Application Date)"]
    ADD7["Add: \"サービス課金開始年月日\" (Service Billing Start Date)"]
    ADD8["Add: \"サービス課金終了年月日\" (Service Billing End Date)"]
    RETURN["Return: koumokuList"]

    START --> ALLOC
    ALLOC --> ADD1
    ADD1 --> ADD2
    ADD2 --> ADD3
    ADD3 --> ADD4
    ADD4 --> ADD5
    ADD5 --> ADD6
    ADD6 --> ADD7
    ADD7 --> ADD8
    ADD8 --> RETURN
```

This method has **no conditional branches**. It follows a linear processing pattern:

1. **ALLOC**: Creates a new `ArrayList<String>` to hold the column name labels.
2. **ADD1 through ADD8**: Appends eight Japanese column labels in a fixed, ordered sequence. Each label represents a display column heading in the discounted service contract details section of the screen.
3. **RETURN**: Returns the populated list to the caller.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | Static method with no parameters; always returns the same ordered list of column labels. |

No instance fields or external state are read by this method. It is entirely stateless.

## 4. CRUD Operations / Called Services

This method performs **no database or service component operations**. It is a pure data provider that constructs and returns an in-memory list.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | N/A | N/A | N/A | No service or database calls. This is a pure in-memory data factory method. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW01023SF | `KKW01023SFBean.listKoumokuIds(String key)` -> `KKW01023SF03DBean.listKoumokuIds()` [when key="割引サービス契約内訳"] | None (pure in-memory list) |

The method is exclusively called from `KKW01023SFBean.listKoumokuIds(String key)`, which acts as a **dispatcher**. When the `key` parameter equals the string `"割引サービス契約内訳"` (Discounted Service Contract Details), the parent bean delegates to this method to retrieve the column header labels for the corresponding data type bean list. The parent bean is itself part of the KKW01023SF screen flow, which handles order information display/editing in the telecom service management system.

## 6. Per-Branch Detail Blocks

This method has **no control flow branches** (no if/else, switch, loops, or try-catch). It executes a single linear sequence of operations.

**Block 1** — [PROCESSING SEQUENCE] `(no condition)` (L628)

> Allocates an ArrayList and populates it with eight column label strings in fixed order.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Allocate new list (L629) |
| 2 | SET | `koumokuList.add("番号");` // Add column label: "Row Number" (L630) |
| 3 | SET | `koumokuList.add("内容内訳");` // Add column label: "Content Breakdown" (L631) |
| 4 | SET | `koumokuList.add("種別コード");` // Add column label: "Type Code" (L632) |
| 5 | SET | `koumokuList.add("種別コード名称");` // Add column label: "Type Code Name" (L633) |
| 6 | SET | `koumokuList.add("割引適用回数");` // Add column label: "Discount Application Count" (L634) |
| 7 | SET | `koumokuList.add("初回割引適用年月日");` // Add column label: "First Discount Application Date" (L635) |
| 8 | SET | `koumokuList.add("サービス課金開始年月日");` // Add column label: "Service Billing Start Date" (L636) |
| 9 | SET | `koumokuList.add("サービス課金終了年月日");` // Add column label: "Service Billing End Date" (L637) |
| 10 | RETURN | `return koumokuList;` // Return the populated list (L638) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `KKW01023SF` | Screen ID | Order information display/edit screen — handles viewing and modifying order details in the telecom service management system |
| `KKW01023SF03DBean` | Class | Data type bean for the "Discounted Service Contract Details" section of the KKW01023SF screen; holds list data rows for discounted service line items |
| `listKoumokuIds` | Method | Column name ID list factory — returns the ordered list of display column labels for a data type bean |
| `koumoku` | Field (Japanese) | Item / column name — refers to display column labels in the screen's data grid |
| `wrib_svc_kei_ucwk` | Field ID | Discounted service contract details — the data type bean's internal list field name; tracks individual discounted service contract line items |
| `割引サービス契約内訳` | Japanese string | Discounted Service Contract Details — the screen section key that identifies this data type bean's column labels |
| 番号 | Japanese label | Row Number — sequential display number for each row in the list |
| 内容内訳 | Japanese label | Content Breakdown — describes what the discounted service covers |
| 種別コード | Japanese label | Type Code — classification code for the service type |
| 種別コード名称 | Japanese label | Type Code Name — human-readable name for the service type code |
| 割引適用回数 | Japanese label | Discount Application Count — how many times a discount has been applied |
| 初回割引適用年月日 | Japanese label | First Discount Application Date — the date when the first discount was applied |
| サービス課金開始年月日 | Japanese label | Service Billing Start Date — the date when billing for the service begins |
| サービス課金終了年月日 | Japanese label | Service Billing End Date — the date when billing for the service ends |
| X33VDataTypeList | Framework class | Reusable list data type — framework class for managing repeated/structured data sections in web screens |
| X33VDataTypeBean | Framework class | Base data type bean — parent class for screen-specific data beans providing common list and column management |
