# Business Logic — KKW01034SF03DBean.loadModelData() [344 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW01034SF.KKW01034SF03DBean` |
| Layer | Controller (Webview D-Bean — screen data binding layer) |
| Module | `KKW01034SF` (Package: `eo.web.webview.KKW01034SF`) |

## 1. Role

### KKW01034SF03DBean.loadModelData()

This method implements the unified property-access routing pattern for the KKW01034SF screen, a telecom service contract and registration screen in the EO Light multi-function router product domain. It receives a key (the Japanese-displayed field name) and a subkey (a meta-attribute such as `value`, `enable`, or `state`), and dispatches to the appropriate getter on the bean to return screen-model data. The method supports 27 distinct UI fields covering service contract information, campaign codes, type codes, usage start dates, display conditions, and EO Light multi-function router swap options. It implements the routing/dispatch design pattern: a cascading if-else chain where the top-level key identifies the field and the second-level subkey identifies the attribute. This method serves as the data-loading bridge between the screen controller and the D-Bean's getter methods, enabling the view layer to request any property's value, enabled state, or UI state (label/text) through a single standardized interface.

## 2. Processing Pattern (Detailed Business Logic)

The method follows a two-level dispatch pattern:

- **Level 1**: Match `key` against 27 Japanese field name constants using sequential if-else-if branches.
- **Level 2**: Within each matched key branch, match `subkey` (case-insensitive) against `value`, `enable`, or `state` and delegate to the corresponding getter.

```mermaid
flowchart TD
    START(["loadModelData key, subkey"])
    NULL_CHECK{"key or subkey is null?"}
    RETURN_NULL(["return null"])
    SEP{"key contains /?"}
    NO_MATCH["no matching key found"]
    K1["key = '登録選択' (Registration Choice)"]
    K2["key = '登録選択文字列' (Registration Choice Text)"]
    K3["key = 'SYSID'"]
    K4["key = '契約種別' (Contract Type)"]
    K5["key = 'キャンペーンコード' (Campaign Code)"]
    K6["key = 'キャンペーンコード名称' (Campaign Code Name)"]
    K7["key = 'タイプコード' (Type Code)"]
    K8["key = 'タイプコード名称' (Type Code Name)"]
    K9["key = 'サービスコード' (Service Code)"]
    K10["key = 'サービス契約番号' (Service Contract No.)"]
    K11["key = '即時適用フラグ' (Immediate Apply Flag)"]
    K12["key = '適用月' (Application Month)"]
    K13["key = '適用月名称' (Application Month Name)"]
    K14["key = '利用開始希望日' (Desired Start Date)"]
    K15["key = '利用開始希望日_年' (Year)"]
    K16["key = '利用開始希望日_月' (Month)"]
    K17["key = '利用開始希望日_日' (Day)"]
    K18["key = '表示条件1' (Display Condition 1)"]
    K19["key = '表示条件2' (Display Condition 2)"]
    K20["key = '表示条件利用開始希望日' (Disp Cond Start Date)"]
    K21["key = '適用月名称ラジオボタン1' (App Month Name Radio 1)"]
    K22["key = '適用月名称ラジオボタン2' (App Month Name Radio 2)"]
    K23["key = 'EO光多機能ルーター交換有無' (Router Swap)"]
    K24["key = '...ラジオボタン1名称' (Radio 1 Name)"]
    K25["key = '...ラジオボタン2名称' (Radio 2 Name)"]
    K26["key = '...ラジオボタン表示条件' (Radio Display Cond)"]
    K27["key = '...ラジオボタン操作条件' (Radio Operation Cond)"]
    K28["key = '所有ルーター' (Owned Router)"]
    GETTERS(["Delegate to bean getter"])
    END(["Return / Next Screen"])
    START --> NULL_CHECK
    NULL_CHECK -->|Yes| RETURN_NULL
    NULL_CHECK -->|No| SEP
    SEP -->|Yes| NO_MATCH
    SEP -->|No| K1
    K1 -->|false| K2
    K2 -->|false| K3
    K3 -->|false| K4
    K4 -->|false| K5
    K5 -->|false| K6
    K6 -->|false| K7
    K7 -->|false| K8
    K8 -->|false| K9
    K9 -->|false| K10
    K10 -->|false| K11
    K11 -->|false| K12
    K12 -->|false| K13
    K13 -->|false| K14
    K14 -->|false| K15
    K15 -->|false| K16
    K16 -->|false| K17
    K17 -->|false| K18
    K18 -->|false| K19
    K19 -->|false| K20
    K20 -->|false| K21
    K21 -->|false| K22
    K22 -->|false| K23
    K23 -->|false| K24
    K24 -->|false| K25
    K25 -->|false| K26
    K26 -->|false| K27
    K27 -->|false| K28
    K28 -->|false| NO_MATCH
    K1 -->|true| K2
    K2 -->|true| K3
    K3 -->|true| K4
    K4 -->|true| K5
    K5 -->|true| K6
    K6 -->|true| K7
    K7 -->|true| K8
    K8 -->|true| K9
    K9 -->|true| K10
    K10 -->|true| K11
    K11 -->|true| K12
    K12 -->|true| K13
    K13 -->|true| K14
    K14 -->|true| K15
    K15 -->|true| K16
    K16 -->|true| K17
    K17 -->|true| K18
    K18 -->|true| K19
    K19 -->|true| K20
    K20 -->|true| K21
    K21 -->|true| K22
    K22 -->|true| K23
    K23 -->|true| K24
    K24 -->|true| K25
    K25 -->|true| K26
    K26 -->|true| K27
    K27 -->|true| K28
    K28 -->|true| GETTERS
    GETTERS --> END
    NO_MATCH --> RETURN_NULL
```

