# Business Logic — FUW00928SF02DBean.loadModelData() [153 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW00928SF.FUW00928SF02DBean` |
| Layer | Web View Bean (Controller/View data binding layer) |
| Module | `FUW00928SF` (Package: `eo.web.webview.FUW00928SF`) |

## 1. Role

### FUW00928SF02DBean.loadModelData()

This method serves as the centralized **data retrieval dispatcher** for the Number Portability (番号ポータビリティ) screen within the K-Opticom fiber optic service ordering system (FUW0092SF). Its business purpose is to provide polymorphic, key-driven access to customer data fields displayed on the number portability UI — enabling the view layer to fetch field values, enabled-state flags, and display-state codes without knowing specific getter method names at compile time. It implements a **routing/dispatch pattern**: the `key` parameter identifies a business field category (e.g., "Display Detail Control Flag", "Number Portability Used Phone Number", "Current Service Provider Name"), while the `subkey` parameter selects the data attribute within that category — `value` for the actual data, `enable` for the field's enabled/disabled state, or `state` for the display status code. The method handles 11 distinct field categories covering display control flags, customer identification data (name, kana name, N-number), number portability data (phone number, current provider, postal code, address), and service selection data (current installation address, current customer name). It plays a central role in the framework's data-binding architecture: the parent `FUW00928SFBean.loadData()` instantiates `FUW00928SF02DBean` objects for each row in the portability list (`bmp_list_list`), then iterates over items calling `loadModelData` to populate the view model with current data. This design supports dynamic screen rendering where field visibility and interactivity are controlled through the framework's data-type bean mechanism (`X33VDataTypeBeanInterface`).

