# Business Logic — KKW00129SF03DBean.loadModelData() [195 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA17701SF.KKW00129SF03DBean` |
| Layer | View/Data Bean (Web Client Framework — X33/X31) |
| Module | `KKA17701SF` (Package: `eo.web.webview.KKA17701SF`) |

## 1. Role

### KKW00129SF03DBean.loadModelData()

This method serves as the **data access router** for a data-type bean that manages telecom service contract display fields in the K-Opticom web application. It implements a **key-value dispatch pattern** where the `key` parameter identifies a business property (such as "Service Contract Number" or "Generation Registration Date/Time") and the `subkey` parameter selects the access mode — either the raw **value** of the field, its **enable** (editable) state, or its UI **state** attribute (e.g., visible/hidden). The method delegates to one of 14 field-specific getter triplets (`get*Value`, `get*Enabled`, `get*State`), each returning the corresponding property of an internal bean field. This pattern is central to the X33/X31 web framework's data binding mechanism: screen-level code invokes `loadModelData` with a property name and access mode to populate form fields dynamically at page render time. The method is a read-only **routing/dispatch utility** — it never modifies state, never calls external services, and simply maps incoming key/subkey pairs to the correct property getter. If the key does not match any recognized field or if either parameter is null, the method returns `null` gracefully.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["loadModelData key subkey"])

    START --> COND_NULL["key or subkey is null"]
    COND_NULL -->|Yes| RET_NULL1["return null"]
    COND_NULL -->|No| SEP_FIND["Find slash position in key"]
    SEP_FIND --> COND_KEY1["key is Service Contract Number"]

    COND_KEY1 -->|Yes| SUBKEY1["Check subkey type"]
    COND_KEY1 -->|No| COND_KEY2["key is Generation Registration DateTime"]

    COND_KEY2 -->|Yes| SUBKEY2["Check subkey type"]
    COND_KEY2 -->|No| COND_KEY3["key is Radio Disaster Case Number"]

    COND_KEY3 -->|Yes| SUBKEY3["Check subkey type"]
    COND_KEY3 -->|No| COND_KEY4["key is TV Business Area Code"]

    COND_KEY4 -->|Yes| SUBKEY4["Check subkey type"]
    COND_KEY4 -->|No| COND_KEY5["key is TV Business Staff User ID"]

    COND_KEY5 -->|Yes| SUBKEY5["Check subkey type"]
    COND_KEY5 -->|No| COND_KEY6["key is External Link Contract Code"]

    COND_KEY6 -->|Yes| SUBKEY6["Check subkey type"]
    COND_KEY6 -->|No| COND_KEY7["key is Bundle Information Code"]

    COND_KEY7 -->|Yes| SUBKEY7["Check subkey type"]
    COND_KEY7 -->|No| COND_KEY8["key is Bundle Information Code Name"]

    COND_KEY8 -->|Yes| SUBKEY8["Check subkey type"]
    COND_KEY8 -->|No| COND_KEY9["key is Resend Service Type Code"]

    COND_KEY9 -->|Yes| SUBKEY9["Check subkey type"]
    COND_KEY9 -->|No| COND_KEY10["key is Reservation Apply Code"]

    COND_KEY10 -->|Yes| SUBKEY10["Check subkey type"]
    COND_KEY10 -->|No| COND_KEY11["key is Reservation Apply Code Name"]

    COND_KEY11 -->|Yes| SUBKEY11["Check subkey type"]
    COND_KEY11 -->|No| COND_KEY12["key is Invalid Flag"]

    COND_KEY12 -->|Yes| SUBKEY12["Check subkey type"]
    COND_KEY12 -->|No| COND_KEY13["key is Invalid Flag Name"]

    COND_KEY13 -->|Yes| SUBKEY13["Check subkey type"]
    COND_KEY13 -->|No| COND_KEY14["key is Last Update DateTime"]

    COND_KEY14 -->|Yes| SUBKEY14["Check subkey type"]
    COND_KEY14 -->|No| RET_NULL2["return null"]

    SUBKEY1 -->|value| GET1["getSvc_kei_no_value"]
    SUBKEY1 -->|enable| GET1E["getSvc_kei_no_enabled"]
    SUBKEY1 -->|state| GET1S["getSvc_kei_no_state"]

    SUBKEY2 -->|value| GET2["getGene_add_dtm_value"]
    SUBKEY2 -->|enable| GET2E["getGene_add_dtm_enabled"]
    SUBKEY2 -->|state| GET2S["getGene_add_dtm_state"]

    SUBKEY3 -->|value| GET3["getDmps_anken_no_value"]
    SUBKEY3 -->|enable| GET3E["getDmps_anken_no_enabled"]
    SUBKEY3 -->|state| GET3S["getDmps_anken_no_state"]

    SUBKEY4 -->|value| GET4["getTv_business_chik_cd_value"]
    SUBKEY4 -->|enable| GET4E["getTv_business_chik_cd_enabled"]
    SUBKEY4 -->|state| GET4S["getTv_business_chik_cd_state"]

    SUBKEY5 -->|value| GET5["getTv_business_tnt_user_id_value"]
    SUBKEY5 -->|enable| GET5E["getTv_business_tnt_user_id_enabled"]
    SUBKEY5 -->|state| GET5S["getTv_business_tnt_user_id_state"]

    SUBKEY6 -->|value| GET6["getOut_rnki_kei_cd_value"]
    SUBKEY6 -->|enable| GET6E["getOut_rnki_kei_cd_enabled"]
    SUBKEY6 -->|state| GET6S["getOut_rnki_kei_cd_state"]

    SUBKEY7 -->|value| GET7["getBundle_if_cd_value"]
    SUBKEY7 -->|enable| GET7E["getBundle_if_cd_enabled"]
    SUBKEY7 -->|state| GET7S["getBundle_if_cd_state"]

    SUBKEY8 -->|value| GET8["getBundle_if_cd_nm_value"]
    SUBKEY8 -->|enable| GET8E["getBundle_if_cd_nm_enabled"]
    SUBKEY8 -->|state| GET8S["getBundle_if_cd_nm_state"]

    SUBKEY9 -->|value| GET9["getRe_send_tk_svc_sbt_cd_value"]
    SUBKEY9 -->|enable| GET9E["getRe_send_tk_svc_sbt_cd_enabled"]
    SUBKEY9 -->|state| GET9S["getRe_send_tk_svc_sbt_cd_state"]

    SUBKEY10 -->|value| GET10["getRsv_aply_cd_value"]
    SUBKEY10 -->|enable| GET10E["getRsv_aply_cd_enabled"]
    SUBKEY10 -->|state| GET10S["getRsv_aply_cd_state"]

    SUBKEY11 -->|value| GET11["getRsv_aply_cd_nm_value"]
    SUBKEY11 -->|enable| GET11E["getRsv_aply_cd_nm_enabled"]
    SUBKEY11 -->|state| GET11S["getRsv_aply_cd_nm_state"]

    SUBKEY12 -->|value| GET12["getMk_flg_value"]
    SUBKEY12 -->|enable| GET12E["getMk_flg_enabled"]
    SUBKEY12 -->|state| GET12S["getMk_flg_state"]

    SUBKEY13 -->|value| GET13["getMk_flg_nm_value"]
    SUBKEY13 -->|enable| GET13E["getMk_flg_nm_enabled"]
    SUBKEY13 -->|state| GET13S["getMk_flg_nm_state"]

    SUBKEY14 -->|value| GET14["getLast_upd_dtm_value"]
    SUBKEY14 -->|enable| GET14E["getLast_upd_dtm_enabled"]
    SUBKEY14 -->|state| GET14S["getLast_upd_dtm_state"]

    GET1 --> END_RET["Return data"]
    GET1E --> END_RET
    GET1S --> END_RET
    GET2 --> END_RET
    GET2E --> END_RET
    GET2S --> END_RET
    GET3 --> END_RET
    GET3E --> END_RET
    GET3S --> END_RET
    GET4 --> END_RET
    GET4E --> END_RET
    GET4S --> END_RET
    GET5 --> END_RET
    GET5E --> END_RET
    GET5S --> END_RET
    GET6 --> END_RET
    GET6E --> END_RET
    GET6S --> END_RET
    GET7 --> END_RET
    GET7E --> END_RET
    GET7S --> END_RET
    GET8 --> END_RET
    GET8E --> END_RET
    GET8S --> END_RET
    GET9 --> END_RET
    GET9E --> END_RET
    GET9S --> END_RET
    GET10 --> END_RET
    GET10E --> END_RET
    GET10S --> END_RET
    GET11 --> END_RET
    GET11E --> END_RET
    GET11S --> END_RET
    GET12 --> END_RET
    GET12E --> END_RET
    GET12S --> END_RET
    GET13 --> END_RET
    GET13E --> END_RET
    GET13S --> END_RET
    GET14 --> END_RET
    GET14E --> END_RET
    GET14S --> END_RET
    RET_NULL1 --> END_RET
    RET_NULL2 --> END_RET
