# Business Logic — KKW22501SF01DBean.loadModelData() [121 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW22501SF.KKW22501SF01DBean` |
| Layer | View / Data Bean (Inferred from package: `eo.web.webview.KKW22501SF`) |
| Module | `KKW22501SF` (Package: `eo.web.webview.KKW22501SF`) |

## 1. Role

### KKW22501SF01DBean.loadModelData()

`loadModelData` is a polymorphic data accessor that enables screen-level components to retrieve typed property values from the `KKW22501SF01DBean` instance using a key-driven dispatch pattern. The method accepts two string parameters — `key` representing a business item name (in Japanese) and `subkey` representing a property descriptor — and routes to the appropriate getter method based on the combination. It serves as the primary mechanism for view-layer data binding in the KKW22501SF screen module, supporting both data beans and type-bean list structures (e.g., `X33VDataTypeList` entries such as data extraction item settings and data extraction item details).

The method supports three subkey categories — `"value"`, `"enable"`, and `"state"` — which respectively return the field's current value, its enabled/disabled state for UI binding, and its validation/edit status. It handles 10 distinct business fields: agent code, agent name, display data extraction item code, order start date/time, order end date/time, data extraction item code for modification, data extraction setting condition number for modification, update date/time, and delete check flag. This design implements a routing/dispatch pattern combined with the builder pattern, where the bean acts as a shared utility accessible by many screens through the `addListDataInstance` mechanism, enabling reusable list data binding without duplicating getter logic across view components.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["loadModelString key, subkey"])
    CHECK_NULL{key or subkey is null?}
    SKIP["separaterPoint = key.indexOf('/')"]
    NULL_RETURN["Return null"]
    KEY_AGENT{"key equals '代理店コード' (Agent Code)?"}
    SUB_AGENT_VALUE{"subkey equals 'value'?"}
    AGNT_CD_VALUE["Return getAgnt_cd_value"]
    SUB_AGENT_ENABLE{subkey equals 'enable'?}
    AGNT_CD_ENABLED["Return getAgnt_cd_enabled"]
    SUB_AGENT_STATE{subkey equals 'state'?}
    AGNT_CD_STATE["Return getAgnt_cd_state"]
    KEY_AGENT_NM{"key equals '代理店名' (Agent Name)?"}
    SUB_ANM_VALUE{subkey equals 'value'?}
    AGNT_NM_VALUE["Return getAgnt_nm_value"]
    SUB_ANM_ENABLE{subkey equals 'enable'?}
    AGNT_NM_ENABLED["Return getAgnt_nm_enabled"]
    SUB_ANM_STATE{subkey equals 'state'?}
    AGNT_NM_STATE["Return getAgnt_nm_state"]
    KEY_DSP{"key equals '表示用データ抽出項目コード' (Display Item Code)?"}
    SUB_DSP_VALUE{subkey equals 'value'?}
    DSP_VAL["Return getDsp_dchskm_cd_value"]
    SUB_DSP_ENABLE{subkey equals 'enable'?}
    DSP_EN["Return getDsp_dchskm_cd_enabled"]
    SUB_DSP_STATE{subkey equals 'state'?}
    DSP_ST["Return getDsp_dchskm_cd_state"]
    KEY_UKSTA{"key equals '受注開始年月日時分' (Order Start Date)?"}
    SUB_UKSTA_VAL{subkey equals 'value'?}
    UKSTA_VAL["Return getUk_sta_ymdhm_value"]
    SUB_UKSTA_EN{subkey equals 'enable'?}
    UKSTA_EN["Return getUk_sta_ymdhm_enabled"]
    SUB_UKSTA_ST{subkey equals 'state'?}
    UKSTA_ST["Return getUk_sta_ymdhm_state"]
    KEY_UKEND{"key equals '受注終了年月日時分' (Order End Date)?"}
    SUB_UKEND_VAL{subkey equals 'value'?}
    UKEND_VAL["Return getUk_end_ymdhm_value"]
    SUB_UKEND_EN{subkey equals 'enable'?}
    UKEND_EN["Return getUk_end_ymdhm_enabled"]
    SUB_UKEND_ST{subkey equals 'state'?}
    UKEND_ST["Return getUk_end_ymdhm_state"]
    KEY_DCHSKM_MOD{"key equals 'データ抽出項目コード(変更用)' (Data Extraction Item Code Modify)?"}
    SUB_DCHSKM_VAL{subkey equals 'value'?}
    DCHSKM_VAL["Return getDchskm_cd_value"]
    SUB_DCHSKM_ST{subkey equals 'state'?}
    DCHSKM_ST["Return getDchskm_cd_state"]
    KEY_DCHSKM_SET{"key equals 'データ抽出項目設定条件番号(変更用)' (Data Extraction Setting No.)?"}
    SUB_DCHSKM_SET_VAL{subkey equals 'value'?}
    DCHSKM_SET_VAL["Return getDchskm_sete_jkn_no_value"]
    SUB_DCHSKM_SET_ST{subkey equals 'state'?}
    DCHSKM_SET_ST["Return getDchskm_sete_jkn_no_state"]
    KEY_UPD{"key equals '更新年月日時分秒' (Update Date/Time)?"}
    SUB_UPD_VAL{subkey equals 'value'?}
    UPD_VAL["Return getUpd_dtm_value"]
    SUB_UPD_ST{subkey equals 'state'?}
    UPD_ST["Return getUpd_dtm_state"]
    KEY_DEL{"key equals '削除チェック' (Delete Check)?"}
    SUB_DEL_VAL{subkey equals 'value'?}
    DEL_VAL["Return getDel_check_value"]
    SUB_DEL_EN{subkey equals 'enable'?}
    DEL_EN["Return getDel_check_enabled"]
    SUB_DEL_ST{subkey equals 'state'?}
    DEL_ST["Return getDel_check_state"]
    NO_MATCH["Return null"]
    END_NODE(["End"])

    START --> CHECK_NULL
    CHECK_NULL -->|Yes| NULL_RETURN
    NULL_RETURN --> END_NODE
    CHECK_NULL -->|No| SKIP
    SKIP --> KEY_AGENT
    KEY_AGENT -->|Yes| SUB_AGENT_VALUE
    KEY_AGENT -->|No| KEY_AGENT_NM
    SUB_AGENT_VALUE -->|Yes| AGNT_CD_VALUE
    SUB_AGENT_VALUE -->|No| SUB_AGENT_ENABLE
    SUB_AGENT_ENABLE -->|Yes| AGNT_CD_ENABLED
    SUB_AGENT_ENABLE -->|No| SUB_AGENT_STATE
    SUB_AGENT_STATE -->|Yes| AGNT_CD_STATE
    SUB_AGENT_STATE -->|No| KEY_AGENT_NM
    KEY_AGENT_NM -->|Yes| SUB_ANM_VALUE
    KEY_AGENT_NM -->|No| KEY_DSP
    SUB_ANM_VALUE -->|Yes| AGNT_NM_VALUE
    SUB_ANM_VALUE -->|No| SUB_ANM_ENABLE
    SUB_ANM_ENABLE -->|Yes| AGNT_NM_ENABLED
    SUB_ANM_ENABLE -->|No| SUB_ANM_STATE
    SUB_ANM_STATE -->|Yes| AGNT_NM_STATE
    SUB_ANM_STATE -->|No| KEY_DSP
    KEY_DSP -->|Yes| SUB_DSP_VALUE
    KEY_DSP -->|No| KEY_UKSTA
    SUB_DSP_VALUE -->|Yes| DSP_VAL
    SUB_DSP_VALUE -->|No| SUB_DSP_ENABLE
    SUB_DSP_ENABLE -->|Yes| DSP_EN
    SUB_DSP_ENABLE -->|No| SUB_DSP_STATE
    SUB_DSP_STATE -->|Yes| DSP_ST
    SUB_DSP_STATE -->|No| KEY_UKSTA
    KEY_UKSTA -->|Yes| SUB_UKSTA_VAL
    KEY_UKSTA -->|No| KEY_UKEND
    SUB_UKSTA_VAL -->|Yes| UKSTA_VAL
    SUB_UKSTA_VAL -->|No| SUB_UKSTA_EN
    SUB_UKSTA_EN -->|Yes| UKSTA_EN
    SUB_UKSTA_EN -->|No| SUB_UKSTA_ST
    SUB_UKSTA_ST -->|Yes| UKSTA_ST
    SUB_UKSTA_ST -->|No| KEY_UKEND
    KEY_UKEND -->|Yes| SUB_UKEND_VAL
    KEY_UKEND -->|No| KEY_DCHSKM_MOD
    SUB_UKEND_VAL -->|Yes| UKEND_VAL
    SUB_UKEND_VAL -->|No| SUB_UKEND_EN
    SUB_UKEND_EN -->|Yes| UKEND_EN
    SUB_UKEND_EN -->|No| SUB_UKEND_ST
    SUB_UKEND_ST -->|Yes| UKEND_ST
    SUB_UKEND_ST -->|No| KEY_DCHSKM_MOD
    KEY_DCHSKM_MOD -->|Yes| SUB_DCHSKM_VAL
    KEY_DCHSKM_MOD -->|No| KEY_DCHSKM_SET
    SUB_DCHSKM_VAL -->|Yes| DCHSKM_VAL
    SUB_DCHSKM_VAL -->|No| SUB_DCHSKM_ST
    SUB_DCHSKM_ST -->|Yes| DCHSKM_ST
    SUB_DCHSKM_ST -->|No| KEY_DCHSKM_SET
    KEY_DCHSKM_SET -->|Yes| SUB_DCHSKM_SET_VAL
    KEY_DCHSKM_SET -->|No| KEY_UPD
    SUB_DCHSKM_SET_VAL -->|Yes| DCHSKM_SET_VAL
    SUB_DCHSKM_SET_VAL -->|No| SUB_DCHSKM_SET_ST
    SUB_DCHSKM_SET_ST -->|Yes| DCHSKM_SET_ST
    SUB_DCHSKM_SET_ST -->|No| KEY_UPD
    KEY_UPD -->|Yes| SUB_UPD_VAL
    KEY_UPD -->|No| KEY_DEL
    SUB_UPD_VAL -->|Yes| UPD_VAL
    SUB_UPD_VAL -->|No| SUB_UPD_ST
    SUB_UPD_ST -->|Yes| UPD_ST
    SUB_UPD_ST -->|No| KEY_DEL
    KEY_DEL -->|Yes| SUB_DEL_VAL
    KEY_DEL -->|No| NO_MATCH
    SUB_DEL_VAL -->|Yes| DEL_VAL
    SUB_DEL_VAL -->|No| SUB_DEL_EN
    SUB_DEL_EN -->|Yes| DEL_EN
    SUB_DEL_EN -->|No| SUB_DEL_ST
    SUB_DEL_ST -->|Yes| DEL_ST
    SUB_DEL_ST -->|No| NO_MATCH
    NO_MATCH --> END_NODE
    AGNT_CD_VALUE --> END_NODE
    AGNT_CD_ENABLED --> END_NODE
    AGNT_CD_STATE --> END_NODE
    AGNT_NM_VALUE --> END_NODE
    AGNT_NM_ENABLED --> END_NODE
    AGNT_NM_STATE --> END_NODE
    DSP_VAL --> END_NODE
    DSP_EN --> END_NODE
    DSP_ST --> END_NODE
    UKSTA_VAL --> END_NODE
    UKSTA_EN --> END_NODE
    UKSTA_ST --> END_NODE
    UKEND_VAL --> END_NODE
    UKEND_EN --> END_NODE
    UKEND_ST --> END_NODE
    DCHSKM_VAL --> END_NODE
    DCHSKM_ST --> END_NODE
    DCHSKM_SET_VAL --> END_NODE
    DCHSKM_SET_ST --> END_NODE
    UPD_VAL --> END_NODE
    UPD_ST --> END_NODE
    DEL_VAL --> END_NODE
    DEL_EN --> END_NODE
    DEL_ST --> END_NODE
