# Business Logic — JKKKikiIchiranKkOpKyUpdCC.execKikiOptSvcKeiUpd() [138 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKKikiIchiranKkOpKyUpdCC` |
| Layer | CC / Common Component |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKKikiIchiranKkOpKyUpdCC.execKikiOptSvcKeiUpd()

This method is the central update orchestrator for **Equipment Option Service Contracts** (機器オプションサービス契約). It handles the full lifecycle of modifying an existing equipment option service contract record — whether the equipment is in a state of DSL (解約/deregistered), cancellation (キャンセル/cancelled), contracted but not yet in-service (締結済/contracted), or actively in service provision (サービス提供中/service providing).

The method implements a **conditional routing pattern** that branches based on the current service status of the equipment option contract. When the equipment status is DSL (910) or Cancel (920), it routes to a create path (re-registering the contract via `execKikiOptSvcKeiCreate`). For active contracts, it handles three distinct scenarios: (a) cancellation retraction when a DSL date is cleared, (b) price plan changes when the pricing code differs, and (c) service start processing when the contract reaches a contracted status under specific conditions.

Its role in the larger system is a **shared CBS common component method** called by DSL-related operation methods (e.g., `execKikiOptSvcKeiUpdDsl`, `execKikiOptSvcKeiUpdDslTnmt`). It serves as the single entry point for all equipment option service contract updates, ensuring consistent transaction handling across all service type branches.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["execKikiOptSvcKeiUpd"])
    START --> GET_CC_MSG["Get ccMsg from param.getData"]
    GET_CC_MSG --> GET_SVC_STAT["Get kikiOptSvcStat from ekk2811a010Msg"]
    GET_SVC_STAT --> GET_UPD_STAT["Get updStat from getUpdateStat"]
    GET_UPD_STAT --> GET_RT_FLG["Get rtNewPcrsAplyFlg from ccMsg"]
    GET_RT_FLG --> DSL_CANCEL_CHECK{"DSL or Cancel
status?"}
    DSL_CANCEL_CHECK -- "910 or 920" --> DSL_CANCEL_BRANCH["Set KikiRntaiKeiChgechuFlg"]
    DSL_CANCEL_BRANCH --> CALL_CREATE["Call execKikiOptSvcKeiCreate"]
    CALL_CREATE --> CREATE_CHECK{"execKikiOptSvcKeiCreate
return true?"}
    CREATE_CHECK -- "false" --> RETURN_FALSE_1(["Return false"])
    CREATE_CHECK -- "true" --> DSL_CANCEL_END(["Return true"])
    DSL_CANCEL_CHECK -- "other" --> NOT_DSL_BRANCH["Not DSL/Cancel branch"]
    NOT_DSL_BRANCH --> GET_DSL_YMD["Get kikiOptSvcDslYmd_new and kikiOptSvcDslYmd_old"]
    GET_DSL_YMD --> DSL_CANCEL_CHECK2{"Old DSL empty?
New DSL empty?"}
    DSL_CANCEL_CHECK2 -- "old has value
new is empty" --> DSL_CANCELLATION["Set update timestamp
Call execEKK2811C170"]
    DSL_CANCELLATION --> GET_PCRS_OLD["Get pcrsCd_old from ekk2811a010Msg"]
    GET_PCRS_OLD --> GET_KINO_NEW["Get kikiOptSvcKinoCd_new"]
    GET_KINO_NEW --> KINO_CHANGE_CHECK{"Kino changed?"}
    KINO_CHANGE_CHECK -- "new not empty
and different" --> KINO_CHANGE_BRANCH["Price plan change branch"]
    KINO_CHANGE_BRANCH --> CALL_PCRS["Call execEKK0591B003"]
    CALL_PCRS --> PCRS_CHECK{"PCRS result
valid?"}
    PCRS_CHECK -- "null or empty" --> RETURN_FALSE_2(["Return false"])
    PCRS_CHECK -- "valid" --> CALL_SVC_INFO["Call execEKK2801A010"]
    CALL_SVC_INFO --> CALL_CONSENT["Call execEKK2811A010"]
    CALL_CONSENT --> SET_UPD_DTM["Set update timestamp"]
    SET_UPD_DTM --> TEIKYO_CHECK{"Status =
Service providing?"}
    TEIKYO_CHECK -- "100" --> PRICE_PLAN_UPDATE["Call execEKK2811C250"]
    PRICE_PLAN_UPDATE --> FUNC_CODE_CHECK{"func_code = 1?"}
    FUNC_CODE_CHECK -- "true" --> CALL_CONFIRM["Call execEKK2811C260"]
    CALL_CONFIRM --> SET_AFTER_DATA_1["Call setEkk2811A010AfData"]
    FUNC_CODE_CHECK -- "false" --> FUNC_END(["Return true"])
    SET_AFTER_DATA_1 --> FUNC_END
    TEIKYO_CHECK -- "not 100" --> KETUZUMI_CHECK{"Status =
Contracted?"}
    KETUZUMI_CHECK -- "030" --> KETUZUMI_CONDITION{"updStat <= 030
AND rtNewPcrsAplyFlg != 1?"}
    KETUZUMI_CONDITION -- "true" --> CALL_START["Call execEKK2811C070"]
    KETUZUMI_CONDITION -- "false" --> KETUZUMI_SKIP
    KETUZUMI_CHECK -- "not 030" --> KETUZUMI_SKIP["Skip execEKK2811C070"]
    CALL_START --> KETUZUMI_SKIP
    KETUZUMI_SKIP --> SET_AFTER_DATA_2["Call setEkk2811A010AfData"]
    SET_AFTER_DATA_2 --> FUNC_END
    DSL_CANCELLATION --> KINO_CHANGE_CHECK
    RETURN_FALSE_1 --> END_FINAL(["Return true"])
    DSL_CANCEL_END --> END_FINAL
    FUNC_END --> END_FINAL
    END_FINAL(["Return true"])
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Database session handle used for all CBS/SC calls and transaction management. |
| 2 | `scCall` | `ServiceComponentRequestInvoker` | Service component invocation bridge used to call downstream CBS (e.g., `execEKK0591B003`, `execEKK2811A010`). |
| 3 | `param` | `IRequestParameterReadWrite` | Request parameter object for reading/writing data at the screen-to-CBS boundary. Used to retrieve `ccMsg` map, set update timestamps, and pass data through the processing pipeline. |
| 4 | `dataMapKey` | `String` | Key identifier for locating the data map within the request parameters. Used to access the `ccMsg` HashMap that carries screen-level flags (e.g., `func_code`, `rt_new_pcrs_aply_flg`). |
| 5 | `temporaryData` | `HashMap<String, Object>` | Temporary data map that holds intermediate processing state across CBS calls. Contains DSL date information, service codes, pricing codes, and the update status (`updStat`). Also receives the `KikiRntaiKeiChgechuFlg` (equipment bundled contract change-in-progress flag). |
| 6 | `ekk2811a010Msg` | `CAANMsg` | CBS message object carrying the equipment option service contract data from the input screen/query. Provides service status (`KKOP_SVC_KEI_STAT`), pricing code (`PCRS_CD`), last update timestamp (`LAST_UPD_DTM`), and service contract number (`KKOP_SVC_KEI_NO`). |

**Instance fields referenced:** None directly — all constants are `private static final` within the class.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `execKikiOptSvcKeiCreate` | EKK2811B010CBS (inferred) | KK_T_OPSVKEI (inferred) | Creates a new equipment option service contract record when DSL or Cancel status is detected. |
| U | `execEKK2811C170` | EKK2811C170 | KK_T_OPSVKEI (inferred) | Cancels equipment option service contract — called when a DSL date is cleared (cancellation retraction). |
| R | `execEKK0591B003` | EKK0591B003 | PCRS/price plan table (inferred) | Retrieves price plan information for the new pricing code. Returns `CAANMsg[]` array with plan details. |
| R | `execEKK2801A010` | EKK2801A010 | KK_T_OPSVKEI (inferred) | Retrieves equipment option service information by service code. |
| R | `execEKK2811A010` | EKK2811A010 | KK_T_OPSVKEI (inferred) | Retrieves equipment option service contract consent data (サービス契約照会). Used to get updated contract details with new timestamp. |
| U | `execEKK2811C250` | EKK2811C250 | KK_T_OPSVKEI (inferred) | Updates equipment option service contract price plan for in-service contracts. |
| U | `execEKK2811C260` | EKK2811C260 | KK_T_OPSVKEI (inferred) | Confirms equipment option service contract price plan change. Called when `func_code = "1"` (change confirmation). |
| U | `execEKK2811C240` | EKK2811C240 | KK_T_OPSVKEI (inferred) | Updates equipment option service contract price plan for non-service-providing contracts. |
| C | `execEKK2811C070` | EKK2811C070 | KK_T_OPSVKEI (inferred) | Starts equipment option service contract — called when the contract status is contracted and the provider flag condition is met. |
| - | `setEkk2811A010AfData` | - | - | Sets post-update data back into the temporary data map and request parameters. |
| - | `setSvcUpDtm` | - | - | Sets the service update timestamp into the request parameter object. |
| R | `getKikiOptSvcKeiMapData` | - | - | Reads equipment option service contract data from the temporary data map by key. |
| R | `getNullToStr` | - | - | Utility method that converts a value to a String, returning empty string for null. |
| R | `getUpdateStat` | - | - | Retrieves the update status from the temporary data map. |

## 5. Dependency Trace

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

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

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `execKikiOptSvcKeiUpdDsl` | `execKikiOptSvcKeiUpdDsl` -> `execKikiOptSvcKeiUpd` | `execKikiOptSvcKeiCreate [C]`, `execEKK2811C170 [U]`, `execEKK0591B003 [R]`, `execEKK2801A010 [R]`, `execEKK2811A010 [R]`, `execEKK2811C250 [U]`, `execEKK2811C260 [U]`, `execEKK2811C240 [U]`, `execEKK2811C070 [C]`, `setEkk2811A010AfData [-]`, `setSvcUpDtm [-]` |
| 2 | `execKikiOptSvcKeiUpdDslTnmt` | `execKikiOptSvcKeiUpdDslTnmt` -> `execKikiOptSvcKeiUpd` | `execKikiOptSvcKeiCreate [C]`, `execEKK2811C170 [U]`, `execEKK0591B003 [R]`, `execEKK2801A010 [R]`, `execEKK2811A010 [R]`, `execEKK2811C250 [U]`, `execEKK2811C260 [U]`, `execEKK2811C240 [U]`, `execEKK2811C070 [C]`, `setEkk2811A010AfData [-]`, `setSvcUpDtm [-]` |

**Terminal operations from this method:** `setEkk2811A010AfData [-]`, `getString [R]`, `getString [R]`, `getString [R]`, `getString [R]`, `getString [R]`, `execEKK2811C070 [U]`, `execEKK2811C240 [U]`, `setEkk2811A010AfData [-]`, `getString [R]`, `getString [R]`, `getString [R]`, `getString [R]`, `getString [R]`, `execEKK2811C260 [U]`, `execEKK2811C250 [U]`, `setSvcUpDtm [-]`, `getString [R]`, `getString [R]`, `getString [R]`

## 6. Per-Branch Detail Blocks

**Block 1** — SET `(data extraction)` (L1057)

> Retrieves the ccMsg map from the request parameter object, and reads the equipment option service status and routing flags from the input message and temporary data.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ccMsg = (HashMap)param.getData(dataMapKey)` // Get data map from request parameters |
| 2 | SET | `kikiOptSvcStat = getNullToStr(ekk2811a010Msg.getString(KKOP_SVC_KEI_STAT))` // Equipment option service status — see `EKK2811A010CBSMsg1List.KKOP_SVC_KEI_STAT` [-> `KKOPT_SVC_KEI_STAT_DSL="910"`, `KKOPT_SVC_KEI_STAT_CANCEL="920"`, `KKOPT_SVC_KEI_STAT_TEIKETSUZUMI="030"`, `KKOPT_SVC_KEI_STAT_TEIKYOCHU="100"`] |
| 3 | SET | `updStat = getUpdateStat(temporaryData)` // Get update status from temporary data |
| 4 | SET | `rtNewPcrsAplyFlg = getNullToStr((String)ccMsg.get("rt_new_pcrs_aply_flg"))` // Router function new price plan application flag — see `KKSV0313...*KIKI_RNTAI_KEI_CHGECHU_FLG="kiki_rntai_kei_chgechu_flg"` |

**Block 2** — IF `(DSL or Cancel status)` `(KKOPT_SVC_KEI_STAT_DSL="910" || KKOPT_SVC_KEI_STAT_CANCEL="920")` (L1075)

> If the equipment option service contract is in DSL (deregistered) or Cancel status, set the bundled contract change-in-progress flag and route to the create path to re-register the contract.

| # | Type | Code |
|---|------|------|
| 1 | SET | `KikiRntaiKeiChgechuFlg = ""` // Equipment bundled contract change-in-progress flag [-> `KIKI_RNTAI_KEI_CHGECHU_FLG="kiki_rntai_kei_chgechu_flg"`] |
| 2 | SET | `temporaryData.put(KIKI_RNTAI_KEI_CHGECHU_FLG, KikiRntaiKeiChgechuFlg)` // Set bundled contract change-in-progress flag in temporary data |
| 3 | EXEC | `execKikiOptSvcKeiCreate(handle, scCall, param, dataMapKey, temporaryData)` // Create equipment option service contract |

**Block 2.1** — IF-NOT `(execKikiOptSvcKeiCreate returns false)` (L1087)

> If the create operation fails, abort and return false immediately.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return false` // Create operation failed, abort update |

**Block 3** — ELSE `(not DSL or Cancel status — active contract)` (L1089)

> For active service contracts, handle cancellation retraction, price plan changes, and service start processing.

**Block 3.1** — SET `(DSL date retrieval)` (L1095)

> Retrieves the new and old DSL dates from temporary data to determine if cancellation retraction is needed.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ekk2801a010CBSMsg = null` // Initialize equipment option service info message holder [-> `PRM_KKOP_SVC_CD="prm_kkop_svc_cd"`] |
| 2 | SET | `kikiOptSvcDslYmd_new = getKikiOptSvcKeiMapData(temporaryData, PRM_KIKI_OPT_SVC_DSL_YMD)` // New DSL date [-> `PRM_KIKI_OPT_SVC_DSL_YMD="prm_dsl_ymd"`] |
| 3 | SET | `kikiOptSvcDslYmd_old = getKikiOptSvcKeiMapData(temporaryData, PRM_KIKI_OPT_SVC_DSL_YMD_BF)` // Old DSL date [-> `PRM_KIKI_OPT_SVC_DSL_YMD_BF="prm_dsl_ymd_bf"`] |

**Block 3.2** — IF `(DSL date cleared — cancellation retraction)` `!"".equals(kikiOptSvcDslYmd_old) && "".equals(kikiOptSvcDslYmd_new)` (L1101)

> When the old DSL date has a value but the new one is empty, the user has retracted the cancellation. Cancel the cancellation retraction process by calling the cancellation stop service.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setSvcUpDtm(param, ekk2811a010Msg.getString(LAST_UPD_DTM))` // Set update timestamp from input message [-> `EKK2811A010CBSMsg1List.LAST_UPD_DTM`] |
| 2 | CALL | `execEKK2811C170(handle, scCall, param, dataMapKey, temporaryData, ekk2811a010Msg)` // Equipment option service contract cancellation stop |

**Block 3.3** — SET `(pricing code retrieval)` (L1109)

> Retrieves the old pricing code from the input message and the new pricing code from temporary data to determine if a price plan change is needed.

| # | Type | Code |
|---|------|------|
| 1 | SET | `pcrsCd_old = getNullToStr(ekk2811a010Msg.getString(PCRS_CD))` // Old pricing code [-> `EKK2811A010CBSMsg1List.PCRS_CD`] |
| 2 | SET | `kikiOptSvcKinoCd_new = getKikiOptSvcKeiMapData(temporaryData, PRM_KIKI_OPT_SVC_KINO_CD)` // New equipment option service function code (pricing code) [-> `PRM_KIKI_OPT_SVC_KINO_CD="prm_kino_cd"`] |

**Block 3.4** — IF `(pricing code changed)` `!"".equals(kikiOptSvcKinoCd_new) && !pcrsCd_old.equals(kikiOptSvcKinoCd_new)` (L1115)

> When the pricing code has changed, perform the full price plan change process: retrieve the new plan, get service info, get contract consent, then branch based on current service status.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ekk0591b003cbsMsg1list = execEKK0591B003(handle, scCall, param, dataMapKey, temporaryData, kikiOptSvcKinoCd_new)` // Retrieve new price plan |
| 2 | IF-NOT | `ekk0591b003cbsMsg1list == null || length == 0` -> `return false` // Price plan retrieval failed |

**Block 3.4.1** — SET `(price plan change processing)` (L1122)

> Extract the price plan message and proceed to retrieve service info and contract consent.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ekk0591b003cbsMsg = ekk0591b003cbsMsg1list[0]` // First element of price plan array |
| 2 | CALL | `ekk2801a010CBSMsg = execEKK2801A010(handle, scCall, param, dataMapKey, getKikiOptSvcKeiMapData(temporaryData, PRM_KKOP_SVC_CD))` // Get equipment option service info [-> `PRM_KKOP_SVC_CD="prm_kkop_svc_cd"`] |
| 3 | CALL | `ekk2811a010Msg_sai = execEKK2811A010(handle, scCall, param, dataMapKey, ekk2811a010Msg.getString(KKOP_SVC_KEI_NO))` // Get equipment option service contract consent [-> `EKK2811A010CBSMsg1List.KKOP_SVC_KEI_NO`] |
| 4 | EXEC | `setSvcUpDtm(param, ekk2811a010Msg_sai.getString(LAST_UPD_DTM))` // Set update timestamp from consent response |

**Block 3.4.2** — IF `(Service providing status — active equipment)` `KKOPT_SVC_KEI_STAT_TEIKYOCHU.equals(kikiOptSvcStat)` (`"100"`) (L1151)

> When the equipment is currently in service provision, update the price plan and optionally confirm the change depending on the function code flag.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `execEKK2811C250(handle, scCall, param, dataMapKey, temporaryData, ekk2811a010Msg, ekk0591b003cbsMsg, ekk2801a010CBSMsg)` // Equipment option service contract price plan update (service providing) |

**Block 3.4.2.1** — IF `(func_code = "1" — change confirmation)` `FUNC_CODE_1.equals(ccMsg.get("func_code"))` (`"1"`) (L1155)

> When the function code is "1", confirm the price plan change and set the post-update data.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ekk2811c260cbsMsg = execEKK2811C260(handle, scCall, param, dataMapKey, temporaryData, ekk2811a010Msg)` // Equipment option service contract price plan update confirmation |
| 2 | CALL | `setEkk2811A010AfData(handle, scCall, param, dataMapKey, temporaryData, ekk2811c260cbsMsg.getString(KKOP_SVC_KEI_NO))` // Set post-update data [-> `EKK2811C260CBSMsg.KKOP_SVC_KEI_NO`] |

**Block 3.4.3** — ELSE `(not service providing — pre-service price plan change)` (L1166)

> When the equipment is not yet in service provision (e.g., contracted but not active), perform the pre-service price plan change process and potentially start the service.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ekk2811c240cbsMsg = execEKK2811C240(handle, scCall, param, dataMapKey, temporaryData, ekk2811a010Msg, ekk0591b003cbsMsg, ekk2801a010CBSMsg)` // Equipment option service contract price plan change (pre-service) |

**Block 3.4.3.1** — IF `(Contracted status — ANK-4287 addition)` `JKKStrConst.CD01616_STAT_TEIKETSUZUMI.equals(kikiOptSvcStat)` (`"030"`) (L1171)

> When the service status is contracted (締結済), check if the service should be started based on the update status and the router new price plan application flag.

| # | Type | Code |
|---|------|------|
| 1 | IF-NOT | `KIKISV_STAT_TEIKETSUZUMI.compareTo(updStat) <= 0 && !JKKStrConst.NEW_PCRS_APLY_FLG_NEWPCRS.equals(rtNewPcrsAplyFlg)` |
| 2 | CALL | `execEKK2811C070(handle, scCall, param, dataMapKey, temporaryData, ekk2811a010Msg)` // Equipment option service contract start — condition: status is contracted AND (updStat is not service-providing level OR router new price plan application flag is NOT "1") [-> `KIKISV_STAT_TEIKETSUZUMI="030"`, `JKKStrConst.NEW_PCRS_APLY_FLG_NEWPCRS="1"`, `JKKStrConst.CD01616_STAT_TEIKETSUZUMI="030"`] |

**Block 3.4.3.2** — SET `(post-update data retrieval)` (L1180)

> Set the post-update data into the temporary data map from the price plan change response.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setEkk2811A010AfData(handle, scCall, param, dataMapKey, temporaryData, ekk2811c240cbsMsg.getString(KKOP_SVC_KEI_NO))` // Set post-update data [-> `EKK2811C260CBSMsg.KKOP_SVC_KEI_NO`] |

**Block 4** — RETURN `(success)` (L1191)

> All processing completed successfully. Return true to the caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return true` // Equipment option service contract update completed successfully |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `kiki_opt_svc_kei` | Field | Equipment Option Service Contract — the core entity representing a contract for optional equipment services (e.g., FTTH, mail service, ENUM) attached to a primary service contract |
| `kkop_svc_kei_stat` | Field | Equipment Option Service Contract Status — the current lifecycle status of the contract |
| `KKOPT_SVC_KEI_STAT_DSL` | Constant | DSL status = "910" — Equipment option service contract is in DSL (解約/deregistered) state |
| `KKOPT_SVC_KEI_STAT_CANCEL` | Constant | Cancel status = "920" — Equipment option service contract has been cancelled |
| `KKOPT_SVC_KEI_STAT_TEIKETSUZUMI` | Constant | Contracted status = "030" — Equipment option service contract is contracted but not yet in service |
| `KKOPT_SVC_KEI_STAT_TEIKYOCHU` | Constant | Service providing status = "100" — Equipment option service contract is actively in service provision |
| `KIKISV_STAT_TEIKETSUZUMI` | Constant | Service status = "030" (Contracted) — Used for comparison with `updStat` to determine if service should start |
| `KIKISV_STAT_TEIKYOCHU` | Constant | Service status = "100" (In service) — Used for comparison with `updStat` to determine if service is active |
| `pcrs_cd` | Field | Price code (pricing plan code) — identifies the pricing plan associated with the equipment option service |
| `kiki_opt_svc_kino_cd` | Field | Equipment option service function code — the pricing/function code for the equipment option service (maps to a price plan) |
| `kiki_opt_svc_dsl_ymd` | Field | DSL date (service termination date) — the date when the equipment option service contract was terminated |
| `dsl_set_ymd_map` | Field | DSL set date map key — used for storing DSL setup date information |
| `svc_kei_kei_no` | Field | Equipment option service contract number — unique identifier for the equipment option service contract line |
| `rt_new_pcrs_aply_flg` | Field | Router function new price plan application flag — indicates whether to apply the new price plan from the router (new vs. existing code). Values: `"1"` = use new price plan from new code |
| `kiki_rntai_kei_chgechu_flg` | Field | Equipment bundled contract change-in-progress flag — flag set during DSL/cancel processing to indicate a bundled contract change is in progress |
| `func_code` | Field | Function code — screen-level flag indicating which function mode is active. `"1"` = price plan change confirmation mode |
| `upd_stat` | Field | Update status — the current status of the service as tracked during the update process |
| CD01616_STAT_TEIKETSUZUMI | Constant | Contracted status = "030" — from JKKStrConst, indicating the contract has been finalized but service has not yet started |
| NEW_PCRS_APLY_FLG_NEWPCRS | Constant | New price plan application flag = "1" — indicates that the new price plan from the new code should be applied |
| DSL | Japanese term | 解約 (kaiyaku) — cancellation/deregistration of a service contract |
| キャancellor | Japanese term | キャンセル — cancel (e.g., a cancellation request that was made) |
| 締結済 | Japanese term | Teiketsuzumi — contracted/finalized (service is contracted but not yet in service) |
| サービス提供中 | Japanese term | Service Teikyo-chu — actively providing the service |
| ルーター機能 | Japanese term | Router function — a feature that provides router-based internet connectivity with optional pricing plans |
| EKK2811C070 | CBS | Equipment option service contract start process — initiates the service for a contracted contract |
| EKK2811C170 | CBS | Equipment option service contract cancellation stop — cancels a previously requested cancellation (retraction) |
| EKK2811C240 | CBS | Equipment option service contract price plan change (pre-service) — updates price plan before service starts |
| EKK2811C250 | CBS | Equipment option service contract price plan update (service providing) — updates price plan for an actively in-service contract |
| EKK2811C260 | CBS | Equipment option service contract price plan update confirmation — confirms the price plan change |
| FTTH | Business term | Fiber To The Home — fiber-optic internet service (a type of equipment option service) |
| CC | Acronym | Common Component — a shared business logic component in the Fujitsu custom framework |
| CBS | Acronym | CBS (Call Business Service) — the service component layer in the CANAME/CAIN platform architecture |
| SC Code | Acronym | Service Component code — typically matches the CBS identifier pattern (e.g., EKK2811A010SC) |
| PRM_ prefix | Naming convention | Parameter prefix — indicates fields that carry data between the screen and CBS processing layers |
| ANK-4287 | Jira/Issue ID | Internal issue tracking ID for the router function new price plan application feature |