## 2. Processing Pattern (Detailed Business Logic)

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

    START --> CHECK_NULL["key == null || subkey == null"]

    CHECK_NULL -->|Yes| RET_NULL_1["return null"]
    CHECK_NULL -->|No| SEP_CHECK["separaterPoint = key.indexOf('/')"]

    SEP_CHECK --> BLK1["Block 1: 表示詳細制御フラグ (Display Detail Control Flag) key"]

    BLK1 --> SUBKEY_1["subkey.equalsIgnoreCase('value')"]
    SUBKEY_1 -->|Yes| RET_VAL_1["return getDsp_bampo_dtl_flg_value()"]
    SUBKEY_1 -->|No| STATE_1["subkey.equalsIgnoreCase('state')"]
    STATE_1 -->|Yes| RET_STATE_1["return getDsp_bampo_dtl_flg_state()"]
    STATE_1 -->|No| BLK2["Block 2: N番号目タイトル (N-Number Item Title) key"]

    BLK2 --> SUBKEY_2["subkey.equalsIgnoreCase('value')"]
    SUBKEY_2 -->|Yes| RET_VAL_2["return getNo_title_value()"]
    SUBKEY_2 -->|No| ENABLE_2["subkey.equalsIgnoreCase('enable')"]
    ENABLE_2 -->|Yes| RET_ENABLE_2["return getNo_title_enabled()"]
    ENABLE_2 -->|No| STATE_2["subkey.equalsIgnoreCase('state')"]
    STATE_2 -->|Yes| RET_STATE_2["return getNo_title_state()"]
    STATE_2 -->|No| BLK3["Block 3: 番号ポータビリティ利用電話番号 (Number Portability Phone) key"]

    BLK3 --> SUBKEY_3["subkey.equalsIgnoreCase('value')"]
    SUBKEY_3 -->|Yes| RET_VAL_3["return getBmp_telno_value()"]
    SUBKEY_3 -->|No| ENABLE_3["subkey.equalsIgnoreCase('enable')"]
    ENABLE_3 -->|Yes| RET_ENABLE_3["return getBmp_telno_enabled()"]
    ENABLE_3 -->|No| STATE_3["subkey.equalsIgnoreCase('state')"]
    STATE_3 -->|Yes| RET_STATE_3["return getBmp_telno_state()"]
    STATE_3 -->|No| BLK4["Block 4: 現在ご利用中の電話サービス提供事業者 (Current Tel Service Provider) key"]

    BLK4 --> SUBKEY_4["subkey.equalsIgnoreCase('value')"]
    SUBKEY_4 -->|Yes| RET_VAL_4["return getBmp_tel_svctk_jgs_value()"]
    SUBKEY_4 -->|No| ENABLE_4["subkey.equalsIgnoreCase('enable')"]
    ENABLE_4 -->|Yes| RET_ENABLE_4["return getBmp_tel_svctk_jgs_enabled()"]
    ENABLE_4 -->|No| STATE_4["subkey.equalsIgnoreCase('state')"]
    STATE_4 -->|Yes| RET_STATE_4["return getBmp_tel_svctk_jgs_state()"]
    STATE_4 -->|No| BLK5["Block 5: 現在ご利用中の電話サービスの郵便番号 (Tel Service Postal Code) key"]

    BLK5 --> SUBKEY_5["subkey.equalsIgnoreCase('value')"]
    SUBKEY_5 -->|Yes| RET_VAL_5["return getBmp_pcd_value()"]
    SUBKEY_5 -->|No| ENABLE_5["subkey.equalsIgnoreCase('enable')"]
    ENABLE_5 -->|Yes| RET_ENABLE_5["return getBmp_pcd_enabled()"]
    ENABLE_5 -->|No| STATE_5["subkey.equalsIgnoreCase('state')"]
    STATE_5 -->|Yes| RET_STATE_5["return getBmp_pcd_state()"]
    STATE_5 -->|No| BLK6["Block 6: 現在ご利用中の電話サービスの住所 (Tel Service Address) key"]

    BLK6 --> SUBKEY_6["subkey.equalsIgnoreCase('value')"]
    SUBKEY_6 -->|Yes| RET_VAL_6["return getBmp_adrs_value()"]
    SUBKEY_6 -->|No| ENABLE_6["subkey.equalsIgnoreCase('enable')"]
    ENABLE_6 -->|Yes| RET_ENABLE_6["return getBmp_adrs_enabled()"]
    ENABLE_6 -->|No| STATE_6["subkey.equalsIgnoreCase('state')"]
    STATE_6 -->|Yes| RET_STATE_6["return getBmp_adrs_state()"]
    STATE_6 -->|No| BLK7["Block 7: 契約者名义 (Contractor Name) key"]

    BLK7 --> SUBKEY_7["subkey.equalsIgnoreCase('value')"]
    SUBKEY_7 -->|Yes| RET_VAL_7["return getKshnm_value()"]
    SUBKEY_7 -->|No| ENABLE_7["subkey.equalsIgnoreCase('enable')"]
    ENABLE_7 -->|Yes| RET_ENABLE_7["return getKshnm_enabled()"]
    ENABLE_7 -->|No| STATE_7["subkey.equalsIgnoreCase('state')"]
    STATE_7 -->|Yes| RET_STATE_7["return getKshnm_state()"]
    STATE_7 -->|No| BLK8["Block 8: 契約者名义かな (Contractor Name Kana) key"]

    BLK8 --> SUBKEY_8["subkey.equalsIgnoreCase('value')"]
    SUBKEY_8 -->|Yes| RET_VAL_8["return getKshkn_value()"]
    SUBKEY_8 -->|No| ENABLE_8["subkey.equalsIgnoreCase('enable')"]
    ENABLE_8 -->|Yes| RET_ENABLE_8["return getKshkn_enabled()"]
    ENABLE_8 -->|No| STATE_8["subkey.equalsIgnoreCase('state')"]
    STATE_8 -->|Yes| RET_STATE_8["return getKshkn_state()"]
    STATE_8 -->|No| BLK9["Block 9: .NTT番号移転手続き (.NTT Number Transfer) key"]

    BLK9 --> SUBKEY_9["subkey.equalsIgnoreCase('value')"]
    SUBKEY_9 -->|Yes| RET_VAL_9["return getNtt_no_iten_ttdk_choice_value()"]
    SUBKEY_9 -->|No| ENABLE_9["subkey.equalsIgnoreCase('enable')"]
    ENABLE_9 -->|Yes| RET_ENABLE_9["return getNtt_no_iten_ttdk_choice_enabled()"]
    ENABLE_9 -->|No| STATE_9["subkey.equalsIgnoreCase('state')"]
    STATE_9 -->|Yes| RET_STATE_9["return getNtt_no_iten_ttdk_choice_state()"]
    STATE_9 -->|No| BLK10["Block 10: 現在利用中設置場所住所 (Current Installation Address) key"]

    BLK10 --> SUBKEY_10["subkey.equalsIgnoreCase('value')"]
    SUBKEY_10 -->|Yes| RET_VAL_10["return getBmp_stc_place_ad_choice_nm_value()"]
    SUBKEY_10 -->|No| ENABLE_10["subkey.equalsIgnoreCase('enable')"]
    ENABLE_10 -->|Yes| RET_ENABLE_10["return getBmp_stc_place_ad_choice_nm_enabled()"]
    ENABLE_10 -->|No| STATE_10["subkey.equalsIgnoreCase('state')"]
    STATE_10 -->|Yes| RET_STATE_10["return getBmp_stc_place_ad_choice_nm_state()"]
    STATE_10 -->|No| BLK11["Block 11: 現在利用中契約者名义 (Current Contractor Name) key"]

    BLK11 --> SUBKEY_11["subkey.equalsIgnoreCase('value')"]
    SUBKEY_11 -->|Yes| RET_VAL_11["return getBmp_kshnm_choice_nm_value()"]
    SUBKEY_11 -->|No| ENABLE_11["subkey.equalsIgnoreCase('enable')"]
    ENABLE_11 -->|Yes| RET_ENABLE_11["return getBmp_kshnm_choice_nm_enabled()"]
    ENABLE_11 -->|No| STATE_11["subkey.equalsIgnoreCase('state')"]
    STATE_11 -->|Yes| RET_STATE_11["return getBmp_kshnm_choice_nm_state()"]
    STATE_11 -->|No| RET_NULL_2["return null"]

    RET_NULL_1 --> END(["Return / Next"])
    RET_VAL_1 --> END
    RET_STATE_1 --> END
    RET_VAL_2 --> END
    RET_ENABLE_2 --> END
    RET_STATE_2 --> END
    RET_VAL_3 --> END
    RET_ENABLE_3 --> END
    RET_STATE_3 --> END
    RET_VAL_4 --> END
    RET_ENABLE_4 --> END
    RET_STATE_4 --> END
    RET_VAL_5 --> END
    RET_ENABLE_5 --> END
    RET_STATE_5 --> END
    RET_VAL_6 --> END
    RET_ENABLE_6 --> END
    RET_STATE_6 --> END
    RET_VAL_7 --> END
    RET_ENABLE_7 --> END
    RET_STATE_7 --> END
    RET_VAL_8 --> END
    RET_ENABLE_8 --> END
    RET_STATE_8 --> END
    RET_VAL_9 --> END
    RET_ENABLE_9 --> END
    RET_STATE_9 --> END
    RET_VAL_10 --> END
    RET_ENABLE_10 --> END
    RET_STATE_10 --> END
    RET_VAL_11 --> END
    RET_ENABLE_11 --> END
    RET_STATE_11 --> END
    RET_NULL_2 --> END
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | The business field name (項目名) used as a routing key to select which data category to retrieve. Maps to one of 11 Japanese-labeled field groups displayed on the Number Portability screen, such as "表示詳細制御フラグ" (Display Detail Control Flag), "番号ポータビリティ利用電話番号" (Number Portability Phone Number), "契約者名义" (Contractor Name), etc. Each key triggers a distinct branch handling the getters for that field category. |
| 2 | `subkey` | `String` | The attribute selector within the selected field category. Accepts case-insensitive values: `"value"` to retrieve the field's data value, `"enable"` to retrieve the field's enabled/disabled state flag, or `"state"` to retrieve the field's display status code. Case-insensitive comparison via `equalsIgnoreCase` ensures robustness against inconsistent casing from the caller. |

