# Business Logic - KKW01601SF02DBean.loadModelData() [1107 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | eo.web.webview.KKA15301SF.KKW01601SF02DBean |
| Layer | Service Component / Web Bean (View-layer data access bean) |
| Module | KKA15301SF (Package: eo.web.webview.KKA15301SF) |

## 1. Role

### KKW01601SF02DBean.loadModelData()

This method is a unified property access router for the billing history and credit card management screen in the KKA15301SF module. It implements a key-subkey dispatch pattern: given a Japanese field name (key) and a data attribute (subkey), it returns the corresponding value, enabled flag, or state string from the bean's internal property set.

The method handles three data attribute types: value (the actual field data), enable (the UI enabled/disabled flag), and state (a string representation of the component's current state). This triad is standard across the framework's screen beans, allowing screens to query any property through a single uniform interface rather than calling dozens of individual getters.

There are two categories of fields: those supporting all three attributes (value, enable, state) and those supporting only value and state. Fields supporting enable are typically user-editable inputs; fields without enable are display-only or read-only derived values.

The method also supports a special "select" field (key="選択") that additionally resolves subkey enable to its own getter (getL_sel_enabled()), distinguishing it from the standard pattern. For any key that has no matching property defined, the method returns null, acting as a safe, non-throwing lookup.

In the larger system, this bean serves as the single source of truth for screen data binding. The screen's view layer calls loadModelData(key, subkey) to populate UI controls during page initialization and refresh cycles. Its companion method storeModelData performs the reverse operation (writing values back into the bean).

The design pattern is a routing/dispatch pattern where a single entry point routes to 80+ field-specific getter methods based on the key parameter. This eliminates the need for screens to maintain references to dozens of individual getters.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["loadModelData key, subkey"])
    NULL_CHECK["key == null or subkey == null"]
    RETURN_NULL(["return null"])
    DISPATCH["Dispatch by key field name"]
    BRANCH_GROUP1["key == '選択' (Select)"]
    BRANCH_GROUP2["key == '請求契約番号' (Billing Contract Number)"]
    BRANCH_GROUP3["key == '支払審検結果' (Payment Review Result)"]
    BRANCH_GROUP4["key == '支払方法' (Payment Method)"]
    BRANCH_GROUP5["key == '請求先名' (Biller Name)"]
    BRANCH_GROUP6["key == '金融機関名' (Financial Institution Name)"]
    BRANCH_GROUP7["key == '口座番号' (Account Number)"]
    BRANCH_GROUP8["key == 'カード番号' (Card Number)"]
    BRANCH_GROUP9["key == '郵便番号' (Postal Code)"]
    BRANCH_GROUP10["key == '送付先住所' (Delivery Address)"]
    BRANCH_GROUP11["key == '背景色' (Background Color)"]
    BRANCH_GROUP12["key == '更新年月日' (Update DateTime)"]
    BRANCH_GROUP13["key == '手動入力フラグ' (Manual Input Flag)"]
    BRANCH_GROUP14["key == '強制窗口' (Force Window)"]
    BRANCH_GROUP15["key == '法人格' (Corporate Status)"]
    BRANCH_GROUP16["key == '適用年月日' (Effective Date)"]
    BRANCH_GROUP17["key == '請求方法番号' (Payment Method No)"]
    BRANCH_GROUP18["key == 'クレジットカード' (Credit Card)"]
    BRANCH_GROUP19["key == '口座払' (Account Payment)"]
    BRANCH_GROUP20["key == '支払審検NG' (Payment Review NG)"]
    BRANCH_GROUP21["key == 'クレジット交換' (Credit Exchange)"]
    BRANCH_GROUP22["key == 'オーソリ' (Authorization)"]
    BRANCH_GROUP23["key == '仕向け先' (Destination)"]
    BRANCH_GROUP24["key == '異動区分' (Movement Category)"]
    BRANCH_GROUP25["key == 'カード種別' (Card Category)"]
    BRANCH_GROUP26["key == '回避' (Avoidance)"]
    MASK_BRANCH["mask保持 fields"]
    VALUE_SUBKEY["subkey == 'value'"]
    ENABLE_SUBKEY["subkey == 'enable'"]
    STATE_SUBKEY["subkey == 'state'"]
    RETURN_FIELD["return field getter"]
    NO_MATCH["No matching property"]
    RETURN_NULL_END(["return null"])
    END_NODE(["Return / Next"])

    START --> NULL_CHECK
    NULL_CHECK -->|Yes| RETURN_NULL --> END_NODE
    NULL_CHECK -->|No| DISPATCH
    DISPATCH --> BRANCH_GROUP1
    DISPATCH --> BRANCH_GROUP2
    DISPATCH --> BRANCH_GROUP3
    DISPATCH --> BRANCH_GROUP4
    DISPATCH --> BRANCH_GROUP5
    DISPATCH --> BRANCH_GROUP6
    DISPATCH --> BRANCH_GROUP7
    DISPATCH --> BRANCH_GROUP8
    DISPATCH --> BRANCH_GROUP9
    DISPATCH --> BRANCH_GROUP10
    DISPATCH --> BRANCH_GROUP11
    DISPATCH --> BRANCH_GROUP12
    DISPATCH --> BRANCH_GROUP13
    DISPATCH --> BRANCH_GROUP14
    DISPATCH --> BRANCH_GROUP15
    DISPATCH --> BRANCH_GROUP16
    DISPATCH --> BRANCH_GROUP17
    DISPATCH --> BRANCH_GROUP18
    DISPATCH --> BRANCH_GROUP19
    DISPATCH --> BRANCH_GROUP20
    DISPATCH --> BRANCH_GROUP21
    DISPATCH --> BRANCH_GROUP22
    DISPATCH --> BRANCH_GROUP23
    DISPATCH --> BRANCH_GROUP24
    DISPATCH --> BRANCH_GROUP25
    DISPATCH --> BRANCH_GROUP26
    BRANCH_GROUP1 --> VALUE_SUBKEY
    BRANCH_GROUP1 --> ENABLE_SUBKEY
    BRANCH_GROUP1 --> STATE_SUBKEY
    BRANCH_GROUP16 --> MASK_BRANCH
    BRANCH_GROUP1 --> RETURN_FIELD
    VALUE_SUBKEY --> RETURN_FIELD
    ENABLE_SUBKEY --> RETURN_FIELD
    STATE_SUBKEY --> RETURN_FIELD
    MASK_BRANCH --> RETURN_FIELD
    DISPATCH --> NO_MATCH --> END_NODE
