# Business Logic — KKW22101SF03DBean.loadModelData() [117 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW22101SF.KKW22101SF03DBean` |
| Layer | Web View Bean (Data Binding / View Layer) |
| Module | `KKW22101SF` (Package: `eo.web.webview.KKW22101SF`) |

## 1. Role

### KKW22101SF03DBean.loadModelData()

This method is a **data-type routing dispatcher** for the "EO Smart Link" (EOスマートリンク) view-screen data model. It receives a business-level item name (`key`) and a data-type accessor (`subkey`), then routes the request to the appropriate getter method on this bean. It implements the **routing/dispatch pattern** (a form of the Mediator pattern at the view layer) to provide a uniform interface for reading structured data from a dynamically-typed view bean hierarchy. This is the X33 framework's `loadModelData` contract implementation — it is the primary entry point that the framework calls when any screen component needs to resolve a typed data property (value, enabled state, or UI state) by its human-readable label.

The method handles **8 distinct data types**, each representing a different aspect of an EO Smart Link contract item: machine provision service contract number, model number, pro-rated billing month, terminal purchase method, settlement total amount, settlement monthly amount, settlement remaining month, and pro-rated sales form code. For each data type, three accessors are supported via the `subkey` parameter: `value` (returns the actual data), `enable` (returns the UI enabled/disabled flag), and `state` (returns the UI state, e.g., displayed/hidden). If no matching key or subkey is found, the method returns `null`, indicating the request is not recognized.

