# Business Logic — CRW02702SF03DBean.listKoumokuIds() [9 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.CRW02702SF.CRW02702SF03DBean` |
| Layer | Controller (Web Client Bean) |
| Module | `CRW02702SF` (Package: `eo.web.webview.CRW02702SF`) |

## 1. Role

### CRW02702SF03DBean.listKoumokuIds()

The `listKoumokuIds()` method is a static factory that provides the column display labels for a data type view bean used in the external connection URL history screen. The Javadoc states "Returns the list of item names for the data type view bean" (データタイプビューンの項目名のリストを返す), meaning this method supplies human-readable column headers for rendering a list or table component on the UI.

This method implements a shared factory pattern: it is declared `public static` so that it can be invoked from any caller class without needing an instance of `CRW02702SF03DBean`. In the Futurity X33 web framework, data type beans like this one implement `X33VDataTypeBeanInterface` and `X33VListedBeanInterface`, and their `listKoumokuIds()` static method is consulted by the framework to build the header row of a data grid or data type view control.

The method handles a single domain: external connection URL history (対応履歴外部接続URL), which tracks when and how the system has connected to external URLs for customer response handling. It returns exactly 5 field labels that correspond to the bean's 5 protected instance fields: URL number, URL type code, URL type code name, URL, and URL name.

As a shared utility method, `listKoumokuIds()` serves as the single source of truth for these column labels. If the screen's column order or label text changes, only this method's return list needs to be updated — the framework automatically picks up the change on the next screen render.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["CRW02702SF03DBean.listKoumokuIds()"])
    STEP1["Create new ArrayList<String> (koumokuList)"]
    STEP2_1["Add: Response History External Connection URL Number"]
    STEP2_2["Add: Response History External Connection URL Type Code"]
    STEP2_3["Add: Response History External Connection URL Type Code Name"]
    STEP2_4["Add: Response History External Connection URL"]
    STEP2_5["Add: Response History External Connection URL Name"]
    STEP3["Return koumokuList"]
    END_NODE(["Return / Next"])

    START --> STEP1
    STEP1 --> STEP2_1
    STEP2_1 --> STEP2_2
    STEP2_2 --> STEP2_3
    STEP2_3 --> STEP2_4
    STEP2_4 --> STEP2_5
    STEP2_5 --> STEP3
    STEP3 --> END_NODE
```

This method has no conditional branches, loops, or method calls beyond the `ArrayList` constructor and `add()` invocations. It follows a linear pipeline: create the list, append the 5 display labels, return the list. Every `add()` call is a processing step — there are no diamond nodes or branching conditions.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a static method with no parameters. The 5 display labels are hardcoded, so the caller cannot influence which fields are returned. |

**Instance fields referenced by this method:** None. This method reads no instance fields from `CRW02702SF03DBean`. The returned list is fully self-contained and derived from literal strings.

## 4. CRUD Operations / Called Services

This method performs no database reads, service component calls, or entity operations. It creates and populates an in-memory `ArrayList` from hardcoded display label strings. No SC Codes, CBS codes, or database tables are involved.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | (none) | - | - | No data access operations — this method returns metadata (display labels) only. |

## 5. Dependency Trace

This method is declared `public static`, so it can be called from any class without requiring an instance. A search of the codebase found no direct callers referencing `CRW02702SF03DBean.listKoumokuIds()` by fully qualified name. This is consistent with a data type bean method that is either invoked by the Futurity X33 framework at runtime via reflection (when the framework builds the data type view header), or is intended for future use by the originating screen.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Framework (Futurity X33) | `X33VListedBeanInterface` (framework introspection) -> `CRW02702SF03DBean.listKoumokuIds` | No CRUD |

The Futurity X33 framework calls this static method through its bean introspection mechanism when initializing data type view components. Since this method is static and returns a fixed list of labels, it does not reach any SC or CRUD endpoints.

## 6. Per-Branch Detail Blocks

> This method has no conditional branches (no if/else, switch/case, loops, or try/catch). It follows a single linear path: create list, add 5 elements, return list.

**Block 1** — [SEQUENCE] (L368)

> Create the list and populate it with 5 display labels for the data type view bean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>()` // Create empty list |
| 2 | EXEC | `koumokuList.add("対応履歴外部接続URL番号")` // Add: Response History External Connection URL Number [-> Field: l1_taiorrk_out_url_no_value] (L369) |
| 3 | EXEC | `koumokuList.add("対応履歴外部接続URL種類コード")` // Add: Response History External Connection URL Type Code [-> Field: l1_taiorrk_out_url_sbt_cd_value] (L370) |
| 4 | EXEC | `koumokuList.add("対応履歴外部接続URL種類コード名")` // Add: Response History External Connection URL Type Code Name [-> Field: l1_taiorrk_out_url_sbt_cd_nm_value] (L371) |
| 5 | EXEC | `koumokuList.add("対応履歴外部接続URL")` // Add: Response History External Connection URL [-> Field: l1_taiorrk_out_url_value] (L372) |
| 6 | EXEC | `koumokuList.add("対応履歴外部接続URL名")` // Add: Response History External Connection URL Name [-> Field: l1_taiorrk_out_url_nm_value] (L373) |

**Block 2** — [RETURN] (L374)

> Return the populated list to the caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return koumokuList;` // Returns ArrayList with 5 display label strings |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `koumoku` | Field | Item / column name — the Japanese domain term for display field names or column identifiers in a data type view |
| `対応履歴` (taiorrk rireki) | Field | Response History — tracks historical records of system responses or actions taken for a customer or case |
| `外部接続` (gaibusetsuzoku) | Field | External Connection — connections made to external systems or URLs from the platform |
| `URL番号` (URL bangou) | Field | URL Number — an identifier assigned to each recorded external connection URL entry |
| `URL種類コード` (URL shurui code) | Field | URL Type Code — a classification code indicating what category or purpose the external URL connection serves |
| `URL種類コード名` (URL shurui code name) | Field | URL Type Code Name — human-readable label corresponding to the URL Type Code |
| `URL名` (URL name) | Field | URL Name — a descriptive name for the external connection URL |
| `l1_taiorrk_out_url_no_*` | Field | Response History External Connection URL Number fields — the prefix `l1_` indicates this is a list-row level field; `_no` is the number; `_value`, `_state`, `_update` are the X33 bean data/state/update flags |
| `l1_taiorrk_out_url_sbt_cd_*` | Field | Response History External Connection URL Type Code fields — `_sbt_cd` abbreviates "subordinate code" or "subtype code" |
| `l1_taiorrk_out_url_sbt_cd_nm_*` | Field | Response History External Connection URL Type Code Name fields |
| `l1_taiorrk_out_url_*` | Field | Response History External Connection URL fields — base URL record fields |
| `l1_taiorrk_out_url_nm_*` | Field | Response History External Connection URL Name fields |
| X33 | Acronym | Futurity Web Client Framework X33 — a Japanese enterprise web framework by Fujitsu for building MVC-based web applications |
| DBean | Acronym | Data View Bean — a Futurity X33 bean that provides data type definitions, column labels, and initial values for UI data grids |
| X33VListedBeanInterface | Interface | Futurity X33 interface for beans that provide list-based data type information including column headers via `listKoumokuIds()` |
| X33VDataTypeBeanInterface | Interface | Futurity X33 interface for beans that define data types for individual fields in a data type view |
| SelectItem | Class | JSF `javax.faces.model.SelectItem` — a dropdown/select option model class used in the framework's form components |
