# Business Logic — KKW01031SF02DBean.storeModelData() [162 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW01031SF.KKW01031SF02DBean` |
| Layer | Component / Bean (Data-binding bean within the web-view presentation layer) |
| Module | `KKW01031SF` (Package: `eo.web.webview.KKW01031SF`) |

## 1. Role

### KKW01031SF02DBean.storeModelData()

This method serves as the central data-routing dispatcher for the `KKW01031SF` screen's model bean. It accepts a generic key/subkey/value tuple and routes it to the appropriate strongly-typed setter method on `KKW01031SF02DBean`, thereby populating the bean's internal properties with data received from the presentation layer (typically a JSP/HTML form or AJAX payload). The method implements a **routing/dispatch pattern** — it matches the `key` parameter against a predefined set of 12 Japanese-language item identifiers (each representing a distinct UI field), then further matches the `subkey` against property modifiers ("value", "enable", "state") to determine which specific setter to invoke.

This approach decouples the presentation layer from the bean's internal property names — the caller only needs to know the human-readable Japanese key strings (e.g., "キャンペーン名称" for "Campaign Name") rather than the underlying camelCase property names (e.g., `campaign_nm`). This is a common pattern in enterprise Java web applications where the presentation layer communicates using display-oriented identifiers while the backend uses technical property names.

The method handles 12 distinct item categories: Record Number/Document Count, Record Number, Contract Type, Pre-Update Timestamp, Campaign Name, Status, Status Name, Type Code, Type Code Name, Apply Flag, Apply Flag Name, Start Date, and End Date. Each category branches on the `subkey` to set either the field's **value** (the actual data), **enabled state** (whether the field is editable), or **state** (a status flag string). This enables the presentation layer to batch-populate complex bean state in a single method call with well-defined contract semantics.

**Design patterns implemented:**
- **Routing/Dispatch**: String-key-based branching to typed setters
- **Facade**: Provides a single entry point for multi-property bean updates
- **Type coercion**: Accepts `Object in_value` and casts to the appropriate type (`String` or `Boolean`) based on the setter's expected parameter type