**Instance fields read by this method (via getter calls):**

| No | Field Accessed | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `dsp_bampo_dtl_flg` | (Boolean field data type) | Display detail control flag (Boolean type) — controls whether the portability detail section is visible |
| 2 | `no_title` | (String field data type) | N-number item title — title label for the N-number (N番号) field on the form |
| 3 | `bmp_telno` | (String field data type) | Number portability phone number — the phone number being ported |
| 4 | `bmp_telno_enable` | (boolean field data type) | Number portability phone number enabled flag — whether the phone number field is editable |
| 5 | `bmp_tel_svctk_jgs` | (String field data type) | Current telephone service provider name — the carrier the customer is porting from |
| 6 | `bmp_tel_svctk_jgs_enable` | (boolean field data type) | Current service provider field enabled flag |
| 7 | `bmp_pcd` | (String field data type) | Current telephone service postal code — postal code of the current service |
| 8 | `bmp_pcd_enable` | (boolean field data type) | Postal code field enabled flag |
| 9 | `bmp_adrs` | (String field data type) | Current telephone service address — physical address of the current service |
| 10 | `bmp_adrs_enable` | (boolean field data type) | Address field enabled flag |
| 11 | `kshnm` | (String field data type) | Contractor name — the name of the contract holder (customer) |
| 12 | `kshnm_enable` | (boolean field data type) | Contractor name field enabled flag |
| 13 | `kshkn` | (String field data type) | Contractor name kana — phonetic reading (furigana) of the contractor name |
| 14 | `kshkn_enable` | (boolean field data type) | Contractor name kana field enabled flag |
| 15 | `ntt_no_iten_ttdk_choice` | (String field data type) | NTT number transfer procedure choice — selection indicating whether to proceed with NTT number transfer |
| 16 | `ntt_no_iten_ttdk_choice_enable` | (boolean field data type) | NTT number transfer procedure field enabled flag |
| 17 | `bmp_stc_place_ad_choice_nm` | (String field data type) | Current installation location address — address where the service is currently installed |
| 18 | `bmp_stc_place_ad_choice_nm_enable` | (boolean field data type) | Installation address field enabled flag |
| 19 | `bmp_kshnm_choice_nm` | (String field data type) | Current contractor name — name of the contract holder at the current installation |
| 20 | `bmp_kshnm_choice_nm_enable` | (boolean field data type) | Current contractor name field enabled flag |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `FUW00928SF02DBean.getDsp_bampo_dtl_flg_value` | FUW00928SF02DBean | - | Returns Boolean value of display detail control flag |
| R | `FUW00928SF02DBean.getDsp_bampo_dtl_flg_state` | FUW00928SF02DBean | - | Returns display state code for detail control flag |
| R | `FUW00928SF02DBean.getNo_title_value` | FUW00928SF02DBean | - | Returns N-number item title string value |
| R | `FUW00928SF02DBean.getNo_title_enabled` | FUW00928SF02DBean | - | Returns enabled/disabled flag for N-number title field |
| R | `FUW00928SF02DBean.getNo_title_state` | FUW00928SF02DBean | - | Returns display state code for N-number title field |
| R | `FUW00928SF02DBean.getBmp_telno_value` | FUW00928SF02DBean | - | Returns number portability phone number string value |
| R | `FUW00928SF02DBean.getBmp_telno_enabled` | FUW00928SF02DBean | - | Returns enabled flag for phone number field |
| R | `FUW00928SF02DBean.getBmp_telno_state` | FUW00928SF02DBean | - | Returns display state code for phone number field |
| R | `FUW00928SF02DBean.getBmp_tel_svctk_jgs_value` | FUW00928SF02DBean | - | Returns current telephone service provider name string value |
| R | `FUW00928SF02DBean.getBmp_tel_svctk_jgs_enabled` | FUW00928SF02DBean | - | Returns enabled flag for current provider field |
| R | `FUW00928SF02DBean.getBmp_tel_svctk_jgs_state` | FUW00928SF02DBean | - | Returns display state code for current provider field |
| R | `FUW00928SF02DBean.getBmp_pcd_value` | FUW00928SF02DBean | - | Returns current service postal code string value |
| R | `FUW00928SF02DBean.getBmp_pcd_enabled` | FUW00928SF02DBean | - | Returns enabled flag for postal code field |
| R | `FUW00928SF02DBean.getBmp_pcd_state` | FUW00928SF02DBean | - | Returns display state code for postal code field |
| R | `FUW00928SF02DBean.getBmp_adrs_value` | FUW00928SF02DBean | - | Returns current service address string value |
| R | `FUW00928SF02DBean.getBmp_adrs_enabled` | FUW00928SF02DBean | - | Returns enabled flag for address field |
| R | `FUW00928SF02DBean.getBmp_adrs_state` | FUW00928SF02DBean | - | Returns display state code for address field |
| R | `FUW00928SF02DBean.getKshnm_value` | FUW00928SF02DBean | - | Returns contractor name string value |
| R | `FUW00928SF02DBean.getKshnm_enabled` | FUW00928SF02DBean | - | Returns enabled flag for contractor name field |
| R | `FUW00928SF02DBean.getKshnm_state` | FUW00928SF02DBean | - | Returns display state code for contractor name field |
| R | `FUW00928SF02DBean.getKshkn_value` | FUW00928SF02DBean | - | Returns contractor name kana (furigana) string value |
| R | `FUW00928SF02DBean.getKshkn_enabled` | FUW00928SF02DBean | - | Returns enabled flag for contractor name kana field |
| R | `FUW00928SF02DBean.getKshkn_state` | FUW00928SF02DBean | - | Returns display state code for contractor name kana field |
| R | `FUW00928SF02DBean.getNtt_no_iten_ttdk_choice_value` | FUW00928SF02DBean | - | Returns NTT number transfer procedure choice string value |
| R | `FUW00928SF02DBean.getNtt_no_iten_ttdk_choice_enabled` | FUW00928SF02DBean | - | Returns enabled flag for NTT number transfer field |
| R | `FUW00928SF02DBean.getNtt_no_iten_ttdk_choice_state` | FUW00928SF02DBean | - | Returns display state code for NTT number transfer field |
| R | `FUW00928SF02DBean.getBmp_stc_place_ad_choice_nm_value` | FUW00928SF02DBean | - | Returns current installation location address string value |
| R | `FUW00928SF02DBean.getBmp_stc_place_ad_choice_nm_enabled` | FUW00928SF02DBean | - | Returns enabled flag for installation address field |
| R | `FUW00928SF02DBean.getBmp_stc_place_ad_choice_nm_state` | FUW00928SF02DBean | - | Returns display state code for installation address field |
| R | `FUW00928SF02DBean.getBmp_kshnm_choice_nm_value` | FUW00928SF02DBean | - | Returns current contractor name string value |
| R | `FUW00928SF02DBean.getBmp_kshnm_choice_nm_enabled` | FUW00928SF02DBean | - | Returns enabled flag for current contractor name field |
| R | `FUW00928SF02DBean.getBmp_kshnm_choice_nm_state` | FUW00928SF02DBean | - | Returns display state code for current contractor name field |