```

**Processing Flow:**

1. **Null Guard** — If either `key` or `subkey` is null, return `null` immediately (Japanese comment: "key, subkey that are null, return null").
2. **Separator Scan** — Search for a slash character (`/`) in `key` via `indexOf("/")`. This value is computed but **not used** in the current method body — it is likely reserved for future hierarchical key routing.
3. **14-Way Key Dispatch** — Sequential `if-else if` chain matching `key` against 14 Japanese string literals, each representing a distinct business data field. Every branch then delegates to a 3-way subkey check:
   - `"value"` → returns the field's data value
   - `"enable"` → returns the field's enabled (editable) state (Japanese comment: "When subkey is 'enable', return getter of the field_enable")
   - `"state"` → returns the field's UI state attribute (Japanese comment: "When subkey is 'state', return the state")
4. **Fallback Null** — If no key matches any of the 14 cases, return `null` (Japanese comment: "If no matching property exists, return null").

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | Japanese display name of a service contract field. Each value identifies one of 14 business properties managed by this bean — the human-readable label used by the UI framework to look up data. Values include "サービス契約番号" (Service Contract Number), "世代登録年月日時分秒" (Generation Registration DateTime), "電波障害案件番号" (Radio Disaster Case Number), "TV営業地区コード" (TV Business Area Code), "TV営業担当者ユーザID" (TV Business Staff User ID), "外部連携契約コード" (External Link Contract Code), "バンドル情報コード" (Bundle Information Code), "バンドル情報コード名称" (Bundle Information Code Name), "再送信提供サービス種別コード" (Resend Service Type Code), "予約適用コード" (Reservation Apply Code), "予約適用コード名称" (Reservation Apply Code Name), "無効フラグ" (Invalid Flag), "無効フラグ名称" (Invalid Flag Name), "最終更新年月日時分秒" (Last Update DateTime). |
| 2 | `subkey` | `String` | Access mode for the requested field. Determines which facet of the field is returned: `"value"` retrieves the actual data, `"enable"` retrieves the editable state (a `Boolean`), and `"state"` retrieves the UI state (e.g., `"disabled"`, `"readonly"`). Case-insensitive matching is used. |

**Instance fields read:** Each getter method (`get*Value`, `get*Enabled`, `get*State`) accesses a protected instance field. The 14 fields and their corresponding internal state fields are:

| Internal Field | Enable Field | State Field | Japanese Label |
|---------------|-------------|------------|----------------|
| `svc_kei_no_value` | `svc_kei_no_enabled` | `svc_kei_no_state` | サービス契約番号 (Service Contract Number) |
| `gene_add_dtm_value` | `gene_add_dtm_enabled` | `gene_add_dtm_state` | 世代登録年月日時分秒 (Generation Registration DateTime) |
| `dmps_anken_no_value` | `dmps_anken_no_enabled` | `dmps_anken_no_state` | 電波障害案件番号 (Radio Disaster Case Number) |
| `tv_business_chik_cd_value` | `tv_business_chik_cd_enabled` | `tv_business_chik_cd_state` | TV営業地区コード (TV Business Area Code) |
| `tv_business_tnt_user_id_value` | `tv_business_tnt_user_id_enabled` | `tv_business_tnt_user_id_state` | TV営業担当者ユーザID (TV Business Staff User ID) |
| `out_rnki_kei_cd_value` | `out_rnki_kei_cd_enabled` | `out_rnki_kei_cd_state` | 外部連携契約コード (External Link Contract Code) |
| `bundle_if_cd_value` | `bundle_if_cd_enabled` | `bundle_if_cd_state` | バンドル情報コード (Bundle Information Code) |
| `bundle_if_cd_nm_value` | `bundle_if_cd_nm_enabled` | `bundle_if_cd_nm_state` | バンドル情報コード名称 (Bundle Information Code Name) |
| `re_send_tk_svc_sbt_cd_value` | `re_send_tk_svc_sbt_cd_enabled` | `re_send_tk_svc_sbt_cd_state` | 再送信提供サービス種別コード (Resend Service Type Code) |
| `rsv_aply_cd_value` | `rsv_aply_cd_enabled` | `rsv_aply_cd_state` | 予約適用コード (Reservation Apply Code) |
| `rsv_aply_cd_nm_value` | `rsv_aply_cd_nm_enabled` | `rsv_aply_cd_nm_state` | 予約適用コード名称 (Reservation Apply Code Name) |
| `mk_flg_value` | `mk_flg_enabled` | `mk_flg_state` | 無効フラグ (Invalid Flag) |
| `mk_flg_nm_value` | `mk_flg_nm_enabled` | `mk_flg_nm_state` | 無効フラグ名称 (Invalid Flag Name) |
| `last_upd_dtm_value` | `last_upd_dtm_enabled` | `last_upd_dtm_state` | 最終更新年月日時分秒 (Last Update DateTime) |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `KKW00129SF03DBean.getSvc_kei_no_value` | KKW00129SF03DBean | - | Reads `svc_kei_no_value` instance field |
| R | `KKW00129SF03DBean.getSvc_kei_no_enabled` | KKW00129SF03DBean | - | Reads `svc_kei_no_enabled` instance field |
| R | `KKW00129SF03DBean.getSvc_kei_no_state` | KKW00129SF03DBean | - | Reads `svc_kei_no_state` instance field |
| R | `KKW00129SF03DBean.getGene_add_dtm_value` | KKW00129SF03DBean | - | Reads `gene_add_dtm_value` instance field |
| R | `KKW00129SF03DBean.getGene_add_dtm_enabled` | KKW00129SF03DBean | - | Reads `gene_add_dtm_enabled` instance field |
| R | `KKW00129SF03DBean.getGene_add_dtm_state` | KKW00129SF03DBean | - | Reads `gene_add_dtm_state` instance field |
| R | `KKW00129SF03DBean.getDmps_anken_no_value` | KKW00129SF03DBean | - | Reads `dmps_anken_no_value` instance field |
| R | `KKW00129SF03DBean.getDmps_anken_no_enabled` | KKW00129SF03DBean | - | Reads `dmps_anken_no_enabled` instance field |
| R | `KKW00129SF03DBean.getDmps_anken_no_state` | KKW00129SF03DBean | - | Reads `dmps_anken_no_state` instance field |
| R | `KKW00129SF03DBean.getTv_business_chik_cd_value` | KKW00129SF03DBean | - | Reads `tv_business_chik_cd_value` instance field |
| R | `KKW00129SF03DBean.getTv_business_chik_cd_enabled` | KKW00129SF03DBean | - | Reads `tv_business_chik_cd_enabled` instance field |
| R | `KKW00129SF03DBean.getTv_business_chik_cd_state` | KKW00129SF03DBean | - | Reads `tv_business_chik_cd_state` instance field |
| R | `KKW00129SF03DBean.getTv_business_tnt_user_id_value` | KKW00129SF03DBean | - | Reads `tv_business_tnt_user_id_value` instance field |
| R | `KKW00129SF03DBean.getTv_business_tnt_user_id_enabled` | KKW00129SF03DBean | - | Reads `tv_business_tnt_user_id_enabled` instance field |
| R | `KKW00129SF03DBean.getTv_business_tnt_user_id_state` | KKW00129SF03DBean | - | Reads `tv_business_tnt_user_id_state` instance field |
| R | `KKW00129SF03DBean.getOut_rnki_kei_cd_value` | KKW00129SF03DBean | - | Reads `out_rnki_kei_cd_value` instance field |
| R | `KKW00129SF03DBean.getOut_rnki_kei_cd_enabled` | KKW00129SF03DBean | - | Reads `out_rnki_kei_cd_enabled` instance field |
| R | `KKW00129SF03DBean.getOut_rnki_kei_cd_state` | KKW00129SF03DBean | - | Reads `out_rnki_kei_cd_state` instance field |
| R | `KKW00129SF03DBean.getBundle_if_cd_value` | KKW00129SF03DBean | - | Reads `bundle_if_cd_value` instance field |
| R | `KKW00129SF03DBean.getBundle_if_cd_enabled` | KKW00129SF03DBean | - | Reads `bundle_if_cd_enabled` instance field |
| R | `KKW00129SF03DBean.getBundle_if_cd_state` | KKW00129SF03DBean | - | Reads `bundle_if_cd_state` instance field |
| R | `KKW00129SF03DBean.getBundle_if_cd_nm_value` | KKW00129SF03DBean | - | Reads `bundle_if_cd_nm_value` instance field |
| R | `KKW00129SF03DBean.getBundle_if_cd_nm_enabled` | KKW00129SF03DBean | - | Reads `bundle_if_cd_nm_enabled` instance field |
| R | `KKW00129SF03DBean.getBundle_if_cd_nm_state` | KKW00129SF03DBean | - | Reads `bundle_if_cd_nm_state` instance field |
| R | `KKW00129SF03DBean.getRe_send_tk_svc_sbt_cd_value` | KKW00129SF03DBean | - | Reads `re_send_tk_svc_sbt_cd_value` instance field |
| R | `KKW00129SF03DBean.getRe_send_tk_svc_sbt_cd_enabled` | KKW00129SF03DBean | - | Reads `re_send_tk_svc_sbt_cd_enabled` instance field |
| R | `KKW00129SF03DBean.getRe_send_tk_svc_sbt_cd_state` | KKW00129SF03DBean | - | Reads `re_send_tk_svc_sbt_cd_state` instance field |
| R | `KKW00129SF03DBean.getRsv_aply_cd_value` | KKW00129SF03DBean | - | Reads `rsv_aply_cd_value` instance field |
| R | `KKW00129SF03DBean.getRsv_aply_cd_enabled` | KKW00129SF03DBean | - | Reads `rsv_aply_cd_enabled` instance field |
| R | `KKW00129SF03DBean.getRsv_aply_cd_state` | KKW00129SF03DBean | - | Reads `rsv_aply_cd_state` instance field |
| R | `KKW00129SF03DBean.getRsv_aply_cd_nm_value` | KKW00129SF03DBean | - | Reads `rsv_aply_cd_nm_value` instance field |
| R | `KKW00129SF03DBean.getRsv_aply_cd_nm_enabled` | KKW00129SF03DBean | - | Reads `rsv_aply_cd_nm_enabled` instance field |
| R | `KKW00129SF03DBean.getRsv_aply_cd_nm_state` | KKW00129SF03DBean | - | Reads `rsv_aply_cd_nm_state` instance field |
| R | `KKW00129SF03DBean.getMk_flg_value` | KKW00129SF03DBean | - | Reads `mk_flg_value` instance field |
| R | `KKW00129SF03DBean.getMk_flg_enabled` | KKW00129SF03DBean | - | Reads `mk_flg_enabled` instance field |
| R | `KKW00129SF03DBean.getMk_flg_state` | KKW00129SF03DBean | - | Reads `mk_flg_state` instance field |
| R | `KKW00129SF03DBean.getMk_flg_nm_value` | KKW00129SF03DBean | - | Reads `mk_flg_nm_value` instance field |
| R | `KKW00129SF03DBean.getMk_flg_nm_enabled` | KKW00129SF03DBean | - | Reads `mk_flg_nm_enabled` instance field |
| R | `KKW00129SF03DBean.getMk_flg_nm_state` | KKW00129SF03DBean | - | Reads `mk_flg_nm_state` instance field |
| R | `KKW00129SF03DBean.getLast_upd_dtm_value` | KKW00129SF03DBean | - | Reads `last_upd_dtm_value` instance field |
| R | `KKW00129SF03DBean.getLast_upd_dtm_enabled` | KKW00129SF03DBean | - | Reads `last_upd_dtm_enabled` instance field |
| R | `KKW00129SF03DBean.getLast_upd_dtm_state` | KKW00129SF03DBean | - | Reads `last_upd_dtm_state` instance field |

**CRUD Classification Summary:**

This method performs **purely in-memory read operations**. All 42 calls are getter methods within `KKW00129SF03DBean` itself that return instance fields (String values, Boolean enabled flags, and String state attributes). There are **no** database calls, no SC/CBS invocations, and no external service calls. The data these values represent is assumed to have been populated earlier in the request lifecycle (e.g., by a CBS that loaded data from the database into this bean's fields).

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW00129SF | `KKW00129SFBean` -> `new KKW00129SF03DBean()` -> `listKoumokuIds()` / `loadModelData` routing | Instance field reads (42 getter reads) |
| 2 | Screen:KKW00129SF (WebB) | `KKW00129SFBean` (WebB) -> `new KKW00129SF03DBean()` -> `listKoumokuIds()` / `loadModelData` routing | Instance field reads (42 getter reads) |

**Notes on callers:**
- The method is used by both the WebA and WebB versions of the `KKW00129SF` screen bean. The parent bean instantiates `KKW00129SF03DBean` as a data-type bean (Japanese comment: "When the data type is a data-type bean, when the class name is 'KKW00129SF03DBean'").
- The parent screen bean calls `KKW00129SF03DBean.listKoumokuIds()` to retrieve the list of recognized key names, then calls `loadModelData(key, subkey)` to fetch field values for dynamic form population.
- Other beans in the codebase (e.g., `FUW00912SFBean`, `FUW00926SFBean`) define their own `loadModelData` methods on similar data-type bean interfaces, but do **not** directly call `KKW00129SF03DBean.loadModelData` — each bean implements the interface independently.

## 6. Per-Branch Detail Blocks

**Block 1** — IF (null guard) `(L578)`

> Null guard: if either parameter is null, return null immediately. (Japanese comment: "key, subkey that are null, return null")

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null;` |