## 2. Processing Pattern (Detailed Business Logic)

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

    START --> NULL_CHECK{"key == null<br/>|| subkey == null"}
    NULL_CHECK -->|true| R_NULL["Return null"]

    NULL_CHECK -->|false| INDEX["indexOf('/') on key"]

    INDEX --> K1{"EO Smart Link - Machine<br/>Provision Service<br/>Contract Number"}
    K1 -->|true| S1{"subkey"}
    S1 -->|"value"| R_KKTK_VAL["getSmtlnk_kktk_svc_kei_no_value()"]
    S1 -->|"enable"| R_KKTK_ENA["getSmtlnk_kktk_svc_kei_no_enabled()"]
    S1 -->|"state"| R_KKTK_ST["getSmtlnk_kktk_svc_kei_no_state()"]
    S1 -->|other| K2
    K1 -->|false| K2{"EO Smart Link -<br/>Model"}

    K2 -->|true| S2{"subkey"}
    S2 -->|"value"| R_KIKI_VAL["getSmtlnk_kiki_model_value()"]
    S2 -->|"enable"| R_KIKI_ENA["getSmtlnk_kiki_model_enabled()"]
    S2 -->|"state"| R_KIKI_ST["getSmtlnk_kiki_model_state()"]
    S2 -->|other| K3
    K2 -->|false| K3{"EO Smart Link -<br/>Pro-rated<br/>Billing Month"}

    K3 -->|true| S3{"subkey"}
    S3 -->|"value"| R_KAP_VAL["getSmtlnk_kap_kisan_ym_value()"]
    S3 -->|"enable"| R_KAP_ENA["getSmtlnk_kap_kisan_ym_enabled()"]
    S3 -->|"state"| R_KAP_ST["getSmtlnk_kap_kisan_ym_state()"]
    S3 -->|other| K4
    K3 -->|false| K4{"EO Smart Link -<br/>Terminal<br/>Purchase Method"}

    K4 -->|true| S4{"subkey"}
    S4 -->|"value"| R_TNMT_VAL["getSmtlnk_tnmt_buy_way_value()"]
    S4 -->|"enable"| R_TNMT_ENA["getSmtlnk_tnmt_buy_way_enabled()"]
    S4 -->|"state"| R_TNMT_ST["getSmtlnk_tnmt_buy_way_state()"]
    S4 -->|other| K5
    K4 -->|false| K5{"EO Smart Link -<br/>Settlement<br/>Total Amount"}

    K5 -->|true| S5{"subkey"}
    S5 -->|"value"| R_SSN_VAL["getSmtlnk_ssn_kin_all_amnt_value()"]
    S5 -->|"enable"| R_SSN_ENA["getSmtlnk_ssn_kin_all_amnt_enabled()"]
    S5 -->|"state"| R_SSN_ST["getSmtlnk_ssn_kin_all_amnt_state()"]
    S5 -->|other| K6
    K5 -->|false| K6{"EO Smart Link -<br/>Settlement<br/>Monthly Amount"}

    K6 -->|true| S6{"subkey"}
    S6 -->|"value"| R_GTGK_VAL["getSmtlnk_ssn_kin_gtgk_value()"]
    S6 -->|"enable"| R_GTGK_ENA["getSmtlnk_ssn_kin_gtgk_enabled()"]
    S6 -->|"state"| R_GTGK_ST["getSmtlnk_ssn_kin_gtgk_state()"]
    S6 -->|other| K7
    K6 -->|false| K7{"EO Smart Link -<br/>Settlement<br/>Remaining Month"}

    K7 -->|true| S7{"subkey"}
    S7 -->|"value"| R_ZAN_VAL["getSmtlnk_ssn_kin_zan_getu_value()"]
    S7 -->|"enable"| R_ZAN_ENA["getSmtlnk_ssn_kin_zan_getu_enabled()"]
    S7 -->|"state"| R_ZAN_ST["getSmtlnk_ssn_kin_zan_getu_state()"]
    S7 -->|other| K8
    K7 -->|false| K8{"EO Smart Link -<br/>Pro-rated<br/>Sales Form<br/>Code"}

    K8 -->|true| S8{"subkey"}
    S8 -->|"value"| R_HAMB_VAL["getSmtlnk_kap_hambai_form_cd_value()"]
    S8 -->|"enable"| R_HAMB_ENA["getSmtlnk_kap_hambai_form_cd_enabled()"]
    S8 -->|"state"| R_HAMB_ST["getSmtlnk_kap_hambai_form_cd_state()"]
    S8 -->|other| R_NULL_2["Return null"]
    K8 -->|false| R_NULL_2

    R_NULL --> END(["End"])
    R_KKTK_VAL --> END
    R_KKTK_ENA --> END
    R_KKTK_ST --> END
    R_KIKI_VAL --> END
    R_KIKI_ENA --> END
    R_KIKI_ST --> END
    R_KAP_VAL --> END
    R_KAP_ENA --> END
    R_KAP_ST --> END
    R_TNMT_VAL --> END
    R_TNMT_ENA --> END
    R_TNMT_ST --> END
    R_SSN_VAL --> END
    R_SSN_ENA --> END
    R_SSN_ST --> END
    R_GTGK_VAL --> END
    R_GTGK_ENA --> END
    R_GTGK_ST --> END
    R_ZAN_VAL --> END
    R_ZAN_ENA --> END
    R_ZAN_ST --> END
    R_HAMB_VAL --> END
    R_HAMB_ENA --> END
    R_HAMB_ST --> END
    R_NULL_2 --> END
