# Business Logic — KKW01027SF01DBean.loadModelData() [100 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA15001SF.KKW01027SF01DBean` |
| Layer | View / Data Bean (Web Client presentation layer) |
| Module | `KKA15001SF` (Package: `eo.web.webview.KKA15001SF`) |

## 1. Role

### KKW01027SF01DBean.loadModelData()

This method is the central data-access dispatcher for the **telecom service contract modification** screen within the K-Opticom web application. It implements the `X33VDataTypeBeanInterface.loadModelData` contract, enabling the X33V framework to retrieve field values from this data bean by key name. The method acts as a routing/dispatch hub: it receives a `key` (the business field name) and a `subkey` (the attribute — either `"value"` for the data value or `"state"` for the UI validation state), then delegates to the appropriate getter based on which of the seven supported fields is being requested.

The seven fields it manages are: **System ID** (`sysid`), **Service Contract Number** (`svc_kei_no`), **Migration Classification** (`ido_div`), **Migration Reason Code** (`ido_rsn_cd`), **Migration Reason Memo** (`ido_rsn_memo`), **Application Number** (`mskm_no`), and **Application Detail Number** (`mskm_dtl_no`). For scalar fields, it simply returns the bean's internal state or value. For the migration reason code list (`ido_rsn_cd`), it supports dynamic index-based access into a list of `X33VDataTypeStringBean` instances, allowing the framework to access individual list entries by their index or retrieve the total list size.