> **Note:** The flowchart above shows the key-level dispatch. Within each key branch, there is a nested subkey dispatch: `value` → `get*_value()`, `enable` → `get*_enabled()` (if supported), `state` → `get*_state()`. See Section 6 for per-field detail.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | The Japanese-displayed field name that identifies which screen property to retrieve. Maps to one of 27 UI fields on the KKW01034SF screen, such as `登録選択` (Registration Choice), `契約種別` (Contract Type), `キャンペーンコード` (Campaign Code), `利用開始希望日` (Desired Start Date), or `EO光多機能ルーター交換有無` (EO Light Multi-Function Router Swap). The `key` value determines which getter branch the dispatcher enters. |
| 2 | `subkey` | `String` | The meta-attribute of the identified field. Accepts `value` (the field's data value), `enable` (whether the field is enabled for editing), or `state` (the UI state / label text). The comparison is case-insensitive (`equalsIgnoreCase`). Not all fields support `enable` — only Boolean-enabled fields expose this attribute. |
| 3 | (instance state) | N/A | The method delegates entirely to instance getter methods (e.g., `getAdd_choice_value()`, `getSvc_kei_no_state()`) which read from internal bean fields populated during the screen's data-loading phase. No external state is read directly. |

## 4. CRUD Operations / Called Services

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

This method does not perform any database or service-component calls. It only delegates to internal bean getters within `KKW01034SF03DBean`. All 73 operations below are Read (R) operations on the bean's own fields.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `KKW01034SF03DBean.getAdd_choice_value` | KKW01034SF03DBean | - | Calls `getAdd_choice_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getAdd_choice_enabled` | KKW01034SF03DBean | - | Calls `getAdd_choice_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getAdd_choice_state` | KKW01034SF03DBean | - | Calls `getAdd_choice_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getAdd_choice_value_value` | KKW01034SF03DBean | - | Calls `getAdd_choice_value_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getAdd_choice_value_enabled` | KKW01034SF03DBean | - | Calls `getAdd_choice_value_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getAdd_choice_value_state` | KKW01034SF03DBean | - | Calls `getAdd_choice_value_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getSysid_value` | KKW01034SF03DBean | - | Calls `getSysid_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getSysid_state` | KKW01034SF03DBean | - | Calls `getSysid_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getKei_kind_value` | KKW01034SF03DBean | - | Calls `getKei_kind_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getKei_kind_state` | KKW01034SF03DBean | - | Calls `getKei_kind_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getCampaign_cd_value` | KKW01034SF03DBean | - | Calls `getCampaign_cd_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getCampaign_cd_enabled` | KKW01034SF03DBean | - | Calls `getCampaign_cd_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getCampaign_cd_state` | KKW01034SF03DBean | - | Calls `getCampaign_cd_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getCampaign_cd_nm_value` | KKW01034SF03DBean | - | Calls `getCampaign_cd_nm_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getCampaign_cd_nm_enabled` | KKW01034SF03DBean | - | Calls `getCampaign_cd_nm_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getCampaign_cd_nm_state` | KKW01034SF03DBean | - | Calls `getCampaign_cd_nm_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getType_cd_value` | KKW01034SF03DBean | - | Calls `getType_cd_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getType_cd_state` | KKW01034SF03DBean | - | Calls `getType_cd_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getType_cd_nm_value` | KKW01034SF03DBean | - | Calls `getType_cd_nm_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getType_cd_nm_enabled` | KKW01034SF03DBean | - | Calls `getType_cd_nm_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getType_cd_nm_state` | KKW01034SF03DBean | - | Calls `getType_cd_nm_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getSvc_cd_value` | KKW01034SF03DBean | - | Calls `getSvc_cd_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getSvc_cd_state` | KKW01034SF03DBean | - | Calls `getSvc_cd_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getSvc_kei_no_value` | KKW01034SF03DBean | - | Calls `getSvc_kei_no_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getSvc_kei_no_enabled` | KKW01034SF03DBean | - | Calls `getSvc_kei_no_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getSvc_kei_no_state` | KKW01034SF03DBean | - | Calls `getSvc_kei_no_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getAply_jun_value` | KKW01034SF03DBean | - | Calls `getAply_jun_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getAply_jun_state` | KKW01034SF03DBean | - | Calls `getAply_jun_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_value` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_enabled` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_state` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_nm_value` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_nm_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_nm_enabled` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_nm_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_nm_state` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_nm_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_value` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_enabled` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_state` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_year_value` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_year_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_year_enabled` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_year_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_year_state` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_year_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_mon_value` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_mon_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_mon_enabled` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_mon_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_mon_state` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_mon_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_day_value` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_day_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_day_enabled` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_day_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getRiyo_sta_ymd_day_state` | KKW01034SF03DBean | - | Calls `getRiyo_sta_ymd_day_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getDisp_jkn_1_value` | KKW01034SF03DBean | - | Calls `getDisp_jkn_1_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getDisp_jkn_1_state` | KKW01034SF03DBean | - | Calls `getDisp_jkn_1_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getDisp_jkn_2_value` | KKW01034SF03DBean | - | Calls `getDisp_jkn_2_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getDisp_jkn_2_state` | KKW01034SF03DBean | - | Calls `getDisp_jkn_2_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getDisp_riyo_sta_ymd_value` | KKW01034SF03DBean | - | Calls `getDisp_riyo_sta_ymd_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getDisp_riyo_sta_ymd_state` | KKW01034SF03DBean | - | Calls `getDisp_riyo_sta_ymd_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_nm_1_value` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_nm_1_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_nm_1_enabled` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_nm_1_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_nm_1_state` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_nm_1_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_nm_2_value` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_nm_2_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_nm_2_enabled` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_nm_2_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTekiyo_ymd_nm_2_state` | KKW01034SF03DBean | - | Calls `getTekiyo_ymd_nm_2_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTakinou_rtr_chg_umu_value` | KKW01034SF03DBean | - | Calls `getTakinou_rtr_chg_umu_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTakinou_rtr_chg_umu_enabled` | KKW01034SF03DBean | - | Calls `getTakinou_rtr_chg_umu_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTakinou_rtr_chg_umu_state` | KKW01034SF03DBean | - | Calls `getTakinou_rtr_chg_umu_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTakinou_rtr_chg_nm_1_value` | KKW01034SF03DBean | - | Calls `getTakinou_rtr_chg_nm_1_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTakinou_rtr_chg_nm_1_enabled` | KKW01034SF03DBean | - | Calls `getTakinou_rtr_chg_nm_1_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTakinou_rtr_chg_nm_1_state` | KKW01034SF03DBean | - | Calls `getTakinou_rtr_chg_nm_1_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTakinou_rtr_chg_nm_2_value` | KKW01034SF03DBean | - | Calls `getTakinou_rtr_chg_nm_2_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTakinou_rtr_chg_nm_2_enabled` | KKW01034SF03DBean | - | Calls `getTakinou_rtr_chg_nm_2_enabled()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getTakinou_rtr_chg_nm_2_state` | KKW01034SF03DBean | - | Calls `getTakinou_rtr_chg_nm_2_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getDisp_jkn_umu_value` | KKW01034SF03DBean | - | Calls `getDisp_jkn_umu_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getDisp_jkn_umu_state` | KKW01034SF03DBean | - | Calls `getDisp_jkn_umu_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getSosa_jkn_umu_value` | KKW01034SF03DBean | - | Calls `getSosa_jkn_umu_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getSosa_jkn_umu_state` | KKW01034SF03DBean | - | Calls `getSosa_jkn_umu_state()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getUse_rtr_value` | KKW01034SF03DBean | - | Calls `getUse_rtr_value()` in `KKW01034SF03DBean` |
| R | `KKW01034SF03DBean.getUse_rtr_state` | KKW01034SF03DBean | - | Calls `getUse_rtr_state()` in `KKW01034SF03DBean` |

## 5. Dependency Trace

The method `loadModelData(key, subkey)` on `KKW01034SF03DBean` is invoked by other `KKW01034SF*` D-Beans that share the same screen lifecycle, and by the parent `KKW01034SFBean` for delegation.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | D-Bean: `KKW01034SF01DBean` | Peer D-Bean in same screen | — (peer D-Bean, shared screen context) |
| 2 | D-Bean: `KKW01034SF04DBean` | Peer D-Bean in same screen | — (peer D-Bean, shared screen context) |
| 3 | D-Bean: `KKW01034SF05DBean` | Peer D-Bean in same screen | — (peer D-Bean, shared screen context) |
| 4 | D-Bean: `KKW01034SF06DBean` | Peer D-Bean in same screen | — (peer D-Bean, shared screen context) |
| 5 | `KKW01034SFBean` | `KKW01034SFBean.loadModelData(gamenId, key, subkey)` → `KKW01034SFBean.loadModelData(key, subkey)` → `KKW01034SF03DBean.loadModelData(key, subkey)` | — (parent D-Bean dispatch) |

**Note:** The screen `KKW01034SF` uses a multi-bean architecture where the parent bean `KKW01034SFBean` delegates to specialized D-Beans (`KKW01034SF01DBean` through `KKW01034SF06DBean`) for different screen regions. `KKW01034SF03DBean` provides the `loadModelData` routing for its owned set of 27 fields.

## 6. Per-Branch Detail Blocks

**Block 0** — IF `(key == null || subkey == null)` (L998)

> Early return guard: if either parameter is null, the method returns null immediately.

| # | Type | Code |
|---|------|------|
| 1 | CHECK | `key == null || subkey == null` |
| 2 | RETURN | `return null;` // key,subkeyがnullの場合、nullを返す |

**Block 0.5** — SET (L101)

> The method computes `separaterPoint = key.indexOf("/")` but does not branch on this value in the current implementation. Reserved for future use (e.g., namespaced key routing like `module/field`).

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

---

**Block 1** — IF-ELSE-IF `(key.equals("登録選択"))` [登録選択 = "登録選択"] (L103)

> Data type: Boolean — Field ID: add_choice (Registration Choice)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getAdd_choice_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、add_choice_enableのgetterの戻り値を返す |
| 4 | CALL | `return getAdd_choice_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getAdd_choice_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 2** — IF-ELSE-IF `(key.equals("登録選択文字列"))` [登録選択文字列 = "登録選択文字列"] (L117)

> Data type: String — Field ID: add_choice_value (Registration Choice Text)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getAdd_choice_value_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、add_choice_value_enableのgetterの戻り値を返す |
| 4 | CALL | `return getAdd_choice_value_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getAdd_choice_value_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 3** — IF-ELSE-IF `(key.equals("SYSID"))` [SYSID = "SYSID"] (L131)

> Data type: String — Field ID: sysid (System ID)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getSysid_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getSysid_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block 4** — IF-ELSE-IF `(key.equals("契約種別"))` [契約種別 = "契約種別"] (L143)

> Data type: String — Field ID: kei_kind (Contract Type)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getKei_kind_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getKei_kind_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block 5** — IF-ELSE-IF `(key.equals("キャンペーンコード"))` [キャンペーンコード = "キャンペーンコード"] (L155)

> Data type: String — Field ID: campaign_cd (Campaign Code)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getCampaign_cd_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、campaign_cd_enableのgetterの戻り値を返す |
| 4 | CALL | `return getCampaign_cd_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getCampaign_cd_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 6** — IF-ELSE-IF `(key.equals("キャンペーンコード名称"))` [キャンペーンコード名称 = "キャンペーンコード名称"] (L169)

> Data type: String — Field ID: campaign_cd_nm (Campaign Code Name)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getCampaign_cd_nm_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、campaign_cd_nm_enableのgetterの戻り値を返す |
| 4 | CALL | `return getCampaign_cd_nm_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getCampaign_cd_nm_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 7** — IF-ELSE-IF `(key.equals("タイプコード"))` [タイプコード = "タイプコード"] (L183)

> Data type: String — Field ID: type_cd (Type Code)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getType_cd_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getType_cd_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block 8** — IF-ELSE-IF `(key.equals("タイプコード名称"))` [タイプコード名称 = "タイプコード名称"] (L195)

> Data type: String — Field ID: type_cd_nm (Type Code Name)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getType_cd_nm_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、type_cd_nm_enableのgetterの戻り値を返す |
| 4 | CALL | `return getType_cd_nm_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getType_cd_nm_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 9** — IF-ELSE-IF `(key.equals("サービスコード"))` [サービスコード = "サービスコード"] (L209)

> Data type: String — Field ID: svc_cd (Service Code)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getSvc_cd_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getSvc_cd_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block 10** — IF-ELSE-IF `(key.equals("サービス契約番号"))` [サービス契約番号 = "サービス契約番号"] (L221)

> Data type: String — Field ID: svc_kei_no (Service Contract No.)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getSvc_kei_no_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、svc_kei_no_enableのgetterの戻り値を返す |
| 4 | CALL | `return getSvc_kei_no_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getSvc_kei_no_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 11** — IF-ELSE-IF `(key.equals("即時適用フラグ"))` [即時適用フラグ = "即時適用フラグ"] (L235)

> Data type: String — Field ID: aply_jun (Immediate Apply Flag)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getAply_jun_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getAply_jun_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block 12** — IF-ELSE-IF `(key.equals("適用月"))` [適用月 = "適用月"] (L247)

> Data type: String — Field ID: tekiyo_ymd (Application Month)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getTekiyo_ymd_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、tekiyo_ymd_enableのgetterの戻り値を返す |
| 4 | CALL | `return getTekiyo_ymd_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getTekiyo_ymd_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 13** — IF-ELSE-IF `(key.equals("適用月名称"))` [適用月名称 = "適用月名称"] (L261)

> Data type: String — Field ID: tekiyo_ymd_nm (Application Month Name)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getTekiyo_ymd_nm_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、tekiyo_ymd_nm_enableのgetterの戻り値を返す |
| 4 | CALL | `return getTekiyo_ymd_nm_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getTekiyo_ymd_nm_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 14** — IF-ELSE-IF `(key.equals("利用開始希望日"))` [利用開始希望日 = "利用開始希望日"] (L275)

> Data type: String — Field ID: riyo_sta_ymd (Desired Start Date)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getRiyo_sta_ymd_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、riyo_sta_ymd_enableのgetterの戻り値を返す |
| 4 | CALL | `return getRiyo_sta_ymd_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getRiyo_sta_ymd_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 15** — IF-ELSE-IF `(key.equals("利用開始希望日_年"))` [利用開始希望日_年 = "利用開始希望日_年"] (L289)

> Data type: String — Field ID: riyo_sta_ymd_year (Desired Start Date — Year)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getRiyo_sta_ymd_year_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、riyo_sta_ymd_year_enableのgetterの戻り値を返す |
| 4 | CALL | `return getRiyo_sta_ymd_year_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getRiyo_sta_ymd_year_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 16** — IF-ELSE-IF `(key.equals("利用開始希望日_月"))` [利用開始希望日_月 = "利用開始希望日_月"] (L303)

> Data type: String — Field ID: riyo_sta_ymd_mon (Desired Start Date — Month)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getRiyo_sta_ymd_mon_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、riyo_sta_ymd_mon_enableのgetterの戻り値を返す |
| 4 | CALL | `return getRiyo_sta_ymd_mon_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getRiyo_sta_ymd_mon_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 17** — IF-ELSE-IF `(key.equals("利用開始希望日_日"))` [利用開始希望日_日 = "利用開始希望日_日"] (L317)

> Data type: String — Field ID: riyo_sta_ymd_day (Desired Start Date — Day)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getRiyo_sta_ymd_day_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、riyo_sta_ymd_day_enableのgetterの戻り値を返す |
| 4 | CALL | `return getRiyo_sta_ymd_day_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getRiyo_sta_ymd_day_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 18** — IF-ELSE-IF `(key.equals("表示条件1"))` [表示条件1 = "表示条件1"] (L331)

> Data type: Boolean — Field ID: disp_jkn_1 (Display Condition 1)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getDisp_jkn_1_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getDisp_jkn_1_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block 19** — IF-ELSE-IF `(key.equals("表示条件2"))` [表示条件2 = "表示条件2"] (L343)

> Data type: Boolean — Field ID: disp_jkn_2 (Display Condition 2)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getDisp_jkn_2_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getDisp_jkn_2_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block 20** — IF-ELSE-IF `(key.equals("表示条件利用開始希望日"))` [表示条件利用開始希望日 = "表示条件利用開始希望日"] (L355)

> Data type: Boolean — Field ID: disp_riyo_sta_ymd (Display Condition Start Date)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getDisp_riyo_sta_ymd_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getDisp_riyo_sta_ymd_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block 21** — IF-ELSE-IF `(key.equals("適用月名称ラジオボタン1"))` [適用月名称ラジオボタン1 = "適用月名称ラジオボタン1"] (L367)

> Data type: String — Field ID: tekiyo_ymd_nm_1 (Application Month Name Radio Button 1)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getTekiyo_ymd_nm_1_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、tekiyo_ymd_nm_1_enableのgetterの戻り値を返す |
| 4 | CALL | `return getTekiyo_ymd_nm_1_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getTekiyo_ymd_nm_1_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 22** — IF-ELSE-IF `(key.equals("適用月名称ラジオボタン2"))` [適用月名称ラジオボタン2 = "適用月名称ラジオボタン2"] (L381)

> Data type: String — Field ID: tekiyo_ymd_nm_2 (Application Month Name Radio Button 2)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getTekiyo_ymd_nm_2_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、tekiyo_ymd_nm_2_enableのgetterの戻り値を返す |
| 4 | CALL | `return getTekiyo_ymd_nm_2_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getTekiyo_ymd_nm_2_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 23** — IF-ELSE-IF `(key.equals("EO光多機能ルーター交換有無"))` [EO光多機能ルーター交換有無 = "EO光多機能ルーター交換有無"] (L395)

> Data type: String — Field ID: takinou_rtr_chg_umu (EO Light Multi-Function Router Swap)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getTakinou_rtr_chg_umu_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、takinou_rtr_chg_umu_enableのgetterの戻り値を返す |
| 4 | CALL | `return getTakinou_rtr_chg_umu_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getTakinou_rtr_chg_umu_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 24** — IF-ELSE-IF `(key.equals("EO光多機能ルーター交換有無ラジオボタン1名称"))` [EO光多機能ルーター交換有無ラジオボタン1名称 = "EO光多機能ルーター交換有無ラジオボタン1名称"] (L409)

> Data type: String — Field ID: takinou_rtr_chg_nm_1 (Router Swap Radio Button 1 Name)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getTakinou_rtr_chg_nm_1_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、takinou_rtr_chg_nm_1_enableのgetterの戻り値を返す |
| 4 | CALL | `return getTakinou_rtr_chg_nm_1_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getTakinou_rtr_chg_nm_1_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 25** — IF-ELSE-IF `(key.equals("EO光多機能ルーター交換有無ラジオボタン2名称"))` [EO光多機能ルーター交換有無ラジオボタン2名称 = "EO光多機能ルーター交換有無ラジオボタン2名称"] (L423)

> Data type: String — Field ID: takinou_rtr_chg_nm_2 (Router Swap Radio Button 2 Name)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getTakinou_rtr_chg_nm_2_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、takinou_rtr_chg_nm_2_enableのgetterの戻り値を返す |
| 4 | CALL | `return getTakinou_rtr_chg_nm_2_enabled();` |
| 5 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 6 | CALL | `return getTakinou_rtr_chg_nm_2_state();` |
| 7 | ELSE | (fall through to next key branch) |

**Block 26** — IF-ELSE-IF `(key.equals("EO光多機能ルーター交換有無ラジオボタン表示条件"))` [EO光多機能ルーター交換有無ラジオボタン表示条件 = "EO光多機能ルーター交換有無ラジオボタン表示条件"] (L437)

> Data type: Boolean — Field ID: disp_jkn_umu (Router Swap Radio Button Display Condition)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getDisp_jkn_umu_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getDisp_jkn_umu_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block 27** — IF-ELSE-IF `(key.equals("EO光多機能ルーター交換有無ラジオボタン操作条件"))` [EO光多機能ルーター交換有無ラジオボタン操作条件 = "EO光多機能ルーター交換有無ラジオボタン操作条件"] (L449)

> Data type: Boolean — Field ID: sosa_jkn_umu (Router Swap Radio Button Operation Condition)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getSosa_jkn_umu_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getSosa_jkn_umu_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block 28** — IF-ELSE-IF `(key.equals("所有ルーター"))` [所有ルーター = "所有ルーター"] (L461)

> Data type: String — Field ID: use_rtr (Owned Router)

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` |
| 2 | CALL | `return getUse_rtr_value();` |
| 3 | IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す |
| 4 | CALL | `return getUse_rtr_state();` |
| 5 | ELSE | (fall through to next key branch) |

**Block FIN** — ELSE `(no matching key found)` (L467)

> Default return: if no key branch matches, the method returns null.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null;` // 条件に一致するプロパティが存在しない場合、nullを返す |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `登録選択` | Field | Registration Choice — whether the user has selected a registration option |
| `登録選択文字列` | Field | Registration Choice Text — the text label for the registration choice radio button |
| `契約種別` | Field | Contract Type — the type of service contract (e.g., new, renewal, change) |
| `キャンペーンコード` | Field | Campaign Code — identifier for a promotional campaign |
| `キャンペーンコード名称` | Field | Campaign Code Name — the display name of the campaign |
| `タイプコード` | Field | Type Code — a classification code for service type |
| `タイプコード名称` | Field | Type Code Name — the display name of the type code |
| `サービスコード` | Field | Service Code — identifies the service type (e.g., FTTH, Mail, VDSL) |
| `サービス契約番号` | Field | Service Contract No. — the service contract number (svc_kei_no) |
| `即時適用フラグ` | Field | Immediate Apply Flag — whether the change takes effect immediately (aply_jun) |
| `適用月` | Field | Application Month — the month from which the change takes effect (tekiyo_ymd) |
| `適用月名称` | Field | Application Month Name — display name of the application month |
| `利用開始希望日` | Field | Desired Start Date — the customer's requested service start date (riyo_sta_ymd) |
| `利用開始希望日_年` | Field | Desired Start Date (Year) — year component of the start date |
| `利用開始希望日_月` | Field | Desired Start Date (Month) — month component of the start date |
| `利用開始希望日_日` | Field | Desired Start Date (Day) — day component of the start date |
| `表示条件1` | Field | Display Condition 1 — boolean flag controlling visibility of UI element 1 (disp_jkn_1) |
| `表示条件2` | Field | Display Condition 2 — boolean flag controlling visibility of UI element 2 (disp_jkn_2) |
| `表示条件利用開始希望日` | Field | Display Condition Start Date — boolean flag for date-related display condition |
| `適用月名称ラジオボタン1` | Field | Application Month Name Radio Button 1 — radio button label for month option 1 |
| `適用月名称ラジオボタン2` | Field | Application Month Name Radio Button 2 — radio button label for month option 2 |
| `EO光多機能ルーター交換有無` | Field | EO Light Multi-Function Router Swap — whether the router should be swapped (takinou_rtr_chg_umu) |
| `EO光多機能ルーター交換有無ラジオボタン1名称` | Field | Router Swap Radio Button 1 Name — label for router swap option 1 |
| `EO光多機能ルーター交換有無ラジオボタン2名称` | Field | Router Swap Radio Button 2 Name — label for router swap option 2 |
| `EO光多機能ルーター交換有無ラジオボタン表示条件` | Field | Router Swap Radio Button Display Condition — visibility flag for router swap radios (disp_jkn_umu) |
| `EO光多機能ルーター交換有無ラジオボタン操作条件` | Field | Router Swap Radio Button Operation Condition — enabled/disabled flag for router swap radios (sosa_jkn_umu) |
| `所有ルーター` | Field | Owned Router — the customer's currently owned router (use_rtr) |
| SYSID | Field | System ID — internal system identifier |
| `value` | Subkey | Data value — the actual field value (Object) |
| `enable` | Subkey | Enabled state — whether the field is editable (Boolean) |
| `state` | Subkey | UI state — the display label/status text (String) |
| EO Light | Business term | NTT East's fiber-optic broadband service brand |
| Multi-Function Router | Business term | A router with integrated functions (DSL modem, Wi-Fi, VoIP) |
| D-Bean | Technical term | Display Bean — a Struts form bean that holds screen data for the view layer |
| KKW01034SF | Screen ID | Telecom service contract registration screen for EO Light multi-function router |
| add_choice | Field abbreviation | Registration choice — the main registration selection field |
| add_choice_value | Field abbreviation | Registration choice value — the selected value text |
| campaign_cd | Field abbreviation | Campaign code — promotional campaign identifier |
| campaign_cd_nm | Field abbreviation | Campaign code name — display name of the campaign |
| svc_kei_no | Field abbreviation | Service contract number — the unique service contract identifier |
| tekiyo_ymd | Field abbreviation | Application year/month/date — when the change takes effect |
| riyo_sta_ymd | Field abbreviation | Usage start year/month/date — customer's desired service start date |
| disp_jkn | Field abbreviation | Display condition (表示条件) — boolean flag for UI element visibility |
| takinou_rtr_chg_umu | Field abbreviation | Router swap existence (交換有無) — whether to swap the multi-function router |
| sosa_jkn_umu | Field abbreviation | Operation condition (操作条件) — whether the router swap radios are enabled |
| use_rtr | Field abbreviation | Used router (使用ルーター) — the customer's current router |
