# Business Logic — FUW07101SF01DBean.storeModelData() [181 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW07101SF.FUW07101SF01DBean` |
| Layer | Service / WebBean (webview layer — data binding helper for web screens) |
| Module | `FUW07101SF` (Package: `eo.web.webview.FUW07101SF`) |

## 1. Role

### FUW07101SF01DBean.storeModelData()

This method is a **unified routing dispatch** that stores incoming model data into the appropriate domain-specific property of the `FUW07101SF01DBean` data bean. It is the write counterpart to `loadModelData()` and serves as the primary data-binding bridge between the web view layer and the service domain model. The method uses a **key-based dispatcher pattern**: it receives a `key` (a human-readable Japanese field label), a `subkey` indicating whether the value is `"value"` or `"state"`, and the `in_value` payload. Based on the key, it routes the call to one of 17 domain properties — covering equipment type codes, sales category codes, pricing course codes, date/time audit fields, and operator account audit fields — each with a value setter or a state setter. The `isSetAsString` parameter is accepted but not used in this method body; it exists to satisfy the interface contract for scenarios where long-typed property values need string conversion (as described in the Javadoc: "Long型項目ValueプロパティへString型値の設定を行う場合true"). The method is a **shared utility** consumed by multiple screen entry points in the `FUW07101SF` module for batch model-data binding, eliminating per-field store logic in screen controllers.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["storeModelData(key, subkey, in_value, isSetAsString)"])
    NULL_CHECK{"key == null<br/>|| subkey == null?"}
    EARLY_RETURN(["Return early"])
    COMPUTE_SEP["separaterPoint = key.indexOf('/')<br/>(unused local variable)"]

    START --> NULL_CHECK
    NULL_CHECK -->|Yes| EARLY_RETURN
    NULL_CHECK -->|No| COMPUTE_SEP

    SUB_CHECK_1{"subkey.equalsIgnoreCase<br/>'value'?"}
    TAKNKIKI_1{"key.equals<br/>'屋内機器型式コード'?"}
    SET_TAKNKIKI_VALUE["setTaknkiki_model_cd_value()"]
    SET_TAKNKIKI_STATE["setTaknkiki_model_cd_state()"]

    COMPUTE_SEP --> TAKNKIKI_1
    TAKNKIKI_1 -->|Yes| SUB_CHECK_1
    SUB_CHECK_1 -->|Yes| SET_TAKNKIKI_VALUE
    SUB_CHECK_1 -->|No| SET_TAKNKIKI_STATE
    SET_TAKNKIKI_VALUE --> END_NODE(["Return"])
    SET_TAKNKIKI_STATE --> END_NODE

    SUB_CHECK_2{"subkey.equalsIgnoreCase<br/>'value'?"}
    KKTOKIND_1{"key.equals<br/>'機器提供種別コード'?"}
    SET_KKTOKIND_VALUE["setKktk_sbt_cd_value()"]
    SET_KKTOKIND_STATE["setKktk_sbt_cd_state()"]

    TAKNKIKI_1 -->|No| KKTOKIND_1
    KKTOKIND_1 -->|Yes| SUB_CHECK_2
    SUB_CHECK_2 -->|Yes| SET_KKTOKIND_VALUE
    SUB_CHECK_2 -->|No| SET_KKTOKIND_STATE
    SET_KKTOKIND_VALUE --> END_NODE
    SET_KKTOKIND_STATE --> END_NODE

    SUB_CHECK_3{"subkey.equalsIgnoreCase<br/>'value'?"}
    KKTOKINDNM_1{"key.equals<br/>'機器提供種別コード名称'?"}
    SET_KKTOKINDNM_VALUE["setKktk_sbt_cd_nm_value()"]
    SET_KKTOKINDNM_STATE["setKktk_sbt_cd_nm_state()"]

    KKTOKIND_1 -->|No| KKTOKINDNM_1
    KKTOKINDNM_1 -->|Yes| SUB_CHECK_3
    SUB_CHECK_3 -->|Yes| SET_KKTOKINDNM_VALUE
    SUB_CHECK_3 -->|No| SET_KKTOKINDNM_STATE
    SET_KKTOKINDNM_VALUE --> END_NODE
    SET_KKTOKINDNM_STATE --> END_NODE

    SUB_CHECK_4{"subkey.equalsIgnoreCase<br/>'value'?"}
    HAMBAY_1{"key.equals<br/>'販売種別コード'?"}
    SET_HAMBAY_VALUE["setHambai_sbt_cd_value()"]
    SET_HAMBAY_STATE["setHambai_sbt_cd_state()"]

    KKTOKINDNM_1 -->|No| HAMBAY_1
    HAMBAY_1 -->|Yes| SUB_CHECK_4
    SUB_CHECK_4 -->|Yes| SET_HAMBAY_VALUE
    SUB_CHECK_4 -->|No| SET_HAMBAY_STATE
    SET_HAMBAY_VALUE --> END_NODE
    SET_HAMBAY_STATE --> END_NODE

    SUB_CHECK_5{"subkey.equalsIgnoreCase<br/>'value'?"}
    HAMBAYNM_1{"key.equals<br/>'販売種別コード名称'?"}
    SET_HAMBAYNM_VALUE["setHambai_sbt_cd_nm_value()"]
    SET_HAMBAYNM_STATE["setHambai_sbt_cd_nm_state()"]

    HAMBAY_1 -->|No| HAMBAYNM_1
    HAMBAYNM_1 -->|Yes| SUB_CHECK_5
    SUB_CHECK_5 -->|Yes| SET_HAMBAYNM_VALUE
    SUB_CHECK_5 -->|No| SET_HAMBAYNM_STATE
    SET_HAMBAYNM_VALUE --> END_NODE
    SET_HAMBAYNM_STATE --> END_NODE

    SUB_CHECK_6{"subkey.equalsIgnoreCase<br/>'value'?"}
    PCRS_1{"key.equals<br/>'料金コースコード'?"}
    SET_PCRS_VALUE["setPcrs_cd_value()"]
    SET_PCRS_STATE["setPcrs_cd_state()"]

    HAMBAYNM_1 -->|No| PCRS_1
    PCRS_1 -->|Yes| SUB_CHECK_6
    SUB_CHECK_6 -->|Yes| SET_PCRS_VALUE
    SUB_CHECK_6 -->|No| SET_PCRS_STATE
    SET_PCRS_VALUE --> END_NODE
    SET_PCRS_STATE --> END_NODE

    SUB_CHECK_7{"subkey.equalsIgnoreCase<br/>'value'?"}
    PCRSNM_1{"key.equals<br/>'料金コースコード名称'?"}
    SET_PCRSNM_VALUE["setPcrs_cd_nm_value()"]
    SET_PCRSNM_STATE["setPcrs_cd_nm_state()"]

    PCRS_1 -->|No| PCRSNM_1
    PCRSNM_1 -->|Yes| SUB_CHECK_7
    SUB_CHECK_7 -->|Yes| SET_PCRSNM_VALUE
    SUB_CHECK_7 -->|No| SET_PCRSNM_STATE
    SET_PCRSNM_VALUE --> END_NODE
    SET_PCRSNM_STATE --> END_NODE

    SUB_CHECK_8{"subkey.equalsIgnoreCase<br/>'value'?"}
    KKMSTAY_1{"key.equals<br/>'機器型式対象料金コース適用户年月日'?"}
    SET_KKMSTAY_VALUE["setKkmdl_tg_pcrs_tstaymd_value()"]
    SET_KKMSTAY_STATE["setKkmdl_tg_pcrs_tstaymd_state()"]

    PCRSNM_1 -->|No| KKMSTAY_1
    KKMSTAY_1 -->|Yes| SUB_CHECK_8
    SUB_CHECK_8 -->|Yes| SET_KKMSTAY_VALUE
    SUB_CHECK_8 -->|No| SET_KKMSTAY_STATE
    SET_KKMSTAY_VALUE --> END_NODE
    SET_KKMSTAY_STATE --> END_NODE

    SUB_CHECK_9{"subkey.equalsIgnoreCase<br/>'value'?"}
    KKMTENDYMD_1{"key.equals<br/>'機器型式対象料金コース適用終了年月日'?"}
    SET_KKMTENDYMD_VALUE["setKkmdl_tg_pcrs_tendymd_value()"]
    SET_KKMTENDYMD_STATE["setKkmdl_tg_pcrs_tendymd_state()"]

    KKMSTAY_1 -->|No| KKMTENDYMD_1
    KKMTENDYMD_1 -->|Yes| SUB_CHECK_9
    SUB_CHECK_9 -->|Yes| SET_KKMTENDYMD_VALUE
    SUB_CHECK_9 -->|No| SET_KKMTENDYMD_STATE
    SET_KKMTENDYMD_VALUE --> END_NODE
    SET_KKMTENDYMD_STATE --> END_NODE

    SUB_CHECK_10{"subkey.equalsIgnoreCase<br/>'value'?"}
    ADDDTM_1{"key.equals<br/>'登録年月日時秒'?"}
    SET_ADDDTM_VALUE["setAdd_dtm_value()"]
    SET_ADDDTM_STATE["setAdd_dtm_state()"]

    KKMTENDYMD_1 -->|No| ADDDTM_1
    ADDDTM_1 -->|Yes| SUB_CHECK_10
    SUB_CHECK_10 -->|Yes| SET_ADDDTM_VALUE
    SUB_CHECK_10 -->|No| SET_ADDDTM_STATE
    SET_ADDDTM_VALUE --> END_NODE
    SET_ADDDTM_STATE --> END_NODE

    SUB_CHECK_11{"subkey.equalsIgnoreCase<br/>'value'?"}
    ADDOPEACNT_1{"key.equals<br/>'登録オペレーターアカウント'?"}
    SET_ADDOPEACNT_VALUE["setAdd_opeacnt_value()"]
    SET_ADDOPEACNT_STATE["setAdd_opeacnt_state()"]

    ADDDTM_1 -->|No| ADDOPEACNT_1
    ADDOPEACNT_1 -->|Yes| SUB_CHECK_11
    SUB_CHECK_11 -->|Yes| SET_ADDOPEACNT_VALUE
    SUB_CHECK_11 -->|No| SET_ADDOPEACNT_STATE
    SET_ADDOPEACNT_VALUE --> END_NODE
    SET_ADDOPEACNT_STATE --> END_NODE

    SUB_CHECK_12{"subkey.equalsIgnoreCase<br/>'value'?"}
    UPDDTM_1{"key.equals<br/>'更新年月日時秒'?"}
    SET_UPDDTM_VALUE["setUpd_dtm_value()"]
    SET_UPDDTM_STATE["setUpd_dtm_state()"]

    ADDOPEACNT_1 -->|No| UPDDTM_1
    UPDDTM_1 -->|Yes| SUB_CHECK_12
    SUB_CHECK_12 -->|Yes| SET_UPDDTM_VALUE
    SUB_CHECK_12 -->|No| SET_UPDDTM_STATE
    SET_UPDDTM_VALUE --> END_NODE
    SET_UPDDTM_STATE --> END_NODE

    SUB_CHECK_13{"subkey.equalsIgnoreCase<br/>'value'?"}
    UPDOPEACNT_1{"key.equals<br/>'更新オペレーターアカウント'?"}
    SET_UPDOPEACNT_VALUE["setUpd_opeacnt_value()"]
    SET_UPDOPEACNT_STATE["setUpd_opeacnt_state()"]

    UPDDTM_1 -->|No| UPDOPEACNT_1
    UPDOPEACNT_1 -->|Yes| SUB_CHECK_13
    SUB_CHECK_13 -->|Yes| SET_UPDOPEACNT_VALUE
    SUB_CHECK_13 -->|No| SET_UPDOPEACNT_STATE
    SET_UPDOPEACNT_VALUE --> END_NODE
    SET_UPDOPEACNT_STATE --> END_NODE

    SUB_CHECK_14{"subkey.equalsIgnoreCase<br/>'value'?"}
    DELDTM_1{"key.equals<br/>'削除年月日時秒'?"}
    SET_DELDTM_VALUE["setDel_dtm_value()"]
    SET_DELDTM_STATE["setDel_dtm_state()"]

    UPDOPEACNT_1 -->|No| DELDTM_1
    DELDTM_1 -->|Yes| SUB_CHECK_14
    SUB_CHECK_14 -->|Yes| SET_DELDTM_VALUE
    SUB_CHECK_14 -->|No| SET_DELDTM_STATE
    SET_DELDTM_VALUE --> END_NODE
    SET_DELDTM_STATE --> END_NODE

    SUB_CHECK_15{"subkey.equalsIgnoreCase<br/>'value'?"}
    DELOPEACNT_1{"key.equals<br/>'削除オペレーターアカウント'?"}
    SET_DELOPEACNT_VALUE["setDel_opeacnt_value()"]
    SET_DELOPEACNT_STATE["setDel_opeacnt_state()"]

    DELDTM_1 -->|No| DELOPEACNT_1
    DELOPEACNT_1 -->|Yes| SUB_CHECK_15
    SUB_CHECK_15 -->|Yes| SET_DELOPEACNT_VALUE
    SUB_CHECK_15 -->|No| SET_DELOPEACNT_STATE
    SET_DELOPEACNT_VALUE --> END_NODE
    SET_DELOPEACNT_STATE --> END_NODE

    SUB_CHECK_16{"subkey.equalsIgnoreCase<br/>'value'?"}
    MKFLG_1{"key.equals<br/>'無効フラグ'?"}
    SET_MKFLG_VALUE["setMk_flg_value()"]
    SET_MKFLG_STATE["setMk_flg_state()"]

    DELOPEACNT_1 -->|No| MKFLG_1
    MKFLG_1 -->|Yes| SUB_CHECK_16
    SUB_CHECK_16 -->|Yes| SET_MKFLG_VALUE
    SUB_CHECK_16 -->|No| SET_MKFLG_STATE
    SET_MKFLG_VALUE --> END_NODE
    SET_MKFLG_STATE --> END_NODE

    SUB_CHECK_17{"subkey.equalsIgnoreCase<br/>'value'?"}
    MKFLGNM_1{"key.equals<br/>'無効フラグ名称'?"}
    SET_MKFLGNM_VALUE["setMk_flg_nm_value()"]
    SET_MKFLGNM_STATE["setMk_flg_nm_state()"]

    MKFLG_1 -->|No| MKFLGNM_1
    MKFLGNM_1 -->|Yes| SUB_CHECK_17
    SUB_CHECK_17 -->|Yes| SET_MKFLGNM_VALUE
    SUB_CHECK_17 -->|No| SET_MKFLGNM_STATE
    SET_MKFLGNM_VALUE --> END_NODE
    SET_MKFLGNM_STATE --> END_NODE
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | The **field name** (Japanese label) identifying which domain property of the bean should be updated. It acts as a discriminator across 17 business fields: equipment type, equipment provision category, sales category, pricing course, date/time audit stamps, operator account audit stamps, and invalidation flags. Examples: `"屋内機器型式コード"` (Indoor Equipment Model Code), `"無効フラグ"` (Invalidation Flag). |
| 2 | `subkey` | `String` | The **data attribute type** within the selected field. Accepts `"value"` to set the actual data value, or `"state"` to set a state/version flag. The comparison is case-insensitive (`equalsIgnoreCase`), allowing flexibility in how callers specify the attribute. |
| 3 | `in_value` | `Object` | The **payload** to store. Cast to `String` at the call site for all setter methods. Contains the actual business data (e.g., a model code string, a state indicator, a date-time stamp like `20240115120000`). |
| 4 | `isSetAsString` | `boolean` | A flag indicating whether a String-type value should be set into a Long-typed property. Described in Javadoc as: "Long型項目ValueプロパティへString型値の設定を行う場合true" (true when setting a String-type value into a Long-typed item Value property). **Not used** in the method body — the parameter is accepted for interface contract compliance but has no conditional branching. |