This method is a shared utility called by the framework's data-loading machinery whenever the screen needs to bind model data to UI components. It is the counterpart to `storeModelData`, completing the read/write symmetry required by the X33V data binding model.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["loadModel key subkey"])

    COND_NULL{key null or subkey null?}

    SEP[key.indexOf slash]

    KEY_SYSID{key equals sysid?}
    SUBKEY_VAL1{subkey equals value case-insensitive?}
    SUBKEY_ST1{subkey equals state case-insensitive?}

    KEY_SVC{key equals サービス契約番号?}
    SUBKEY_VAL2{subkey equals value?}
    SUBKEY_ST2{subkey equals state?}

    KEY_IDO{key equals 異動区分?}
    SUBKEY_VAL3{subkey equals value?}
    SUBKEY_ST3{subkey equals state?}

    KEY_IRC{key equals 異動理由コード?}
    IRC_SUBSTR[key substring separaterPoint plus 1]
    IRC_STAR{key equals star?}
    IRC_PARSE[Integer.valueOf key]
    IRC_CATCH[catch NumberFormatException return null]
    IRC_RANGE{index valid in list?}
    IRC_ITEM[ido_rsn_cd_list.get tmpIndex loadModelData subkey]

    KEY_IRM{key equals 異動理由メモ?}
    SUBKEY_VAL4{subkey equals value?}
    SUBKEY_ST4{subkey equals state?}

    KEY_ANO{key equals 申込番号?}
    SUBKEY_VAL5{subkey equals value?}
    SUBKEY_ST5{subkey equals state?}

    KEY_DNO{key equals 申込明細番号?}
    SUBKEY_VAL6{subkey equals value?}
    SUBKEY_ST6{subkey equals state?}

    END_N["return null"]
    END_V["return value"]

    START --> COND_NULL
    COND_NULL -->|true| END_N
    COND_NULL -->|false| SEP
    SEP --> KEY_SYSID
    KEY_SYSID -->|true| SUBKEY_VAL1
    KEY_SYSID -->|false| KEY_SVC

    SUBKEY_VAL1 -->|true| GET_SV["getSysid_value"]
    SUBKEY_VAL1 -->|false| SUBKEY_ST1
    SUBKEY_ST1 -->|true| GET_SS["getSysid_state"]
    SUBKEY_ST1 -->|false| KEY_SVC

    KEY_SVC -->|true| SUBKEY_VAL2
    KEY_SVC -->|false| KEY_IDO

    SUBKEY_VAL2 -->|true| GET_SVCV["getSvc_kei_no_value"]
    SUBKEY_VAL2 -->|false| SUBKEY_ST2
    SUBKEY_ST2 -->|true| GET_SVCS["getSvc_kei_no_state"]
    SUBKEY_ST2 -->|false| KEY_IDO

    KEY_IDO -->|true| SUBKEY_VAL3
    KEY_IDO -->|false| KEY_IRC

    SUBKEY_VAL3 -->|true| GET_IDOV["getIdo_div_value"]
    SUBKEY_VAL3 -->|false| SUBKEY_ST3
    SUBKEY_ST3 -->|true| GET_IDOS["getIdo_div_state"]
    SUBKEY_ST3 -->|false| KEY_IRC

    KEY_IRC -->|true| IRC_SUBSTR
    KEY_IRC -->|false| KEY_IRM

    IRC_SUBSTR --> IRC_STAR
    IRC_STAR -->|true| GET_SIZE["Integer.valueOf ido_rsn_cd_list.size"]
    IRC_STAR -->|false| IRC_PARSE
    IRC_PARSE -->|success| RANGE_CHK{tmpIndexInt null?}
    IRC_PARSE -->|NumberFormatException| IRC_CATCH
    RANGE_CHK -->|true| END_N
    RANGE_CHK -->|false| IRC_RANGE
    IRC_RANGE -->|false| END_N
    IRC_RANGE -->|true| IRC_ITEM

    KEY_IRM -->|true| SUBKEY_VAL4
    KEY_IRM -->|false| KEY_ANO

    SUBKEY_VAL4 -->|true| GET_IRMV["getIdo_rsn_memo_value"]
    SUBKEY_VAL4 -->|false| SUBKEY_ST4
    SUBKEY_ST4 -->|true| GET_IRMS["getIdo_rsn_memo_state"]
    SUBKEY_ST4 -->|false| KEY_ANO

    KEY_ANO -->|true| SUBKEY_VAL5
    KEY_ANO -->|false| KEY_DNO

    SUBKEY_VAL5 -->|true| GET_ANV["getMskm_no_value"]
    SUBKEY_VAL5 -->|false| SUBKEY_ST5
    SUBKEY_ST5 -->|true| GET_ANS["getMskm_no_state"]
    SUBKEY_ST5 -->|false| KEY_DNO

    KEY_DNO -->|true| SUBKEY_VAL6
    KEY_DNO -->|false| END_N

    SUBKEY_VAL6 -->|true| GET_DNV["getMskm_dtl_no_value"]
    SUBKEY_VAL6 -->|false| GET_DNS["getMskm_dtl_no_state"]

    GET_SV --> END_V
    GET_SS --> END_V
    GET_SVCV --> END_V
    GET_SVCS --> END_V
    GET_IDOV --> END_V
    GET_IDOS --> END_V
    GET_SIZE --> END_V
    IRC_ITEM --> END_V
    GET_IRMV --> END_V
    GET_IRMS --> END_V
    GET_ANV --> END_V
    GET_ANS --> END_V
    GET_DNV --> END_V
    GET_DNS --> END_V
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | The business field identifier. Represents one of seven supported fields: `sysid` (System ID — internal record identifier), `サービス契約番号` (Service Contract Number — the customer's active telecom contract), `異動区分` (Migration Classification — type of contract change: new/add/cancel), `異動理由コード` (Migration Reason Code — the reason code for a contract modification, supports index-based list access via `/index` suffix), `異動理由メモ` (Migration Reason Memo — free-text explanation of the contract change reason), `申込番号` (Application Number — the order/request submission ID), or `申込明細番号` (Application Detail Number — the line-item detail ID within an order). |
| 2 | `subkey` | `String` | The attribute sub-selector. Determines whether to return the data value (`"value"`, case-insensitive) or the UI validation state (`"state"`, case-insensitive). For the migration reason code list, when `key` is `"異動理由コード/index"`, `subkey` is forwarded to the inner `X33VDataTypeStringBean.loadModelData` to retrieve that list item's value or state. |

**Instance fields read by this method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `sysid_value` | `String` | System ID value |
| `sysid_state` | `String` | System ID validation state |
| `svc_kei_no_value` | `String` | Service contract number value |
| `svc_kei_no_state` | `String` | Service contract number validation state |
| `ido_div_value` | `String` | Migration classification value |
| `ido_div_state` | `String` | Migration classification validation state |
| `ido_rsn_cd_list` | `X33VDataTypeList` | List of migration reason code beans (each a `X33VDataTypeStringBean`), initialized as empty list in constructor |
| `ido_rsn_memo_value` | `String` | Migration reason memo value |
| `ido_rsn_memo_state` | `String` | Migration reason memo validation state |
| `mskm_no_value` | `String` | Application number value |
| `mskm_no_state` | `String` | Application number validation state |
| `mskm_dtl_no_value` | `String` | Application detail number value |
| `mskm_dtl_no_state` | `String` | Application detail number validation state |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `getSysid_value` | KKW01027SF01DBean | - | Returns the system ID value field |
| R | `getSysid_state` | KKW01027SF01DBean | - | Returns the system ID UI state field |
| R | `getSvc_kei_no_value` | KKW01027SF01DBean | - | Returns the service contract number value |
| R | `getSvc_kei_no_state` | KKW01027SF01DBean | - | Returns the service contract number UI state |
| R | `getIdo_div_value` | KKW01027SF01DBean | - | Returns the migration classification value |
| R | `getIdo_div_state` | KKW01027SF01DBean | - | Returns the migration classification UI state |
| R | `getIdo_rsn_memo_value` | KKW01027SF01DBean | - | Returns the migration reason memo value |
| R | `getIdo_rsn_memo_state` | KKW01027SF01DBean | - | Returns the migration reason memo UI state |
| R | `getMskm_no_value` | KKW01027SF01DBean | - | Returns the application number value |
| R | `getMskm_no_state` | KKW01027SF01DBean | - | Returns the application number UI state |
| R | `getMskm_dtl_no_value` | KKW01027SF01DBean | - | Returns the application detail number value |
| R | `getMskm_dtl_no_state` | KKW01027SF01DBean | - | Returns the application detail number UI state |
| R | `X33VDataTypeStringBean.loadModelData` | KKW01027SF01DBean | - | Forwards subkey access into a list item bean for migration reason code list entries |

This method performs **pure read** operations — it never creates, updates, or deletes data. It reads from local bean fields that are populated by other parts of the application flow (data initialization, database queries, or user input).

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW01027SF (framework) | `KKW01027SFBean.loadModelData(key, subkey)` -> `KKW01027SF01DBean.loadModelData(key, subkey)` | `getSysid_value [R] sysid field`, `getSvc_kei_no_value [R] svc_kei_no field`, `getIdo_div_value [R] ido_div field`, `getIdo_rsn_memo_value [R] ido_rsn_memo field`, `getMskm_no_value [R] mskm_no field`, `getMskm_dtl_no_value [R] mskm_dtl_no field` |
| 2 | Screen:KKW01027SF (framework) | `KKW01027SFBean.loadModelData(gamenId, key, subkey)` -> `KKW01027SFBean.loadModelData(key, subkey)` -> `KKW01027SF01DBean.loadModelData(key, subkey)` | Same as above |
| 3 | Screen:KKW01027SF (framework) | `KKW01027SFBean` list bean delegation via `cust_kei_hktgi_list_list` items -> `KKW01027SF01DBean.loadModelData(key, subkey)` | `X33VDataTypeStringBean.loadModelData [R] ido_rsn_cd_list items` |

**Notes:**
- The pre-computed caller is `KKW01027SF01DBean.loadModelData()` — this refers to the `KKW01027SFBean.loadModelData(String key, String subkey)` method (at line 1444), which contains its own `loadModelData` implementation. Within the KKW01027SFBean, this method instantiates `KKW01027SF01DBean` objects for the `cust_kei_hktgi_list` (Customer Contract Inheritance List) repeat items. When the framework calls `loadModelData` on those inner beans, they delegate to this method.
- The `KKW01027SFBean` also has its own `loadModelData(String key, String subkey)` (line 1444) which is a separate overloaded method in the parent bean class.

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] `(key == null || subkey == null)` (L257)