**Summary:** All 32 method calls within `loadModelData` are **Read (R)** operations. The method exclusively calls getter methods on the same bean (`FUW00928SF02DBean`) to retrieve field values, enabled-state flags, and display-state codes from in-memory instance fields. There are no database, CBS, or external service invocations in this method.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen: (Number Portability) `FUW00928SFBean.loadData()` | `FUW00928SFBean.loadData()` -> create `bmp_list_list` with `FUW00928SF02DBean` instances -> `FUW00928SF02DBean.loadModelData(key, subkey)` | `getDsp_bampo_dtl_flg_value [R] dsp_bampo_dtl_flg` |
| 2 | Screen: (Number Portability) `FUW00928SFBean.loadData()` | `FUW00928SFBean.loadData()` -> iterate `bmp_list_list` -> `X33VDataTypeBeanInterface.loadModelData(subkey)` -> `FUW00928SF02DBean.loadModelData(key, subkey)` | `getBmp_telno_value [R] bmp_telno` |
| 3 | Screen: (Number Portability) `FUW00928SFBean.loadData()` | `FUW00928SFBean.loadData()` -> `bmp_list_list.add(new FUW00928SF02DBean())` -> each bean's `loadModelData` called with item names from `FUW00928SF02DBean.listKoumokuIds()` | `32 getter calls [R] in-memory fields` |