```

**Processing Logic:**

1. Null Guard (L3068-3070): If key or subkey is null, return null immediately.
2. Separator Search (L3072): Search for "/" in key using indexOf("/"). This variable is assigned but not used for routing in this method (it is used by storeModelData).
3. Key Dispatch (L3074+): A long chain of if-else if branches, each comparing key against a Japanese field name literal.
4. Subkey Resolution: Within each key branch, the subkey is checked:
   - subkey.equalsIgnoreCase("value"): return the field's value getter
   - subkey.equalsIgnoreCase("enable"): return the field's enabled getter (only available for editable fields)
   - subkey.equalsIgnoreCase("state"): return the field's state getter
5. Fallback (L4170-4171): If no key matches, return null.

The method is pure read -- no mutations, no side effects, no external calls.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | key | String | The Japanese field name identifying which property to access. Examples: "請求契約番号" (Billing Contract Number), "金融機関名" (Financial Institution Name), "口座番号" (Account Number). Determines which branch of the dispatch chain is taken. |
| 2 | subkey | String | The attribute type: "value" (retrieve the actual data), "enable" (retrieve the UI enabled/disabled flag), or "state" (retrieve the component state string). Determines which getter method is invoked within the matched key branch. |

Instance fields read by this method: All getters called are bean property accessors following the naming convention l_[field_description]. Key field groups include:

- Billing/Contract Fields: l_rireki_seiky_kei_no, l_rireki_seiky_kei_nm, l_rireki_seiky_kei_kana, l_rireki_seiky_kei_romaji
- Payment Fields: l_rireki_payway, l_rireki_payway_cd, l_rireki_pay_skekka, l_rireki_pay_skekka_cd
- Bank Account Fields: l_rireki_bank_nm, l_rireki_shiten_nm, l_rireki_bank_cd, l_rireki_shiten_cd, l_rireki_koza_no
- Credit Card Fields: l_rireki_card_kind, l_rireki_card_no, l_rireki_yk_kigen, l_rireki_mk_kigen
- Address Fields: l_rireki_pcd, l_rireki_ad_cd, l_rireki_sofus_ad, l_rireki_sofus_kana, l_rireki_sofus_nm
- Mask Hold Fields: Multiple _mskb suffixed fields for masked versions of data
- Credit Card Status Fields: crecard_stat, seiky_way_no_crecard, l_credit_kokan_cd
- Authorization Fields: l_authori_cfm_dtm, l_authori_shonin_no

## 4. CRUD Operations / Called Services

All calls within this method are reads against the bean's own properties (no external SC/CBS calls, no database access, no entity operations).

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | getL_sel_value | KKW01601SF02DBean | - | Returns the "select" field value |
| R | getL_sel_enabled | KKW01601SF02DBean | - | Returns the "select" field enabled flag |
| R | getL_sel_state | KKW01601SF02DBean | - | Returns the "select" field state |
| R | getL_rireki_seiky_kei_no_value | KKW01601SF02DBean | - | Returns the billing contract number |
| R | getL_rireki_seiky_kei_no_enabled | KKW01601SF02DBean | - | Returns the billing contract number enabled flag |
| R | getL_rireki_seiky_kei_no_state | KKW01601SF02DBean | - | Returns the billing contract number state |
| R | getL_rireki_pay_skekka_value | KKW01601SF02DBean | - | Returns the payment review result |
| R | getL_rireki_pay_skekka_cd_value | KKW01601SF02DBean | - | Returns the payment review result code |
| R | getL_rireki_aply_ymd_value | KKW01601SF02DBean | - | Returns the effective application date |
| R | getL_rireki_end_ymd_value | KKW01601SF02DBean | - | Returns the end date |
| R | getL_rireki_adj_ymd_value | KKW01601SF02DBean | - | Returns the adjustment date |
| R | getL_rireki_payway_value | KKW01601SF02DBean | - | Returns the payment method |
| R | getL_rireki_payway_cd_value | KKW01601SF02DBean | - | Returns the payment method code |
| R | getL_rireki_seiky_kei_nm_value | KKW01601SF02DBean | - | Returns the biller name |
| R | getL_rireki_seiky_kei_kana_value | KKW01601SF02DBean | - | Returns the billing contract Kana name |
| R | getL_rireki_seiky_kei_romaji_value | KKW01601SF02DBean | - | Returns the billing contract Romaji name |
| R | getL_rireki_first_seiky_value | KKW01601SF02DBean | - | Returns the first billing month |
| R | getL_rireki_sks_hakko_yh_value | KKW01601SF02DBean | - | Returns the invoice issue required flag |
| R | getL_rireki_sks_hakko_yh_cd_value | KKW01601SF02DBean | - | Returns the invoice issue required code |
| R | getL_rireki_bank_nm_value | KKW01601SF02DBean | - | Returns the financial institution name |
| R | getL_rireki_shiten_nm_value | KKW01601SF02DBean | - | Returns the branch name |
| R | getL_rireki_bank_cd_value | KKW01601SF02DBean | - | Returns the financial institution code |
| R | getL_rireki_shiten_cd_value | KKW01601SF02DBean | - | Returns the branch code |
| R | getL_rireki_koza_no_value | KKW01601SF02DBean | - | Returns the account number |
| R | getL_rireki_yokin_shumoku_value | KKW01601SF02DBean | - | Returns the deposit type |
| R | getL_rireki_yokin_shumoku_cd_value | KKW01601SF02DBean | - | Returns the deposit type code |
| R | getL_rireki_tsucho_symbol_value | KKW01601SF02DBean | - | Returns the passbook symbol |
| R | getL_rireki_tsucho_no_value | KKW01601SF02DBean | - | Returns the passbook number |
| R | getL_rireki_card_kind_value | KKW01601SF02DBean | - | Returns the card type |
| R | getL_rireki_card_kind_cd_value | KKW01601SF02DBean | - | Returns the card type code |
| R | getL_rireki_card_no_value | KKW01601SF02DBean | - | Returns the card number |
| R | getL_rireki_yk_kigen_value | KKW01601SF02DBean | - | Returns the expiry date |
| R | getL_rireki_mk_kigen_value | KKW01601SF02DBean | - | Returns the invalidation date |
| R | getL_rireki_pcd_value | KKW01601SF02DBean | - | Returns the postal code |
| R | getL_rireki_ad_cd_value | KKW01601SF02DBean | - | Returns the address code |
| R | getL_rireki_sofus_ad_value | KKW01601SF02DBean | - | Returns the delivery address |
| R | getL_rireki_sofus_kana_value | KKW01601SF02DBean | - | Returns the delivery Kana name |
| R | getL_rireki_sofus_nm_value | KKW01601SF02DBean | - | Returns the delivery name |
| R | getL_rireki_bkm_value | KKW01601SF02DBean | - | Returns the department name |
| R | getL_rireki_tntsha_nm_value | KKW01601SF02DBean | - | Returns the manager name |
| R | getL_rireki_telno_value | KKW01601SF02DBean | - | Returns the phone number |
| R | getL_color_value | KKW01601SF02DBean | - | Returns the background color |
| R | getL_rireki_sofus_state_value | KKW01601SF02DBean | - | Returns the delivery prefecture |
| R | getL_rireki_sofus_city_value | KKW01601SF02DBean | - | Returns the delivery city/town |
| R | getL_rireki_sofus_oaztsu_value | KKW01601SF02DBean | - | Returns the delivery major street |
| R | getL_rireki_sofus_azcho_value | KKW01601SF02DBean | - | Returns the delivery block/chome |
| R | getL_rireki_sofus_bnchigo_value | KKW01601SF02DBean | - | Returns the delivery block/number |
| R | getL_rireki_sofus_adrttm_value | KKW01601SF02DBean | - | Returns the delivery building name |
| R | getL_rireki_sofus_adrrm_value | KKW01601SF02DBean | - | Returns the delivery room number |
| R | getL_upd_dtm_value | KKW01601SF02DBean | - | Returns the last update datetime |
| R | getL_gene_add_dtm_value | KKW01601SF02DBean | - | Returns the generation registration datetime |
| R | getL_kakins_tstaymd_value | KKW01601SF02DBean | - | Returns the credit application start date |
| R | getL_first_pay_mskmsho_rcp_ymd_value | KKW01601SF02DBean | - | Returns the first payment receipt date |
| R | getL_man_input_flg_value | KKW01601SF02DBean | - | Returns the manual input flag |
| R | getL_kyosei_madoguchi_value | KKW01601SF02DBean | - | Returns the force window value |
| R | getL_kyosei_madoguchi_nm_value | KKW01601SF02DBean | - | Returns the force window flag name |
| R | getL_hojin_cd_value | KKW01601SF02DBean | - | Returns the corporate status code |
| R | getL_hojin_zengo_cd_value | KKW01601SF02DBean | - | Returns the corporate status designation code |
| R | getL_upd_dtm_seiky_kei_value | KKW01601SF02DBean | - | Returns the last update billing contract datetime |
| R | getL_rireki_aply_ymd_mskb_value | KKW01601SF02DBean | - | Returns the effective date mask hold value |
| R | getL_rireki_adj_ymd_mskb_value | KKW01601SF02DBean | - | Returns the adjustment date mask hold value |
| R | getL_rireki_seiky_kei_nm_mskb_value | KKW01601SF02DBean | - | Returns the biller name mask hold value |
| R | getL_rireki_seiky_kei_kana_mskb_value | KKW01601SF02DBean | - | Returns the billing Kana mask hold value |
| R | getL_rireki_seiky_kei_romaji_mskb_value | KKW01601SF02DBean | - | Returns the billing Romaji mask hold value |
| R | getL_rireki_first_seiky_mskb_value | KKW01601SF02DBean | - | Returns the first billing month mask hold value |
| R | getL_rireki_bank_nm_mskb_value | KKW01601SF02DBean | - | Returns the bank name mask hold value |
| R | getL_rireki_shiten_nm_mskb_value | KKW01601SF02DBean | - | Returns the branch name mask hold value |
| R | getL_rireki_bank_cd_mskb_value | KKW01601SF02DBean | - | Returns the bank code mask hold value |
| R | getL_rireki_shiten_cd_mskb_value | KKW01601SF02DBean | - | Returns the branch code mask hold value |
| R | getL_rireki_koza_no_mskb_value | KKW01601SF02DBean | - | Returns the account number mask hold value |
| R | getL_rireki_tsucho_symbol_mskb_value | KKW01601SF02DBean | - | Returns the passbook symbol mask hold value |
| R | getL_rireki_tsucho_no_mskb_value | KKW01601SF02DBean | - | Returns the passbook number mask hold value |
| R | getL_rireki_card_no_mskb_value | KKW01601SF02DBean | - | Returns the card number mask hold value |
| R | getL_rireki_yk_kigen_mskb_value | KKW01601SF02DBean | - | Returns the expiry date mask hold value |
| R | getSeiky_way_no_crecard_value | KKW01601SF02DBean | - | Returns the payment method number (credit card) |
| R | getCrecard_stat_value | KKW01601SF02DBean | - | Returns the credit card status |
| R | getSeiky_way_no_koza_value | KKW01601SF02DBean | - | Returns the payment method number (account) |
| R | getL_yk_cfm_rslt_div_value | KKW01601SF02DBean | - | Returns the validity check result category |
| R | getL_pay_skekka_ng_rsn_cd_koza_value | KKW01601SF02DBean | - | Returns the payment review NG reason code (account) |
| R | getL_pay_skekka_ng_rsn_memo_koza_value | KKW01601SF02DBean | - | Returns the payment review NG reason memo (account) |
| R | getL_koza_meigin_kanji_value | KKW01601SF02DBean | - | Returns the account holder name in Kanji |
| R | getL_pay_judge_reqymd_koza_value | KKW01601SF02DBean | - | Returns the payment review request date (account) |
| R | getL_out_khri_judge_fin_ymd_value | KKW01601SF02DBean | - | Returns the external account transfer review completion date |
| R | getL_pay_skekka_ng_rsn_cd_cre_value | KKW01601SF02DBean | - | Returns the payment review NG reason code (credit) |
| R | getL_pay_skekka_ng_rsn_memo_cre_value | KKW01601SF02DBean | - | Returns the payment review NG reason memo (credit) |
| R | getL_pay_judge_reqymd_cre_value | KKW01601SF02DBean | - | Returns the payment review request date (credit) |
| R | getL_credit_kokan_cd_value | KKW01601SF02DBean | - | Returns the credit exchange code |
| R | getL_crecard_nm_romaji_value | KKW01601SF02DBean | - | Returns the credit card holder name in Romaji |
| R | getL_authori_cfm_dtm_value | KKW01601SF02DBean | - | Returns the authorization confirmation datetime |
| R | getL_authori_shonin_no_value | KKW01601SF02DBean | - | Returns the authorization approval number |
| R | getPaywaytcml_ctl_cd_value | KKW01601SF02DBean | - | Returns the payment method notification email control code |
| R | getL_rireki_card_azkri_id_value | KKW01601SF02DBean | - | Returns the card reservation ID |
| R | getL_rireki_card_azkri_id_mskb_value | KKW01601SF02DBean | - | Returns the card reservation ID mask hold value |
| R | getShikosaki_comp_cd_value | KKW01601SF02DBean | - | Returns the destination company code |
| R | getL_rireki_aply_ymd_f_value | KKW01601SF02DBean | - | Returns the effective date initial value |
| R | getL_rireki_ido_div_value | KKW01601SF02DBean | - | Returns the movement category |
| R | getL_rireki_seiky_crecard_comp_nm_value | KKW01601SF02DBean | - | Returns the billing card company name |
| R | getL_rireki_card_sbt_value | KKW01601SF02DBean | - | Returns the card category |
| R | getL_rireki_kokunai_kaigai_value | KKW01601SF02DBean | - | Returns the domestic/overseas flag |
| R | getL_rireki_koza_payway_uk_div_cd_value | KKW01601SF02DBean | - | Returns the account payment method category code |
| R | getL_rireki_payway_bk_value | KKW01601SF02DBean | - | Returns the payment method avoidance flag |
| R | getL_rireki_koza_payway_uk_div_bk_value | KKW01601SF02DBean | - | Returns the account payment category avoidance flag |

## 5. Dependency Trace

No callers were found via static search. This method is likely called dynamically at runtime through the framework's view binding system (where the screen passes key/subkey strings at runtime to the bean), or its callers use reflection/dynamic dispatch that static search cannot resolve.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Unknown (dynamic dispatch via framework) | Screen view binding -> KKW01601SF02DBean.loadModelData(key, subkey) | No external SC/CBS/DB calls -- all reads are bean property accessors |

**Notes:**
- The method is pure read with no external dependencies -- no SC codes, no CBS calls, no DB operations
- All called methods are internal bean getters (KKW01601SF02DBean.*)
- No SC Codes or Entity/DB tables are involved in this method

## 6. Per-Branch Detail Blocks

### Block 1 -- IF (Null check) (L3068)

> Guard clause: if either parameter is null, return null immediately.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(key == null || subkey == null)` |
| 2 | RETURN | `return null;` |