**Note:** The method computes `separaterPoint` via `key.indexOf("/")` but never uses this value — it appears to be dead code, possibly leftover from a refactoring where a "/"-based key prefix scheme was abandoned.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["storeModelData(key, subkey, in_value, isSetAsString)"])

    START --> NULL_CHECK{"key or subkey<br>is null?"}
    NULL_CHECK -->|Yes| RETURN(["return"])
    NULL_CHECK -->|No| COMPUTE

    COMPUTE["separaterPoint = key.indexOf('/')"] --> B1{"key = "No/Cnt""}
    B1 -->|Yes| NC1
    B1 -->|No| B2{"key = "No""}

    B2 -->|Yes| N1
    B2 -->|No| B3{"key = "Contract Type""}

    B3 -->|Yes| K1
    B3 -->|No| B4{"key = "Pre-Update Timestamp""}

    B4 -->|Yes| U1
    B4 -->|No| B5{"key = "Campaign Name""}

    B5 -->|Yes| C1
    B5 -->|No| B6{"key = "Status""}

    B6 -->|Yes| S1
    B6 -->|No| B7{"key = "Status Name""}

    B7 -->|Yes| SN1
    B7 -->|No| B8{"key = "Type Code""}

    B8 -->|Yes| TC1
    B8 -->|No| B9{"key = "Type Code Name""}

    B9 -->|Yes| TN1
    B9 -->|No| B10{"key = "Apply Flag""}

    B10 -->|Yes| AJ1
    B10 -->|No| B11{"key = "Apply Flag Name""}

    B11 -->|Yes| AN1
    B11 -->|No| B12{"key = "Start Date""}

    B12 -->|Yes| SM1
    B12 -->|No| B13{"key = "End Date""}

    B13 -->|Yes| EM1
    B13 -->|No| END_N(["End"])

    NC1 -->NC_V{"subkey = "value""}
    NC_V -->|Yes| NC_SV["setNo_cnt_value"]
    NC_V -->|No| NC_E{"subkey = "enable""}
    NC_E -->|Yes| NC_SE["setNo_cnt_enabled"]
    NC_E -->|No| NC_SS["setNo_cnt_state"]
    NC_SS --> END_N

    N1 --> N_V{"subkey = "value""}
    N_V -->|Yes| N_SV["setNo_value"]
    N_V -->|No| N_SS["setNo_state"]
    N_SS --> END_N

    K1 --> K_V{"subkey = "value""}
    K_V -->|Yes| K_SV["setKei_kind_value"]
    K_V -->|No| K_SS["setKei_kind_state"]
    K_SS --> END_N

    U1 --> U_V{"subkey = "value""}
    U_V -->|Yes| U_SV["setUpd_dtm_bf_value"]
    U_V -->|No| U_SS["setUpd_dtm_bf_state"]
    U_SS --> END_N

    C1 --> C_V{"subkey = "value""}
    C_V -->|Yes| C_SV["setCampaign_nm_value"]
    C_V -->|No| C_E{"subkey = "enable""}
    C_E -->|Yes| C_SE["setCampaign_nm_enabled"]
    C_E -->|No| C_SS["setCampaign_nm_state"]
    C_SS --> END_N

    S1 --> S_V{"subkey = "value""}
    S_V -->|Yes| S_SV["setStat_value"]
    S_V -->|No| S_SS["setStat_state"]
    S_SS --> END_N

    SN1 --> SN_V{"subkey = "value""}
    SN_V -->|Yes| SN_SV["setStat_nm_value"]
    SN_V -->|No| SN_E{"subkey = "enable""}
    SN_E -->|Yes| SN_SE["setStat_nm_enabled"]
    SN_E -->|No| SN_SS["setStat_nm_state"]
    SN_SS --> END_N

    TC1 --> TC_V{"subkey = "value""}
    TC_V -->|Yes| TC_SV["setType_cd_value"]
    TC_V -->|No| TC_SS["setType_cd_state"]
    TC_SS --> END_N

    TN1 --> TN_V{"subkey = "value""}
    TN_V -->|Yes| TN_SV["setType_cd_nm_value"]
    TN_V -->|No| TN_E{"subkey = "enable""}
    TN_E -->|Yes| TN_SE["setType_cd_nm_enabled"]
    TN_E -->|No| TN_SS["setType_cd_nm_state"]
    TN_SS --> END_N

    AJ1 --> AJ_V{"subkey = "value""}
    AJ_V -->|Yes| AJ_SV["setAply_jun_value"]
    AJ_V -->|No| AJ_SS["setAply_jun_state"]
    AJ_SS --> END_N

    AN1 --> AN_V{"subkey = "value""}
    AN_V -->|Yes| AN_SV["setAply_jun_nm_value"]
    AN_V -->|No| AN_E{"subkey = "enable""}
    AN_E -->|Yes| AN_SE["setAply_jun_nm_enabled"]
    AN_E -->|No| AN_SS["setAply_jun_nm_state"]
    AN_SS --> END_N

    SM1 --> SM_V{"subkey = "value""}
    SM_V -->|Yes| SM_SV["setStaymd_value"]
    SM_V -->|No| SM_E{"subkey = "enable""}
    SM_E -->|Yes| SM_SE["setStaymd_enabled"]
    SM_E -->|No| SM_SS["setStaymd_state"]
    SM_SS --> END_N

    EM1 --> EM_V{"subkey = "value""}
    EM_V -->|Yes| EM_SV["setEndymd_value"]
    EM_V -->|No| EM_E{"subkey = "enable""}
    EM_E -->|Yes| EM_SE["setEndymd_enabled"]
    EM_E -->|No| EM_SS["setEndymd_state"]
    EM_SS --> END_N
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | Japanese-language field identifier that determines **which bean property** to populate. Maps to one of 12 screen fields: "番号／件数" (Record No./Document Count), "番号" (Record No.), "契約種別" (Contract Type), "更新年月日時分秒更新前" (Pre-Update Timestamp), "キャンペーン名称" (Campaign Name), "ステータス" (Status), "ステータス名称" (Status Name), "タイプコード" (Type Code), "タイプコード名称" (Type Code Name), "即時適用フラグ" (Apply Flag), "即時適用フラグ名称" (Apply Flag Name), "開始年月日" (Start Date), or "終了年月日" (End Date). If the key does not match any of these, the method silently returns without action. |
| 2 | `subkey` | `String` | Property modifier that determines **which aspect** of the identified field to set. Case-insensitive comparison against "value", "enable", or "state". "value" sets the field's data value; "enable" sets whether the field is editable (Boolean); "state" sets a status flag string. The Javadoc refers to this as the "subkey" (サブキー). |
| 3 | `in_value` | `Object` | The data to be stored in the bean property. Type varies by setter: cast to `String` for value/state fields, cast to `Boolean` for enable fields. The `isSetAsString` parameter is declared but **not used** in the method body — it exists in the signature for API compatibility but has no effect on runtime behavior. |
| 4 | `isSetAsString` | `boolean` | Unused. The Javadoc mentions this controls whether a Long-type field's value property receives a String value, but the actual code does not reference this parameter. It is silently ignored. |