**Notes on caller analysis:**
- `FUW00928SF02DBean` is instantiated as a **data-type bean** (データタイプビューン型) for each row in the "Number Portability List" (番号ポータビリティリスト, item ID: `bmp_list`) within the `FUW00928SFBean` screen controller.
- The `FUW00928SFBean.loadData()` method creates `FUW00928SF02DBean` instances via `addListDataInstance("番号ポータビリティリスト")`, which delegates to the parent class's list management.
- Each `FUW00928SF02DBean` instance receives `loadModelData` calls through the `X33VDataTypeBeanInterface` contract, with `key` values derived from `FUW00928SF02DBean.listKoumokuIds()` (which returns the list of Japanese field names like "表示詳細制御フラグ", "N番号目タイトル", etc.).
- No other screen modules reference `FUW00928SF02DBean.loadModelData` directly — it is scoped to the FUW00928SF (Number Portability) module.

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] `(key.equals("表示詳細制御フラグ"))` (Display Detail Control Flag) (L471)

> Retrieves data for the Boolean-type "Display Detail Control Flag" field (Item ID: `dsp_bampo_dtl_flg`). This field controls whether the portability detail section is visible on the screen.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getDsp_bampo_dtl_flg_value();` // returns the Boolean value of the display flag |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 4 | RETURN | `return getDsp_bampo_dtl_flg_state();` // returns display state code for the flag |

**Block 2** — [ELSE-IF] `(key.equals("N番号目タイトル"))` (N-Number Item Title) (L481)

> Retrieves data for the String-type "N-Number Item Title" field (Item ID: `no_title`). The N-number (N番号) is a Japanese telecommunications identifier used in number portability.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getNo_title_value();` // returns N-number item title string |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、no_title_enableのgetterの戻り値を返す。 (If subkey is "enable", return no_title_enable getter value) |
| 4 | RETURN | `return getNo_title_enabled();` // returns enabled/disabled flag |
| 5 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 6 | RETURN | `return getNo_title_state();` // returns display state code |