### Instance Fields Read

This method writes to (sets) instance fields through setter calls. It does not read any instance fields itself:

| Field | Access Pattern |
|-------|---------------|
| `taknkiki_model_cd` | Written via `setTaknkiki_model_cd_value()` / `setTaknkiki_model_cd_state()` |
| `kktk_sbt_cd` | Written via `setKktk_sbt_cd_value()` / `setKktk_sbt_cd_state()` |
| `kktk_sbt_cd_nm` | Written via `setKktk_sbt_cd_nm_value()` / `setKktk_sbt_cd_nm_state()` |
| `hambai_sbt_cd` | Written via `setHambai_sbt_cd_value()` / `setHambai_sbt_cd_state()` |
| `hambai_sbt_cd_nm` | Written via `setHambai_sbt_cd_nm_value()` / `setHambai_sbt_cd_nm_state()` |
| `pcrs_cd` | Written via `setPcrs_cd_value()` / `setPcrs_cd_state()` |
| `pcrs_cd_nm` | Written via `setPcrs_cd_nm_value()` / `setPcrs_cd_nm_state()` |
| `kkmdl_tg_pcrs_tstaymd` | Written via `setKkmdl_tg_pcrs_tstaymd_value()` / `setKkmdl_tg_pcrs_tstaymd_state()` |
| `kkmdl_tg_pcrs_tendymd` | Written via `setKkmdl_tg_pcrs_tendymd_value()` / `setKkmdl_tg_pcrs_tendymd_state()` |
| `add_dtm` | Written via `setAdd_dtm_value()` / `setAdd_dtm_state()` |
| `add_opeacnt` | Written via `setAdd_opeacnt_value()` / `setAdd_opeacnt_state()` |
| `upd_dtm` | Written via `setUpd_dtm_value()` / `setUpd_dtm_state()` |
| `upd_opeacnt` | Written via `setUpd_opeacnt_value()` / `setUpd_opeacnt_state()` |
| `del_dtm` | Written via `setDel_dtm_value()` / `setDel_dtm_state()` |
| `del_opeacnt` | Written via `setDel_opeacnt_value()` / `setDel_opeacnt_state()` |
| `mk_flg` | Written via `setMk_flg_value()` / `setMk_flg_state()` |
| `mk_flg_nm` | Written via `setMk_flg_nm_value()` / `setMk_flg_nm_state()` |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `FUW07101SF01DBean.setTaknkiki_model_cd_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the indoor equipment model code value on the data bean |
| U | `FUW07101SF01DBean.setTaknkiki_model_cd_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the indoor equipment model code |
| U | `FUW07101SF01DBean.setKktk_sbt_cd_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the equipment provision category code value |
| U | `FUW07101SF01DBean.setKktk_sbt_cd_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the equipment provision category code |
| U | `FUW07101SF01DBean.setKktk_sbt_cd_nm_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the equipment provision category code name value |
| U | `FUW07101SF01DBean.setKktk_sbt_cd_nm_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the equipment provision category code name |
| U | `FUW07101SF01DBean.setHambai_sbt_cd_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the sales category code value |
| U | `FUW07101SF01DBean.setHambai_sbt_cd_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the sales category code |
| U | `FUW07101SF01DBean.setHambai_sbt_cd_nm_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the sales category code name value |
| U | `FUW07101SF01DBean.setHambai_sbt_cd_nm_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the sales category code name |
| U | `FUW07101SF01DBean.setPcrs_cd_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the pricing course code value |
| U | `FUW07101SF01DBean.setPcrs_cd_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the pricing course code |
| U | `FUW07101SF01DBean.setPcrs_cd_nm_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the pricing course code name value |
| U | `FUW07101SF01DBean.setPcrs_cd_nm_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the pricing course code name |
| U | `FUW07101SF01DBean.setKkmdl_tg_pcrs_tstaymd_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the equipment-model-target pricing course application start date value |
| U | `FUW07101SF01DBean.setKkmdl_tg_pcrs_tstaymd_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the application start date |
| U | `FUW07101SF01DBean.setKkmdl_tg_pcrs_tendymd_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the equipment-model-target pricing course application end date value |
| U | `FUW07101SF01DBean.setKkmdl_tg_pcrs_tendymd_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the application end date |
| U | `FUW07101SF01DBean.setAdd_dtm_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the registration date/time stamp value |
| U | `FUW07101SF01DBean.setAdd_dtm_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the registration date/time stamp |
| U | `FUW07101SF01DBean.setAdd_opeacnt_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the registration operator account value |
| U | `FUW07101SF01DBean.setAdd_opeacnt_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the registration operator account |
| U | `FUW07101SF01DBean.setUpd_dtm_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the update date/time stamp value |
| U | `FUW07101SF01DBean.setUpd_dtm_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the update date/time stamp |
| U | `FUW07101SF01DBean.setUpd_opeacnt_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the update operator account value |
| U | `FUW07101SF01DBean.setUpd_opeacnt_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the update operator account |
| U | `FUW07101SF01DBean.setDel_dtm_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the deletion date/time stamp value |
| U | `FUW07101SF01DBean.setDel_dtm_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the deletion date/time stamp |
| U | `FUW07101SF01DBean.setDel_opeacnt_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the deletion operator account value |
| U | `FUW07101SF01DBean.setDel_opeacnt_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the deletion operator account |
| U | `FUW07101SF01DBean.setMk_flg_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the invalidation flag value |
| U | `FUW07101SF01DBean.setMk_flg_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the invalidation flag |
| U | `FUW07101SF01DBean.setMk_flg_nm_value` | FUW07101SF01DBean | - (in-memory bean) | Sets the invalidation flag name value |
| U | `FUW07101SF01DBean.setMk_flg_nm_state` | FUW07101SF01DBean | - (in-memory bean) | Sets the state flag for the invalidation flag name |