> Null guard: if either parameter is null, return null immediately. This is a defensive check to prevent NullPointerException when the framework passes incomplete data.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null;` // key or subkey is null — early exit [-> null] |

---

**Block 2** — [SET] `(sep = key.indexOf("/"))` (L259)

> Find the position of the first "/" character in the key. This is used later for the `異動理由コード` (migration reason code) list key, which may contain a path-like structure.

| # | Type | Code |
|---|------|------|
| 1 | SET | `int separaterPoint = key.indexOf("/");` // find first "/" position [-> -1 if not found] |

---

**Block 3** — [IF/ELSE-IF chain] `(key routing)` (L262-L354)

> Main dispatch: route to the appropriate field handler based on the `key` value. Seven distinct field keys are supported.

**Block 3.1** — [IF] `(key.equals("sysid"))` (L262)

> System ID field — a scalar string field. Returns either the value or the validation state.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("sysid")` [-> `sysid` = "sysid"] |

**Block 3.1.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L263)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getSysid_value();` // return the system ID string value [-> `sysid_value` field] |

**Block 3.1.2** — [ELSE-IF] `(subkey.equalsIgnoreCase("state"))` (L266)

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

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getSysid_state();` // return the system ID validation state [-> `sysid_state` field] |

**Block 3.2** — [ELSE-IF] `(key.equals("サービス契約番号"))` (L272)