**Block 2** — EXEC (slash position scan) `(L581)`

> Compute the position of `/` in key. Note: this value is computed but never used in the method body. Reserved for future hierarchical key routing.

| # | Type | Code |
|---|------|------|
| 1 | SET | `int separaterPoint = key.indexOf("/");` |

**Block 3** — IF-ELSEIF CHAIN: 14-Way Key Dispatch `(L584-L767)`

> Process is divided by field. (Japanese comment: "Process is divided by field.") Each `if-else if` branch matches a Japanese label to a specific service data property.

---

**Block 3.1** — IF-ELSEIF `(key.equals("サービス契約番号"))` `(L585)`

> Data type is String field "Service Contract Number" (Item ID: svc_kei_no).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("サービス契約番号")` [Key: Service Contract Number] |

**Block 3.1.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L586)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getSvc_kei_no_value();` |

**Block 3.1.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L588)`

> When subkey is "enable", return getter of svc_kei_no_enable. (Japanese comment: "subkeyが'enable'の場合、svc_kei_no_enableのgetterの値を返す")

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getSvc_kei_no_enabled();` |

**Block 3.1.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L590)`

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

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getSvc_kei_no_state();` |

---

**Block 3.2** — ELSE-IF `(key.equals("世代登録年月日時分秒"))` `(L595)`