### Block 2 -- ASSIGN (Separator search) (L3072)

> Searches for "/" in key. Result is stored but not used in this method.

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

### Block 3 -- IF-ELSE IF-ELSE CHAIN (Key Dispatch) (L3074-L4171)

> Main dispatch: 80+ branches, each matching a Japanese field name literal.

**Block 3.1** -- [IF] `key.equals("選択")` (L3074)
> Special select field with value/enable/state.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 2 | CALL | `return getL_sel_value();` |
| 3 | ELSE-IF | `else if(subkey.equalsIgnoreCase("enable"))` // 日本語では enable の場合、l_sel_enable の getter の戻り値を返す (If subkey is "enable", return getter value of l_sel_enable) |
| 4 | CALL | `return getL_sel_enabled();` |
| 5 | ELSE-IF | `else if(subkey.equalsIgnoreCase("state"))` // 日本語では state の場合、ステータスを返す (If subkey is "state", return status) |
| 6 | CALL | `return getL_sel_state();` |

**Block 3.2** -- [ELSE-IF] `key.equals("請求契約番号")` (L3083)
> Billing contract number field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 2 | CALL | `return getL_rireki_seiky_kei_no_value();` |
| 3 | ELSE-IF | `else if(subkey.equalsIgnoreCase("enable"))` // enable の場合、l_rireki_seiky_kei_no_enable の getter の戻り値を返す (If enable, return getter value of l_rireki_seiky_kei_no_enable) |
| 4 | CALL | `return getL_rireki_seiky_kei_no_enabled();` |
| 5 | ELSE-IF | `else if(subkey.equalsIgnoreCase("state"))` // state の場合、ステータスを返す (If state, return status) |
| 6 | CALL | `return getL_rireki_seiky_kei_no_state();` |