**Block 3** — [ELSE-IF] `(key.equals("番号ポータビリティ利用電話番号"))` (Number Portability Phone Number) (L492)

> Retrieves data for the String-type "Number Portability Phone Number" field (Item ID: `bmp_telno`). This is the phone number the customer wants to port to K-Opticom's service.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getBmp_telno_value();` // returns portability phone number string |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、bmp_telno_enableのgetterの戻り値を返す。 (If subkey is "enable", return bmp_telno_enable getter value) |
| 4 | RETURN | `return getBmp_telno_enabled();` // returns enabled flag |
| 5 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 6 | RETURN | `return getBmp_telno_state();` // returns display state code |

**Block 4** — [ELSE-IF] `(key.equals("現在ご利用中の電話サービス提供事業者"))` (Current Telephone Service Provider) (L503)

> Retrieves data for the String-type "Current Telephone Service Provider" field (Item ID: `bmp_tel_svctk_jgs`). This identifies the carrier from which the customer is porting their number.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getBmp_tel_svctk_jgs_value();` // returns current service provider name |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、bmp_tel_svctk_jgs_enableのgetterの戻り値を返す。 (If subkey is "enable", return bmp_tel_svctk_jgs_enable getter value) |
| 4 | RETURN | `return getBmp_tel_svctk_jgs_enabled();` // returns enabled flag |
| 5 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 6 | RETURN | `return getBmp_tel_svctk_jgs_state();` // returns display state code |

**Block 5** — [ELSE-IF] `(key.equals("現在ご利用中の電話サービスの郵便番号"))` (Current Telephone Service Postal Code) (L514)

> Retrieves data for the String-type "Current Telephone Service Postal Code" field (Item ID: `bmp_pcd`). Postal code of the customer's current service location.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getBmp_pcd_value();` // returns postal code string |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、bmp_pcd_enableのgetterの戻り値を返す。 (If subkey is "enable", return bmp_pcd_enable getter value) |
| 4 | RETURN | `return getBmp_pcd_enabled();` // returns enabled flag |
| 5 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 6 | RETURN | `return getBmp_pcd_state();` // returns display state code |