**Instance fields / external state read:**
- None. The method only writes to instance fields via setter methods; it does not read any instance fields itself.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `setNo_cnt_value` | KKW01031SF02DBean | - | Sets the record/document count value property on the bean |
| U | `setNo_cnt_enabled` | KKW01031SF02DBean | - | Sets the editable-state flag for the record/document count field |
| U | `setNo_cnt_state` | KKW01031SF02DBean | - | Sets the status flag string for the record/document count field |
| U | `setNo_value` | KKW01031SF02DBean | - | Sets the record number value property |
| U | `setNo_state` | KKW01031SF02DBean | - | Sets the status flag string for the record number field |
| U | `setKei_kind_value` | KKW01031SF02DBean | - | Sets the contract type value property |
| U | `setKei_kind_state` | KKW01031SF02DBean | - | Sets the status flag string for the contract type field |
| U | `setUpd_dtm_bf_value` | KKW01031SF02DBean | - | Sets the pre-update timestamp value property |
| U | `setUpd_dtm_bf_state` | KKW01031SF02DBean | - | Sets the status flag string for the pre-update timestamp field |
| U | `setCampaign_nm_value` | KKW01031SF02DBean | - | Sets the campaign name value property |
| U | `setCampaign_nm_enabled` | KKW01031SF02DBean | - | Sets the editable-state flag for the campaign name field |
| U | `setCampaign_nm_state` | KKW01031SF02DBean | - | Sets the status flag string for the campaign name field |
| U | `setStat_value` | KKW01031SF02DBean | - | Sets the status value property |
| U | `setStat_state` | KKW01031SF02DBean | - | Sets the status flag string for the status field |
| U | `setStat_nm_value` | KKW01031SF02DBean | - | Sets the status name value property |
| U | `setStat_nm_enabled` | KKW01031SF02DBean | - | Sets the editable-state flag for the status name field |
| U | `setStat_nm_state` | KKW01031SF02DBean | - | Sets the status flag string for the status name field |
| U | `setType_cd_value` | KKW01031SF02DBean | - | Sets the type code value property |
| U | `setType_cd_state` | KKW01031SF02DBean | - | Sets the status flag string for the type code field |
| U | `setType_cd_nm_value` | KKW01031SF02DBean | - | Sets the type code name value property |
| U | `setType_cd_nm_enabled` | KKW01031SF02DBean | - | Sets the editable-state flag for the type code name field |
| U | `setType_cd_nm_state` | KKW01031SF02DBean | - | Sets the status flag string for the type code name field |
| U | `setAply_jun_value` | KKW01031SF02DBean | - | Sets the apply flag value property |
| U | `setAply_jun_state` | KKW01031SF02DBean | - | Sets the status flag string for the apply flag field |
| U | `setAply_jun_nm_value` | KKW01031SF02DBean | - | Sets the apply flag name value property |
| U | `setAply_jun_nm_enabled` | KKW01031SF02DBean | - | Sets the editable-state flag for the apply flag name field |
| U | `setAply_jun_nm_state` | KKW01031SF02DBean | - | Sets the status flag string for the apply flag name field |
| U | `setStaymd_value` | KKW01031SF02DBean | - | Sets the start date value property |
| U | `setStaymd_enabled` | KKW01031SF02DBean | - | Sets the editable-state flag for the start date field |
| U | `setStaymd_state` | KKW01031SF02DBean | - | Sets the status flag string for the start date field |
| U | `setEndymd_value` | KKW01031SF02DBean | - | Sets the end date value property |
| U | `setEndymd_enabled` | KKW01031SF02DBean | - | Sets the editable-state flag for the end date field |
| U | `setEndymd_state` | KKW01031SF02DBean | - | Sets the status flag string for the end date field |