```

**Block classification:** This method implements a **double-dispatch routing** pattern. The first dispatch level matches the `key` string against one of 8 data type labels (case-sensitive). The second dispatch level matches the `subkey` string (`"value"`, `"enable"`, `"state"` — case-insensitive) against three accessor prefixes. This two-level routing enables a uniform typed-data interface used by the X33V framework's dynamic view bean system.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | The business item label identifying which EO Smart Link data type to access. Represents one of 8 contract item categories displayed on the EO Smart Link details list screen. Values include "EO Smart Link - Machine Provision Service Contract Number" (item ID: `smtlnk_kktk_svc_kei_no`), "EO Smart Link - Model" (`smtlnk_kiki_model`), "EO Smart Link - Pro-rated Billing Month" (`smtlnk_kap_kisan_ym`), "EO Smart Link - Terminal Purchase Method" (`smtlnk_tnmt_buy_way`), "EO Smart Link - Settlement Total Amount" (`smtlnk_ssn_kin_all_amnt`), "EO Smart Link - Settlement Monthly Amount" (`smtlnk_ssn_kin_gtgk`), "EO Smart Link - Settlement Remaining Month" (`smtlnk_ssn_kin_zan_getu`), or "EO Smart Link - Pro-rated Sales Form Code" (`smtlnk_kap_hambai_form_cd`). Case-sensitive match. |
| 2 | `subkey` | `String` | The data accessor type indicating which property of the selected item to return. Accepts `"value"` (the actual data value), `"enable"` (whether the UI element is enabled/disabled), or `"state"` (the UI state, e.g., displayed or hidden). Case-insensitive comparison via `equalsIgnoreCase`. |

**Instance fields read by this method:**

The method delegates to 24 getter methods that each read one of 24 protected instance fields. These fields represent the three accessors (value, enabled, state) for each of the 8 data types:

| Field | Type | Business Meaning |
|-------|------|------------------|
| `smtlnk_kktk_svc_kei_no_value` | `String` | EO Smart Link machine provision service contract number value |
| `smtlnk_kktk_svc_kei_no_enabled` | `Boolean` | UI enabled flag for the contract number field |
| `smtlnk_kktk_svc_kei_no_state` | `String` | UI state (e.g., display/hide) for the contract number field |
| `smtlnk_kiki_model_value` | `String` | EO Smart Link model number value |
| `smtlnk_kiki_model_enabled` | `Boolean` | UI enabled flag for the model number field |
| `smtlnk_kiki_model_state` | `String` | UI state for the model number field |
| `smtlnk_kap_kisan_ym_value` | `String` | EO Smart Link pro-rated billing month value |
| `smtlnk_kap_kisan_ym_enabled` | `Boolean` | UI enabled flag for the pro-rated billing month field |
| `smtlnk_kap_kisan_ym_state` | `String` | UI state for the pro-rated billing month field |
| `smtlnk_tnmt_buy_way_value` | `String` | EO Smart Link terminal purchase method value |
| `smtlnk_tnmt_buy_way_enabled` | `Boolean` | UI enabled flag for the terminal purchase method field |
| `smtlnk_tnmt_buy_way_state` | `String` | UI state for the terminal purchase method field |
| `smtlnk_ssn_kin_all_amnt_value` | `String` | EO Smart Link settlement total amount value |
| `smtlnk_ssn_kin_all_amnt_enabled` | `Boolean` | UI enabled flag for the settlement total amount field |
| `smtlnk_ssn_kin_all_amnt_state` | `String` | UI state for the settlement total amount field |
| `smtlnk_ssn_kin_gtgk_value` | `String` | EO Smart Link settlement monthly amount value |
| `smtlnk_ssn_kin_gtgk_enabled` | `Boolean` | UI enabled flag for the settlement monthly amount field |
| `smtlnk_ssn_kin_gtgk_state` | `String` | UI state for the settlement monthly amount field |
| `smtlnk_ssn_kin_zan_getu_value` | `String` | EO Smart Link settlement remaining month value |
| `smtlnk_ssn_kin_zan_getu_enabled` | `Boolean` | UI enabled flag for the settlement remaining month field |
| `smtlnk_ssn_kin_zan_getu_state` | `String` | UI state for the settlement remaining month field |
| `smtlnk_kap_hambai_form_cd_value` | `String` | EO Smart Link pro-rated sales form code value |
| `smtlnk_kap_hambai_form_cd_enabled` | `Boolean` | UI enabled flag for the pro-rated sales form code field |
| `smtlnk_kap_hambai_form_cd_state` | `String` | UI state for the pro-rated sales form code field |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `KKW22101SF03DBean.getSmtlnk_kktk_svc_kei_no_value` | KKW22101SF03DBean | - | Returns `smtlnk_kktk_svc_kei_no_value` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_kktk_svc_kei_no_enabled` | KKW22101SF03DBean | - | Returns `smtlnk_kktk_svc_kei_no_enabled` instance field (Boolean) |
| R | `KKW22101SF03DBean.getSmtlnk_kktk_svc_kei_no_state` | KKW22101SF03DBean | - | Returns `smtlnk_kktk_svc_kei_no_state` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_kiki_model_value` | KKW22101SF03DBean | - | Returns `smtlnk_kiki_model_value` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_kiki_model_enabled` | KKW22101SF03DBean | - | Returns `smtlnk_kiki_model_enabled` instance field (Boolean) |
| R | `KKW22101SF03DBean.getSmtlnk_kiki_model_state` | KKW22101SF03DBean | - | Returns `smtlnk_kiki_model_state` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_kap_kisan_ym_value` | KKW22101SF03DBean | - | Returns `smtlnk_kap_kisan_ym_value` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_kap_kisan_ym_enabled` | KKW22101SF03DBean | - | Returns `smtlnk_kap_kisan_ym_enabled` instance field (Boolean) |
| R | `KKW22101SF03DBean.getSmtlnk_kap_kisan_ym_state` | KKW22101SF03DBean | - | Returns `smtlnk_kap_kisan_ym_state` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_tnmt_buy_way_value` | KKW22101SF03DBean | - | Returns `smtlnk_tnmt_buy_way_value` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_tnmt_buy_way_enabled` | KKW22101SF03DBean | - | Returns `smtlnk_tnmt_buy_way_enabled` instance field (Boolean) |
| R | `KKW22101SF03DBean.getSmtlnk_tnmt_buy_way_state` | KKW22101SF03DBean | - | Returns `smtlnk_tnmt_buy_way_state` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_ssn_kin_all_amnt_value` | KKW22101SF03DBean | - | Returns `smtlnk_ssn_kin_all_amnt_value` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_ssn_kin_all_amnt_enabled` | KKW22101SF03DBean | - | Returns `smtlnk_ssn_kin_all_amnt_enabled` instance field (Boolean) |
| R | `KKW22101SF03DBean.getSmtlnk_ssn_kin_all_amnt_state` | KKW22101SF03DBean | - | Returns `smtlnk_ssn_kin_all_amnt_state` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_ssn_kin_gtgk_value` | KKW22101SF03DBean | - | Returns `smtlnk_ssn_kin_gtgk_value` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_ssn_kin_gtgk_enabled` | KKW22101SF03DBean | - | Returns `smtlnk_ssn_kin_gtgk_enabled` instance field (Boolean) |
| R | `KKW22101SF03DBean.getSmtlnk_ssn_kin_gtgk_state` | KKW22101SF03DBean | - | Returns `smtlnk_ssn_kin_gtgk_state` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_ssn_kin_zan_getu_value` | KKW22101SF03DBean | - | Returns `smtlnk_ssn_kin_zan_getu_value` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_ssn_kin_zan_getu_enabled` | KKW22101SF03DBean | - | Returns `smtlnk_ssn_kin_zan_getu_enabled` instance field (Boolean) |
| R | `KKW22101SF03DBean.getSmtlnk_ssn_kin_zan_getu_state` | KKW22101SF03DBean | - | Returns `smtlnk_ssn_kin_zan_getu_state` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_kap_hambai_form_cd_value` | KKW22101SF03DBean | - | Returns `smtlnk_kap_hambai_form_cd_value` instance field (String) |
| R | `KKW22101SF03DBean.getSmtlnk_kap_hambai_form_cd_enabled` | KKW22101SF03DBean | - | Returns `smtlnk_kap_hambai_form_cd_enabled` instance field (Boolean) |
| R | `KKW22101SF03DBean.getSmtlnk_kap_hambai_form_cd_state` | KKW22101SF03DBean | - | Returns `smtlnk_kap_hambai_form_cd_state` instance field (String) |

This method performs **pure read operations** — it contains no Create, Update, or Delete operations. It does not call any SC (Service Component) or CBS (Common Business Service) methods, nor does it access any database tables directly. All 24 calls are to simple getter methods that return instance field values. The data itself was previously populated by other screen processing methods (not part of this method). The `indexOf('/')` call on line 363 serves only to parse the key string for potential nesting but its return value is unused in this method.

## 5. Dependency Trace

This method is invoked by the X33V framework's dynamic data binding system. The framework resolves item data by calling `loadModelData(key, subkey)` on list bean components (e.g., `X33VDataTypeList` items) during screen initialization and data display.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV22101 (inferred) | `KKW22101SFBean.getSmtlnk_info_list_list` -> `X33VDataTypeList` item -> `KKW22101SF03DBean.loadModelData(key, subkey)` | `getSmtlnk_*_value/state/enable [R] instance fields` |

The call chain:
1. `KKW22101SFBean` (parent screen bean) constructs `smtlnk_info_list_list` as an `X33VDataTypeList` where each item is instantiated as a `KKW22101SF03DBean` (see KKW22101SFBean.java ~L4268: `KKW22101SF03DBean tmpBean = new KKW22101SF03DBean();`)
2. The X33V framework calls `loadModelData("EO Smart Link - <data type>", "value"/"enable"/"state")` on each list item to retrieve typed data for rendering
3. The `KKW22101SFBean.loadModelData()` method also delegates to this bean's implementation when the key matches "EO Smart Link Details List" (EOスマートリンク明細一覧リスト)

## 6. Per-Branch Detail Blocks

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

> Early null check: if either parameter is null, return null immediately. This prevents NullPointerException on subsequent string operations.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null;` // key, subkey that are null, return null (key,subkeyがnullの場合、nullを返す) |