**Block 6** — [ELSE-IF] `(key.equals("現在ご利用中の電話サービスの住所"))` (Current Telephone Service Address) (L525)

> Retrieves data for the String-type "Current Telephone Service Address" field (Item ID: `bmp_adrs`). The physical address associated with the customer's current service.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getBmp_adrs_value();` // returns address string |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、bmp_adrs_enableのgetterの戻り値を返す。 (If subkey is "enable", return bmp_adrs_enable getter value) |
| 4 | RETURN | `return getBmp_adrs_enabled();` // returns enabled flag |
| 5 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 6 | RETURN | `return getBmp_adrs_state();` // returns display state code |

**Block 7** — [ELSE-IF] `(key.equals("契約者名义"))` (Contractor Name) (L536)

> Retrieves data for the String-type "Contractor Name" field (Item ID: `kshnm`). The legal name of the customer who holds the service contract.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getKshnm_value();` // returns contractor name string |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、kshnm_enableのgetterの戻り値を返す。 (If subkey is "enable", return kshnm_enable getter value) |
| 4 | RETURN | `return getKshnm_enabled();` // returns enabled flag |
| 5 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 6 | RETURN | `return getKshnm_state();` // returns display state code |

**Block 8** — [ELSE-IF] `(key.equals("契約者名义かな"))` (Contractor Name Kana) (L547)

> Retrieves data for the String-type "Contractor Name Kana" field (Item ID: `kshkn`). The phonetic reading (furigana) of the contractor name, used for verification in Japanese telecommunications.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getKshkn_value();` // returns contractor name kana string |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、kshkn_enableのgetterの戻り値を返す。 (If subkey is "enable", return kshkn_enable getter value) |
| 4 | RETURN | `return getKshkn_enabled();` // returns enabled flag |
| 5 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 6 | RETURN | `return getKshkn_state();` // returns display state code |

**Block 9** — [ELSE-IF] `(key.equals(".NTT番号移転手続き"))` (.NTT Number Transfer Procedure) (L558)

> Retrieves data for the String-type ".NTT Number Transfer Procedure" field (Item ID: `ntt_no_iten_ttdk_choice`). Controls the NTT number transfer procedure selection — a critical step in Japanese number portability.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getNtt_no_iten_ttdk_choice_value();` // returns transfer procedure choice |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、ntt_no_iten_ttdk_choice_enableのgetterの戻り値を返す。 (If subkey is "enable", return ntt_no_iten_ttdk_choice_enable getter value) |
| 4 | RETURN | `return getNtt_no_iten_ttdk_choice_enabled();` // returns enabled flag |
| 5 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 6 | RETURN | `return getNtt_no_iten_ttdk_choice_state();` // returns display state code |

**Block 10** — [ELSE-IF] `(key.equals("現在利用中設置場所住所"))` (Current Installation Location Address) (L569)

> Retrieves data for the String-type "Current Installation Location Address" field (Item ID: `bmp_stc_place_ad_choice_nm`). The physical address where the service equipment is currently installed.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getBmp_stc_place_ad_choice_nm_value();` // returns installation address string |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、bmp_stc_place_ad_choice_nm_enableのgetterの戻り値を返す。 (If subkey is "enable", return bmp_stc_place_ad_choice_nm_enable getter value) |
| 4 | RETURN | `return getBmp_stc_place_ad_choice_nm_enabled();` // returns enabled flag |
| 5 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 6 | RETURN | `return getBmp_stc_place_ad_choice_nm_state();` // returns display state code |

**Block 11** — [ELSE-IF] `(key.equals("現在利用中契約者名义"))` (Current Contractor Name) (L580)