**Block 3.3** -- [ELSE-IF] `key.equals("支払審検結果")` (L3095)
> Payment review result field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 2 | CALL | `return getL_rireki_pay_skekka_value();` |
| 3 | ELSE-IF | `else if(subkey.equalsIgnoreCase("enable"))` // enable の場合、l_rireki_pay_skekka_enable の getter の戻り値を返す |
| 4 | CALL | `return getL_rireki_pay_skekka_enabled();` |
| 5 | ELSE-IF | `else if(subkey.equalsIgnoreCase("state"))` // state の場合、ステータスを返す |
| 6 | CALL | `return getL_rireki_pay_skekka_state();` |

**Block 3.4** -- [ELSE-IF] `key.equals("支払審検結果コード")` (L3107)
> Payment review result code -- only value and state (no enable).

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 2 | CALL | `return getL_rireki_pay_skekka_cd_value();` |
| 3 | ELSE-IF | `else if(subkey.equalsIgnoreCase("enable"))` |
| 4 | CALL | `return getL_rireki_pay_skekka_cd_enabled();` |
| 5 | ELSE-IF | `else if(subkey.equalsIgnoreCase("state"))` // state の場合、ステータスを返す |
| 6 | CALL | `return getL_rireki_pay_skekka_cd_state();` |