**Block 2** — [EXEC] Compute separator index (L363)

> Parses the key string for a "/" separator character. The return value is stored but unused in this method — potentially for future nesting support.

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

**Block 3** — [IF-ELSE IF chain] First data type: "EO Smart Link - Machine Provision Service Contract Number" (smtlnk_kktk_svc_kei_no) (L367)

> Routes to getter methods for the service contract number field. Uses `SMTLNK_KKTK_SVC_KEI_NO_03 = "EOスマートリンク−機器提供サービス契約番号"`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("EOスマートリンク−機器提供サービス契約番号")` // Data type is String "EO Smart Link - Machine Provision Service Contract Number" (項目ID: smtlnk_kktk_svc_kei_no) |
| 1.1 | IF-ELSE IF chain | **Subkey dispatch** (L368-376) |
| 1.1.1 | IF | `subkey.equalsIgnoreCase("value")` |
| 1.1.1 | RETURN | `return getSmtlnk_kktk_svc_kei_no_value();` // Returns the contract number value |
| 1.1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // If subkey is "enable", return getter value for smtlnk_kktk_svc_kei_no_enable (subkeyが"enable"の場合、smtlnk_kktk_svc_kei_no_enableのgetterの戻り値を返す) |
| 1.1.2 | RETURN | `return getSmtlnk_kktk_svc_kei_no_enabled();` |
| 1.1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // If subkey is "state", return state (subkeyが"state"の場合、ステータスを返す) |
| 1.1.3 | RETURN | `return getSmtlnk_kktk_svc_kei_no_state();` |

**Block 4** — [ELSE-IF] Second data type: "EO Smart Link - Model" (smtlnk_kiki_model) (L381)

> Routes to getter methods for the model number field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("EOスマートリンク−型番")` // Data type is String "EO Smart Link - Model" (項目ID: smtlnk_kiki_model) |
| 1.1 | IF-ELSE IF chain | **Subkey dispatch** (L382-390) |
| 1.1.1 | IF | `subkey.equalsIgnoreCase("value")` |
| 1.1.1 | RETURN | `return getSmtlnk_kiki_model_value();` // Returns the model number value |
| 1.1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // If subkey is "enable", return getter for smtlnk_kiki_model_enable (subkeyが"enable"の場合、smtlnk_kiki_model_enableのgetterの戻り値を返す) |
| 1.1.2 | RETURN | `return getSmtlnk_kiki_model_enabled();` |
| 1.1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // If subkey is "state", return state (subkeyが"state"の場合、ステータスを返す) |
| 1.1.3 | RETURN | `return getSmtlnk_kiki_model_state();` |

