# Business Logic — KKW02701SF02DBean.storeModelData() [143 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA16701SF.KKW02701SF02DBean` |
| Layer | Component (Web Model/Bean - View-Model binding layer) |
| Module | `KKA16701SF` (Package: `eo.web.webview.KKA16701SF`) |

## 1. Role

### KKW02701SF02DBean.storeModelData()

This method is a **unified field-dispatcher** for the web-screen data-binding model. It receives a field name (the `key` parameter - Japanese UI label such as "Service Contract Line Item Number" or "Migration Reservation Number"), a sub-key (the attribute to set: `value`, `state`, `enable`), and the value to assign. It routes the incoming data to the appropriate typed setter on the bean based on the key, enabling the screen layer to push model data into the bean without knowing the specific field names at compile time.

The method follows a **routing/dispatch pattern**: it performs a chain of string-equality checks on the `key` parameter, then a nested check on `subkey` to determine whether to store a `value`, a `state` (displayable string), or an `enable` flag (boolean). This allows the calling code to use a single invocation to populate any one of ~12 bean fields.

The fields it manages are all **String-typed UI-bound properties** related to a telecom service order and course selection screen. They cover service line item numbers, migration reservation data, building (mansion) information, course details, and fee schedule codes. Two properties (`stat` and `course_aply_ymd`) also support an `enable` sub-key for field visibility control.

In the larger system, this method is the **data sink** for screen-to-bean model binding - called during screen processing to populate the bean fields before display or after form submission.

