# Business Logic — CRW02702SF02DBean.listKoumokuIds() [5 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.CRW02702SF.CRW02702SF02DBean` |
| Layer | Controller (Web View Data Bean — Fujitsu Futurity X33V framework) |
| Module | `CRW02702SF` (Package: `eo.web.webview.CRW02702SF`) |

## 1. Role

### CRW02702SF02DBean.listKoumokuIds()

This method serves as the **item metadata registry** for the `CRW02702SF02DBean` data-type list view bean within the Fujitsu Futurity X33V web framework. Its business role is to declare the set of field identifiers (column/item keys) that the corresponding screen list requires for data binding and rendering. Specifically, it registers `WEBID` — the web session identifier — as a required field for the "Option Service Contract <ISP> Agreement Inquiry Details" screen (項目ID: `ekk0361a010cbsmsg1list`). The method follows the **factory/template pattern** commonly used in the X33V framework's `X33VListedBeanInterface`: concrete DBean classes override or provide `listKoumokuIds()` so the framework can introspect the expected data columns, build table headers, and validate incoming row data. As a static method, it can be invoked at initialization time without instantiating the bean, making it ideal for metadata queries. It has no parameters and no conditional branching — it is a deterministic, zero-allocation-cost registry returning exactly one element.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    STEP1["Create new ArrayList\<String\>"]
    STEP2["Add \"WEBID\" to list"]
    END_RETURN["Return koumokuList"]

    START --> STEP1
    STEP1 --> STEP2
    STEP2 --> END_RETURN
```

**CRITICAL — Constant Resolution:**
- No constants are referenced in this method. The string literal `"WEBID"` is used directly as a hardcoded field identifier.
- `WEBID` is a standard identifier in the Fujitsu Futurity X33V framework denoting the web session/client identifier field used across all data-type list beans.

**Processing Flow:**
1. The method allocates a new `ArrayList<String>` instance.
2. It adds the single string `"WEBID"` — the web ID field identifier — to the list.
3. It returns the list containing exactly one element.

There is no conditional branching, no external state, and no service invocation. The method is a pure data factory.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | - |

The method takes no parameters. It is a static factory method that returns metadata independent of any input state.

**External / Instance State:**
- This method reads no instance fields or external state. It is fully self-contained and stateless.

## 4. CRUD Operations / Called Services

This method performs **no database operations, no service component calls, and no CRUD actions**. It is a pure metadata factory with no side effects.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| — | `new ArrayList<String>()` | — | — | In-memory list creation |
| — | `koumokuList.add("WEBID")` | — | — | In-memory list mutation |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:CRW02702SF | `CRW02702SFBean.listKoumokuIds(String key)` → checks `key.equals("オプションサービス契約＜ISP＞一致照会明细")` → `CRW02702SF02DBean.listKoumokuIds()` | `add("WEBID") [in-memory]` |

**Caller Details:**
- `CRW02702SFBean.listKoumokuIds(String key)` (line 1235) is the primary caller. It dispatches based on the `key` parameter — when the key matches `"オプションサービス契約＜ISP＞一致照会明细"` ("Option Service Contract <ISP> Agreement Inquiry Details"), it delegates to `CRW02702SF02DBean.listKoumokuIds()` to obtain the field identifiers for this particular screen item.
- This dispatcher is part of the X33V `X33VListedBeanInterface` contract, where the parent `CRW02702SFBean` routes metadata queries to the appropriate concrete DBean subclass.

## 6. Per-Branch Detail Blocks

**Block 1** — [METHOD] `(static factory method, no conditions)` (L179)

> The method body: creates a list, registers the WEBID field, and returns it.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Create new mutable list to hold field identifiers |
| 2 | SET | `koumokuList.add("WEBID");` // Register the web session identifier field for this data-type bean |
| 3 | RETURN | `return koumokuList;` // Return list containing ["WEBID"] |

There are no nested conditions, loops, or conditional branches in this method.

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `WEBID` | Field | Web ID — the Fujitsu Futurity X33V framework's internal identifier for the browser session/client context. Used as a hidden field in all data-type list views to maintain session continuity. |
| `CRW02702SF` | Module | Option Service Contract ISP Agreement Inquiry — the screen module handling inquiry and confirmation of option service contracts for ISP (Internet Service Provider) agreements. |
| `CRW02702SF02DBean` | Class | Data-type list view bean for the "Option Service Contract <ISP> Agreement Inquiry Details" screen item. Implements `X33VDataTypeBeanInterface` and `X33VListedBeanInterface`. |
| `X33VDataTypeBeanInterface` | Interface | Fujitsu Futurity framework interface for beans whose data rows contain typed fields (String, Long, Boolean, etc.). Requires `listKoumokuIds()` to declare column names. |
| `X33VListedBeanInterface` | Interface | Fujitsu Futurity framework interface for beans that hold a list of data-type bean instances (i.e., table rows). Enables dynamic list generation via `listKoumokuIds()` and `addListDataInstance()`. |
| オプションサービス契約 | Japanese field | Option Service Contract — additional telecommunications services (ISP, email, security) subscribed alongside the primary broadband contract. |
| ISP | Business term | Internet Service Provider — the internet access service tier subscribed by the customer. |
| 一致照会明细 | Japanese field | Agreement Inquiry Details — the screen section that displays detailed inquiry results for option service contract agreements. |
| `ekk0361a010cbsmsg1list` | Field | Item ID for the "Option Service Contract <ISP> Agreement Inquiry Details" list section in the `CRW02702SFBean` parent bean. |
| `X33VDataTypeList` | Class | Fujitsu Futurity framework class representing a typed list of bean instances — essentially a table row list for a data-type list view. |