**Summary:** This method performs **no database CRUD operations**. All 34 setter calls are **in-memory bean property assignments** (Update category). The method is a pure data-binding helper that populates the webbean's properties without touching any database tables or external service components.

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 2 methods.
Terminal operations from this method: `setMk_flg_nm_state` [-], `setMk_flg_nm_value` [-], `setMk_flg_state` [-], `setMk_flg_value` [-], `setDel_opeacnt_state` [-], `setDel_opeacnt_value` [-], `setDel_dtm_state` [-], `setDel_dtm_value` [-], `setUpd_opeacnt_state` [-], `setUpd_opeacnt_value` [-], `setUpd_dtm_state` [-], `setUpd_dtm_value` [-], `setAdd_opeacnt_state` [-], `setAdd_opeacnt_value` [-], `setAdd_dtm_state` [-], `setAdd_dtm_value` [-], `setKkmdl_tg_pcrs_tendymd_state` [-], `setKkmdl_tg_pcrs_tendymd_value` [-], `setKkmdl_tg_pcrs_tstaymd_state` [-], `setKkmdl_tg_pcrs_tstaymd_value` [-], `setTaknkiki_model_cd_state` [-], `setTaknkiki_model_cd_value` [-], `setKktk_sbt_cd_state` [-], `setKktk_sbt_cd_value` [-], `setKktk_sbt_cd_nm_state` [-], `setKktk_sbt_cd_nm_value` [-], `setHambai_sbt_cd_state` [-], `setHambai_sbt_cd_value` [-], `setHambai_sbt_cd_nm_state` [-], `setHambai_sbt_cd_nm_value` [-], `setPcrs_cd_state` [-], `setPcrs_cd_value` [-], `setPcrs_cd_nm_state` [-], `setPcrs_cd_nm_value` [-]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `FUW07101SF01DBean.storeModelData()` (overload) | Direct call within `FUW07101SF01DBean` — likely called from screen logic or another storeModelData overload | All 34 setter operations [U] in-memory bean |
| 2 | `FUW07101SF01DBean.storeModelData()` (overload) | Direct call within `FUW07101SF01DBean` — likely called from screen logic or another storeModelData overload | All 34 setter operations [U] in-memory bean |