```

**Processing summary:**
1. **Null guard** — If either `key` or `subkey` is null, return null immediately.
2. **Delimiter scan** — Compute `separaterPoint` (variable name contains typo "separater") by finding the first `/` in `key`. This value is computed but never used within this method — likely reserved for future use.
3. **Key-based dispatch** — Chain of 10 `if`/`else if` blocks matching `key` against hardcoded Japanese strings representing business item names. Each key branch further dispatches on `subkey` (case-insensitive comparison) to return the appropriate getter value (`value`, `enable`, or `state`).
4. **Fallback** — If no key matches, return null.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | The business item name (field identifier) to retrieve data for. Matches against hardcoded Japanese strings: "代理店コード" (Agent Code), "代理店名" (Agent Name), "表示用データ抽出項目コード" (Display Data Extraction Item Code), "受注開始年月日時分" (Order Start DateTime), "受注終了年月日時分" (Order End DateTime), "データ抽出項目コード(変更用)" (Data Extraction Item Code for Modification), "データ抽出項目設定条件番号(変更用)" (Data Extraction Setting Condition Number for Modification), "更新年月日時分秒" (Update DateTime), "削除チェック" (Delete Check). Determines which field's property is retrieved. |
| 2 | `subkey` | `String` | The property type descriptor within a given field. Accepts (case-insensitive): `"value"` to return the field's current data value, `"enable"` to return the field's UI-enabled/disabled state (not available for all fields), and `"state"` to return the field's validation/edit state (available for all fields). |

**Instance fields read:** These getters read from internal bean state (fields defined elsewhere in `KKW22501SF01DBean`):

| Field | Type | Business Description |
|-------|------|---------------------|
| `agnt_cd_value` / `agnt_cd_enabled` / `agnt_cd_state` | `String` / `Boolean` / `String` | Agent (dealer) code field: value, enabled state, edit state |
| `agnt_nm_value` / `agnt_nm_enabled` / `agnt_nm_state` | `String` / `Boolean` / `String` | Agent (dealer) name field: value, enabled state, edit state |
| `dsp_dchskm_cd_value` / `dsp_dchskm_cd_enabled` / `dsp_dchskm_cd_state` | `String` / `Boolean` / `String` | Display data extraction item code field |
| `uk_sta_ymdhm_value` / `uk_sta_ymdhm_enabled` / `uk_sta_ymdhm_state` | `String` / `Boolean` / `String` | Order start date/time field |
| `uk_end_ymdhm_value` / `uk_end_ymdhm_enabled` / `uk_end_ymdhm_state` | `String` / `Boolean` / `String` | Order end date/time field |
| `dchskm_cd_value` / `dchskm_cd_state` | `String` / `String` | Data extraction item code for modification (no enable subkey) |
| `dchskm_sete_jkn_no_value` / `dchskm_sete_jkn_no_state` | `String` / `String` | Data extraction setting condition number for modification (no enable subkey) |
| `upd_dtm_value` / `upd_dtm_state` | `String` / `String` | Update date/time field (no enable subkey) |
| `del_check_value` / `del_check_enabled` / `del_check_state` | `String`/`Boolean` / `Boolean` / `String` | Delete check checkbox: value, enabled state, edit state |

## 4. CRUD Operations / Called Services

### Pre-computed evidence from code analysis graph:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `KKW22501SF01DBean.getAgnt_cd_value` | KKW22501SF01DBean | - | Reads agent code value from bean state |
| R | `KKW22501SF01DBean.getAgnt_cd_enabled` | KKW22501SF01DBean | - | Reads agent code enabled state from bean state |
| R | `KKW22501SF01DBean.getAgnt_cd_state` | KKW22501SF01DBean | - | Reads agent code edit state from bean state |
| R | `KKW22501SF01DBean.getAgnt_nm_value` | KKW22501SF01DBean | - | Reads agent name value from bean state |
| R | `KKW22501SF01DBean.getAgnt_nm_enabled` | KKW22501SF01DBean | - | Reads agent name enabled state from bean state |
| R | `KKW22501SF01DBean.getAgnt_nm_state` | KKW22501SF01DBean | - | Reads agent name edit state from bean state |
| R | `KKW22501SF01DBean.getDsp_dchskm_cd_state` | KKW22501SF01DBean | - | Reads display data extraction item code edit state from bean state |
| R | `KKW22501SF01DBean.getDsp_dchskm_cd_value` | KKW22501SF01DBean | - | Reads display data extraction item code value from bean state |
| R | `KKW22501SF01DBean.getDsp_dchskm_cd_enabled` | KKW22501SF01DBean | - | Reads display data extraction item code enabled state from bean state |
| R | `KKW22501SF01DBean.getUk_end_ymdhm_state` | KKW22501SF01DBean | - | Reads order end date/time edit state from bean state |
| R | `KKW22501SF01DBean.getUk_end_ymdhm_value` | KKW22501SF01DBean | - | Reads order end date/time value from bean state |
| R | `KKW22501SF01DBean.getUk_end_ymdhm_enabled` | KKW22501SF01DBean | - | Reads order end date/time enabled state from bean state |
| R | `KKW22501SF01DBean.getUk_sta_ymdhm_state` | KKW22501SF01DBean | - | Reads order start date/time edit state from bean state |
| R | `KKW22501SF01DBean.getUk_sta_ymdhm_value` | KKW22501SF01DBean | - | Reads order start date/time value from bean state |
| R | `KKW22501SF01DBean.getUk_sta_ymdhm_enabled` | KKW22501SF01DBean | - | Reads order start date/time enabled state from bean state |
| R | `KKW22501SF01DBean.getUpd_dtm_state` | KKW22501SF01DBean | - | Reads update date/time edit state from bean state |
| R | `KKW22501SF01DBean.getUpd_dtm_value` | KKW22501SF01DBean | - | Reads update date/time value from bean state |
| R | `KKW22501SF01DBean.getDel_check_enabled` | KKW22501SF01DBean | - | Reads delete check enabled state from bean state |
| R | `KKW22501SF01DBean.getDel_check_state` | KKW22501SF01DBean | - | Reads delete check edit state from bean state |
| R | `KKW22501SF01DBean.getDel_check_value` | KKW22501SF01DBean | - | Reads delete check value from bean state |
| R | `KKW22501SF01DBean.getDchskm_cd_state` | KKW22501SF01DBean | - | Reads data extraction item code (modify) edit state from bean state |
| R | `KKW22501SF01DBean.getDchskm_cd_value` | KKW22501SF01DBean | - | Reads data extraction item code (modify) value from bean state |
| R | `KKW22501SF01DBean.getDchskm_sete_jkn_no_state` | KKW22501SF01DBean | - | Reads data extraction setting condition number (modify) edit state from bean state |
| R | `KKW22501SF01DBean.getDchskm_sete_jkn_no_value` | KKW22501SF01DBean | - | Reads data extraction setting condition number (modify) value from bean state |

**Classification notes:** All operations are Read (R) — this method exclusively retrieves data from bean internal state via getter methods. No database or service calls are made directly from this method. The bean's fields are populated by upstream processing (e.g., CBS/SC layers) before this method is invoked.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0940 | `KKSV0940OPDBMapper` -> `bean.sendMessageString()` -> `KKW22501SFBean.addListDataInstance()` (creates `KKW22501SF01DBean`) -> `KKW22501SF01DBean.loadModelData()` | N/A — pure bean getter, no DB/CRUD from this method |
| 2 | Framework (X33VDataTypeList) | Framework type-bean infrastructure -> `X33VDataTypeBeanInterface.loadModelData(key, subkey)` on list entries -> `KKW22501SF01DBean.loadModelData()` | N/A — invoked via polymorphic interface on type-bean list items |

**Caller context:** The primary caller identified is the screen module `KKW22501SFBean` which instantiates `KKW22501SF01DBean` objects as data beans for list-type fields (`dchskm_sete_jkn_list_list`, `bf_dchskm_sete_jkn_list_list`). The screen's `addListDataInstance` method creates a new `KKW22501SF01DBean` as a child type-bean, and the framework subsequently invokes `loadModelData` on it to populate field values. The screen mapper `KKSV0940_KKSV0940OPDBMapper` references the module's constants for data binding. This method is a shared utility — it is not called directly by business logic but is invoked by the view framework's data-binding mechanism.

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] `(key == null || subkey == null)` (L370)

> Guard clause: if either parameter is null, return null immediately. The comment reads: "key, subkey が null の場合、null を返す" (When key and subkey are null, return null).

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null;` // Return null when key or subkey is null [key == null \|\| subkey == null] |