**Block 3.5** -- [ELSE-IF] `key.equals("適用年月日")` (L3119)
> Effective application date.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 2 | CALL | `return getL_rireki_aply_ymd_value();` |
| 3 | ELSE-IF | `else if(subkey.equalsIgnoreCase("enable"))` // enable の場合、l_rireki_aply_ymd_enable の getter の戻り値を返す |
| 4 | CALL | `return getL_rireki_aply_ymd_enabled();` |
| 5 | ELSE-IF | `else if(subkey.equalsIgnoreCase("state"))` // state の場合、ステータスを返す |
| 6 | CALL | `return getL_rireki_aply_ymd_state();` |

**Block 3.6** -- [ELSE-IF] `key.equals("終了年月日")` (L3131)
> End date.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 2 | CALL | `return getL_rireki_end_ymd_value();` |
| 3 | ELSE-IF | `else if(subkey.equalsIgnoreCase("enable"))` // enable の場合、l_rireki_end_ymd_enable の getter の戻り値を返す |
| 4 | CALL | `return getL_rireki_end_ymd_enabled();` |
| 5 | ELSE-IF | `else if(subkey.equalsIgnoreCase("state"))` // state の場合、ステータスを返す |
| 6 | CALL | `return getL_rireki_end_ymd_state();` |