## 2. Processing Pattern (Detailed Business Logic)

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

    START --> NULL_CHECK["Check: key == null || subkey == null"]
    NULL_CHECK -->|true| EARLY_RETURN["Return (no processing)"]
    NULL_CHECK -->|false| FIND_SEP["Find separator: key.indexOf('/')"]
    FIND_SEP --> DISPATCH["Route to key branch"]

    DISPATCH --> BRANCH1{"key = サービス契約内訳番号"}
    BRANCH1 -->|true| B1_SUB{"subkey check"}
    BRANCH1 -->|false| BRANCH2{"key = 世代登録年月日時分秒"}
    BRANCH2 -->|true| B2_SUB{"subkey check"}
    BRANCH2 -->|false| BRANCH3{"key = 異動予約番号"}
    BRANCH3 -->|true| B3_SUB{"subkey check"}
    BRANCH3 -->|false| BRANCH4{"key = 申込明細番号"}
    BRANCH4 -->|true| B4_SUB{"subkey check"}
    BRANCH4 -->|false| BRANCH5{"key = 状態"}
    BRANCH5 -->|true| B5_SUB{"subkey check"}
    BRANCH5 -->|false| BRANCH6{"key = コース適用年月日"}
    BRANCH6 -->|true| B6_SUB{"subkey check"}
    BRANCH6 -->|false| BRANCH7{"key = コース名"}
    BRANCH7 -->|true| B7_SUB{"subkey check"}
    BRANCH7 -->|false| BRANCH8{"key = マンションID"}
    BRANCH8 -->|true| B8_SUB{"subkey check"}
    BRANCH8 -->|false| BRANCH9{"key = マンション名"}
    BRANCH9 -->|true| B9_SUB{"subkey check"}
    BRANCH9 -->|false| BRANCH10{"key = 新料金コースコード"}
    BRANCH10 -->|true| B10_SUB{"subkey check"}
    BRANCH10 -->|false| BRANCH11{"key = 旧料金コースコード"}
    BRANCH11 -->|true| B11_SUB{"subkey check"}
    BRANCH11 -->|false| NO_MATCH["No matching branch (no-op)"]

    B1_SUB -->|value| B1_SET["setSvc_kei_ucwk_no_value in_value"]
    B1_SUB -->|state| B1_STATE["setSvc_kei_ucwk_no_state in_value"]
    B1_STATE --> END_NODE["Return / Next"]
    B1_SET --> END_NODE

    B2_SUB -->|value| B2_SET["setGene_add_dtm_value in_value"]
    B2_SUB -->|state| B2_STATE["setGene_add_dtm_state in_value"]
    B2_STATE --> END_NODE
    B2_SET --> END_NODE

    B3_SUB -->|value| B3_SET["setIdo_rsv_no_value in_value"]
    B3_SUB -->|state| B3_STATE["setIdo_rsv_no_state in_value"]
    B3_STATE --> END_NODE
    B3_SET --> END_NODE

    B4_SUB -->|value| B4_SET["setMskm_dtl_no_value in_value"]
    B4_SUB -->|state| B4_STATE["setMskm_dtl_no_state in_value"]
    B4_STATE --> END_NODE
    B4_SET --> END_NODE

    B5_SUB -->|value| B5_SET["setStat_value in_value"]
    B5_SUB -->|enable| B5_ENABLE["setStat_enabled in_value as Boolean"]
    B5_SUB -->|state| B5_STATE["setStat_state in_value"]
    B5_STATE --> END_NODE
    B5_SET --> END_NODE
    B5_ENABLE --> END_NODE

    B6_SUB -->|value| B6_SET["setCourse_aply_ymd_value in_value"]
    B6_SUB -->|enable| B6_ENABLE["setCourse_aply_ymd_enabled in_value as Boolean"]
    B6_SUB -->|state| B6_STATE["setCourse_aply_ymd_state in_value"]
    B6_STATE --> END_NODE
    B6_SET --> END_NODE
    B6_ENABLE --> END_NODE

    B7_SUB -->|value| B7_SET["setCourse_nm_value in_value"]
    B7_SUB -->|enable| B7_ENABLE["setCourse_nm_enabled in_value as Boolean"]
    B7_SUB -->|state| B7_STATE["setCourse_nm_state in_value"]
    B7_STATE --> END_NODE
    B7_SET --> END_NODE
    B7_ENABLE --> END_NODE

    B8_SUB -->|value| B8_SET["setMansion_id_value in_value"]
    B8_SUB -->|enable| B8_ENABLE["setMansion_id_enabled in_value as Boolean"]
    B8_SUB -->|state| B8_STATE["setMansion_id_state in_value"]
    B8_STATE --> END_NODE
    B8_SET --> END_NODE
    B8_ENABLE --> END_NODE

    B9_SUB -->|value| B9_SET["setMansion_nm_value in_value"]
    B9_SUB -->|enable| B9_ENABLE["setMansion_nm_enabled in_value as Boolean"]
    B9_SUB -->|state| B9_STATE["setMansion_nm_state in_value"]
    B9_STATE --> END_NODE
    B9_SET --> END_NODE
    B9_ENABLE --> END_NODE

    B10_SUB -->|value| B10_SET["setNew_pcrs_cd_value in_value"]
    B10_SUB -->|enable| B10_ENABLE["setNew_pcrs_cd_enabled in_value as Boolean"]
    B10_SUB -->|state| B10_STATE["setNew_pcrs_cd_state in_value"]
    B10_STATE --> END_NODE
    B10_SET --> END_NODE
    B10_ENABLE --> END_NODE

    B11_SUB -->|value| B11_SET["setOld_pcrs_cd_value in_value"]
    B11_SUB -->|enable| B11_ENABLE["setOld_pcrs_cd_enabled in_value as Boolean"]
    B11_SUB -->|state| B11_STATE["setOld_pcrs_cd_state in_value"]
    B11_STATE --> END_NODE
    B11_SET --> END_NODE
    B11_ENABLE --> END_NODE

    NO_MATCH --> END_NODE
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | The **field name** (Japanese UI label) that identifies which bean property to populate. Examples: "サービス契約内訳番号" (Service Contract Line Item Number), "マンションID" (Mansion ID), "旧料金コースコード" (Old Fee Schedule Code). Determines which setter branch is taken. |
| 2 | `subkey` | `String` | The **attribute name** within the field: `"value"` (data value), `"state"` (state status), `"enable"` (visibility flag, only for `stat`, `course_aply_ymd`, `course_nm`, `mansion_id`, `mansion_nm`, `new_pcrs_cd`, `old_pcrs_cd`). Case-insensitive match (`equalsIgnoreCase`). |
| 3 | `in_value` | `Object` | The **data** to store. Cast to `String` for `value` and `state` sub-keys, cast to `Boolean` for `enable` sub-key. |
| 4 | `isSetAsString` | `boolean` | Present in signature but **unused** in this method body. Likely reserved for future use or carried over from a parent class. Controls whether Long-type properties receive String values (per Javadoc). |

