# Business Logic — KKW05602SFLogic.actionUpd() [165 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW05602SF.KKW05602SFLogic` |
| Layer | Service / Screen Logic (Controller-adjacent business logic) |
| Module | `KKW05602SF` (Package: `eo.web.webview.KKW05602SF`) |

## 1. Role

### KKW05602SFLogic.actionUpd()

This method handles the **Update Confirmation Button** press (`更新確認ボタン押下時の処理`) in the Toki (トキー, phone number assignment/porting) update and cancellation screen (KKW05602). Its primary business purpose is to validate, collect, and prepare all Toki-related data entered by the operator on the confirmation screen before forwarding to the next screen (KKW05604). It retrieves service contract details for `eo`光電気 (K-Opticom fiber internet) from the session data bean, gathers all user-modified Toki parameters — including registration codes, type codes, desired start/end dates, and phone numbers — and runs a series of integrity and consistency checks.

The method implements a **validation-dispatch pattern**: it first performs pre-validation checks (`kanrenCheck1` and `kanrenCheck2`), then branches based on the `idoKbn` (異動区分, movement/transfer classification) to delegate to specialized handlers — `actionCfmIdoKbn00019` for address-change/registration scenarios, or `actionCfmOtherIdoKbn` for all other transfer types. After validation, it optionally performs a port-out status check before setting the next screen (KKW05604) and returning success.

The method serves as the **entry point confirmation handler** for the Toki update/cancellation workflow. It is the final processing step before the operator reviews the confirmation screen, meaning all data entered on previous steps is collected here and validated.