---

**Block 2** — [EXEC] `(separaterPoint = key.indexOf("/"))` (L372)

> Compute the position of the first slash delimiter in `key`. The variable `separaterPoint` is computed but never used in this method — likely reserved for future extensibility.

| # | Type | Code |
|---|------|------|
| 1 | SET | `int separaterPoint = key.indexOf("/");` // Find first slash index in key [variable name has typo: "separater" vs "separator"] |

---

**Block 3** — [IF] `(key.equals("代理店コード"))` [代理店コード="代理店コード" (Agent Code)] (L375)

> Data type is the String field "代理店コード" (Agent Code) with item ID: `agnt_cd`. Supports all three subkeys: value, enable, state.
> Comment: "データタイプがStringの項目"代理店コード"(項目ID:agnt_cd)" (Data type is the String field "Agent Code" (item ID: agnt_cd))

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(key.equals("代理店コード"))` // Match on Agent Code field [代理店コード="代理店コード"] |

**Block 3.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L376)

> Returns the agent code's current data value.
> Comment: none

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getAgnt_cd_value();` // Return agent code value |

**Block 3.2** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("enable"))` (L379)

> Returns the agent code's enabled/disabled state for UI binding.
> Comment: "subkey が"enable"の場合、agnt_cd_enable の getter の戻り値を返す" (When subkey is "enable", return the value of the agnt_cd_enable getter)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getAgnt_cd_enabled();` // Return agent code enabled state |