> Retrieves data for the String-type "Current Contractor Name" field (Item ID: `bmp_kshnm_choice_nm`). The name of the contract holder at the current installation location — used for identity verification during portability.

| # | Type | Code |
|---|------|------|
| 1 | IF | `subkey.equalsIgnoreCase("value")` — check if requesting data value |
| 2 | RETURN | `return getBmp_kshnm_choice_nm_value();` // returns current contractor name string |
| 3 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` // subkeyが"enable"の場合、bmp_kshnm_choice_nm_enableのgetterの戻り値を返す。 (If subkey is "enable", return bmp_kshnm_choice_nm_enable getter value) |
| 4 | RETURN | `return getBmp_kshnm_choice_nm_enabled();` // returns enabled flag |
| 5 | ELSE-IF | `subkey.equalsIgnoreCase("state")` // subkeyが"state"の場合、ステータスを返す。 (If subkey is "state", return status) |
| 6 | RETURN | `return getBmp_kshnm_choice_nm_state();` // returns display state code |

**Block 12** — [ELSE / FALLTHROUGH] `(no key matched)` (L591)

> No matching field category found for the given key. Returns `null` to signal an unrecognized data type.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null;` // 条件に一致するプロパティが存在しない場合は、nullを返す。 (If no property matches the condition, return null) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `dsp_bampo_dtl_flg` | Field | Display detail control flag — Boolean field that controls whether the portability detail section is visible on screen |
| `no_title` | Field | N-number item title — label text for the N-number (N番号) field, a Japanese telecommunications identifier |
| `bmp_telno` | Field | Number portability phone number — the phone number the customer wants to port to K-Opticom |
| `bmp_tel_svctk_jgs` | Field | Current telephone service provider name — the carrier from which the customer is porting (e.g., NTT, SoftBank, KDDI) |
| `bmp_pcd` | Field | Current telephone service postal code — 7-digit Japanese postal code of the current service location |
| `bmp_adrs` | Field | Current telephone service address — physical address associated with the current service contract |
| `kshnm` | Field | 契約者名义 (Contractor Name) — legal name of the service contract holder (customer) |
| `kshkn` | Field | 契約者名义かな (Contractor Name Kana) — phonetic reading (furigana/カタカナ) of the contractor name, used for identity verification |
| `ntt_no_iten_ttdk_choice` | Field | .NTT number transfer procedure choice — selection for whether to proceed with NTT number transfer (番号移転手続き) |
| `bmp_stc_place_ad_choice_nm` | Field | Current installation location address — physical address where the service equipment is installed |
| `bmp_kshnm_choice_nm` | Field | Current contractor name — name of the contract holder at the current installation, used for verification during portability |
| `bmp_list` | Field ID | Number portability list — the list item ID for data-type bean rows in the portability screen |
| `value` | Subkey | Data attribute — requests the actual field value (e.g., phone number, name, address) |
| `enable` | Subkey | Data attribute — requests whether the field is enabled/disabled for user editing |
| `state` | Subkey | Data attribute — requests the display status code of the field |
| `X33VDataTypeBeanInterface` | Interface | Framework interface for data-type beans — defines `loadModelData()` contract allowing polymorphic data access across all bean types |
| Number Portability (番号ポータビリティ) | Business term | Japanese telecommunications service allowing customers to keep their phone number when switching carriers |
| FTTH | Business term | Fiber To The Home — K-Opticom's fiber-optic broadband internet service |
| N番号 (N-Number) | Business term | A unique identifier in Japanese telecommunications used for number portability routing |
| `FUW00928SF` | Module | K-Opticom web module for Number Portability service ordering and contract processing |
| `FUW00928SF02DBean` | Class | Data-type bean specifically for Number Portability fields within the FUW00928SF module |
| K-Opticom | Business term | Japanese broadband telecommunications service provider (fiber optic services) |
| 契約者 (Kētya-sha) | Japanese term | Contract holder — the person who signed the service contract |
| 電話番号移転 (Tēlewōn bangōiten) | Japanese term | Number transfer/porting — the process of moving a phone number from one carrier to another |