> Service Contract Number field — the customer's telecom service contract identifier. Returns value or state.
> Japanese comment: `データタイプがStringの項目"サービス契約番号"(項目ID:svc_kei_no)` → (Data type is String field "Service Contract Number" (field ID: svc_kei_no))

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("サービス契約番号")` [-> `svc_kei_no` = "Service Contract Number"] |

**Block 3.2.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L273)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getSvc_kei_no_value();` // return the service contract number [-> `svc_kei_no_value` field] |

**Block 3.2.2** — [ELSE-IF] `(subkey.equalsIgnoreCase("state"))` (L276)

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

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getSvc_kei_no_state();` // return validation state [-> `svc_kei_no_state` field] |

**Block 3.3** — [ELSE-IF] `(key.equals("異動区分"))` (L282)

> Migration Classification field — the type of contract modification (e.g., new activation, addition, cancellation, modification).
> Japanese comment: `データタイプがStringの項目"異動区分"(項目ID:ido_div)` → (Data type is String field "Migration Classification" (field ID: ido_div))

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("異動区分")` [-> `ido_div` = "Migration Classification"] |

**Block 3.3.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L283)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getIdo_div_value();` // return the migration classification [-> `ido_div_value` field] |

**Block 3.3.2** — [ELSE-IF] `(subkey.equalsIgnoreCase("state"))` (L286)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getIdo_div_state();` // return validation state [-> `ido_div_state` field] |

**Block 3.4** — [ELSE-IF] `(key.equals("異動理由コード"))` (L292)

> Migration Reason Code — a **list-type field**. This is the most complex branch. When the key includes a "/" suffix, the method handles list-based access: `*` returns the list size, a numeric index returns the item at that position, and invalid input returns null.
> Japanese comment: `異動理由コード(String型、項目ID:ido_rsn_cd)` → (Migration reason code (String type, field ID: ido_rsn_cd))
> Japanese comment: `keyの次の要素を取得` → (Get the next element of key)

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("異動理由コード")` [-> `ido_rsn_cd` = "Migration Reason Code"] |

**Block 3.4.1** — [SET] `(key = key.substring(separaterPoint + 1))` (L294)

> Extract the portion of the key after the first "/". For example, if key is `"異動理由コード/3"`, this produces `"3"`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `key = key.substring(separaterPoint + 1);` // extract index portion after "/" [-> remaining key] |

**Block 3.4.2** — [IF] `(key.equals("*"))` (L296)

> Japanese comment: `インデックス値の代わりに"*"が指定されていたら、リストの要素数を返す。` → (If "*" is specified instead of an index value, return the number of list elements.)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return Integer.valueOf(ido_rsn_cd_list.size());` // return list element count [-> `ido_rsn_cd_list.size()`] |