**Note:** The pre-computed callers are two direct calls within `FUW07101SF01DBean` itself, likely representing overloaded `storeModelData()` variants or cross-calls between the model loading and storing methods. This method is a low-level data-binding primitive — no high-level screen or batch entry points were found within 8 hops in the code graph. It is consumed by the `FUW07101SF` web screen's request-handling flow.

## 6. Per-Branch Detail Blocks

---

**Block 1** — IF (null guard) `(key == null || subkey == null)` (L747)

> Early-exit guard: if either the field name or the subkey is null, the method returns immediately without processing. This prevents NPE on downstream operations and ensures callers can pass null safely.

| # | Type | Code |
|---|------|------|
| 1 | SET | `separaterPoint = key.indexOf("/")` |
| 2 | IF | `if (key == null || subkey == null)` // 項目名とサブキーがnullの場合、処理を中止 (If field name and subkey are null, abort processing) |
| 3 | RETURN | `return` |

---

**Block 2** — IF/ELSE-IF chain (key dispatcher —屋内機器型式コード / Indoor Equipment Model Code) `(key.equals("屋内機器型式コード"))` (L753)

> Routes to the indoor equipment model code property. The key "屋内機器型式コード" maps to the internal item ID `taknkiki_model_cd`. This field tracks the type/model code of indoor equipment used in FTTH (Fiber To The Home) installations.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if (subkey.equalsIgnoreCase("value"))` // データタイプがStringの項目"屋内機器型式コード" (Data type is String item "Indoor Equipment Model Code") |
| 2 | CALL | `setTaknkiki_model_cd_value((String)in_value)` |
| 3 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す (If subkey is "state", return status) |
| 4 | CALL | `setTaknkiki_model_cd_state((String)in_value)` |
| 5 | ELSE | (falls through — no action for unrecognized subkey) |

---

**Block 3** — IF/ELSE-IF chain (key dispatcher — 機器提供種別コード / Equipment Provision Category Code) `(key.equals("機器提供種別コード"))` (L765)

> Routes to the equipment provision category code property. The key "機器提供種別コード" maps to the internal item ID `kktk_sbt_cd`. This classifies the type of equipment provisioning (e.g., rental, purchase, bundled).

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("機器提供種別コード"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setKktk_sbt_cd_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setKktk_sbt_cd_state((String)in_value)` |