**Summary:** This method performs **no external CRUD operations** against a database or service component. All 33 setter calls are **internal bean state mutations (U — Update)** within the `KKW01031SF02DBean` class itself. No SC codes, no CBS calls, no entity reads/writes. The method is purely a data-routing convenience layer on top of JavaBean properties.

## 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: `setEndymd_state` [-], `setEndymd_enabled` [-], `setEndymd_value` [-], `setStaymd_state` [-], `setStaymd_enabled` [-], `setStaymd_value` [-], `setAply_jun_nm_state` [-], `setAply_jun_nm_enabled` [-], `setAply_jun_nm_value` [-], `setAply_jun_state` [-], `setAply_jun_value` [-], `setType_cd_nm_state` [-], `setType_cd_nm_enabled` [-], `setType_cd_nm_value` [-], `setType_cd_state` [-], `setType_cd_value` [-], `setStat_nm_state` [-], `setStat_nm_enabled` [-], `setStat_nm_value` [-], `setStat_state` [-]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `KKW01031SF02DBean.storeModelData()` | `KKW01031SF02DBean.storeModelData(String, String, Object, boolean)` | `setEndymd_state [U]`, `setEndymd_enabled [U]`, `setEndymd_value [U]`, `setStaymd_state [U]`, `setStaymd_enabled [U]`, `setStaymd_value [U]`, `setAply_jun_nm_state [U]`, `setAply_jun_nm_enabled [U]`, `setAply_jun_nm_value [U]`, `setAply_jun_state [U]`, `setAply_jun_value [U]`, `setType_cd_nm_state [U]`, `setType_cd_nm_enabled [U]`, `setType_cd_nm_value [U]`, `setType_cd_state [U]`, `setType_cd_value [U]`, `setStat_nm_state [U]`, `setStat_nm_enabled [U]`, `setStat_nm_value [U]`, `setStat_state [U]`, `setStat_value [U]`, `setType_cd_nm_state [U]`, `setType_cd_nm_enabled [U]`, `setType_cd_nm_value [U]`, `setType_cd_state [U]`, `setType_cd_value [U]`, `setKei_kind_state [U]`, `setKei_kind_value [U]`, `setAply_jun_nm_state [U]`, `setAply_jun_nm_enabled [U]`, `setAply_jun_value [U]`, `setStaymd_state [U]`, `setStaymd_enabled [U]`, `setStaymd_value [U]`, `setEndymd_state [U]`, `setEndymd_enabled [U]`, `setEndymd_value [U]`, `setNo_cnt_state [U]`, `setNo_cnt_enabled [U]`, `setNo_cnt_value [U]`, `setNo_state [U]`, `setNo_value [U]`, `setUpd_dtm_bf_state [U]`, `setUpd_dtm_bf_value [U]`, `setCampaign_nm_state [U]`, `setCampaign_nm_enabled [U]`, `setCampaign_nm_value [U]` |
| 2 | `KKW01031SF02DBean.storeModelData()` | `KKW01031SF02DBean.storeModelData(String, String, Object, boolean)` | Same terminals as Caller 1 (method has two overload-free callers in same class) |

## 6. Per-Branch Detail Blocks

**Block 1** — IF (null-guard) (L682)

> Guard clause: if either `key` or `subkey` is null, exit immediately. The Japanese comment reads: "key, subkey がnullの場合、処理を中止" (If key/subkey is null, abort processing).