**Block 3.4.3** — [SET] `(tmpIndexInt = null)` (L299)

| # | Type | Code |
|---|------|------|
| 1 | SET | `Integer tmpIndexInt = null;` // initialize index variable [-> null] |

**Block 3.4.4** — [TRY-CATCH] `(Integer.valueOf(key))` (L301)

> Parse the key as an integer. If the key is not a valid number, catch the exception and return null.
> Japanese comment: `インデックス値が数値文字列でない場合は、ここでnullを返す。` → (If the index value is not a numeric string, return null here.)

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpIndexInt = Integer.valueOf(key);` // parse index from key string |
| 2 | CATCH | `catch(NumberFormatException e)` -> `return null;` // invalid index format [-> null] |

**Block 3.4.5** — [IF] `(tmpIndexInt == null)` (L308)

> After the try-catch, if parsing failed, return null.

| # | Type | Code |
|---|------|------|
| 1 | IF | `tmpIndexInt == null` [-> parsing failed] |
| 2 | RETURN | `return null;` |

**Block 3.4.6** — [SET] `(tmpIndex = tmpIndexInt.intValue())` (L311)

| # | Type | Code |
|---|------|------|
| 1 | SET | `int tmpIndex = tmpIndexInt.intValue();` // convert Integer to int |

**Block 3.4.7** — [IF] `(tmpIndex < 0 || tmpIndex >= ido_rsn_cd_list.size())` (L312)

> Japanese comment: `インデックス値がリスト個数-1を超えると、ここでnullを返す。` → (If the index value exceeds the list count - 1, return null here.)

| # | Type | Code |
|---|------|------|
| 1 | IF | `tmpIndex < 0 || tmpIndex >= ido_rsn_cd_list.size()` [-> index out of range] |
| 2 | RETURN | `return null;` // index out of bounds |

**Block 3.4.8** — [RETURN] (L314)

> Cast the list item to `X33VDataTypeStringBean` and delegate `loadModelData` with the original subkey to get the item's value or state.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return ((X33VDataTypeStringBean)ido_rsn_cd_list.get(tmpIndex)).loadModelData(subkey);` // access list item by index [-> X33VDataTypeStringBean.loadModelData(subkey)] |

**Block 3.5** — [ELSE-IF] `(key.equals("異動理由メモ"))` (L318)

> Migration Reason Memo — free-text explanation for the contract change.
> Japanese comment: `データタイプがStringの項目"異動理由メモ"(項目ID:ido_rsn_memo)` → (Data type is String field "Migration Reason Memo" (field ID: ido_rsn_memo))

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("異動理由メモ")` [-> `ido_rsn_memo` = "Migration Reason Memo"] |

**Block 3.5.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L319)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getIdo_rsn_memo_value();` // return memo text [-> `ido_rsn_memo_value` field] |

**Block 3.5.2** — [ELSE-IF] `(subkey.equalsIgnoreCase("state"))` (L322)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getIdo_rsn_memo_state();` // return validation state [-> `ido_rsn_memo_state` field] |

**Block 3.6** — [ELSE-IF] `(key.equals("申込番号"))` (L328)

> Application Number — the order/request submission identifier.
> Japanese comment: `データタイプがStringの項目"申込番号"(項目ID:mskm_no)` → (Data type is String field "Application Number" (field ID: mskm_no))

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("申込番号")` [-> `mskm_no` = "Application Number"] |

**Block 3.6.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L329)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getMskm_no_value();` // return application number [-> `mskm_no_value` field] |

**Block 3.6.2** — [ELSE-IF] `(subkey.equalsIgnoreCase("state"))` (L332)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getMskm_no_state();` // return validation state [-> `mskm_no_state` field] |

**Block 3.7** — [ELSE-IF] `(key.equals("申込明細番号"))` (L338)