**Instance fields read:** None - this method only writes to fields via setter calls.

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `KKW02701SF02DBean.setSvc_kei_ucwk_no_value` | KKW02701SF02DBean | - | Sets the service contract line item number value |
| U | `KKW02701SF02DBean.setSvc_kei_ucwk_no_state` | KKW02701SF02DBean | - | Sets the state for service contract line item number |
| U | `KKW02701SF02DBean.setGene_add_dtm_value` | KKW02701SF02DBean | - | Sets the generation registration datetime value |
| U | `KKW02701SF02DBean.setGene_add_dtm_state` | KKW02701SF02DBean | - | Sets the state for generation registration datetime |
| U | `KKW02701SF02DBean.setIdo_rsv_no_value` | KKW02701SF02DBean | - | Sets the migration reservation number value |
| U | `KKW02701SF02DBean.setIdo_rsv_no_state` | KKW02701SF02DBean | - | Sets the state for migration reservation number |
| U | `KKW02701SF02DBean.setMskm_dtl_no_value` | KKW02701SF02DBean | - | Sets the application detail number value |
| U | `KKW02701SF02DBean.setMskm_dtl_no_state` | KKW02701SF02DBean | - | Sets the state for application detail number |
| U | `KKW02701SF02DBean.setStat_value` | KKW02701SF02DBean | - | Sets the status value |
| U | `KKW02701SF02DBean.setStat_enabled` | KKW02701SF02DBean | - | Sets the status field enabled/visibility flag |
| U | `KKW02701SF02DBean.setStat_state` | KKW02701SF02DBean | - | Sets the state for status |
| U | `KKW02701SF02DBean.setCourse_aply_ymd_value` | KKW02701SF02DBean | - | Sets the course application date value |
| U | `KKW02701SF02DBean.setCourse_aply_ymd_enabled` | KKW02701SF02DBean | - | Sets the course application date field enabled/visibility flag |
| U | `KKW02701SF02DBean.setCourse_aply_ymd_state` | KKW02701SF02DBean | - | Sets the state for course application date |
| U | `KKW02701SF02DBean.setCourse_nm_value` | KKW02701SF02DBean | - | Sets the course name value |
| U | `KKW02701SF02DBean.setCourse_nm_enabled` | KKW02701SF02DBean | - | Sets the course name field enabled/visibility flag |
| U | `KKW02701SF02DBean.setCourse_nm_state` | KKW02701SF02DBean | - | Sets the state for course name |
| U | `KKW02701SF02DBean.setMansion_id_value` | KKW02701SF02DBean | - | Sets the mansion (building) ID value |
| U | `KKW02701SF02DBean.setMansion_id_enabled` | KKW02701SF02DBean | - | Sets the mansion ID field enabled/visibility flag |
| U | `KKW02701SF02DBean.setMansion_id_state` | KKW02701SF02DBean | - | Sets the state for mansion ID |
| U | `KKW02701SF02DBean.setMansion_nm_value` | KKW02701SF02DBean | - | Sets the mansion (building) name value |
| U | `KKW02701SF02DBean.setMansion_nm_enabled` | KKW02701SF02DBean | - | Sets the mansion name field enabled/visibility flag |
| U | `KKW02701SF02DBean.setMansion_nm_state` | KKW02701SF02DBean | - | Sets the state for mansion name |
| U | `KKW02701SF02DBean.setNew_pcrs_cd_value` | KKW02701SF02DBean | - | Sets the new fee schedule code value |
| U | `KKW02701SF02DBean.setNew_pcrs_cd_enabled` | KKW02701SF02DBean | - | Sets the new fee schedule code field enabled/visibility flag |
| U | `KKW02701SF02DBean.setNew_pcrs_cd_state` | KKW02701SF02DBean | - | Sets the state for new fee schedule code |
| U | `KKW02701SF02DBean.setOld_pcrs_cd_value` | KKW02701SF02DBean | - | Sets the old fee schedule code value |
| U | `KKW02701SF02DBean.setOld_pcrs_cd_enabled` | KKW02701SF02DBean | - | Sets the old fee schedule code field enabled/visibility flag |
| U | `KKW02701SF02DBean.setOld_pcrs_cd_state` | KKW02701SF02DBean | - | Sets the state for old fee schedule code |

All operations are **Update (U)** - this method exclusively invokes setter methods on the same bean to write field values, states, and enable flags. No database or service layer calls are made.

## 5. Dependency Trace

No screen/batch entry points found within 8 hops. Direct callers found: 2 methods.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `KKW02701SF02DBean.storeModelData()` (overloaded) | `KKW02701SF02DBean.storeModelData()` -> `KKW02701SF02DBean.storeModelData(String, String, Object, boolean)` | `setOld_pcrs_cd_state [U]`, `setOld_pcrs_cd_enabled [U]`, `setOld_pcrs_cd_value [U]`, `setNew_pcrs_cd_state [U]`, `setNew_pcrs_cd_enabled [U]`, `setNew_pcrs_cd_value [U]`, `setMansion_nm_state [U]`, `setMansion_nm_enabled [U]`, `setMansion_nm_value [U]`, `setMansion_id_state [U]`, `setMansion_id_enabled [U]`, `setMansion_id_value [U]`, `setCourse_nm_state [U]`, `setCourse_nm_enabled [U]`, `setCourse_nm_value [U]`, `setCourse_aply_ymd_state [U]`, `setCourse_aply_ymd_enabled [U]`, `setCourse_aply_ymd_value [U]`, `setStat_state [U]`, `setStat_enabled [U]`, `setStat_value [U]`, `setMskm_dtl_no_state [U]`, `setMskm_dtl_no_value [U]`, `setIdo_rsv_no_state [U]`, `setIdo_rsv_no_value [U]`, `setGene_add_dtm_state [U]`, `setGene_add_dtm_value [U]`, `setSvc_kei_ucwk_no_state [U]`, `setSvc_kei_ucwk_no_value [U]` |

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] `key == null || subkey == null` (L614-L618)
> Early exit: if either key or subkey is null, processing stops immediately.

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