| # | Type | Code |
|---|------|------|
| 1 | SET | `separaterPoint = key.indexOf("/")` // Computes separator position (unused — dead code) [L686] |
| 2 | RETURN | `return` // Early exit when key or subkey is null [L684] |

---

**Block 2** — ELSE-IF `(key.equals("番号／件数"))` [L689] "Item ID: no_cnt" (Record Number / Document Count)

> The Japanese key "番号／件数" maps to the `no_cnt` internal property prefix. The comment reads: "データタイプがStringの項目'番号／件数'(項目ID:no_cnt)" (Data type is String item "Record No./Document Count" (item ID: no_cnt)).

**Block 2.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L691)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setNo_cnt_value((String)in_value)` // Cast and set the record/document count value |

**Block 2.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` (L693)

> The Japanese comment reads: "subkeyが"enable"の場合、no_cnt_enabled setterを実行する" (If subkey is "enable", execute the no_cnt_enabled setter).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setNo_cnt_enabled((Boolean)in_value)` // Cast to Boolean and set the editable flag |

**Block 2.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L695)

> The Japanese comment reads: "subkeyが"state"の場合、ステータスを返す" (If subkey is "state", return/set the status).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setNo_cnt_state((String)in_value)` // Cast and set the status flag string |

---

**Block 3** — ELSE-IF `(key.equals("番号"))` (L700) "Item ID: no" (Record Number)

> The Japanese key "番号" maps to the `no` internal property prefix. Comment: "データタイプがStringの項目'番号'(項目ID:no)" (Data type is String item "Record Number" (item ID: no)).

**Block 3.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L701)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setNo_value((String)in_value)` // Set the record number value |

**Block 3.2** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L703)

> Comment: "subkeyが"state"の場合、ステータスを返す" (If subkey is "state", return/set the status).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setNo_state((String)in_value)` // Set the status flag string |

---

**Block 4** — ELSE-IF `(key.equals("契約種別"))` (L708) "Item ID: kei_kind" (Contract Type)

> The Japanese key "契約種別" maps to `kei_kind`. Comment: "データタイプがStringの項目'契約種別'(項目ID:kei_kind)" (Data type is String item "Contract Type" (item ID: kei_kind)).

**Block 4.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L709)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setKei_kind_value((String)in_value)` // Set the contract type value |

**Block 4.2** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L711)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setKei_kind_state((String)in_value)` // Set the status flag string |

---

**Block 5** — ELSE-IF `(key.equals("更新年月日時分秒更新前"))` (L716) "Item ID: upd_dtm_bf" (Pre-Update Timestamp)

> The Japanese key "更新年月日時分秒更新前" maps to `upd_dtm_bf`. Comment: "データタイプがStringの項目'更新年月日時分秒更新前'(項目ID:upd_dtm_bf)" (Data type is String item "Pre-Update Timestamp" (item ID: upd_dtm_bf)).

**Block 5.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L717)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setUpd_dtm_bf_value((String)in_value)` // Set the pre-update timestamp value |

**Block 5.2** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L719)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setUpd_dtm_bf_state((String)in_value)` // Set the status flag string |

---

**Block 6** — ELSE-IF `(key.equals("キャンペーン名称"))` (L724) "Item ID: campaign_nm" (Campaign Name)

> The Japanese key "キャンペーン名称" maps to `campaign_nm`. Comment: "データタイプがStringの項目'キャンペーン名称'(項目ID:campaign_nm)" (Data type is String item "Campaign Name" (item ID: campaign_nm)).

**Block 6.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L725)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setCampaign_nm_value((String)in_value)` // Set the campaign name value |

**Block 6.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` (L727)

> Comment: "subkeyが"enable"の場合、campaign_nm_enabled setterを実行する" (If subkey is "enable", execute the campaign_nm_enabled setter).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setCampaign_nm_enabled((Boolean)in_value)` // Set the editable flag |

**Block 6.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L729)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setCampaign_nm_state((String)in_value)` // Set the status flag string |

---

**Block 7** — ELSE-IF `(key.equals("ステータス"))` (L734) "Item ID: stat" (Status)