**Block 3.3** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("state"))` (L381)

> Returns the agent code's edit/validation state.
> Comment: "subkey が"state"の場合、ステータスを返す" (When subkey is "state", return the status)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getAgnt_cd_state();` // Return agent code edit state |

---

**Block 4** — [ELSE IF] `(key.equals("代理店名"))` [代理店名="代理店名" (Agent Name)] (L385)

> Data type is the String field "代理店名" (Agent Name) with item ID: `agnt_nm`. Supports all three subkeys: value, enable, state.
> Comment: "データタイプがStringの項目"代理店名"(項目ID:agnt_nm)" (Data type is the String field "Agent Name" (item ID: agnt_nm))

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("代理店名"))` // Match on Agent Name field [代理店名="代理店名"] |

**Block 4.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L386)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getAgnt_nm_value();` // Return agent name value |

**Block 4.2** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("enable"))` (L389)

> Comment: "subkey が"enable"の場合、agnt_nm_enable の getter の戻り値を返す" (When subkey is "enable", return the value of the agnt_nm_enable getter)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getAgnt_nm_enabled();` // Return agent name enabled state |

**Block 4.3** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("state"))` (L391)

> Comment: "subkey が"state"の場合、ステータスを返す" (When subkey is "state", return the status)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getAgnt_nm_state();` // Return agent name edit state |