> Data type is String field "Generation Registration Date/Time" (Item ID: gene_add_dtm).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("世代登録年月日時分秒")` [Key: Generation Registration DateTime] |

**Block 3.2.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L596)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getGene_add_dtm_value();` |

**Block 3.2.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L598)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getGene_add_dtm_enabled();` |

**Block 3.2.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L600)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getGene_add_dtm_state();` |

---

**Block 3.3** — ELSE-IF `(key.equals("電波障害案件番号"))` `(L605)`

> Data type is String field "Radio Disaster Case Number" (Item ID: dmps_anken_no).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("電波障害案件番号")` [Key: Radio Disaster Case Number] |

**Block 3.3.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L606)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getDmps_anken_no_value();` |

**Block 3.3.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L608)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getDmps_anken_no_enabled();` |

**Block 3.3.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L610)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getDmps_anken_no_state();` |

---

**Block 3.4** — ELSE-IF `(key.equals("TV営業地区コード"))` `(L615)`

> Data type is String field "TV Business Area Code" (Item ID: tv_business_chik_cd).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("TV営業地区コード")` [Key: TV Business Area Code] |

**Block 3.4.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L616)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getTv_business_chik_cd_value();` |

**Block 3.4.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L618)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getTv_business_chik_cd_enabled();` |

**Block 3.4.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L620)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getTv_business_chik_cd_state();` |