> The Japanese key "ステータス" maps to `stat`. Comment: "データタイプがStringの項目'ステータス'(項目ID:stat)" (Data type is String item "Status" (item ID: stat)).

**Block 7.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L735)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setStat_value((String)in_value)` // Set the status value |

**Block 7.2** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L737)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setStat_state((String)in_value)` // Set the status flag string |

---

**Block 8** — ELSE-IF `(key.equals("ステータス名称"))` (L742) "Item ID: stat_nm" (Status Name)

> The Japanese key "ステータス名称" maps to `stat_nm`. Comment: "データタイプがStringの項目'ステータス名称'(項目ID:stat_nm)" (Data type is String item "Status Name" (item ID: stat_nm)).

**Block 8.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L743)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setStat_nm_value((String)in_value)` // Set the status name value |

**Block 8.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` (L745)

> Comment: "subkeyが"enable"の場合、stat_nm_enabled setterを実行する" (If subkey is "enable", execute the stat_nm_enabled setter).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setStat_nm_enabled((Boolean)in_value)` // Set the editable flag |

**Block 8.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L747)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setStat_nm_state((String)in_value)` // Set the status flag string |

---

**Block 9** — ELSE-IF `(key.equals("タイプコード"))` (L752) "Item ID: type_cd" (Type Code)

> The Japanese key "タイプコード" maps to `type_cd`. Comment: "データタイプがStringの項目'タイプコード'(項目ID:type_cd)" (Data type is String item "Type Code" (item ID: type_cd)).

**Block 9.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L753)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setType_cd_value((String)in_value)` // Set the type code value |

**Block 9.2** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L755)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setType_cd_state((String)in_value)` // Set the status flag string |

---

**Block 10** — ELSE-IF `(key.equals("タイプコード名称"))` (L760) "Item ID: type_cd_nm" (Type Code Name)

> The Japanese key "タイプコード名称" maps to `type_cd_nm`. Comment: "データタイプがStringの項目'タイプコード名称'(項目ID:type_cd_nm)" (Data type is String item "Type Code Name" (item ID: type_cd_nm)).

**Block 10.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L761)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setType_cd_nm_value((String)in_value)` // Set the type code name value |

**Block 10.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` (L763)

> Comment: "subkeyが"enable"の場合、type_cd_nm_enabled setterを実行する" (If subkey is "enable", execute the type_cd_nm_enabled setter).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setType_cd_nm_enabled((Boolean)in_value)` // Set the editable flag |

**Block 10.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L765)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setType_cd_nm_state((String)in_value)` // Set the status flag string |

---

**Block 11** — ELSE-IF `(key.equals("即時適用フラグ"))` (L770) "Item ID: aply_jun" (Apply Flag)

> The Japanese key "即時適用フラグ" maps to `aply_jun`. Comment: "データタイプがStringの項目'即時適用フラグ'(項目ID:aply_jun)" (Data type is String item "Apply Flag" (item ID: aply_jun)).

**Block 11.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L771)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setAply_jun_value((String)in_value)` // Set the apply flag value |

**Block 11.2** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L773)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setAply_jun_state((String)in_value)` // Set the status flag string |

---

**Block 12** — ELSE-IF `(key.equals("即時適用フラグ名称"))` (L778) "Item ID: aply_jun_nm" (Apply Flag Name)

> The Japanese key "即時適用フラグ名称" maps to `aply_jun_nm`. Comment: "データタイプがStringの項目'即時適用フラグ名称'(項目ID:aply_jun_nm)" (Data type is String item "Apply Flag Name" (item ID: aply_jun_nm)).

**Block 12.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L779)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setAply_jun_nm_value((String)in_value)` // Set the apply flag name value |

**Block 12.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` (L781)

> Comment: "subkeyが"enable"の場合、aply_jun_nm_enabled setterを実行する" (If subkey is "enable", execute the aply_jun_nm_enabled setter).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setAply_jun_nm_enabled((Boolean)in_value)` // Set the editable flag |

**Block 12.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L783)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setAply_jun_nm_state((String)in_value)` // Set the status flag string |