---

**Block 5** — [ELSE IF] `(key.equals("表示用データ抽出項目コード"))` [表示用データ抽出項目コード="表示用データ抽出項目コード" (Display Data Extraction Item Code)] (L395)

> Data type is the String field "表示用データ抽出項目コード" (Display Data Extraction Item Code) with item ID: `dsp_dchskm_cd`. Supports all three subkeys: value, enable, state.
> Comment: "データタイプがStringの項目"表示用データ抽出項目コード"(項目ID:dsp_dchskm_cd)" (Data type is the String field "Display Data Extraction Item Code" (item ID: dsp_dchskm_cd))

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("表示用データ抽出項目コード"))` // Match on Display Data Extraction Item Code [表示用データ抽出項目コード="表示用データ抽出項目コード"] |

**Block 5.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L396)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getDsp_dchskm_cd_value();` // Return display item code value |

**Block 5.2** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("enable"))` (L399)

> Comment: "subkey が"enable"の場合、dsp_dchskm_cd_enable の getter の戻り値を返す" (When subkey is "enable", return the value of the dsp_dchskm_cd_enable getter)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getDsp_dchskm_cd_enabled();` // Return display item code enabled state |

**Block 5.3** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("state"))` (L401)

> Comment: "subkey が"state"の場合、ステータスを返す" (When subkey is "state", return the status)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getDsp_dchskm_cd_state();` // Return display item code edit state |