---

**Block 3.5** — ELSE-IF `(key.equals("TV営業担当者ユーザID"))` `(L625)`

> Data type is String field "TV Business Staff User ID" (Item ID: tv_business_tnt_user_id).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("TV営業担当者ユーザID")` [Key: TV Business Staff User ID] |

**Block 3.5.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L626)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getTv_business_tnt_user_id_value();` |

**Block 3.5.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L628)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getTv_business_tnt_user_id_enabled();` |

**Block 3.5.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L630)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getTv_business_tnt_user_id_state();` |

---

**Block 3.6** — ELSE-IF `(key.equals("外部連携契約コード"))` `(L635)`

> Data type is String field "External Link Contract Code" (Item ID: out_rnki_kei_cd).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("外部連携契約コード")` [Key: External Link Contract Code] |

**Block 3.6.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L636)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getOut_rnki_kei_cd_value();` |

**Block 3.6.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L638)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getOut_rnki_kei_cd_enabled();` |

**Block 3.6.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L640)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getOut_rnki_kei_cd_state();` |

---

**Block 3.7** — ELSE-IF `(key.equals("バンドル情報コード"))` `(L645)`

> Data type is String field "Bundle Information Code" (Item ID: bundle_if_cd).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("バンドル情報コード")` [Key: Bundle Information Code] |

**Block 3.7.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L646)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getBundle_if_cd_value();` |