---

**Block 2** — [EXEC] `key.indexOf("/")` (L620)
> Locates the first slash separator in the key string. Result is computed but not used in any conditional - appears to be vestigial or reserved for future use.

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

---

**Block 3** — [IF-ELSE-IF CHAIN] `key.equals("サービス契約内訳番号")` (L623-L633)
> **Branch: Service Contract Line Item Number (svc_kei_ucwk_no)** - Handles the first field. This is the primary service line item identifier.

| # | Type | Code |
|---|------|------|
| 1 | IF | `if (key.equals("サービス契約内訳番号"))` // key = Service Contract Line Item Number |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setSvc_kei_ucwk_no_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 5 | CALL | `setSvc_kei_ucwk_no_state((String)in_value)` |

---

**Block 4** — [ELSE-IF] `key.equals("世代登録年月日時分秒")` (L636-L644)
> **Branch: Generation Registration Datetime (gene_add_dtm)** - The timestamp when this generation of data was registered.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("世代登録年月日時分秒"))` // key = Generation Registration Datetime |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setGene_add_dtm_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 5 | CALL | `setGene_add_dtm_state((String)in_value)` |

---

**Block 5** — [ELSE-IF] `key.equals("異動予約番号")` (L647-L655)
> **Branch: Migration Reservation Number (ido_rsv_no)** - The reservation number for a migration (service transfer/upgrade).

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("異動予約番号"))` // key = Migration Reservation Number |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setIdo_rsv_no_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 5 | CALL | `setIdo_rsv_no_state((String)in_value)` |

---

**Block 6** — [ELSE-IF] `key.equals("申込明細番号")` (L658-L666)
> **Branch: Application Detail Number (mskm_dtl_no)** - The detail number of the order/application.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("申込明細番号"))` // key = Application Detail Number |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setMskm_dtl_no_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 5 | CALL | `setMskm_dtl_no_state((String)in_value)` |

---

**Block 7** — [ELSE-IF] `key.equals("状態")` (L669-L682)
> **Branch: Status (stat)** - The status field, uniquely supports three sub-keys: `value`, `enable`, and `state`.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("状態"))` // key = Status |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setStat_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("enable"))` |
| 5 | CALL | `setStat_enabled((Boolean)in_value)` |
| 6 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 7 | CALL | `setStat_state((String)in_value)` |

---

**Block 8** — [ELSE-IF] `key.equals("コース適用年月日")` (L685-L698)
> **Branch: Course Application Date (course_aply_ymd)** - The date when the course becomes applicable. Supports `value`, `enable`, and `state`.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("コース適用年月日"))` // key = Course Application Date |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setCourse_aply_ymd_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("enable"))` |
| 5 | CALL | `setCourse_aply_ymd_enabled((Boolean)in_value)` |
| 6 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 7 | CALL | `setCourse_aply_ymd_state((String)in_value)` |

---

**Block 9** — [ELSE-IF] `key.equals("コース名")` (L701-L714)
> **Branch: Course Name (course_nm)** - The name of the selected course/package. Supports `value`, `enable`, and `state`.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("コース名"))` // key = Course Name |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setCourse_nm_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("enable"))` |
| 5 | CALL | `setCourse_nm_enabled((Boolean)in_value)` |
| 6 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 7 | CALL | `setCourse_nm_state((String)in_value)` |

---

**Block 10** — [ELSE-IF] `key.equals("マンションID")` (L717-L730)
> **Branch: Mansion ID (mansion_id)** - The ID of the apartment/mansion (building) where the service is delivered. Supports `value`, `enable`, and `state`.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("マンションID"))` // key = Mansion ID |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setMansion_id_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("enable"))` |
| 5 | CALL | `setMansion_id_enabled((Boolean)in_value)` |
| 6 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 7 | CALL | `setMansion_id_state((String)in_value)` |