---

**Block 13** — ELSE-IF `(key.equals("開始年月日"))` (L788) "Item ID: staymd" (Start Date)

> The Japanese key "開始年月日" maps to `staymd`. Comment: "データタイプがStringの項目'開始年月日'(項目ID:staymd)" (Data type is String item "Start Date" (item ID: staymd)).

**Block 13.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L789)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setStaymd_value((String)in_value)` // Set the start date value |

**Block 13.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` (L791)

> Comment: "subkeyが"enable"の場合、staymd_enabled setterを実行する" (If subkey is "enable", execute the staymd_enabled setter).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setStaymd_enabled((Boolean)in_value)` // Set the editable flag |

**Block 13.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L793)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setStaymd_state((String)in_value)` // Set the status flag string |

---

**Block 14** — ELSE-IF `(key.equals("終了年月日"))` (L798) "Item ID: endymd" (End Date)

> The Japanese key "終了年月日" maps to `endymd`. Comment: "データタイプがStringの項目'終了年月日'(項目ID:endymd)" (Data type is String item "End Date" (item ID: endymd)).

**Block 14.1** — ELSE-IF `(subkey.equalsIgnoreCase("value"))` (L799)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setEndymd_value((String)in_value)` // Set the end date value |

**Block 14.2** — ELSE-IF `(subkey.equalsIgnoreCase("enable"))` (L801)

> Comment: "subkeyが"enable"の場合、endymd_enabled setterを実行する" (If subkey is "enable", execute the endymd_enabled setter).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setEndymd_enabled((Boolean)in_value)` // Set the editable flag |

**Block 14.3** — ELSE-IF `(subkey.equalsIgnoreCase("state"))` (L803)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setEndymd_state((String)in_value)` // Set the status flag string |

---

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `no_cnt` | Field | Record Number / Document Count — the count of records or documents associated with a service contract entry |
| `no` | Field | Record Number — an internal sequential or system-assigned identifier for the record |
| `kei_kind` | Field | Contract Type (契約種別) — the type/classification of the service contract (e.g., new, change, renewal) |
| `upd_dtm_bf` | Field | Pre-Update Timestamp (更新年月日時分秒更新前) — the timestamp value before a record update was applied; used for audit/concurrency control |
| `campaign_nm` | Field | Campaign Name (キャンペーン名称) — the name of a marketing or promotional campaign associated with the service |
| `stat` | Field | Status (ステータス) — a status code indicating the current state of the service record |
| `stat_nm` | Field | Status Name (ステータス名称) — a human-readable description of the status |
| `type_cd` | Field | Type Code (タイプコード) — a classification code for the service type |
| `type_cd_nm` | Field | Type Code Name (タイプコード名称) — the human-readable name corresponding to the type code |
| `aply_jun` | Field | Apply Flag (即時適用フラグ) — a flag indicating whether changes should take effect immediately |
| `aply_jun_nm` | Field | Apply Flag Name (即時適用フラグ名称) — a human-readable label for the apply flag |
| `staymd` | Field | Start Date (開始年月日) — the date when the service contract or campaign takes effect |
| `endymd` | Field | End Date (終了年月日) — the date when the service contract or campaign expires or terminates |
| `"value"` | Key | Subkey value — instructs the method to set the actual data value of a bean property |
| `"enable"` | Key | Subkey value — instructs the method to set the editable/interactive flag (Boolean) of a bean property |
| `"state"` | Key | Subkey value — instructs the method to set the status flag string of a bean property |
| `in_value` | Parameter | Incoming data value — the raw data to be stored, cast to the appropriate type by the setter |
| `isSetAsString` | Parameter | Unused flag — exists in the method signature for API compatibility but is not referenced in the method body |
| `separaterPoint` | Local var | Separator index — computed from `key.indexOf("/")` but never used; dead code, likely leftover from a refactored key prefix scheme |
| `KKW01031SF` | Module | Screen module identifier — the module/package containing this bean and related screen components |
| `KKW01031SF02DBean` | Class | Data bean for screen KKW01031SF — holds all field values, states, and editable flags for the associated JSP/screen |