---

**Block 6** — [ELSE IF] `(key.equals("受注開始年月日時分"))` [受注開始年月日時分="受注開始年月日時分" (Order Start DateTime)] (L405)

> Data type is the String field "受注開始年月日時分" (Order Start Year/Month/Day/Hour/Minute) with item ID: `uk_sta_ymdhm`. Supports all three subkeys: value, enable, state.
> Comment: "データタイプがStringの項目"受注開始年月日時分"(項目ID:uk_sta_ymdhm)" (Data type is the String field "Order Start DateTime" (item ID: uk_sta_ymdhm))

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("受注開始年月日時分"))` // Match on Order Start DateTime [受注開始年月日時分="受注開始年月日時分"] |

**Block 6.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L406)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getUk_sta_ymdhm_value();` // Return order start date/time value |

**Block 6.2** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("enable"))` (L409)

> Comment: "subkey が"enable"の場合、uk_sta_ymdhm_enable の getter の戻り値を返す" (When subkey is "enable", return the value of the uk_sta_ymdhm_enable getter)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getUk_sta_ymdhm_enabled();` // Return order start date/time enabled state |

**Block 6.3** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("state"))` (L411)

> Comment: "subkey が"state"の場合、ステータスを返す" (When subkey is "state", return the status)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getUk_sta_ymdhm_state();` // Return order start date/time edit state |