---

**Block 11** — [ELSE-IF] `key.equals("マンション名")` (L733-L746)
> **Branch: Mansion Name (mansion_nm)** - The name of the apartment/mansion (building). Supports `value`, `enable`, and `state`.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("マンション名"))` // key = Mansion Name |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setMansion_nm_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("enable"))` |
| 5 | CALL | `setMansion_nm_enabled((Boolean)in_value)` |
| 6 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 7 | CALL | `setMansion_nm_state((String)in_value)` |

---

**Block 12** — [ELSE-IF] `key.equals("新料金コースコード")` (L750-L763)
> **Branch: New Fee Schedule Code (new_pcrs_cd)** - The new fee plan/course code after migration/change. (Feature ADD: ANK-4592-00-00) Supports `value`, `enable`, and `state`.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("新料金コースコード"))` // key = New Fee Schedule Code [ANK-4592-00-00 ADD] |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setNew_pcrs_cd_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("enable"))` |
| 5 | CALL | `setNew_pcrs_cd_enabled((Boolean)in_value)` |
| 6 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 7 | CALL | `setNew_pcrs_cd_state((String)in_value)` |

---

**Block 13** — [ELSE-IF] `key.equals("旧料金コースコード")` (L766-L779)
> **Branch: Old Fee Schedule Code (old_pcrs_cd)** - The previous fee plan/course code before migration/change. Supports `value`, `enable`, and `state`.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `else if (key.equals("旧料金コースコード"))` // key = Old Fee Schedule Code |
| 2 | IF | `if (subkey.equalsIgnoreCase("value"))` |
| 3 | CALL | `setOld_pcrs_cd_value((String)in_value)` |
| 4 | ELSE-IF | `else if (subkey.equalsIgnoreCase("enable"))` |
| 5 | CALL | `setOld_pcrs_cd_enabled((Boolean)in_value)` |
| 6 | ELSE-IF | `else if (subkey.equalsIgnoreCase("state"))` |
| 7 | CALL | `setOld_pcrs_cd_state((String)in_value)` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_ucwk_no` | Field | Service detail work number - internal tracking ID for service contract line items |
| `gene_add_dtm` | Field | Generation registration datetime - timestamp when this generation of data was registered |
| `ido_rsv_no` | Field | Migration reservation number - ID for a service migration/upgrade reservation |
| `mskm_dtl_no` | Field | Application detail number - unique identifier for an order application line item |
| `stat` | Field | Status - general status field for the record (supports enable flag) |
| `course_aply_ymd` | Field | Course application date - the date when a selected course/package becomes effective |
| `course_nm` | Field | Course name - the display name of the selected service course/package |
| `mansion_id` | Field | Mansion ID - internal identifier for the apartment/building where service is delivered |
| `mansion_nm` | Field | Mansion name - the name of the apartment/building |
| `new_pcrs_cd` | Field | New fee schedule code - the new pricing plan/course code after a change |
| `old_pcrs_cd` | Field | Old fee schedule code - the previous pricing plan/course code before a change |
| マンション | Field | Mansion - Japanese term for multi-family apartment buildings (common real estate term) |
| サービス契約内訳番号 | Field | Service Contract Line Item Number - identifies a specific line item in a service contract |
| 世代登録年月日時分秒 | Field | Generation Registration Year-Month-Day-Hour-Minute-Second - full timestamp of data registration |
| 異動予約番号 | Field | Migration Reservation Number - ID for a reservation to migrate/change service |
| 申込明細番号 | Field | Application Detail Number - unique ID for an order application detail record |
| 状態 | Field | Status - current state of the record or field |
| コース適用年月日 | Field | Course Application Year-Month-Day - effective date of the selected course |
| コース名 | Field | Course Name - display name of the selected service package/course |
| マンションID | Field | Mansion (Building) ID - identifier for the delivery location |
| マンション名 | Field | Mansion (Building) Name - name of the delivery location |
| 新料金コースコード | Field | New Fee Schedule Course Code - new pricing plan after a service change |
| 旧料金コースコード | Field | Old Fee Schedule Course Code - previous pricing plan before a service change |
| value | Sub-key | Data value - stores the actual field value as a String |
| state | Sub-key | State status - stores the state/displayable string for the field |
| enable | Sub-key | Enable flag - boolean flag controlling field visibility/editability (not available for `svc_kei_ucwk_no`, `gene_add_dtm`, `ido_rsv_no`, `mskm_dtl_no`) |
| ANK-4592-00-00 | Change ID | Ticket/change request ID for the new/old fee schedule code feature addition |