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

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW00943SF.FUW00943SF01DBean` |
| Layer | View / Data Bean (Package: `eo.web.webview.FUW00943SF`) |
| Module | `FUW00943SF` (Package: `eo.web.webview.FUW00943SF`) |

## 1. Role

### FUW00943SF01DBean.listKoumokuIds()

This method is a **data type bean field registry** within the Fujitsu Futurity X33 web application framework. It returns a list of field names (項目名 — "koumoku names") that define the schema of the `FUW00943SF01DBean` data transfer object. In business terms, it declares what fields are available on the "Survey Number" (アンケート番号) data type bean used by the FUW00943SF screen module.

The method implements the **Registry Pattern** for the X33 framework's data type bean architecture. Each DBean (Data Bean) class that implements `X33VListedBeanInterface` must provide this static `listKoumokuIds()` method so that the framework can introspect the bean's available fields at runtime. The parent screen bean (`FUW00943SFBean`) calls this method during its own `listKoumokuIds(String key)` dispatch when it receives a request for metadata about the `"データ取得用アンケート番号"` (Survey Number for Data Acquisition) field — the key used to look up type information for that field.

In the broader system, this method acts as a **shared utility** for the X33 framework's view layer. It does not handle specific business operations or service types; rather, it provides structural metadata that the framework consumes to wire up screen fields, validate data types, and drive the generic bean-loading logic. The method is purely declarative — it describes the bean's fields rather than performing computations or data access.

The method has no conditional branches and no parameters. It unconditionally creates an `ArrayList<String>`, adds a single field name `"アンケート番号"` (Survey Number), and returns it. This indicates the bean exposes exactly one business field: the survey number.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    CREATE["Create new ArrayList~String~ koumokuList"]
    ADD["Add 'アンケート番号' to koumokuList"]
    RETURN(["Return koumokuList"])

    START --> CREATE
    CREATE --> ADD
    ADD --> RETURN
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a static method with zero parameters. It does not accept any runtime input — the field list is entirely hard-coded. |

**Instance fields / external state read by this method:** None. The method is fully self-contained and reads no instance fields.

**Related instance fields declared on `FUW00943SF01DBean` (not read by this method, but relevant context):**

| Field | Type | Business Description |
|-------|------|---------------------|
| `enquete_no_update` | `String` | Update timestamp/version for the survey number field |
| `enquete_no_value` | `String` | The actual survey number value (defaults to empty string `""`) |
| `enquete_no_enabled` | `Boolean` | Whether the survey number field is enabled on the screen (defaults to `false`) |
| `enquete_no_state` | `String` | State indicator for the survey number field (e.g., error/validation state) |

## 4. CRUD Operations / Called Services

This method performs no CRUD operations. It contains no service calls, no database interactions, and no external method invocations beyond standard `ArrayList` construction.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| N/A | — | — | — | No data access — pure metadata return |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Bean: FUW00943SFBean | `FUW00943SFBean.listKoumokuIds(key)` → branch on `key.equals("データ取得用アンケート番号")` → `FUW00943SF01DBean.listKoumokuIds()` | N/A — metadata lookup only |

**Call chain detail:** `FUW00943SFBean.java` contains a dispatch method `listKoumokuIds(String key)` that routes requests to the appropriate DBean. When `key` equals `"データ取得用アンケート番号"` (the Survey Number field identifier), it calls `FUW00943SF01DBean.listKoumokuIds()` to resolve the field metadata for that data type bean.

Additionally, `FUW00943SFBean.java` line 2213 creates a new instance of `FUW00943SF01DBean` directly to work with the data type bean instance (comment: "データタイプビーン型のインスタンスを生成する" — Generate instance of data type bean).

## 6. Per-Branch Detail Blocks

This method has no conditional branches. The entire body executes as a single sequential block.

> Each branch of the control flow is displayed as a hierarchical block structure.

**Block 1** — [SEQ] `(no condition — sequential execution)` (L195-L197)

> Initialize an ArrayList, register the single field identifier, and return it.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` — Create empty list for field names |
| 2 | ADD | `koumokuList.add("アンケート番号");` — Add the survey number field identifier<br>日本語コメント: データタイプビーンの項目名のリストを返す (Returns the list of field names of the data type bean) |
| 3 | RETURN | `return koumokuList;` — Return the list containing the single field name |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `listKoumokuIds` | Method | Returns a list of field/item names ("koumoku" = 項目 = fields or columns) for a data type bean. |
| `enquete_no` | Field | Survey Number / Questionnaire Number — an internal tracking identifier for survey/questionnaire records. "Enquete" (アンケート) is the Japanese loanword for questionnaire or survey. |
| `enquete_no_update` | Field | Update metadata for the survey number — tracks when the value was last modified. |
| `enquete_no_value` | Field | The actual survey number string value stored in the bean. |
| `enquete_no_enabled` | Field | Boolean flag indicating whether the survey number field is enabled on the UI screen. |
| `enquete_no_state` | Field | State string for the survey number field — typically used for UI state indicators like validation errors. |
| データ取得用アンケート番号 | String Constant | "Survey Number for Data Acquisition" — the key used to identify the survey number field in the FUW00943SFBean field dispatch logic. |
| アンケート番号 | String Literal | "Survey Number" — the field name returned by this method, describing the single field available on this data type bean. |
| data type bean | Technical | A Java class implementing `X33VListedBeanInterface` and `X33VDataTypeBeanInterface` that represents a structured set of typed fields used as a data transfer object in the X33 web framework. |
| X33 framework | Technical | Fujitsu Futurity X33 — an enterprise web application framework providing base classes for view beans (`X33VViewBaseBean`), data type beans, and screen lifecycle management. |
| `X33VListedBeanInterface` | Technical | X33 framework interface that declares the `listKoumokuIds()` contract for enumerating available fields on a data type bean. |
| `X33VDataTypeBeanInterface` | Technical | X33 framework interface that declares the `getData()` contract for returning the Java type of a specific field. |
| FUW00943SF | Module | Screen module in the K-Opticom system. Module naming: `FUW` prefix for web screens, `00943` for the module number, `SF` for screen form. |
| DBean | Abbreviation | Data Bean — short for data type bean, the `*DBean` classes in the `eo.web.webview` package. |