**Block 3.7.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L648)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getBundle_if_cd_enabled();` |

**Block 3.7.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L650)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getBundle_if_cd_state();` |

---

**Block 3.8** — ELSE-IF `(key.equals("バンドル情報コード名称"))` `(L655)`

> Data type is String field "Bundle Information Code Name" (Item ID: bundle_if_cd_nm).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("バンドル情報コード名称")` [Key: Bundle Information Code Name] |

**Block 3.8.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L656)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getBundle_if_cd_nm_value();` |

**Block 3.8.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L658)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getBundle_if_cd_nm_enabled();` |

**Block 3.8.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L660)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getBundle_if_cd_nm_state();` |

---

**Block 3.9** — ELSE-IF `(key.equals("再送信提供サービス種別コード"))` `(L665)`

> Data type is String field "Resend Service Type Code" (Item ID: re_send_tk_svc_sbt_cd).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("再送信提供サービス種別コード")` [Key: Resend Service Type Code] |

**Block 3.9.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L666)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getRe_send_tk_svc_sbt_cd_value();` |

**Block 3.9.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L668)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getRe_send_tk_svc_sbt_cd_enabled();` |

**Block 3.9.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L670)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getRe_send_tk_svc_sbt_cd_state();` |

---

**Block 3.10** — ELSE-IF `(key.equals("予約適用コード"))` `(L675)`