---

**Block 4** — IF/ELSE-IF chain (key dispatcher — 機器提供種別コード名称 / Equipment Provision Category Code Name) `(key.equals("機器提供種別コード名称"))` (L776)

> Routes to the equipment provision category code name property (`kktk_sbt_cd_nm`). Stores the human-readable name of the equipment provision category.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("機器提供種別コード名称"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setKktk_sbt_cd_nm_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setKktk_sbt_cd_nm_state((String)in_value)` |

---

**Block 5** — IF/ELSE-IF chain (key dispatcher — 販売種別コード / Sales Category Code) `(key.equals("販売種別コード"))` (L787)

> Routes to the sales category code property (`hambai_sbt_cd`). This classifies the type of sale (e.g., new installation, upgrade, change of plan).

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("販売種別コード"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setHambai_sbt_cd_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setHambai_sbt_cd_state((String)in_value)` |

---

**Block 6** — IF/ELSE-IF chain (key dispatcher — 販売種別コード名称 / Sales Category Code Name) `(key.equals("販売種別コード名称"))` (L798)

> Routes to the sales category code name property (`hambai_sbt_cd_nm`). Stores the human-readable sales category name.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("販売種別コード名称"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setHambai_sbt_cd_nm_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setHambai_sbt_cd_nm_state((String)in_value)` |

---

**Block 7** — IF/ELSE-IF chain (key dispatcher — 料金コースコード / Pricing Course Code) `(key.equals("料金コースコード"))` (L809)

> Routes to the pricing course code property (`pcrs_cd`). This identifies the billing/pricing course selected for the customer's service plan.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("料金コースコード"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setPcrs_cd_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setPcrs_cd_state((String)in_value)` |

---

**Block 8** — IF/ELSE-IF chain (key dispatcher — 料金コースコード名称 / Pricing Course Code Name) `(key.equals("料金コースコード名称"))` (L820)

> Routes to the pricing course code name property (`pcrs_cd_nm`). Stores the human-readable name of the pricing course.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("料金コースコード名称"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setPcrs_cd_nm_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setPcrs_cd_nm_state((String)in_value)` |

---

**Block 9** — IF/ELSE-IF chain (key dispatcher — 機器型式対象料金コース適用户年月日 / Equipment Model Target Pricing Course Application Start Date) `(key.equals("機器型式対象料金コース適用户年月日"))` (L831)

> Routes to the pricing course application start date property (`kkmdl_tg_pcrs_tstaymd`). This marks when a pricing course becomes applicable to a specific equipment model type.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("機器型式対象料金コース適用户年月日"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setKkmdl_tg_pcrs_tstaymd_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setKkmdl_tg_pcrs_tstaymd_state((String)in_value)` |

---

**Block 10** — IF/ELSE-IF chain (key dispatcher — 機器型式対象料金コース適用終了年月日 / Equipment Model Target Pricing Course Application End Date) `(key.equals("機器型式対象料金コース適用終了年月日"))` (L842)

> Routes to the pricing course application end date property (`kkmdl_tg_pcrs_tendymd`). This marks when a pricing course application ends for a specific equipment model type.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("機器型式対象料金コース適用終了年月日"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setKkmdl_tg_pcrs_tendymd_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setKkmdl_tg_pcrs_tendymd_state((String)in_value)` |

---

**Block 11** — IF/ELSE-IF chain (key dispatcher — 登録年月日時秒 / Registration Date/Time Stamp) `(key.equals("登録年月日時秒"))` (L853)

> Routes to the registration date/time stamp property (`add_dtm`). Records when the entity record was created (inserted) in the system.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("登録年月日時秒"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setAdd_dtm_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setAdd_dtm_state((String)in_value)` |

---

**Block 12** — IF/ELSE-IF chain (key dispatcher — 登録オペレーターアカウント / Registration Operator Account) `(key.equals("登録オペレーターアカウント"))` (L864)

> Routes to the registration operator account property (`add_opeacnt`). Records which operator account performed the creation of the entity record.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("登録オペレーターアカウント"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setAdd_opeacnt_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setAdd_opeacnt_state((String)in_value)` |

---

**Block 13** — IF/ELSE-IF chain (key dispatcher — 更新年月日時秒 / Update Date/Time Stamp) `(key.equals("更新年月日時秒"))` (L875)

> Routes to the update date/time stamp property (`upd_dtm`). Records when the entity record was last modified.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("更新年月日時秒"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setUpd_dtm_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setUpd_dtm_state((String)in_value)` |

---

**Block 14** — IF/ELSE-IF chain (key dispatcher — 更新オペレーターアカウント / Update Operator Account) `(key.equals("更新オペレーターアカウント"))` (L886)

> Routes to the update operator account property (`upd_opeacnt`). Records which operator account last modified the entity record.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("更新オペレーターアカウント"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setUpd_opeacnt_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setUpd_opeacnt_state((String)in_value)` |

---

**Block 15** — IF/ELSE-IF chain (key dispatcher — 削除年月日時秒 / Deletion Date/Time Stamp) `(key.equals("削除年月日時秒"))` (L897)

> Routes to the deletion date/time stamp property (`del_dtm`). Records when the entity record was logically deleted.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("削除年月日時秒"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setDel_dtm_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setDel_dtm_state((String)in_value)` |

---

**Block 16** — IF/ELSE-IF chain (key dispatcher — 削除オペレーターアカウント / Deletion Operator Account) `(key.equals("削除オペレーターアカウント"))` (L908)

> Routes to the deletion operator account property (`del_opeacnt`). Records which operator account performed the deletion of the entity record.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("削除オペレーターアカウント"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setDel_opeacnt_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setDel_opeacnt_state((String)in_value)` |

---

**Block 17** — IF/ELSE-IF chain (key dispatcher — 無効フラグ / Invalidation Flag) `(key.equals("無効フラグ"))` (L919)

> Routes to the invalidation flag property (`mk_flg`). This is a soft-delete or activation flag: `0` means active (有効), `1` means inactive (無効), referencing constants `[-> CD_DIV_MK_FLG_YUKO="0" (JZEStrConst.java:55)]` and `[-> CD_DIV_MK_FLG_MUKO="1" (JZEStrConst.java:60)]`.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("無効フラグ"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setMk_flg_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setMk_flg_state((String)in_value)` |

---

**Block 18** — IF/ELSE-IF chain (key dispatcher — 無効フラグ名称 / Invalidation Flag Name) `(key.equals("無効フラグ名称"))` (L930)

> Routes to the invalidation flag name property (`mk_flg_nm`). Stores the human-readable label of the invalidation flag (e.g., "Active", "Inactive").

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("無効フラグ名称"))` |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setMk_flg_nm_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` // subkeyが"state"の場合、ステータスを返す |
| 5 | CALL | `setMk_flg_nm_state((String)in_value)` |
| 6 | ELSE | (falls through — no action for unrecognized subkey) |

---

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `taknkiki_model_cd` | Field | Indoor Equipment Model Code — identifies the model/type of indoor equipment used in FTTH installations |
| `kktk_sbt_cd` | Field | Equipment Provision Category Code — classifies how equipment is provided (rental, purchase, bundled) |
| `kktk_sbt_cd_nm` | Field | Equipment Provision Category Code Name — human-readable label for the equipment provision category |
| `hambai_sbt_cd` | Field | Sales Category Code — classifies the type of sale (new installation, upgrade, plan change) |
| `hambai_sbt_cd_nm` | Field | Sales Category Code Name — human-readable label for the sales category |
| `pcrs_cd` | Field | Pricing Course Code — identifies the billing/pricing course selected for a customer's service plan |
| `pcrs_cd_nm` | Field | Pricing Course Code Name — human-readable label for the pricing course |
| `kkmdl_tg_pcrs_tstaymd` | Field | Equipment Model Target Pricing Course Application Start Date — when a pricing course becomes applicable for a specific equipment model type |
| `kkmdl_tg_pcrs_tendymd` | Field | Equipment Model Target Pricing Course Application End Date — when a pricing course application ends for a specific equipment model type |
| `add_dtm` | Field | Registration Date/Time Stamp — when the entity record was created (format: YYYYMMDDHHmmss) |
| `add_opeacnt` | Field | Registration Operator Account — which operator account created the entity record |
| `upd_dtm` | Field | Update Date/Time Stamp — when the entity record was last modified |
| `upd_opeacnt` | Field | Update Operator Account — which operator account last modified the entity record |
| `del_dtm` | Field | Deletion Date/Time Stamp — when the entity record was logically deleted |
| `del_opeacnt` | Field | Deletion Operator Account — which operator account performed the deletion |
| `mk_flg` | Field | Invalidation Flag — soft-delete/activation flag; `0`=active (有効), `1`=inactive (無効) |
| `mk_flg_nm` | Field | Invalidation Flag Name — human-readable label for the invalidation flag |
| 屋内機器型式コード | Japanese Label | Indoor Equipment Model Code — Japanese display label for `taknkiki_model_cd` |
| 機器提供種別コード | Japanese Label | Equipment Provision Category Code — Japanese display label for `kktk_sbt_cd` |
| 機器提供種別コード名称 | Japanese Label | Equipment Provision Category Code Name — Japanese display label for `kktk_sbt_cd_nm` |
| 販売種別コード | Japanese Label | Sales Category Code — Japanese display label for `hambai_sbt_cd` |
| 販売種別コード名称 | Japanese Label | Sales Category Code Name — Japanese display label for `hambai_sbt_cd_nm` |
| 料金コースコード | Japanese Label | Pricing Course Code — Japanese display label for `pcrs_cd` |
| 料金コースコード名称 | Japanese Label | Pricing Course Code Name — Japanese display label for `pcrs_cd_nm` |
| 機器型式対象料金コース適用户年月日 | Japanese Label | Equipment Model Target Pricing Course Application Start Date — Japanese display label for `kkmdl_tg_pcrs_tstaymd` |
| 機器型式対象料金コース適用終了年月日 | Japanese Label | Equipment Model Target Pricing Course Application End Date — Japanese display label for `kkmdl_tg_pcrs_tendymd` |
| 登録年月日時秒 | Japanese Label | Registration Date/Time Stamp — Japanese display label for `add_dtm` |
| 登録オペレーターアカウント | Japanese Label | Registration Operator Account — Japanese display label for `add_opeacnt` |
| 更新年月日時秒 | Japanese Label | Update Date/Time Stamp — Japanese display label for `upd_dtm` |
| 更新オペレーターアカウント | Japanese Label | Update Operator Account — Japanese display label for `upd_opeacnt` |
| 削除年月日時秒 | Japanese Label | Deletion Date/Time Stamp — Japanese display label for `del_dtm` |
| 削除オペレーターアカウント | Japanese Label | Deletion Operator Account — Japanese display label for `del_opeacnt` |
| 無効フラグ | Japanese Label | Invalidation Flag — Japanese display label for `mk_flg` |
| 無効フラグ名称 | Japanese Label | Invalidation Flag Name — Japanese display label for `mk_flg_nm` |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service |
| DBean | Acronym | Data Bean — a Java bean class that holds model data for web screen presentation |
| state | Subkey | State/version indicator — distinguishes state metadata from actual data values in the dispatcher |
| value | Subkey | Actual data payload — the business value to be stored in a property |
| CD_DIV_MK_FLG_YUKO | Constant | "0" — Active flag code (有効フラグ) |
| CD_DIV_MK_FLG_MUKO | Constant | "1" — Inactive flag code (無効フラグ) |

---