**Block 3.7** -- [ELSE-IF] `key.equals("調整日")` (L3143)
> Adjustment date.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 2 | CALL | `return getL_rireki_adj_ymd_value();` |
| 3 | ELSE-IF | `else if(subkey.equalsIgnoreCase("enable"))` // enable の場合、l_rireki_adj_ymd_enable の getter の戻り値を返す |
| 4 | CALL | `return getL_rireki_adj_ymd_enabled();` |
| 5 | ELSE-IF | `else if(subkey.equalsIgnoreCase("state"))` // state の場合、ステータスを返す |
| 6 | CALL | `return getL_rireki_adj_ymd_state();` |

**Block 3.8** -- [ELSE-IF] `key.equals("支払方法")` (L3155)
> Payment method.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 2 | CALL | `return getL_rireki_payway_value();` |
| 3 | ELSE-IF | `else if(subkey.equalsIgnoreCase("enable"))` // enable の場合、l_rireki_payway_enable の getter の戻り値を返す |
| 4 | CALL | `return getL_rireki_payway_enabled();` |
| 5 | ELSE-IF | `else if(subkey.equalsIgnoreCase("state"))` // state の場合、ステータスを返す |
| 6 | CALL | `return getL_rireki_payway_state();` |

**Block 3.9** -- [ELSE-IF] `key.equals("支払方法コード")` (L3167)
> Payment method code -- only value and state (no enable).

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 2 | CALL | `return getL_rireki_payway_cd_value();` |
| 3 | ELSE-IF | `else if(subkey.equalsIgnoreCase("state"))` // state の場合、ステータスを返す |
| 4 | CALL | `return getL_rireki_payway_cd_state();` |

**Block 3.10** -- [ELSE-IF] `key.equals("請求先名")` (L3176)
> Biller name.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 2 | CALL | `return getL_rireki_seiky_kei_nm_value();` |
| 3 | ELSE-IF | `else if(subkey.equalsIgnoreCase("enable"))` // enable の場合、l_rireki_seiky_kei_nm_enable の getter の戻り値を返す |
| 4 | CALL | `return getL_rireki_seiky_kei_nm_enabled();` |
| 5 | ELSE-IF | `else if(subkey.equalsIgnoreCase("state"))` // state の場合、ステータスを返す |
| 6 | CALL | `return getL_rireki_seiky_kei_nm_state();` |