> Data type is String field "Reservation Apply Code" (Item ID: rsv_aply_cd).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("予約適用コード")` [Key: Reservation Apply Code] |

**Block 3.10.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L676)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getRsv_aply_cd_value();` |

**Block 3.10.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L678)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getRsv_aply_cd_enabled();` |

**Block 3.10.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L680)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getRsv_aply_cd_state();` |

---

**Block 3.11** — ELSE-IF `(key.equals("予約適用コード名称"))` `(L685)`

> Data type is String field "Reservation Apply Code Name" (Item ID: rsv_aply_cd_nm).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("予約適用コード名称")` [Key: Reservation Apply Code Name] |

**Block 3.11.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L686)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getRsv_aply_cd_nm_value();` |

**Block 3.11.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L688)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getRsv_aply_cd_nm_enabled();` |

**Block 3.11.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L690)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getRsv_aply_cd_nm_state();` |

---

**Block 3.12** — ELSE-IF `(key.equals("無効フラグ"))` `(L695)`

> Data type is String field "Invalid Flag" (Item ID: mk_flg).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("無効フラグ")` [Key: Invalid Flag] |

**Block 3.12.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L696)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getMk_flg_value();` |

**Block 3.12.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L698)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getMk_flg_enabled();` |

**Block 3.12.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L700)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getMk_flg_state();` |

