# Business Logic — KKW01030SF02DBean.loadModelData() [286 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA15101SF.KKW01030SF02DBean` |
| Layer | Web View Data Bean / UI Framework Component |
| Module | `KKA15101SF` (Package: `eo.web.webview.KKA15101SF`) |

## 1. Role

### KKW01030SF02DBean.loadModelData()

This method serves as the **central data accessor** for the KKW01030SF02 screen's detail bean. It implements a **routing/dispatch pattern** that maps a human-readable project name (key) and a property descriptor (subkey) to the appropriate field getter on the bean instance. This is the framework's standard way for web view pages to dynamically access bean properties by string-based keys rather than hard-coded method calls — enabling a generic data-binding mechanism where the presentation layer iterates over project IDs and delegates to this method to resolve actual values.

The method handles **23 distinct project types** (items) used across the KKW01030SF02 screen, each representing a field in a telecom service contract/order management domain — including item counts, selection flags, billing flags, campaign identifiers, status codes, dates, discount codes, and penalty codes. Each project supports between 2 and 3 subkeys: "value" (the actual data value), "enable" (the enabled/disabled UI state), and "state" (the display/validation status). The method returns `Object` to accommodate both `String` and `Boolean` data types transparently.

No external services, databases, or business components are called — this is a pure **getter delegation** method. It operates entirely on the bean's own instance fields.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["loadModelData key, subkey"])
    START --> CheckNull{key == null or
subkey == null}
    CheckNull -->|true| ReturnNull1(["return null"])
    CheckNull -->|false| FirstBranch{if key equals
番号 2 件数}
    FirstBranch -->|true| No_cnt["番号 2 件数
item_id:no_cnt"]
    No_cnt --> No_cntSubkey{subkey equalsIgnoreCase}
    No_cntSubkey -->|value| GC_No_cnt_val["getNo_cnt_value"]
    No_cntSubkey -->|enable| GC_No_cnt_en["getNo_cnt_enabled"]
    No_cntSubkey -->|state| GC_No_cnt_st["getNo_cnt_state"]
    No_cntSubkey -->|default| Branch2{if key equals
選択}
    GC_No_cnt_val --> ReturnVal1(["return value"])
    GC_No_cnt_en --> ReturnVal1
    GC_No_cnt_st --> ReturnVal1
    Branch2 -->|true| Choice["選択
item_id:choice"]
    Choice --> ChoiceSubkey{subkey equalsIgnoreCase}
    ChoiceSubkey -->|value| GC_Choice_val["getChoice_value"]
    ChoiceSubkey -->|enable| GC_Choice_en["getChoice_enabled"]
    ChoiceSubkey -->|state| GC_Choice_st["getChoice_state"]
    ChoiceSubkey -->|default| Branch3{if key equals
課金要否フラグ}
    GC_Choice_val --> ReturnVal2(["return value"])
    GC_Choice_en --> ReturnVal2
    GC_Choice_st --> ReturnVal2
    Branch3 -->|true| Kakin_yohi["課金要否フラグ
item_id:kakin_yohi"]
    Kakin_yohi --> KakinSubkey{subkey equalsIgnoreCase}
    KakinSubkey -->|value| GC_Kakin_val["getKakin_yohi_value"]
    KakinSubkey -->|state| GC_Kakin_st["getKakin_yohi_state"]
    KakinSubkey -->|default| Branch4{if key equals
課金要否フラグ名称}
    GC_Kakin_val --> ReturnVal3(["return value"])
    GC_Kakin_st --> ReturnVal3
    Branch4 -->|true| Kakin_nm["課金要否フラグ名称
item_id:kakin_yohi_nm"]
    Kakin_nm --> KakinNmSubkey{subkey equalsIgnoreCase}
    KakinNmSubkey -->|value| GC_Kakin_nm_val["getKakin_yohi_nm_value"]
    KakinNmSubkey -->|enable| GC_Kakin_nm_en["getKakin_yohi_nm_enabled"]
    KakinNmSubkey -->|state| GC_Kakin_nm_st["getKakin_yohi_nm_state"]
    KakinNmSubkey -->|default| Branch5{if key equals
番号}
    GC_Kakin_nm_val --> ReturnVal4(["return value"])
    GC_Kakin_nm_en --> ReturnVal4
    GC_Kakin_nm_st --> ReturnVal4
    Branch5 -->|true| No_item["番号
item_id:no"]
    No_item --> NoSubkey{subkey equalsIgnoreCase}
    NoSubkey -->|value| GC_No_val["getNo_value"]
    NoSubkey -->|state| GC_No_st2["getNo_state"]
    NoSubkey -->|default| Branch6{if key equals
契約種別}
    GC_No_val --> ReturnVal5(["return value"])
    GC_No_st2 --> ReturnVal5
    Branch6 -->|true| Kei_kind["契約種別
item_id:kei_kind"]
    Kei_kind --> KeiSubkey{subkey equalsIgnoreCase}
    KeiSubkey -->|value| GC_Kei_val["getKei_kind_value"]
    KeiSubkey -->|state| GC_Kei_st["getKei_kind_state"]
    KeiSubkey -->|default| Branch7{if key equals
更新年月日時刻更新前}
    GC_Kei_val --> ReturnVal6(["return value"])
    GC_Kei_st --> ReturnVal6
    Branch7 -->|true| Upd_dtm["更新年月日時刻更新前
item_id:upd_dtm_bf"]
    Upd_dtm --> UpdSubkey{subkey equalsIgnoreCase}
    UpdSubkey -->|value| GC_Upd_val["getUpd_dtm_bf_value"]
    UpdSubkey -->|state| GC_Upd_st["getUpd_dtm_bf_state"]
    UpdSubkey -->|default| Branch8{if key equals
キャンペーンコード}
    GC_Upd_val --> ReturnVal7(["return value"])
    GC_Upd_st --> ReturnVal7
    Branch8 -->|true| CampCd["キャンペーンコード
item_id:campaign_cd"]
    CampCd --> CampCdSubkey{subkey equalsIgnoreCase}
    CampCdSubkey -->|value| GC_CampCd_val["getCampaign_cd_value"]
    CampCdSubkey -->|enable| GC_CampCd_en["getCampaign_cd_enabled"]
    CampCdSubkey -->|state| GC_CampCd_st["getCampaign_cd_state"]
    CampCdSubkey -->|default| Branch9{if key equals
キャンペーン名}
    GC_CampCd_val --> ReturnVal8(["return value"])
    GC_CampCd_en --> ReturnVal8
    GC_CampCd_st --> ReturnVal8
    Branch9 -->|true| CampNm["キャンペーン名
item_id:campaign_nm"]
    CampNm --> CampNmSubkey{subkey equalsIgnoreCase}
    CampNmSubkey -->|value| GC_CampNm_val["getCampaign_nm_value"]
    CampNmSubkey -->|enable| GC_CampNm_en["getCampaign_nm_enabled"]
    CampNmSubkey -->|state| GC_CampNm_st["getCampaign_nm_state"]
    CampNmSubkey -->|default| Branch10{if key equals
ステータス}
    GC_CampNm_val --> ReturnVal9(["return value"])
    GC_CampNm_en --> ReturnVal9
    GC_CampNm_st --> ReturnVal9
    Branch10 -->|true| Stat["ステータス
item_id:stat"]
    Stat --> StatSubkey{subkey equalsIgnoreCase}
    StatSubkey -->|value| GC_Stat_val["getStat_value"]
    StatSubkey -->|state| GC_Stat_st2["getStat_state"]
    StatSubkey -->|default| Branch11{if key equals
ステータス名称}
    GC_Stat_val --> ReturnVal10(["return value"])
    GC_Stat_st2 --> ReturnVal10
    Branch11 -->|true| StatNm["ステータス名称
item_id:stat_nm"]
    StatNm --> StatNmSubkey{subkey equalsIgnoreCase}
    StatNmSubkey -->|value| GC_StatNm_val["getStat_nm_value"]
    StatNmSubkey -->|enable| GC_StatNm_en["getStat_nm_enabled"]
    StatNmSubkey -->|state| GC_StatNm_st["getStat_nm_state"]
    StatNmSubkey -->|default| Branch12{if key equals
タイプコード}
    GC_StatNm_val --> ReturnVal11(["return value"])
    GC_StatNm_en --> ReturnVal11
    GC_StatNm_st --> ReturnVal11
    Branch12 -->|true| TypeCd["タイプコード
item_id:type_cd"]
    TypeCd --> TypeCdSubkey{subkey equalsIgnoreCase}
    TypeCdSubkey -->|value| GC_TypeCd_val["getType_cd_value"]
    TypeCdSubkey -->|state| GC_TypeCd_st["getType_cd_state"]
    TypeCdSubkey -->|default| Branch13{if key equals
タイプコード名称}
    GC_TypeCd_val --> ReturnVal12(["return value"])
    GC_TypeCd_st --> ReturnVal12
    Branch13 -->|true| TypeCdNm["タイプコード名称
item_id:type_cd_nm"]
    TypeCdNm --> TypeNmSubkey{subkey equalsIgnoreCase}
    TypeNmSubkey -->|value| GC_TypeNm_val["getType_cd_nm_value"]
    TypeNmSubkey -->|enable| GC_TypeNm_en["getType_cd_nm_enabled"]
    TypeNmSubkey -->|state| GC_TypeNm_st2["getType_cd_nm_state"]
    TypeNmSubkey -->|default| Branch14{if key equals
即時適用フラグ}
    GC_TypeNm_val --> ReturnVal13(["return value"])
    GC_TypeNm_en --> ReturnVal13
    GC_TypeNm_st2 --> ReturnVal13
    Branch14 -->|true| AplyJun["即時適用フラグ
item_id:aply_jun"]
    AplyJun --> AplySubkey{subkey equalsIgnoreCase}
    AplySubkey -->|value| GC_Aply_val["getAply_jun_value"]
    AplySubkey -->|state| GC_Aply_st["getAply_jun_state"]
    AplySubkey -->|default| Branch15{if key equals
即時適用フラグ名称}
    GC_Aply_val --> ReturnVal14(["return value"])
    GC_Aply_st --> ReturnVal14
    Branch15 -->|true| AplyNm["即時適用フラグ名称
item_id:aply_jun_nm"]
    AplyNm --> AplyNmSubkey{subkey equalsIgnoreCase}
    AplyNmSubkey -->|value| GC_AplyNm_val["getAply_jun_nm_value"]
    AplyNmSubkey -->|enable| GC_AplyNm_en["getAply_jun_nm_enabled"]
    AplyNmSubkey -->|state| GC_AplyNm_st2["getAply_jun_nm_state"]
    AplyNmSubkey -->|default| Branch16{if key equals
申請年月日}
    GC_AplyNm_val --> ReturnVal15(["return value"])
    GC_AplyNm_en --> ReturnVal15
    GC_AplyNm_st2 --> ReturnVal15
    Branch16 -->|true| MskmYmd["申請年月日
item_id:mskm_ymd"]
    MskmYmd --> MskmSubkey{subkey equalsIgnoreCase}
    MskmSubkey -->|value| GC_Mskm_val["getMskm_ymd_value"]
    MskmSubkey -->|enable| GC_Mskm_en["getMskm_ymd_enabled"]
    MskmSubkey -->|state| GC_Mskm_st2["getMskm_ymd_state"]
    MskmSubkey -->|default| Branch17{if key equals
開始年月日}
    GC_Mskm_val --> ReturnVal16(["return value"])
    GC_Mskm_en --> ReturnVal16
    GC_Mskm_st2 --> ReturnVal16
    Branch17 -->|true| Staymd["開始年月日
item_id:staymd"]
    Staymd --> StaySubkey{subkey equalsIgnoreCase}
    StaySubkey -->|value| GC_Stay_val["getStaymd_value"]
    StaySubkey -->|enable| GC_Stay_en["getStaymd_enabled"]
    StaySubkey -->|state| GC_Stay_st["getStaymd_state"]
    StaySubkey -->|default| Branch18{if key equals
終了年月日}
    GC_Stay_val --> ReturnVal17(["return value"])
    GC_Stay_en --> ReturnVal17
    GC_Stay_st --> ReturnVal17
    Branch18 -->|true| Endymd["終了年月日
item_id:endymd"]
    Endymd --> EndSubkey{subkey equalsIgnoreCase}
    EndSubkey -->|value| GC_End_val["getEndymd_value"]
    EndSubkey -->|enable| GC_End_en["getEndymd_enabled"]
    EndSubkey -->|state| GC_End_st2["getEndymd_state"]
    EndSubkey -->|default| Branch19{if key equals
割引サービスコード}
    GC_End_val --> ReturnVal18(["return value"])
    GC_End_en --> ReturnVal18
    GC_End_st2 --> ReturnVal18
    Branch19 -->|true| WribSvc["割引サービスコード
item_id:wrib_svc_cd"]
    WribSvc --> WribSubkey{subkey equalsIgnoreCase}
    WribSubkey -->|value| GC_Wrib_val["getWrib_svc_cd_value"]
    WribSubkey -->|enable| GC_Wrib_en["getWrib_svc_cd_enabled"]
    WribSubkey -->|state| GC_Wrib_st2["getWrib_svc_cd_state"]
    WribSubkey -->|default| Branch20{if key equals
違約金コード}
    GC_Wrib_val --> ReturnVal19(["return value"])
    GC_Wrib_en --> ReturnVal19
    GC_Wrib_st2 --> ReturnVal19
    Branch20 -->|true| PnltyCd["違約金コード
item_id:pnlty_cd"]
    PnltyCd --> PnltySubkey{subkey equalsIgnoreCase}
    PnltySubkey -->|value| GC_Pnlty_val["getPnlty_cd_value"]
    PnltySubkey -->|enable| GC_Pnlty_en["getPnlty_cd_enabled"]
    PnltySubkey -->|state| GC_Pnlty_st2["getPnlty_cd_state"]
    PnltySubkey -->|default| Branch21{if key equals
前月解約}
    GC_Pnlty_val --> ReturnVal20(["return value"])
    GC_Pnlty_en --> ReturnVal20
    GC_Pnlty_st2 --> ReturnVal20
    Branch21 -->|true| WribGetu["前月解約
item_id:wrib_svc_kei_zengetu_kaiyaku"]
    WribGetu --> GetuSubkey{subkey equalsIgnoreCase}
    GetuSubkey -->|value| GC_Getu_val["getWrib_svc_kei_zengetu_kaiyaku_value"]
    GetuSubkey -->|enable| GC_Getu_en["getWrib_svc_kei_zengetu_kaiyaku_enabled"]
    GetuSubkey -->|state| GC_Getu_st["getWrib_svc_kei_zengetu_kaiyaku_state"]
    GetuSubkey -->|default| Branch22{if key equals
前月解約フラグ}
    GC_Getu_val --> ReturnVal21(["return value"])
    GC_Getu_en --> ReturnVal21
    GC_Getu_st --> ReturnVal21
    Branch22 -->|true| WribFlg["前月解約フラグ
item_id:wrib_svc_kei_zengetu_kaiyaku_flg"]
    WribFlg --> FlgSubkey{subkey equalsIgnoreCase}
    FlgSubkey -->|value| GC_Flg_val["getWrib_svc_kei_zengetu_kaiyaku_flg_value"]
    FlgSubkey -->|state| GC_Flg_st["getWrib_svc_kei_zengetu_kaiyaku_flg_state"]
    FlgSubkey -->|default| Branch23{if key equals
同一回線フラグ}
    GC_Flg_val --> ReturnVal22(["return value"])
    GC_Flg_st --> ReturnVal22
    Branch23 -->|true| SameKaisen["同一回線フラグ
item_id:same_kaisen_flg"]
    SameKaisen --> SameSubkey{subkey equalsIgnoreCase}
    SameSubkey -->|value| GC_Same_val["getSame_kaisen_flg_value"]
    SameSubkey -->|state| GC_Same_st2["getSame_kaisen_flg_state"]
    SameSubkey -->|default| Fallthrough
    GC_Same_val --> ReturnVal23(["return value"])
    GC_Same_st2 --> ReturnVal23
    Fallthrough --> ReturnNull2(["return null"])
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | The human-readable project name (item label) used as a lookup key. Represents one of 23 display fields on the KKW01030SF02 screen, such as "番号" (Item No.), "キャンペーンコード" (Campaign Code), "契約種別" (Contract Type), or "開始年月日" (Start Date). Determines which bean field getter chain is invoked. |
| 2 | `subkey` | `String` | The property descriptor that selects which aspect of the matched project to return. Can be "value" (the actual data value), "enable" (the UI enabled/disabled state), or "state" (the display/validation state). Case-insensitive comparison is used. |

**Instance fields read by this method:**

| Field | Type | Business Meaning |
|-------|------|------------------|
| `no_cnt_value`, `no_cnt_enabled`, `no_cnt_state` | String/Boolean | Item count data |
| `choice_value`, `choice_enabled`, `choice_state` | Boolean/String | Selection flag data |
| `kakin_yohi_value`, `kakin_yohi_state` | String | Billing necessity flag |
| `kakin_yohi_nm_value`, `kakin_yohi_nm_enabled`, `kakin_yohi_nm_state` | String/Boolean | Billing necessity flag name |
| `no_value`, `no_state` | String | Item number |
| `kei_kind_value`, `kei_kind_state` | String | Contract type |
| `upd_dtm_bf_value`, `upd_dtm_bf_state` | String | Date-time before update |
| `campaign_cd_value`, `campaign_cd_enabled`, `campaign_cd_state` | String/Boolean | Campaign code |
| `campaign_nm_value`, `campaign_nm_enabled`, `campaign_nm_state` | String/Boolean | Campaign name |
| `stat_value`, `stat_state` | String | Status |
| `stat_nm_value`, `stat_nm_enabled`, `stat_nm_state` | String/Boolean | Status name |
| `type_cd_value`, `type_cd_state` | String | Type code |
| `type_cd_nm_value`, `type_cd_nm_enabled`, `type_cd_nm_state` | String/Boolean | Type code name |
| `aply_jun_value`, `aply_jun_state` | String | Immediate application flag |
| `aply_jun_nm_value`, `aply_jun_nm_enabled`, `aply_jun_nm_state` | String/Boolean | Immediate application flag name |
| `mskm_ymd_value`, `mskm_ymd_enabled`, `mskm_ymd_state` | String/Boolean | Application date |
| `staymd_value`, `staymd_enabled`, `staymd_state` | String/Boolean | Start date |
| `endymd_value`, `endymd_enabled`, `endymd_state` | String/Boolean | End date |
| `wrib_svc_cd_value`, `wrib_svc_cd_enabled`, `wrib_svc_cd_state` | String/Boolean | Discount service code |
| `pnlty_cd_value`, `pnlty_cd_enabled`, `pnlty_cd_state` | Boolean/String | Penalty code |
| `wrib_svc_kei_zengetu_kaiyaku_value`, `wrib_svc_kei_zengetu_kaiyaku_enabled`, `wrib_svc_kei_zengetu_kaiyaku_state` | Boolean/String | Previous month cancellation |
| `wrib_svc_kei_zengetu_kaiyaku_flg_value`, `wrib_svc_kei_zengetu_kaiyaku_flg_state` | String | Previous month cancellation flag |
| `same_kaisen_flg_value`, `same_kaisen_flg_state` | String | Same line flag |

## 4. CRUD Operations / Called Services

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

No external services, SC codes, or database entities are accessed. All calls delegate to local getter methods on the same bean instance. Below is the complete list of internal getter calls organized by category.

### Getter Calls (all Read operations on bean fields)

| No | Category | Getter Method Called | Subkey | Data Type |
|----|----------|---------------------|--------|-----------|
| 1 | no_cnt | `getNo_cnt_value()` | value | String |
| 2 | no_cnt | `getNo_cnt_enabled()` | enable | Boolean |
| 3 | no_cnt | `getNo_cnt_state()` | state | String |
| 4 | choice | `getChoice_value()` | value | Boolean |
| 5 | choice | `getChoice_enabled()` | enable | Boolean |
| 6 | choice | `getChoice_state()` | state | String |
| 7 | kakin_yohi | `getKakin_yohi_value()` | value | String |
| 8 | kakin_yohi | `getKakin_yohi_state()` | state | String |
| 9 | kakin_yohi_nm | `getKakin_yohi_nm_value()` | value | String |
| 10 | kakin_yohi_nm | `getKakin_yohi_nm_enabled()` | enable | Boolean |
| 11 | kakin_yohi_nm | `getKakin_yohi_nm_state()` | state | String |
| 12 | no | `getNo_value()` | value | String |
| 13 | no | `getNo_state()` | state | String |
| 14 | kei_kind | `getKei_kind_value()` | value | String |
| 15 | kei_kind | `getKei_kind_state()` | state | String |
| 16 | upd_dtm_bf | `getUpd_dtm_bf_value()` | value | String |
| 17 | upd_dtm_bf | `getUpd_dtm_bf_state()` | state | String |
| 18 | campaign_cd | `getCampaign_cd_value()` | value | String |
| 19 | campaign_cd | `getCampaign_cd_enabled()` | enable | Boolean |
| 20 | campaign_cd | `getCampaign_cd_state()` | state | String |
| 21 | campaign_nm | `getCampaign_nm_value()` | value | String |
| 22 | campaign_nm | `getCampaign_nm_enabled()` | enable | Boolean |
| 23 | campaign_nm | `getCampaign_nm_state()` | state | String |
| 24 | stat | `getStat_value()` | value | String |
| 25 | stat | `getStat_state()` | state | String |
| 26 | stat_nm | `getStat_nm_value()` | value | String |
| 27 | stat_nm | `getStat_nm_enabled()` | enable | Boolean |
| 28 | stat_nm | `getStat_nm_state()` | state | String |
| 29 | type_cd | `getType_cd_value()` | value | String |
| 30 | type_cd | `getType_cd_state()` | state | String |
| 31 | type_cd_nm | `getType_cd_nm_value()` | value | String |
| 32 | type_cd_nm | `getType_cd_nm_enabled()` | enable | Boolean |
| 33 | type_cd_nm | `getType_cd_nm_state()` | state | String |
| 34 | aply_jun | `getAply_jun_value()` | value | String |
| 35 | aply_jun | `getAply_jun_state()` | state | String |
| 36 | aply_jun_nm | `getAply_jun_nm_value()` | value | String |
| 37 | aply_jun_nm | `getAply_jun_nm_enabled()` | enable | Boolean |
| 38 | aply_jun_nm | `getAply_jun_nm_state()` | state | String |
| 39 | mskm_ymd | `getMskm_ymd_value()` | value | String |
| 40 | mskm_ymd | `getMskm_ymd_enabled()` | enable | Boolean |
| 41 | mskm_ymd | `getMskm_ymd_state()` | state | String |
| 42 | staymd | `getStaymd_value()` | value | String |
| 43 | staymd | `getStaymd_enabled()` | enable | Boolean |
| 44 | staymd | `getStaymd_state()` | state | String |
| 45 | endymd | `getEndymd_value()` | value | String |
| 46 | endymd | `getEndymd_enabled()` | enable | Boolean |
| 47 | endymd | `getEndymd_state()` | state | String |
| 48 | wrib_svc_cd | `getWrib_svc_cd_value()` | value | String |
| 49 | wrib_svc_cd | `getWrib_svc_cd_enabled()` | enable | Boolean |
| 50 | wrib_svc_cd | `getWrib_svc_cd_state()` | state | String |
| 51 | pnlty_cd | `getPnlty_cd_value()` | value | Boolean |
| 52 | pnlty_cd | `getPnlty_cd_enabled()` | enable | Boolean |
| 53 | pnlty_cd | `getPnlty_cd_state()` | state | String |
| 54 | wrib_svc_kei_zengetu_kaiyaku | `getWrib_svc_kei_zengetu_kaiyaku_value()` | value | Boolean |
| 55 | wrib_svc_kei_zengetu_kaiyaku | `getWrib_svc_kei_zengetu_kaiyaku_enabled()` | enable | Boolean |
| 56 | wrib_svc_kei_zengetu_kaiyaku | `getWrib_svc_kei_zengetu_kaiyaku_state()` | state | String |
| 57 | wrib_svc_kei_zengetu_kaiyaku_flg | `getWrib_svc_kei_zengetu_kaiyaku_flg_value()` | value | String |
| 58 | wrib_svc_kei_zengetu_kaiyaku_flg | `getWrib_svc_kei_zengetu_kaiyaku_flg_state()` | state | String |
| 59 | same_kaisen_flg | `getSame_kaisen_flg_value()` | value | String |
| 60 | same_kaisen_flg | `getSame_kaisen_flg_state()` | state | String |

**Note:** `getAply_jun_nm_value` (line 969) was referenced in the source but not listed in the pre-computed evidence above — it is confirmed present in the source at L970. The getter for this field is also listed in the pre-computed evidence.

## 5. Dependency Trace

This method is called by the X33 web framework's generic view rendering mechanism. The `KKW01030SF02DBean` class implements `X33VDataTypeBeanInterface`, which the framework invokes through its standard `loadModelData(key, subkey)` contract. Additionally, this class is used as a **data type bean** for list-based view items in `KKW01030SFBean` (campaign lists).

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW01030SF | `KKW01030SFBean.getDataBean` -> `KKW01030SF02DBean` -> `loadModelData` | field getter [R] bean field |
| 2 | Screen:KKW01030SF | `KKW01030SFBean` (campaign list) -> `KKW01030SF02DBean` (new instance) -> `loadModelData` | field getter [R] bean field |
| 3 | Screen:KKW01030SF | Framework `X33VDataTypeBeanInterface.loadModelData` -> `KKW01030SF02DBean.loadModelData` | field getter [R] bean field |

The pre-computed search results also show that `loadModelData()` is defined in many other `*DBean` classes across the codebase (FUW00912SF, FUW00926SF, FUW00959SF, FUW00964SF, etc.), but these are **separate implementations** of the same interface — not callers of `KKW01030SF02DBean.loadModelData()`.

## 6. Per-Branch Detail Blocks

### Block 1 — IF (null check) (L827)

Null guard: if either key or subkey is null, return null immediately.

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

### Block 2 — IF (key = "番号／件数") (L836)

Handles the "number/count" data type project (item_id: `no_cnt`). Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if(key.equals("番号／件数"))` // データタイプがStringの項目"番号／件数"(項目ID:no_cnt) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getNo_cnt_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、no_cnt_enableのgetterの戻り値を返す |
| 5 | CALL | `getNo_cnt_enabled()` // returns Boolean field |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getNo_cnt_state()` // returns String field |

### Block 3 — IF-ELSEIF (key = "選択") (L849)

Handles the "selection" data type project (item_id: `choice`). Boolean data type. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("選択"))` // データタイプがBooleanの項目"選択"(項目ID:choice) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getChoice_value()` // returns Boolean field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、choice_enableのgetterの戻り値を返す |
| 5 | CALL | `getChoice_enabled()` // returns Boolean field (default: true) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getChoice_state()` // returns String field |

### Block 4 — IF-ELSEIF (key = "課金要否フラグ") (L863)

Handles the "billing necessity flag" data type project (item_id: `kakin_yohi`). String data type. Supports value and state subkeys only (no enable).

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("課金要否フラグ"))` // データタイプがStringの項目"課金要否フラグ"(項目ID:kakin_yohi) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getKakin_yohi_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `getKakin_yohi_state()` // returns String field |

### Block 5 — IF-ELSEIF (key = "課金要否フラグ名称") (L875)

Handles the "billing necessity flag name" data type project (item_id: `kakin_yohi_nm`). Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("課金要否フラグ名称"))` // データタイプがStringの項目"課金要否フラグ名称"(項目ID:kakin_yohi_nm) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getKakin_yohi_nm_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、kakin_yohi_nm_enableのgetterの戻り値を返す |
| 5 | CALL | `getKakin_yohi_nm_enabled()` // returns Boolean field (default: true) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getKakin_yohi_nm_state()` // returns String field |

### Block 6 — IF-ELSEIF (key = "番号") (L888)

Handles the "item number" data type project (item_id: `no`). String data type. Supports value and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("番号"))` // データタイプがStringの項目"番号"(項目ID:no) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getNo_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `getNo_state()` // returns String field |

### Block 7 — IF-ELSEIF (key = "契約種別") (L898)

Handles the "contract type" data type project (item_id: `kei_kind`). String data type. Supports value and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("契約種別"))` // データタイプがStringの項目"契約種別"(項目ID:kei_kind) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getKei_kind_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `getKei_kind_state()` // returns String field |

### Block 8 — IF-ELSEIF (key = "更新年月日時刻更新前") (L908)

Handles the "date-time before update" data type project (item_id: `upd_dtm_bf`). String data type. Supports value and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("更新年月日時刻更新前"))` // データタイプがStringの項目"更新年月日時刻更新前"(項目ID:upd_dtm_bf) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getUpd_dtm_bf_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `getUpd_dtm_bf_state()` // returns String field |

### Block 9 — IF-ELSEIF (key = "キャンペーンコード") (L918)

Handles the "campaign code" data type project (item_id: `campaign_cd`). String data type. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("キャンペーンコード"))` // データタイプがStringの項目"キャンペーンコード"(項目ID:campaign_cd) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getCampaign_cd_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、campaign_cd_enableのgetterの戻り値を返す |
| 5 | CALL | `getCampaign_cd_enabled()` // returns Boolean field (default: true) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getCampaign_cd_state()` // returns String field |

### Block 10 — IF-ELSEIF (key = "キャンペーン名") (L930)

Handles the "campaign name" data type project (item_id: `campaign_nm`). String data type. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("キャンペーン名"))` // データタイプがStringの項目"キャンペーン名"(項目ID:campaign_nm) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getCampaign_nm_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、campaign_nm_enableのgetterの戻り値を返す |
| 5 | CALL | `getCampaign_nm_enabled()` // returns Boolean field (default: false) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getCampaign_nm_state()` // returns String field |

### Block 11 — IF-ELSEIF (key = "ステータス") (L942)

Handles the "status" data type project (item_id: `stat`). String data type. Supports value and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("ステータス"))` // データタイプがStringの項目"ステータス"(項目ID:stat) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getStat_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `getStat_state()` // returns String field |

### Block 12 — IF-ELSEIF (key = "ステータス名称") (L952)

Handles the "status name" data type project (item_id: `stat_nm`). String data type. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("ステータス名称"))` // データタイプがStringの項目"ステータス名称"(項目ID:stat_nm) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getStat_nm_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、stat_nm_enableのgetterの戻り値を返す |
| 5 | CALL | `getStat_nm_enabled()` // returns Boolean field (default: false) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getStat_nm_state()` // returns String field |

### Block 13 — IF-ELSEIF (key = "タイプコード") (L964)

Handles the "type code" data type project (item_id: `type_cd`). String data type. Supports value and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("タイプコード"))` // データタイプがStringの項目"タイプコード"(項目ID:type_cd) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getType_cd_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `getType_cd_state()` // returns String field |

### Block 14 — IF-ELSEIF (key = "タイプコード名称") (L974)

Handles the "type code name" data type project (item_id: `type_cd_nm`). String data type. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("タイプコード名称"))` // データタイプがStringの項目"タイプコード名称"(項目ID:type_cd_nm) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getType_cd_nm_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、type_cd_nm_enableのgetterの戻り値を返す |
| 5 | CALL | `getType_cd_nm_enabled()` // returns Boolean field (default: false) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getType_cd_nm_state()` // returns String field |

### Block 15 — IF-ELSEIF (key = "即時適用フラグ") (L986)

Handles the "immediate application flag" data type project (item_id: `aply_jun`). String data type. Supports value and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("即時適用フラグ"))` // データタイプがStringの項目"即時適用フラグ"(項目ID:aply_jun) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getAply_jun_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `getAply_jun_state()` // returns String field |

### Block 16 — IF-ELSEIF (key = "即時適用フラグ名称") (L996)

Handles the "immediate application flag name" data type project (item_id: `aply_jun_nm`). String data type. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("即時適用フラグ名称"))` // データタイプがStringの項目"即時適用フラグ名称"(項目ID:aply_jun_nm) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getAply_jun_nm_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、aply_jun_nm_enableのgetterの戻り値を返す |
| 5 | CALL | `getAply_jun_nm_enabled()` // returns Boolean field (default: false) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getAply_jun_nm_state()` // returns String field |

### Block 17 — IF-ELSEIF (key = "申請年月日") (L1008)

Handles the "application date" data type project (item_id: `mskm_ymd`). String data type. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("申請年月日"))` // データタイプがStringの項目"申請年月日"(項目ID:mskm_ymd) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getMskm_ymd_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、mskm_ymd_enableのgetterの戻り値を返す |
| 5 | CALL | `getMskm_ymd_enabled()` // returns Boolean field (default: true) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getMskm_ymd_state()` // returns String field |

### Block 18 — IF-ELSEIF (key = "開始年月日") (L1020)

Handles the "start date" data type project (item_id: `staymd`). String data type. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("開始年月日"))` // データタイプがStringの項目"開始年月日"(項目ID:staymd) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getStaymd_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、staymd_enableのgetterの戻り値を返す |
| 5 | CALL | `getStaymd_enabled()` // returns Boolean field (default: false) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getStaymd_state()` // returns String field |

### Block 19 — IF-ELSEIF (key = "終了年月日") (L1032)

Handles the "end date" data type project (item_id: `endymd`). String data type. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("終了年月日"))` // データタイプがStringの項目"終了年月日"(項目ID:endymd) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getEndymd_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、endymd_enableのgetterの戻り値を返す |
| 5 | CALL | `getEndymd_enabled()` // returns Boolean field (default: false) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getEndymd_state()` // returns String field |

### Block 20 — IF-ELSEIF (key = "割引サービスコード") (L1044)

Handles the "discount service code" data type project (item_id: `wrib_svc_cd`). String data type. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("割引サービスコード"))` // データタイプがStringの項目"割引サービスコード"(項目ID:wrib_svc_cd) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getWrib_svc_cd_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、wrib_svc_cd_enableのgetterの戻り値を返す |
| 5 | CALL | `getWrib_svc_cd_enabled()` // returns Boolean field (default: true) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getWrib_svc_cd_state()` // returns String field |

### Block 21 — IF-ELSEIF (key = "違約金コード") (L1056)

Handles the "penalty code" data type project (item_id: `pnlty_cd`). Boolean data type for value. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("違約金コード"))` // データタイプがStringの項目"違約金コード"(項目ID:pnlty_cd) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getPnlty_cd_value()` // returns Boolean field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、wrib_svc_cd_enableのgetterの戻り値を返す |
| 5 | CALL | `getPnlty_cd_enabled()` // returns Boolean field (default: true) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getPnlty_cd_state()` // returns String field |

### Block 22 — IF-ELSEIF (key = "前月解約") (L1068)

Handles the "previous month cancellation" data type project (item_id: `wrib_svc_kei_zengetu_kaiyaku`). Boolean data type for value. Supports value, enable, and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("前月解約"))` // データタイプがBooleanの項目"前月解約"(項目ID:wrib_svc_kei_zengetu_kaiyaku) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getWrib_svc_kei_zengetu_kaiyaku_value()` // returns Boolean field (default: false) |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("enable"))` // subkeyが"enable"の場合、wrib_svc_kei_zengetu_kaiyaku_enableのgetterの戻り値を返す |
| 5 | CALL | `getWrib_svc_kei_zengetu_kaiyaku_enabled()` // returns Boolean field (default: false) |
| 6 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 7 | CALL | `getWrib_svc_kei_zengetu_kaiyaku_state()` // returns String field |

### Block 23 — IF-ELSEIF (key = "前月解約フラグ") (L1080)

Handles the "previous month cancellation flag" data type project (item_id: `wrib_svc_kei_zengetu_kaiyaku_flg`). String data type. Supports value and state subkeys.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("前月解約フラグ"))` // データタイプがStringの項目"前月解約フラグ"(項目ID:wrib_svc_kei_zengetu_kaiyaku_flg) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getWrib_svc_kei_zengetu_kaiyaku_flg_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `getWrib_svc_kei_zengetu_kaiyaku_flg_state()` // returns String field |

### Block 24 — IF-ELSEIF (key = "同一回線フラグ") (L1093)

[IT1-2018-0000125 ADD START/END] Handles the "same line flag" data type project (item_id: `same_kaisen_flg`). String data type. Supports value and state subkeys. Added by ticket IT1-2018-0000125.

| # | Type | Code |
|---|------|------|
| 1 | IF | `else if(key.equals("同一回線フラグ"))` // データタイプがStringの項目"同一回線フラグ"(項目ID:same_kaisen_flg) |
| 2 | IF | `if(subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `getSame_kaisen_flg_value()` // returns String field |
| 4 | IF-ELSEIF | `else if(subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `getSame_kaisen_flg_state()` // returns String field |

### Block 25 — RETURN (fallthrough) (L1106)

If no project key matches any of the 23 defined cases, return null.

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

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `no_cnt` | Field | Item count — number of items/records in a list or set |
| `choice` | Field | Selection flag — a Boolean flag indicating whether an option is selected/available |
| `kakin_yohi` | Field | Billing necessity flag — indicates whether the item is billable or requires charges |
| `kakin_yohi_nm` | Field | Billing necessity flag name — display name for the billing necessity flag |
| `no` | Field | Item number — sequential or unique identifier for a line item |
| `kei_kind` | Field | Contract type — the type/category of service contract |
| `upd_dtm_bf` | Field | Update date-time before — the timestamp of the previous update (before current) |
| `campaign_cd` | Field | Campaign code — unique identifier for a marketing/service campaign |
| `campaign_nm` | Field | Campaign name — human-readable name of the campaign |
| `stat` | Field | Status — current state of the record (e.g., active, suspended, completed) |
| `stat_nm` | Field | Status name — human-readable display name for the status |
| `type_cd` | Field | Type code — categorization code for a service or item type |
| `type_cd_nm` | Field | Type code name — human-readable name for the type code |
| `aply_jun` | Field | Immediate application flag — indicates whether changes take effect immediately |
| `aply_jun_nm` | Field | Immediate application flag name — display name for the immediate application flag |
| `mskm_ymd` | Field | Application date — the date when the service/application was submitted (申請年月日) |
| `staymd` | Field | Start date — the date when the service begins (開始年月日) |
| `endymd` | Field | End date — the date when the service ends or expires (終了年月日) |
| `wrib_svc_cd` | Field | Discount service code — code identifying a discount or promotional service (割引サービスコード) |
| `pnlty_cd` | Field | Penalty code — code for early termination fees or penalty charges (違約金コード) |
| `wrib_svc_kei_zengetu_kaiyaku` | Field | Previous month cancellation — Boolean flag indicating if the service was cancelled the previous month (前月解約) |
| `wrib_svc_kei_zengetu_kaiyaku_flg` | Field | Previous month cancellation flag — string flag for previous month cancellation status |
| `same_kaisen_flg` | Field | Same line flag — indicates if the service is on the same telephone line (同一回線フラグ) |
| `key` | Parameter | Project name (item label) — human-readable string identifying which bean field to access |
| `subkey` | Parameter | Property descriptor — specifies which aspect of the project: "value" (data), "enable" (enabled state), or "state" (display status) |
| `X33VDataTypeBeanInterface` | Interface | Framework interface for data type beans — defines the `loadModelData` contract used by the X33 web view framework |
| `X33VListedBeanInterface` | Interface | Framework interface for list beans — enables the bean to participate in list-based view rendering |
| IT1-2018-0000125 | Change Request | Internal ticket that added the "same line flag" (同一回線フラグ) project to this bean |