---

**Block 7** — [ELSE IF] `(key.equals("受注終了年月日時分"))` [受注終了年月日時分="受注終了年月日時分" (Order End DateTime)] (L415)

> Data type is the String field "受注終了年月日時分" (Order End Year/Month/Day/Hour/Minute) with item ID: `uk_end_ymdhm`. Supports all three subkeys: value, enable, state.
> Comment: "データタイプがStringの項目"受注終了年月日時分"(項目ID:uk_end_ymdhm)" (Data type is the String field "Order End DateTime" (item ID: uk_end_ymdhm))

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("受注終了年月日時分"))` // Match on Order End DateTime [受注終了年月日時分="受注終了年月日時分"] |

**Block 7.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L416)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getUk_end_ymdhm_value();` // Return order end date/time value |

**Block 7.2** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("enable"))` (L419)

> Comment: "subkey が"enable"の場合、uk_end_ymdhm_enable の getter の戻り値を返す" (When subkey is "enable", return the value of the uk_end_ymdhm_enable getter)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getUk_end_ymdhm_enabled();` // Return order end date/time enabled state |

**Block 7.3** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("state"))` (L421)

> Comment: "subkey が"state"の場合、ステータスを返す" (When subkey is "state", return the status)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getUk_end_ymdhm_state();` // Return order end date/time edit state |

---

**Block 8** — [ELSE IF] `(key.equals("データ抽出項目コード(変更用)"))` [データ抽出項目コード(変更用)="データ抽出項目コード(変更用)" (Data Extraction Item Code for Modification)] (L425)

> Data type is the String field "データ抽出項目コード(変更用)" (Data Extraction Item Code for Modification) with item ID: `dchskm_cd`. Only supports two subkeys: value and state (no "enable").
> Comment: "データタイプがStringの項目"データ抽出項目コード(変更用)"(項目ID:dchskm_cd)" (Data type is the String field "Data Extraction Item Code (for Modification)" (item ID: dchskm_cd))

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("データ抽出項目コード(変更用)"))` // Match on Data Extraction Item Code for Modification |

**Block 8.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L426)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getDchskm_cd_value();` // Return data extraction item code value |

**Block 8.2** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("state"))` (L429)

> Comment: "subkey が"state"の場合、ステータスを返す" (When subkey is "state", return the status)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getDchskm_cd_state();` // Return data extraction item code edit state |

---

**Block 9** — [ELSE IF] `(key.equals("データ抽出項目設定条件番号(変更用)"))` [データ抽出項目設定条件番号(変更用)="データ抽出項目設定条件番号(変更用)" (Data Extraction Setting Condition Number for Modification)] (L433)

> Data type is the String field "データ抽出項目設定条件番号(変更用)" (Data Extraction Setting Condition Number for Modification) with item ID: `dchskm_sete_jkn_no`. Only supports two subkeys: value and state (no "enable").
> Comment: "データタイプがStringの項目"データ抽出項目設定条件番号(変更用)"(項目ID:dchskm_sete_jkn_no)" (Data type is the String field "Data Extraction Setting Condition Number (for Modification)" (item ID: dchskm_sete_jkn_no))

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("データ抽出項目設定条件番号(変更用)"))` // Match on Data Extraction Setting Condition Number for Modification |

**Block 9.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L434)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getDchskm_sete_jkn_no_value();` // Return setting condition number value |

**Block 9.2** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("state"))` (L437)

> Comment: "subkey が"state"の場合、ステータスを返す" (When subkey is "state", return the status)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getDchskm_sete_jkn_no_state();` // Return setting condition number edit state |

---

**Block 10** — [ELSE IF] `(key.equals("更新年月日時分秒"))` [更新年月日時分秒="更新年月日時分秒" (Update DateTime)] (L441)