---

**Block 3.13** — ELSE-IF `(key.equals("無効フラグ名称"))` `(L705)`

> Data type is String field "Invalid Flag Name" (Item ID: mk_flg_nm).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("無効フラグ名称")` [Key: Invalid Flag Name] |

**Block 3.13.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L706)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getMk_flg_nm_value();` |

**Block 3.13.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L708)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getMk_flg_nm_enabled();` |

**Block 3.13.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L710)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getMk_flg_nm_state();` |

---

**Block 3.14** — ELSE-IF `(key.equals("最終更新年月日時分秒"))` `(L715)`

> Data type is String field "Last Update Date/Time" (Item ID: last_upd_dtm).

| # | Type | Code |
|---|------|------|
| 1 | COND | `key.equals("最終更新年月日時分秒")` [Key: Last Update DateTime] |

**Block 3.14.1** — IF `(subkey.equalsIgnoreCase("value"))` `(L716)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getLast_upd_dtm_value();` |

**Block 3.14.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` `(L718)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getLast_upd_dtm_enabled();` |

**Block 3.14.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` `(L720)`

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getLast_upd_dtm_state();` |

---

**Block 4** — ELSE (fallback null) `(L724)`

> No matching property exists, return null. (Japanese comment: "条件に一致するプロパティが存在しない場合は、nullを返す")

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null;` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_no` | Field | Service contract number — the primary identifier for a telecom service contract line item |
| `gene_add_dtm` | Field | Generation registration date/time — the timestamp when a service record was originally created/registered in the system |
| `dmps_anken_no` | Field | Radio disaster case number — internal tracking ID for telecommunications interference/disaster incident cases |
| `tv_business_chik_cd` | Field | TV business area code — geographic region code for TV/service business territory classification |
| `tv_business_tnt_user_id` | Field | TV business staff user ID — the ID of the TV business staff member assigned to the contract |
| `out_rnki_kei_cd` | Field | External link contract code — code identifying third-party or external partner contract linkages |
| `bundle_if_cd` | Field | Bundle information code — code for bundled service product offerings (multiple services packaged together) |
| `bundle_if_cd_nm` | Field | Bundle information code name — human-readable name of the bundle product |
| `re_send_tk_svc_sbt_cd` | Field | Resend telekom service subtype code — code classifying re-sent/re-delivered telekom service type subcategory |
| `rsv_aply_cd` | Field | Reservation apply code — code indicating whether a reservation has been applied to this contract |
| `rsv_aply_cd_nm` | Field | Reservation apply code name — human-readable name of the reservation apply status |
| `mk_flg` | Field | Invalid flag — boolean-like flag indicating whether the record is marked as invalid/deactivated |
| `mk_flg_nm` | Field | Invalid flag name — human-readable name/description of the invalid flag state |
| `last_upd_dtm` | Field | Last update date/time — the most recent timestamp when this record was modified |
| X33/X31 | Framework | Fujitsu Futurity web framework — the application framework providing data binding, bean interfaces (`X33VDataTypeBeanInterface`), and page rendering |
| data-type bean | Pattern | A Java bean implementing `X33VDataTypeBeanInterface` used by the X33 framework to bind form data to screen components dynamically at render time |
| key | Parameter | Japanese display label used by the X33 framework to identify which field's data to retrieve |
| subkey | Parameter | Access mode specifier — `"value"` for data, `"enable"` for editability state, `"state"` for UI rendering state |
| enable | Access mode | Returns a Boolean indicating whether the field is currently editable on the UI |
| state | Access mode | Returns a String representing the UI widget state (e.g., disabled, readonly, hidden) |
| K-Opticom | Company | Japanese telecommunications carrier — the business owner of this service management system |