> **Note:** The remaining key branches (3.11 through 3.59) follow the identical pattern. Each is an else-if comparing key against a Japanese field name literal, with subkey sub-branches for value/enable/state. Key field groups represented:
>
> - **Block 3.11-3.13:** 請求契約カナ名, 請求契約ローマ字 (contract Kana/Romaji names)
> - **Block 3.14-3.15:** 初回請求月, 請求書発行要否 (first billing month, invoice issue flag)
> - **Block 3.16-3.17:** 請求書発行要否コード (invoice issue code, no enable)
> - **Block 3.18-3.21:** 金融機関名, 支店名, 金融機関コード, 支店コード (bank name, branch name, bank code, branch code)
> - **Block 3.22-3.25:** 口座番号, 預金種類, 預金種類コード, 通帳記号 (account number, deposit type, deposit code, passbook symbol)
> - **Block 3.26-3.27:** 通帳番号, カード種類, カード種類コード (passbook number, card type, card type code)
> - **Block 3.28-3.30:** カード番号, 有効期限, 無効年月 (card number, expiry date, invalidation date)
> - **Block 3.31-3.34:** 郵便番号, 住所コード, 送付先住所, 送付先カナ名 (postal code, address code, delivery address, delivery Kana)
> - **Block 3.35-3.38:** 送付先名, 部課名, 担当者名, 電話番号 (delivery name, department, manager, phone)
> - **Block 3.39-3.40:** 背景色, 送付先住所都道府県 (background color, delivery prefecture)
> - **Block 3.41-3.47:** 送付先住所市区町村 through 送付先住所部屋番号 (delivery address components -- city, street, block, number, building, room -- all value/state only, no enable)
> - **Block 3.48-3.50:** 更新年月日時分秒, 世代登録年月日時分秒, 勘金先適用開始年月日, 初回支払申込む受領年月日 (update datetime, registration datetime, credit start date, first payment receipt date)
> - **Block 3.51-3.54:** 手動入力フラグ, 強制窗口, 強制窗口フラグ名称, 法人格種類コード, 法人格前後指定コード (manual input flag, force window, force window flag name, corporate status code, corporate designation code)
> - **Block 3.55-3.70:** 最終更新年月日時分秒請求契約 and all mask保持 (mask hold) fields -- effective date, adjustment date, biller name, contract Kana, contract Romaji, first billing month, bank name, branch name, bank code, branch code, account number, passbook symbol, passbook number, card number, expiry date
> - **Block 3.71-3.73:** 請求方法番号（クレジットカード）, クレジットカードステータス, 請求方法番号（口座） (payment method no credit, credit card status, payment method no account)
> - **Block 3.74-3.81:** 有効性確認結果区分, 支払い審検結果.NG理由コード（口座/クレジット）, 支払い審検結果.NG理由メモ（口座/クレジット）, 支払審検依頼年月日（口座/クレジット）, 外部口振審検完了年月日, 口座名義人（漢字） (validity check result, payment review NG code/memo account/credit, payment review request date account/credit, external review completion date, account holder Kanji)
> - **Block 3.82-3.86:** クレジット交換コード, クレジットカード名義（ローマ字）, オーソリ確認年月日時分秒, オーソリ承認番号, 支払方法通知メール制御コード (credit exchange code, credit card holder Romaji, auth confirmation datetime, auth approval number, payment method notification email control)
> - **Block 3.87-3.88:** カード予約ID, カード予約IDマスク保持 (card reservation ID, card reservation ID mask hold)
> - **Block 3.89-3.90:** 仕向け先会社コード, 適用年月日初期値 (destination company code, effective date initial value)
> - **Block 3.91-3.92:** 異動区分, 請求カード会社名 (movement category, billing card company name)
> - **Block 3.93-3.94:** カード種別, 国内／海外 (card category, domestic/overseas)
> - **Block 3.95-3.97:** 口座支払方法受払区分コード, 支払方法回避, 口座支払方法受払区分回避 (account payment category code, payment method avoidance, account payment category avoidance)

**Block 6.N** -- [ELSE] No match (L4170)