**Block 5** — [ELSE-IF] Third data type: "EO Smart Link - Pro-rated Billing Month" (smtlnk_kap_kisan_ym) (L395)

> Routes to getter methods for the pro-rated billing month field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("EOスマートリンク−割賦起算月")` // Data type is String "EO Smart Link - Pro-rated Billing Month" (項目ID: smtlnk_kap_kisan_ym) |
| 1.1 | IF-ELSE IF chain | **Subkey dispatch** (L396-404) |
| 1.1.1 | IF | `subkey.equalsIgnoreCase("value")` |
| 1.1.1 | RETURN | `return getSmtlnk_kap_kisan_ym_value();` // Returns the pro-rated billing month value |
| 1.1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // If subkey is "enable", return getter for smtlnk_kap_kisan_ym_enable |
| 1.1.2 | RETURN | `return getSmtlnk_kap_kisan_ym_enabled();` |
| 1.1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // If subkey is "state", return state |
| 1.1.3 | RETURN | `return getSmtlnk_kap_kisan_ym_state();` |

**Block 6** — [ELSE-IF] Fourth data type: "EO Smart Link - Terminal Purchase Method" (smtlnk_tnmt_buy_way) (L409)

> Routes to getter methods for the terminal purchase method field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("EOスマートリンク−端末購入方法")` // Data type is String "EO Smart Link - Terminal Purchase Method" (項目ID: smtlnk_tnmt_buy_way) |
| 1.1 | IF-ELSE IF chain | **Subkey dispatch** (L410-418) |
| 1.1.1 | IF | `subkey.equalsIgnoreCase("value")` |
| 1.1.1 | RETURN | `return getSmtlnk_tnmt_buy_way_value();` // Returns the terminal purchase method value |
| 1.1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // If subkey is "enable", return getter for smtlnk_tnmt_buy_way_enable |
| 1.1.2 | RETURN | `return getSmtlnk_tnmt_buy_way_enabled();` |
| 1.1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // If subkey is "state", return state |
| 1.1.3 | RETURN | `return getSmtlnk_tnmt_buy_way_state();` |