> Application Detail Number — the line-item identifier within an order.
> Japanese comment: `データタイプがStringの項目"申込明細番号"(項目ID:mskm_dtl_no)` → (Data type is String field "Application Detail Number" (field ID: mskm_dtl_no))

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("申込明細番号")` [-> `mskm_dtl_no` = "Application Detail Number"] |

**Block 3.7.1** — [IF] `(subkey.equalsIgnoreCase("value"))` (L339)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getMskm_dtl_no_value();` // return detail number [-> `mskm_dtl_no_value` field] |

**Block 3.7.2** — [ELSE-IF] `(subkey.equalsIgnoreCase("state"))` (L342)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return getMskm_dtl_no_state();` // return validation state [-> `mskm_dtl_no_state` field] |

---

**Block 4** — [RETURN] (L348)

> Japanese comment: `条件に一致するプロパティが存在しない場合は、nullを返す。` → (If no property matches the condition, return null.)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null;` // no matching key found — fall-through default [-> null] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `sysid` | Field | System ID — internal record identifier for the service contract modification session |
| `sysid_value` | Field | System ID value string — the actual system ID stored in this bean instance |
| `sysid_state` | Field | System ID validation state — UI validation flag for the system ID field |
| `svc_kei_no` | Field | Service Contract Number (`サービス契約番号`) — the customer's active telecom service contract identifier |
| `svc_kei_no_value` | Field | Service contract number value string |
| `svc_kei_no_state` | Field | Service contract number UI validation state |
| `ido_div` | Field | Migration Classification (`異動区分`) — type of contract modification: new activation, addition, cancellation, or modification |
| `ido_div_value` | Field | Migration classification value string |
| `ido_div_state` | Field | Migration classification UI validation state |
| `ido_rsn_cd` | Field | Migration Reason Code (`異動理由コード`) — code indicating the reason for a contract change; stored as a list of beans |
| `ido_rsn_cd_list` | Field | List of `X33VDataTypeStringBean` instances, each holding a migration reason code and its UI state |
| `ido_rsn_memo` | Field | Migration Reason Memo (`異動理由メモ`) — free-text explanation of why the contract is being modified |
| `ido_rsn_memo_value` | Field | Migration reason memo text value |
| `ido_rsn_memo_state` | Field | Migration reason memo UI validation state |
| `mskm_no` | Field | Application Number (`申込番号`) — the order/request submission identifier |
| `mskm_no_value` | Field | Application number value string |
| `mskm_no_state` | Field | Application number UI validation state |
| `mskm_dtl_no` | Field | Application Detail Number (`申込明細番号`) — the line-item detail ID within an order |
| `mskm_dtl_no_value` | Field | Application detail number value string |
| `mskm_dtl_no_state` | Field | Application detail number UI validation state |
| X33V | Framework | Fujitsu Futurity X33V web framework — provides data binding, bean management, and UI state tracking for Java web applications |
| X33VDataTypeBeanInterface | Interface | X33V interface that defines `loadModelData` and `storeModelData` methods for data binding |
| X33VListedBeanInterface | Interface | X33V interface for beans that can be held in lists (repeat items) |
| X33VDataTypeList | Class | X33V generic list container for holding typed bean instances |
| X33VDataTypeStringBean | Class | X33V bean type for string data fields; each instance holds a value and a state |
| KKW01027SF | Module | Service Contract Modification screen module — handles contract change operations (addition, cancellation, modification) in the K-Opticom telecom system |
| 異動 (Idou) | Business term | Migration / Contract modification — the business operation of changing a telecom service contract (e.g., adding a line, cancelling service, changing plan) |
| 申込 (Shinmou) | Business term | Application / Order — the customer's request or submission for a service change |
| 顧客契約引継リスト | Business term | Customer Contract Inheritance List — a repeat list item type in the screen that uses KKW01027SF01DBean as its data bean class |
| K-Opticom | Business term | A Japanese telecommunications provider offering fiber-optic internet, mobile, and fixed-line services |