> No matching property found.

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

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `l_rireki_seiky_kei_no` | Field | Billing contract number -- the contract reference number for billing history |
| `l_rireki_pay_skekka` | Field | Payment review result -- the outcome of payment method review/approval |
| `l_rireki_payway` | Field | Payment method -- how the customer pays (bank transfer, credit card, etc.) |
| `l_rireki_bank_nm` | Field | Financial institution name -- the bank or credit union for bank transfer payments |
| `l_rireki_shiten_nm` | Field | Branch name -- the bank branch where the payment account is held |
| `l_rireki_koza_no` | Field | Account number -- the bank account number for transfer payments |
| `l_rireki_card_no` | Field | Card number -- the credit card number for card payments |
| `l_rireki_pcd` | Field | Postal code -- the customer's postal code for billing mail |
| `l_rireki_sofus_ad` | Field | Delivery address -- the address where billing statements are sent |
| `l_rireki_aply_ymd` | Field | Effective date -- the date the billing arrangement becomes active |
| `l_rireki_end_ymd` | Field | End date -- the date the billing arrangement ends |
| `l_rireki_adj_ymd` | Field | Adjustment date -- the date of any billing adjustments |
| `crecard_stat` | Field | Credit card status -- the current status of the credit card registration |
| `seiky_way_no_crecard` | Field | Payment method number (credit card) -- the internal payment method identifier for credit card billing |
| `l_credit_kokan_cd` | Field | Credit exchange code -- the code used for credit card data exchange |
| `l_authori_cfm_dtm` | Field | Authorization confirmation datetime -- when the credit card authorization was confirmed |
| `l_authori_shonin_no` | Field | Authorization approval number -- the authorization reference number |
| `l_paywaytcml_ctl_cd` | Field | Payment method notification email control code -- controls whether payment method confirmation emails are sent |
| `l_yk_cfm_rslt_div` | Field | Validity check result category -- categorizes the result of account/credit card validity checks |
| `l_pay_skekka_ng_rsn_cd_koza` | Field | Payment review NG reason code (account) -- why an account payment review failed |
| `l_pay_skekka_ng_rsn_cd_cre` | Field | Payment review NG reason code (credit) -- why a credit payment review failed |
| `l_koza_meigin_kanji` | Field | Account holder name (Kanji) -- the account holder name in Japanese Kanji characters |
| `l_hojin_cd` | Field | Corporate status code -- the classification code for the customer's corporate status |
| `l_hojin_zengo_cd` | Field | Corporate status designation code -- designation indicating before/after corporate status change |
| `l_man_input_flg` | Field | Manual input flag -- indicates whether the field was manually entered vs system-generated |
| `l_kyosei_madoguchi` | Field | Force window -- an emergency/administrative entry window for special handling |
| `l_rireki_aply_ymd_mskb` | Field | Effective date mask hold -- masked version of the effective date for display |
| `l_rireki_card_azkri_id` | Field | Card reservation ID -- the reservation identifier for the credit card |
| `l_rireki_seiky_crecard_comp_nm` | Field | Billing card company name -- the name of the credit card company that issues bills |
| `l_rireki_card_sbt` | Field | Card category -- the type/classification of the credit card |
| `l_rireki_kokunai_kaigai` | Field | Domestic/Overseas -- flag indicating whether the card is for domestic or international use |
| `l_rireki_payway_bk` | Field | Payment method avoidance -- flag indicating whether payment method was avoided/skipped |
| `l_rireki_ido_div` | Field | Movement category -- the type of data movement (addition, modification, cancellation) |
| `shikosaki_comp_cd` | Field | Destination company code -- the code of the destination company for the order |
| `seiky_way_no_koza` | Field | Payment method number (account) -- the internal payment method identifier for bank account billing |
| `paywaytcml_ctl_cd` | Field | Payment method notification email control code -- controls email notifications for payment method changes |
| `OUT_KHRI_JUDGE` | Field | External account transfer review completion date -- when the external account transfer review was completed |
| 請求契約番号 | Field (Japanese) | Billing contract number -- the contract reference for billing history |
| 支払審検結果 | Field (Japanese) | Payment review result -- the outcome of payment review |
| 支払方法 | Field (Japanese) | Payment method -- how payment is made |
| 金融機関名 | Field (Japanese) | Financial institution name -- the bank or credit union |
| 口座番号 | Field (Japanese) | Account number -- the bank account number |
| カード番号 | Field (Japanese) | Card number -- the credit card number |
| 郵便番号 | Field (Japanese) | Postal code -- the customer's postal code |
| 送付先住所 | Field (Japanese) | Delivery address -- where billing statements are sent |
| 背景色 | Field (Japanese) | Background color -- the UI background color for display fields |
| 更新年月日 | Field (Japanese) | Update datetime -- last modification timestamp |
| 手動入力フラグ | Field (Japanese) | Manual input flag -- indicates manual vs system entry |
| 強制窗口 | Field (Japanese) | Force window -- administrative entry window for special handling |
| 法人格 | Field (Japanese) | Corporate status -- the customer's corporate classification |
| 適用年月日 | Field (Japanese) | Effective date -- when the arrangement takes effect |
| 請求方法番号 | Field (Japanese) | Payment method number -- internal payment method identifier |
| クレジットカード | Field (Japanese) | Credit card -- credit card billing method |
| 口座払 | Field (Japanese) | Account payment -- bank account transfer billing method |
| 支払審検NG | Field (Japanese) | Payment review NG -- failed payment review |
| クレジット交換 | Field (Japanese) | Credit exchange -- credit card data exchange |
| オーソリ | Field (Japanese) | Authorization -- credit card authorization process |
| 仕向け先 | Field (Japanese) | Destination -- the target/destination company |
| 異動区分 | Field (Japanese) | Movement category -- type of data change (add/modify/cancel) |
| カード種別 | Field (Japanese) | Card category -- type of credit card |
| 回避 | Field (Japanese) | Avoidance -- whether payment method was avoided/skipped |
| 選択 | Field (Japanese) | Select -- a selection field for UI dropdowns |
| enable | Subkey | UI enabled/disabled flag -- controls whether the field is editable |
| state | Subkey | Component state string -- string representation of component state |
| value | Subkey | Actual field data -- the primary data value of the field |
| _mskb | Field suffix | Mask hold -- masked/obfuscated version of a data field for display |
| 日本電気 | Entity | NEC Corporation -- the system manufacturer (context from JZEStrConst) |