> Data type is the String field "更新年月日時分秒" (Update Year/Month/Day/Hour/Minute/Second) with item ID: `upd_dtm`. Only supports two subkeys: value and state (no "enable").
> Comment: "データタイプがStringの項目"更新年月日時分秒"(項目ID:upd_dtm)" (Data type is the String field "Update DateTime" (item ID: upd_dtm))

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("更新年月日時分秒"))` // Match on Update DateTime field |

**Block 10.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L442)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getUpd_dtm_value();` // Return update date/time value |

**Block 10.2** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("state"))` (L445)

> Comment: "subkey が"state"の場合、ステータスを返す" (When subkey is "state", return the status)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getUpd_dtm_state();` // Return update date/time edit state |

---

**Block 11** — [ELSE IF] `(key.equals("削除チェック"))` [削除チェック="削除チェック" (Delete Check)] (L449)

> Data type is the Boolean field "削除チェック" (Delete Check) with item ID: `del_check`. Supports all three subkeys: value, enable, state.
> Comment: "データタイプがBooleanの項目"削除チェック"(項目ID:del_check)" (Data type is the Boolean field "Delete Check" (item ID: del_check))

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("削除チェック"))` // Match on Delete Check field |

**Block 11.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L450)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getDel_check_value();` // Return delete check value |

**Block 11.2** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("enable"))` (L453)

> Comment: "subkey が"enable"の場合、del_check_enable の getter の戻り値を返す" (When subkey is "enable", return the value of the del_check_enable getter)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getDel_check_enabled();` // Return delete check enabled state |

**Block 11.3** — [IF-ELSE IF] `(subkey.equalsIgnoreCase("state"))` (L455)

> Comment: "subkey が"state"の場合、ステータスを返す" (When subkey is "state", return the status)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `return getDel_check_state();` // Return delete check edit state |

---

**Block 12** — [ELSE] `(no matching key found)` (L459)

> Returns null if no key matches any of the 10 defined fields.
> Comment: "条件に一致するプロパティが存在しない場合は、null を返す" (If no matching property exists for the condition, return null)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null;` // No matching field — return null |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `代理店コード` (agnt_cd) | Field | Agent Code — the unique identifier for a K-Opticom dealer/agent in the telecom service ordering system |
| `代理店名` (agnt_nm) | Field | Agent Name — the display name of a dealer/agent |
| `受注開始年月日時分` (uk_sta_ymdhm) | Field | Order Start DateTime — the timestamp when orders for a service plan become available; `uk` is shorthand for `受注` (order/receipt) |
| `受注終了年月日時分` (uk_end_ymdhm) | Field | Order End DateTime — the timestamp when orders for a service plan expire; used for campaign or plan period control |
| `データ抽出項目コード` (dchskm_cd) | Field | Data Extraction Item Code — a code identifying filter/extraction criteria for querying data; the `(変更用)` variant is for modification screens |
| `データ抽出項目設定条件番号` (dchskm_sete_jkn_no) | Field | Data Extraction Setting Condition Number — a numeric identifier for a specific data extraction filter configuration; used for modification operations |
| `表示用データ抽出項目コード` (dsp_dchskm_cd) | Field | Display Data Extraction Item Code — a display-oriented variant of the data extraction item code used in view/rendering contexts |
| `更新年月日時分秒` (upd_dtm) | Field | Update DateTime — the timestamp of the last modification to a record, with second-level precision |
| `削除チェック` (del_check) | Field | Delete Check — a boolean flag indicating whether a record is marked for deletion; typically rendered as a checkbox in UIs |
| `value` | Subkey | Property descriptor — requests the current data value of a field |
| `enable` | Subkey | Property descriptor — requests the UI enabled/disabled state (whether the field is interactive in the current screen context) |
| `state` | Subkey | Property descriptor — requests the validation/edit state (e.g., whether the field is in read-only, error, or normal edit mode) |
| X33VDataTypeList | Type | Framework list data bean — a reusable list container for screen-level data binding in the X33 framework |
| X33VDataTypeBeanInterface | Type | Framework interface — polymorphic interface for type-bean data access; `loadModelData` is invoked on list items to retrieve field properties |
| KKW22501SF | Module | A screen module for telecom service order management; handles dealer-related configuration and data extraction settings |
| DBean | Abbreviation | Data Bean — a Java bean class holding data for screen display, supporting property-based access via `sendMessageString`/`sendMessageBoolean` or `loadModelData` dispatch |
| KOPT | Acronym | K-Opticom — the platform/product name (visible in source headers: "K-Opticom") |