**Block 7** — [ELSE-IF] Fifth data type: "EO Smart Link - Settlement Total Amount" (smtlnk_ssn_kin_all_amnt) (L423)

> Routes to getter methods for the settlement total amount field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("EOスマートリンク−精算金（総額）")` // Data type is String "EO Smart Link - Settlement Total Amount" (項目ID: smtlnk_ssn_kin_all_amnt) |
| 1.1 | IF-ELSE IF chain | **Subkey dispatch** (L424-432) |
| 1.1.1 | IF | `subkey.equalsIgnoreCase("value")` |
| 1.1.1 | RETURN | `return getSmtlnk_ssn_kin_all_amnt_value();` // Returns the settlement total amount value |
| 1.1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // If subkey is "enable", return getter for smtlnk_ssn_kin_all_amnt_enable |
| 1.1.2 | RETURN | `return getSmtlnk_ssn_kin_all_amnt_enabled();` |
| 1.1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // If subkey is "state", return state |
| 1.1.3 | RETURN | `return getSmtlnk_ssn_kin_all_amnt_state();` |

**Block 8** — [ELSE-IF] Sixth data type: "EO Smart Link - Settlement Monthly Amount" (smtlnk_ssn_kin_gtgk) (L437)

> Routes to getter methods for the settlement monthly amount field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("EOスマートリンク−精算金（月額）")` // Data type is String "EO Smart Link - Settlement Monthly Amount" (項目ID: smtlnk_ssn_kin_gtgk) |
| 1.1 | IF-ELSE IF chain | **Subkey dispatch** (L438-446) |
| 1.1.1 | IF | `subkey.equalsIgnoreCase("value")` |
| 1.1.1 | RETURN | `return getSmtlnk_ssn_kin_gtgk_value();` // Returns the settlement monthly amount value |
| 1.1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // If subkey is "enable", return getter for smtlnk_ssn_kin_gtgk_enable |
| 1.1.2 | RETURN | `return getSmtlnk_ssn_kin_gtgk_enabled();` |
| 1.1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // If subkey is "state", return state |
| 1.1.3 | RETURN | `return getSmtlnk_ssn_kin_gtgk_state();` |

**Block 9** — [ELSE-IF] Seventh data type: "EO Smart Link - Settlement Remaining Month" (smtlnk_ssn_kin_zan_getu) (L451)