Conditional branches:
- **idoKbn == 00019 (Address Change/Registration)**: Delegates entirely to `actionCfmIdoKbn00019` without additional checks.
- **idoKbn != 00019 (All other transfer types)**: Delegates to `actionCfmOtherIdoKbn`, then performs a phone number port-out status check (`initTelnoStatCheckActionCfm`). If the check fails, processing aborts.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["actionUpd Start"])

    START --> GET_BEAN["Get ServiceFormBean via getServiceFormBean"]

    GET_BEAN --> CHECK_BEAN{Bean is null?}

    CHECK_BEAN -->|null| THROW_ERROR["Throw Exception"]
    CHECK_BEAN -->|not null| SET_FLG["Set UPD_CANCEL_FLG to UPD_CANCEL_FLG_UPD=1"]

    SET_FLG --> GET_ARRAY["Get EKK0191A010DETAILLIST via getDataBeanArray"]

    GET_ARRAY --> GET_SVCBEAN["Get svcUtwkEoTelBean from array index 0"]

    GET_SVCBEAN --> GET_TOKI_MT["Get tokiAddCdMtDb (pre-change toki registration code)"]

    GET_TOKI_MT --> GET_SBT_MT["Get tokiSbtCdMtDb (pre-change toki sub-type code)"]

    GET_SBT_MT --> GET_ITEN_SAKI["Get tokiAddCdSkDb (post-port toki registration code)"]

    GET_ITEN_SAKI --> GET_ITEN_SBT["Get tokiSbtCdSkDb (post-port toki sub-type code)"]

    GET_ITEN_SBT --> GET_TOKI_COND["Call getTokiAddCondtion(bean)"]

    GET_TOKI_COND --> GET_TOKI_DIV["Call getSelectedCd(bean, TOKI_ADD_DIV)"]

    GET_TOKI_DIV --> CHECK_TOKI_DIV{tokiAddCd null or empty?}

    CHECK_TOKI_DIV -->|empty| CHECK_OPAF{tokiAddCond == TOKI_ADD_OPAF 2?}

    CHECK_OPAF -->|true 2| USE_SK["Use tokiAddCdSkDb (post-port)"]
    CHECK_OPAF -->|false| USE_MT["Use tokiAddCdMtDb (pre-change)"]

    USE_SK --> RUN_CHK1["Run kanrenCheck1(tokiAddCd, svcUtwkEoTelBean)"]
    USE_MT --> RUN_CHK1

    CHECK_TOKI_DIV -->|not empty| RUN_CHK1

    RUN_CHK1 --> CHK1_PASS{chkBoo valid?}

    CHK1_PASS -->|false| SET_MSG1["Set EKB940-JW: toki info expired, cannot update"]
    CHK1_PASS -->|true| RUN_CHK2["Run kanrenCheck2(tokiAddCd, bean, svcUtwkEoTelBean)"]

    SET_MSG1 --> RET_FALSE_1["Return false"]

    RUN_CHK2 --> CHK2_PASS{chkBoo valid?}

    CHK2_PASS -->|false| SET_MSG2["Set EKB1040-JW: toki start, contact number change"]
    CHK2_PASS -->|true| GET_TOKI_SBT["Get tokiSbtCd from bean"]

    SET_MSG2 --> RET_FALSE_2["Return false"]

    GET_TOKI_SBT --> GET_TOKI_KIBO["Call getSelectedCd(bean, TOKI_KIBO, TOKI_KIBO_DSP)"]

    GET_TOKI_KIBO --> GET_DATES["Get tokiStaRsvYmd (start) and tokiEndRsvYmd (end)"]

    GET_DATES --> GET_TELNOS["Get itenMotoTelNo, rrksTelNo, rsvTelNo"]

    GET_TELNOS --> GET_RRKS_CHG["Get rrksTelNoChg; update rrksTelNo if not blank"]

    GET_RRKS_CHG --> GET_IDO["Get idoKbn from bean"]

    GET_IDO --> SET_UPD_FLG["Set UPD_RLS_JUDGE_FL to UPD_FL=UPD"]

    SET_UPD_FLG --> DEBUG_LOG["DEBUG_LOG: dump all values"]

    DEBUG_LOG --> SET_CUST["Call setCustKeiHktgiBean(bean, ...)"]

    SET_CUST --> CHECK_IDO{idoKbn == IDO_KBN_JUHEN 00019?}

    CHECK_IDO -->|true 00019| HANDLE_00019["Call actionCfmIdoKbn00019"]
    CHECK_IDO -->|else| HANDLE_OTHER["Call actionCfmOtherIdoKbn(bean, tokiAddCd, tokiSbtCd, tokiKibo, tokiStaRsvYmd, tokiEndRsvYmd, 1, itenMotoTelNo, rrksTelNo, rsvTelNo)"]

    HANDLE_00019 --> SET_NEXT["Set next screen KKW05604 on commonBean"]

    HANDLE_OTHER --> TELNO_STAT["Call initTelnoStatCheckActionCfm(paramBean)"]

    TELNO_STAT --> STAT_CHECK_OK{checkOkTelnoStat valid?}

    STAT_CHECK_OK -->|false| RET_FALSE_3["Return false"]
    STAT_CHECK_OK -->|true| SET_NEXT

    SET_NEXT --> SET_UPD_MSG["Set EKB0370--I with UPD_MSG_CHG_STR=Update"]

    SET_UPD_MSG --> DUMP_BEAN["Dump DataBean via JSYwebLog"]

    DUMP_BEAN --> RET_TRUE["Return true"]

    RET_TRUE --> END_NODE(["Return / End"])
    RET_FALSE_1 --> END_NODE
    RET_FALSE_2 --> END_NODE
    RET_FALSE_3 --> END_NODE
    THROW_ERROR --> END_NODE
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a no-parameter method; it operates entirely on instance state and the session data bean. The `X31SDataBeanAccess` form bean is obtained internally via `super.getServiceFormBean()`. |
| - | `bean` (instance) | `X31SDataBeanAccess` | The service form data bean holding all screen input values, including toki registration codes, dates, phone numbers, and the異動区分 (idoKbn). |
| - | `svcUtwkEoTelBean` (derived) | `X31SDataBeanAccess` | The first element of the `EKK0191A010DETAILLIST` array — represents the service contract details for eo光電気 (K-Opticom fiber) retrieved from DB for display and modification. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `OneStopDataBeanAccessArray.getDataBean` | OneStopDataBeanAccessArray | - | Reads a data bean from the session array by index — retrieves svcUtwkEoTelBean for the service contract. |
| R | `OneStopDataBeanAccess.getDataBeanArray` | OneStopDataBeanAccess | - | Reads `EKK0191A010DETAILLIST` (service contract details list) from session bean — used to get the main service contract row. |
| - | `OneStopDataBeanAccess.sendMessageString` | OneStopDataBeanAccess | - | Reads/writes individual fields on data beans (toki codes, dates, phone numbers, idoKbn, flags). |
| - | `KKW05602SFLogic.actionCfmIdoKbn00019` | KKW05602SFLogic | - | Handles address-change/registration異動区分 (value 00019) confirmation processing. |
| - | `KKW05602SFLogic.actionCfmOtherIdoKbn` | KKW05602SFLogic | - | Handles all other transfer type confirmation processing (port, cancellation, pause). |
| R | `KKW05602SFLogic.getSelectedCd` | KKW05602SFLogic | - | Reads selected dropdown values (tokiAddDiv, tokiKibo, rsvTelNo) from the bean with display-code fallback. |
| R | `KKW05602SFLogic.getTokiAddCondtion` | KKW05602SFLogic | - | Reads the toki registration condition status from the bean to determine fallback behavior. |
| - | `KKW05602SFLogic.initTelnoStatCheckActionCfm` | KKW05602SFLogic | - | Performs port-out status check on phone numbers for non-00019 transfer types. |
| - | `KKW05602SFLogic.kanrenCheck1` | KKW05602SFLogic | - | Validates that toki info hasn't already expired before allowing update. |
| - | `KKW05602SFLogic.kanrenCheck2` | KKW05602SFLogic | - | Validates that contact number changes are permitted even after toki start. |
| - | `KKW05602SFLogic.setCustKeiHktgiBean` | KKW05602SFLogic | - | Sets customer contract inheritance bean fields for the next screen. |
| R | `FUW09905SFLogic.getDataBean` | FUW09905SFLogic | - | (Called by sub-methods — data bean retrieval for web view support. |
| R | `FUSV0277_FUSV0277OPDBMapper.getDataBean` | FUSV0277_FUSV0277OPDBMapper | - | (Called by sub-methods — data bean retrieval from DB mapping layer. |
| R | `FUW00162SFLogic.getDataBean` | FUW00162SFLogic | - | (Called by sub-methods — data bean retrieval for web view support. |

Note: No direct database CRUD operations occur within this method. All data access is via session data beans. The actual CRUD operations are deferred to the sub-methods `actionCfmIdoKbn00019` and `actionCfmOtherIdoKbn`.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0390 (Toki Update/Cancellation Initial Display) | `KKSV0390` → Logic dispatcher → `KKW05602SFLogic.actionUpd` | `actionCfmIdoKbn00019` → next: KKW05604; `actionCfmOtherIdoKbn` → next: KKW05604 |

The KKW05602SFLogic class is instantiated and invoked through the screen controller framework (KKSV0390). The `actionUpd` method is called when the operator presses the update confirmation button on the Toki update/cancellation screen. The call chain flows through the standard screen-to-logic dispatch mechanism used by the eo customer core system.

## 6. Per-Branch Detail Blocks

### Block 1 — GET ServiceFormBean (L1067)

> Retrieves the service form data bean from the parent class context.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean = super.getServiceFormBean()` |
| 2 | IF | `if (null == bean)` [L1068] |

#### Block 1.1 — THROW Exception (L1069)

> If no bean is available, throws an exception to abort processing.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `throw new Exception()` |
| 2 | RETURN | `return` (exception propagates) |

### Block 2 — Set Update Flag (L1073)

> Sets the update/cancel flag on the data bean to indicate update mode.

| # | Type | Code |
|---|------|------|
| 1 | SET | [-> UPD_CANCEL_FLG_UPD="1"] |
| 2 | EXEC | `bean.sendMessageString(KKW05602SFConst.UPD_CANCEL_FLG, X31CWebConst.DATABEAN_SET_VALUE, UPD_CANCEL_FLG_UPD)` |

### Block 3 — Retrieve Service Contract Details (L1077–1079)

> Gets the service contract detail list for eo光電気 and extracts the first row.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ekk0191a010detaillistList = (X31SDataBeanAccessArray)bean.getDataBeanArray(KKW05602SFConst.EKK0191A010DETAILLIST)` |
| 2 | SET | `svcUtwkEoTelBean = ekk0191a010detaillistList.getDataBean(0)` |

### Block 4 — Retrieve Pre-Change Toki Codes (L1082–1083)

> Gets the toki registration and sub-type codes stored from before the current session's changes.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tokiAddCdMtDb = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNTOKI_ADD_CD_05, X31CWebConst.DATABEAN_GET_VALUE)` |
| 2 | SET | `tokiSbtCdMtDb = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNTOKI_SBT_CD_05, X31CWebConst.DATABEAN_GET_VALUE)` |

### Block 5 — Retrieve Post-Port Toki Codes (OT-2013-0000311) (L1087–1088)

> Gets the toki codes after port (移転先開通後) for phone number change scenarios.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tokiAddCdSkDb = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITENS_OPAF_TOKI_ADD_CD_05, X31CWebConst.DATABEAN_GET_VALUE)` |
| 2 | SET | `tokiSbtCdSkDb = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITENS_OPAF_TOKI_SBT_CD_05, X31CWebConst.DATABEAN_GET_VALUE)` |

### Block 6 — Get Toki Registration Condition (L1091)

| # | Type | Code |
|---|------|------|
| 1 | SET | `tokiAddCond = getTokiAddCondtion(bean)` |

### Block 7 — Get Toki Registration Division (L1094)

| # | Type | Code |
|---|------|------|
| 1 | SET | `tokiAddCd = getSelectedCd(bean, KKW05602SFConst.TOKI_ADD_DIV)` |

### Block 8 — Fallback for Empty TokiAddCd (L1095–1102)

> If the screen selection is empty, falls back to the stored value based on toki registration condition.

**Block 8.1 — IF** `tokiAddCond == TOKI_ADD_OPAF "2"` (L1097)

**[TOKI_ADD_OPAF="2"] (Toki registration status: After-port tok only)**

| # | Type | Code |
|---|------|------|
| 1 | SET | `tokiAddCd = tokiAddCdSkDb` (use post-port code) |

**Block 8.2 — ELSE** (L1099)

**[TOKI_ADD_OPAF="2"] fallback**

| # | Type | Code |
|---|------|------|
| 1 | SET | `tokiAddCd = tokiAddCdMtDb` (use pre-change code) |

### Block 9 — Kanren Check 1 (L1104–1109)

> Validates that the toki info hasn't already expired.

| # | Type | Code |
|---|------|------|
| 1 | SET | `chkBoo = kanrenCheck1(tokiAddCd, svcUtwkEoTelBean)` |
| 2 | IF | `if (!chkBoo)` (L1105) |

#### Block 9.1 — IF Failed Check (L1106–1108)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `JCCWebCommon.setMessageInfo(this, "EKBB940-JW", new String[]{MESSAGE_UPDCHK, MESSAGE_STAT})` |
| 2 | RETURN | `return false` |

### Block 10 — Kanren Check 2 (OM-2014-0002513) (L1112–1118)

> Validates that contact number changes are permitted even after toki start.

| # | Type | Code |
|---|------|------|
| 1 | SET | `chkBoo = kanrenCheck2(tokiAddCd, bean, svcUtwkEoTelBean)` |
| 2 | IF | `if (!chkBoo)` (L1113) |

#### Block 10.1 — IF Failed Check (L1114–1116)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `JCCWebCommon.setMessageInfo(this, "EKB1040-JW", new String[]{MESSAGE_UPDCHK2_1, MESSAGE_UPDCHK2_2, MESSAGE_UPDCHK2_3})` |
| 2 | RETURN | `return false` |

### Block 11 — Get Toki Sub-Type Code (L1123)

> Gets the current toki sub-type code from the bean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tokiSbtCd = bean.sendMessageString(KKW05602SFConst.TOKI_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE)` |

### Block 12 — Get Toki Desired (L1133)

> Gets the toki desired value with display-code fallback.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tokiKibo = getSelectedCd(bean, KKW05602SFConst.TOKI_KIBO, KKW05602SFConst.TOKI_KIBO_DSP)` |

### Block 13 — Get Toki Dates (L1136–1145)

> Collects year/month/day for both start and end reservation dates, then concatenates them into YYYYMMDD strings.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tokiStaRsvYear = bean.sendMessageString(KKW05602SFConst.TOKI_STA_RSV_YEAR, X31CWebConst.DATABEAN_GET_VALUE)` |
| 2 | SET | `tokiStaRsvMon = bean.sendMessageString(KKW05602SFConst.TOKI_STA_RSV_MON, X31CWebConst.DATABEAN_GET_VALUE)` |
| 3 | SET | `tokiStaRsvDay = bean.sendMessageString(KKW05602SFConst.TOKI_STA_RSV_DAY, X31CWebConst.DATABEAN_GET_VALUE)` |
| 4 | SET | `tokiStaRsvYmd = tokiStaRsvYear + tokiStaRsvMon + tokiStaRsvDay` |
| 5 | SET | `tokiEndRsvYear = bean.sendMessageString(KKW05602SFConst.TOKI_END_RSV_YEAR, X31CWebConst.DATABEAN_GET_VALUE)` |
| 6 | SET | `tokiEndRsvMon = bean.sendMessageString(KKW05602SFConst.TOKI_END_RSV_MON, X31CWebConst.DATABEAN_GET_VALUE)` |
| 7 | SET | `tokiEndRsvDay = bean.sendMessageString(KKW05602SFConst.TOKI_END_RSV_DAY, X31CWebConst.DATABEAN_GET_VALUE)` |
| 8 | SET | `tokiEndRsvYmd = tokiEndRsvYear + tokiEndRsvMon + tokiEndRsvDay` |

### Block 14 — Get Phone Numbers (L1148–1159)

> Retrieves transfer-origin phone number, contact phone number, and reserved phone number. Also handles override of contact number.

| # | Type | Code |
|---|------|------|
| 1 | SET | `itenMotoTelNo = bean.sendMessageString(KKW05602SFConst.ITENM_TELNO, X31CWebConst.DATABEAN_GET_VALUE)` |
| 2 | SET | `rrksTelNo = bean.sendMessageString(KKW05602SFConst.RRKS_TELNO, X31CWebConst.DATABEAN_GET_VALUE)` |
| 3 | SET | `rrksTelNoChg = bean.sendMessageString(KKW05602SFConst.RRKS_TELNO_CHG, X31CWebConst.DATABEAN_GET_VALUE)` |
| 4 | IF | `if (!JKKStringUtil.isNullBlank(rrksTelNoChg))` (L1153) |

#### Block 14.1 — Override Contact Number (L1154–1156)

| # | Type | Code |
|---|------|------|
| 1 | SET | `rrksTelNo = rrksTelNoChg` |
| 2 | EXEC | `bean.sendMessageString(KKW05602SFConst.RRKS_TELNO, X31CWebConst.DATABEAN_SET_VALUE, rrksTelNoChg)` |

| # | Type | Code |
|---|------|------|
| 5 | SET | `rsvTelNo = getSelectedCd(bean, KKW05602SFConst.RSV_TELNO, KKW05602SFConst.RSV_TELNO_DSP)` |

### Block 15 — Get Movement Classification and Update Flag (L1163–1165)

| # | Type | Code |
|---|------|------|
| 1 | SET | `idoKbn = bean.sendMessageString(KKW05602SFConst.IDO_DIV, X31CWebConst.DATABEAN_GET_VALUE)` |
| 2 | EXEC | `bean.sendMessageString(KKW05602SFConst.UPD_RLS_JUDGE_FL, X31CWebConst.DATABEAN_SET_VALUE, UPD_FL)` |

### Block 16 — Debug Logging (L1167–1175)

> Logs all key toki parameters and movement classification to the debug log.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `DEBUG_LOG.debug(... tokiAddCd ...)` |
| 2 | EXEC | `DEBUG_LOG.debug(... tokiSbtCd ...)` |
| 3 | EXEC | `DEBUG_LOG.debug(... tokiKibo ...)` |
| 4 | EXEC | `DEBUG_LOG.debug(... tokiStaRsvYmd ...)` |
| 5 | EXEC | `DEBUG_LOG.debug(... tokiEndRsvYmd ...)` |
| 6 | EXEC | `DEBUG_LOG.debug(... itenMotoTelNo ...)` |
| 7 | EXEC | `DEBUG_LOG.debug(... rrksTelNo ...)` |
| 8 | EXEC | `DEBUG_LOG.debug(... rsvTelNo ...)` |
| 9 | EXEC | `DEBUG_LOG.debug(... idoKbn ...)` |

### Block 17 — Set Customer Contract Bean (L1181–1182)

> Sets the customer contract inheritance bean with all collected values.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setCustKeiHktgiBean(bean, tokiAddCd, tokiSbtCd, tokiKibo, tokiStaRsvYmd, tokiEndRsvYmd, itenMotoTelNo, rrksTelNo, rsvTelNo)` |

### Block 18 — Movement Classification Branch (L1183–1196)

> Branches based on the異動区分 (idoKbn) to delegate to specialized handlers.

**[IDO_KBN_JUHEN = JKKCommonConst.IDO_DIV_VALUE_00019] (異動区分: Address Change/Registration)**

**Block 18.1 — IF** `idoKbn == IDO_KBN_JUHEN (00019)` (L1183)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `actionCfmIdoKbn00019()` |

**Block 18.2 — ELSE** (L1185)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `actionCfmOtherIdoKbn(bean, tokiAddCd, tokiSbtCd, tokiKibo, tokiStaRsvYmd, tokiEndRsvYmd, "1", itenMotoTelNo, rrksTelNo, rsvTelNo)` |
| 2 | SET | `paramBean = { bean }` |
| 3 | SET | `checkOkTelnoStat = initTelnoStatCheckActionCfm(paramBean)` |
| 4 | IF | `if (!checkOkTelnoStat)` (L1191) |

#### Block 18.2.1 — Port-Out Check Failed (L1193)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return false` |

### Block 19 — Set Next Screen (ANK-4494-00-00) (L1197–1200)

> Sets the next screen (KKW05604) on the common info bean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `commonBean = super.getCommonInfoBean()` |
| 2 | EXEC | `commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW05604)` |
| 3 | EXEC | `commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW05604)` |

### Block 20 — Set Confirmation Message and Return (L1202–1207)

> Sets the update confirmation message, dumps the data bean for logging, and returns success.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strs = { UPD_MSG_CHG_STR }` [-> UPD_MSG_CHG_STR="更新"] |
| 2 | EXEC | `JCCWebCommon.setMessageInfo(this, UPD_MSG_ID, strs)` [UPD_MSG_ID="EKB0370--I"] |
| 3 | EXEC | `JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null)` |
| 4 | RETURN | `return true` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `toki` (トキー) | Field | Phone number assignment/registration — the core domain concept for phone number porting and assignment in K-Opticom's telecom service. |
| `tokiAddCd` | Field | Toki registration code — classifies the type of toki operation (port-forward, port-back, pause, etc.). |
| `tokiSbtCd` | Field | Toki sub-type code — further classifies the toki registration code. |
| `tokiKibo` | Field | Toki desired — the operator's selection for the desired toki action. |
| `tokiStaRsvYmd` | Field | Toki start reservation date (YYYYMMDD) — the requested start date for the toki operation. |
| `tokiEndRsvYmd` | Field | Toki end reservation date (YYYYMMDD) — the requested end date for the toki operation. |
| `idoKbn` (異動区分) | Field | Movement/transfer classification — indicates the type of change (address change, registration, telecom port, etc.). |
| `EKK0191A010DETAILLIST` | Field | Service contract details list for eo光電気 — the data bean array holding service contract row data. |
| `ITNTOKI_ADD_CD_05` | Field | Transfer toki registration code (pre-change) — the toki code before the current change. |
| `ITNTOKI_SBT_CD_05` | Field | Transfer toki sub-type code (pre-change). |
| `ITENS_OPAF_TOKI_ADD_CD_05` | Field | Post-port toki registration code — the toki code after the port is completed. |
| `ITENS_OPAF_TOKI_SBT_CD_05` | Field | Post-port toki sub-type code. |
| `ITENM_TELNO` | Field | Transfer-origin phone number — the phone number before the transfer. |
| `RRKS_TELNO` | Field | Contact phone number — the phone number used as contact. |
| `RSV_TELNO` | Field | Reserved phone number — the phone number under reservation. |
| `UPD_CANCEL_FLG` | Field | Update/cancel flag — indicates whether the operation is in update or cancel mode. |
| `UPD_FL` | Field | Update flag value — constant "UPD" used to mark update-mode processing. |
| `RLS_FL` | Field | Release/cancel flag value — constant "RLS" used to mark cancellation-mode processing. |
| `TOKI_ADD_DSL` | Field | Toki registration status: Only cancellation/pause toki (code "1"). |
| `TOKI_ADD_OPAF` | Field | Toki registration status: Only after-port toki (code "2"). |
| `TOKI_ADD_BOTH` | Field | Toki registration status: Both registered (code "3"). |
| `IDO_KBN_JUHEN` | Field | Movement classification: Address change/registration (value 00019). |
| `IDO_KBN_TEL_ITEN_TOKI` | Field | Movement classification: Telecom/port toki setting (value 00046). |
| `ITENSAKI_ADD_TOKI` | Field | Port-forward toki (code "1") — toki resulting from porting to a new provider. |
| `ITENMOTO_DSL_TOKI` | Field | Port-back cancellation toki (code "2") — toki resulting from porting back to original provider. |
| `PAUSE_TOKI` | Field | Pause toki (code "3") — toki resulting from service suspension. |
| KKW05602 | Business term | Toki Update/Cancellation screen — the screen where operators update or cancel phone number assignments. |
| KKW05604 | Business term | Confirmation screen — the next screen displayed after successful update confirmation processing. |
| eo光電気 | Business term | K-Opticom fiber-optic internet service (Fiber To The Home). |
| JKKCommonConst.IDO_DIV_VALUE_00019 | Constant | Movement classification code for address change/registration. |
| JKKCommonConst.IDO_DIV_VALUE_00046 | Constant | Movement classification code for telecom/port toki setting. |
| EKB0370--I | Constant | Update confirmation message ID — displayed after successful update confirmation. |
| EKB940-JW | Constant | Update check error message ID — displayed when toki info has already expired. |
| EKB1040-JW | Constant | Contact number change error message ID — displayed when contact number change is not permitted after toki start. |
| EKK0011D020DETAILLIST | Field | Application content approval registration details. |
| EKK1681B001DETAILLIST | Field | Movement reservation list (service contract number). |
| EZM0121A010DETAILLIST | Field | Phone number agreement details list. |
| PORTOUTSTATUM_ARI | Field | Port-out (number portability cancellation included) status: Present (code "1"). |
| PORTOUTSTATUM_NASHI | Field | Port-out status: Absent (code "0"). |