> Routes to getter methods for the settlement remaining month field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("EOスマートリンク−精算金（残月）")` // Data type is String "EO Smart Link - Settlement Remaining Month" (項目ID: smtlnk_ssn_kin_zan_getu) |
| 1.1 | IF-ELSE IF chain | **Subkey dispatch** (L452-460) |
| 1.1.1 | IF | `subkey.equalsIgnoreCase("value")` |
| 1.1.1 | RETURN | `return getSmtlnk_ssn_kin_zan_getu_value();` // Returns the settlement remaining month value |
| 1.1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // If subkey is "enable", return getter for smtlnk_ssn_kin_zan_getu_enable |
| 1.1.2 | RETURN | `return getSmtlnk_ssn_kin_zan_getu_enabled();` |
| 1.1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // If subkey is "state", return state |
| 1.1.3 | RETURN | `return getSmtlnk_ssn_kin_zan_getu_state();` |

**Block 10** — [ELSE-IF] Eighth data type: "EO Smart Link - Pro-rated Sales Form Code" (smtlnk_kap_hambai_form_cd) (L465)

> Routes to getter methods for the pro-rated sales form code field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("EOスマートリンク−割賦販売形態コード")` // Data type is String "EO Smart Link - Pro-rated Sales Form Code" (項目ID: smtlnk_kap_hambai_form_cd) |
| 1.1 | IF-ELSE IF chain | **Subkey dispatch** (L466-474) |
| 1.1.1 | IF | `subkey.equalsIgnoreCase("value")` |
| 1.1.1 | RETURN | `return getSmtlnk_kap_hambai_form_cd_value();` // Returns the pro-rated sales form code value |
| 1.1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // If subkey is "enable", return getter for smtlnk_kap_hambai_form_cd_enable |
| 1.1.2 | RETURN | `return getSmtlnk_kap_hambai_form_cd_enabled();` |
| 1.1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // If subkey is "state", return state |
| 1.1.3 | RETURN | `return getSmtlnk_kap_hambai_form_cd_state();` |

**Block 11** — [RETURN] No matching key found (L477)

> If no data type matches the key, return null. (条件に一致するプロパティが存在しない場合は、nullを返す.)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null;` // No matching property exists, return null |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `smtlnk_kktk_svc_kei_no` | Field | Service key work number — internal tracking ID for the machine provision service contract item number in EO Smart Link |
| `smtlnk_kiki_model` | Field | Model number — identifies the equipment/model type for the EO Smart Link provision |
| `smtlnk_kap_kisan_ym` | Field | Pro-rated billing month — the start month for pro-rated (installment) billing calculation |
| `smtlnk_tnmt_buy_way` | Field | Terminal purchase method — indicates whether the customer purchased or rented the terminal equipment |
| `smtlnk_ssn_kin_all_amnt` | Field | Settlement total amount — the total settlement charge across all months |
| `smtlnk_ssn_kin_gtgk` | Field | Settlement monthly amount — the monthly settlement charge amount |
| `smtlnk_ssn_kin_zan_getu` | Field | Settlement remaining month — the number of remaining months for settlement payment |
| `smtlnk_kap_hambai_form_cd` | Field | Pro-rated sales form code — the classification code for the pro-rated sales transaction type |
| `smtlnk_info_list_list` | Field | EO Smart Link details list — a list of EO Smart Link item beans displayed on the screen |
| EO Smart Link (EOスマートリンク) | Business term | K-Opticom's bundled telecom service product combining fiber internet, TV, and other services |
| 割賦 (kakubu) | Japanese term | Pro-rated installment billing — a payment method where the total cost is divided into monthly installments |
| 精算金 (seisankin) | Japanese term | Settlement amount — the final calculated charge for services, including pro-rated adjustments |
| 月額 (getsugaku) | Japanese term | Monthly amount — the per-month charge for a service or settlement |
| 残月 (zangetsu) | Japanese term | Remaining month — the number of months left in a billing/installment cycle |
| 機器提供 (kiki teikyou) | Japanese term | Machine/Equipment provision — the act of providing terminal equipment to a customer |
| 端末 (tanmatsu) | Japanese term | Terminal — customer-facing telecom equipment (router, set-top box, etc.) |
| 販売形態 (hanbai keitai) | Japanese term | Sales form/type — the classification of how a product is sold (purchase, rental, bundled, etc.) |
| X33V Framework | Technical | Fujitsu Futurity X33V web application framework — provides the `X33VDataTypeBeanInterface` contract that this method implements |
| `X33VDataTypeList` | Technical | Framework class representing a list of typed data beans used for dynamic screen data binding |
| `X33VDataTypeBeanInterface` | Technical | Framework interface defining `loadModelData(String, String)` for typed property access |
| `X31CBaseBean` | Technical | Base bean class providing common screen-bean functionality (parent class of `KKW22101SF03DBean`) |
