# Business Logic — KKW02501SFLogic.actionFix() [138 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW02501SF.KKW02501SFLogic` |
| Layer | Controller / Web Logic (Screen logic layer) |
| Module | `KKW02501SF` (Package: `eo.web.webview.KKW02501SF`) |

## 1. Role

### KKW02501SFLogic.actionFix()

This method serves as the "Confirm" button handler for the **E-Mail Information Change Confirmation Screen** (変更確認画面「確定」ボタン押下). It processes the confirmation action taken by the user after reviewing their proposed E-Mail information changes. The method implements a **routing/dispatch pattern** based on the `trans_div` (processing category) field, which determines which business operation to perform — update, cancellation, recovery, or reservation cancellation of service contract details. It reads configuration data from the DataBean (service form), prepares input parameters via specialized setter methods, invokes the corresponding backend service (KKSV0428/KKSV0429/KKSV0430/KKSV0431), maps the output back to the DataBean, and then routes the user to the completion screen or displays an error message depending on whether the service returned a recovery message ID. The method plays the role of a **confirmation coordinator** in the telecom service contract management system, handling the final step of E-Mail information modification workflows for K-Opticom fiber-to-the-home (FTTH) customers.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["actionFix"])
    START --> GET_BEAN["Get ServiceFormBean and CommonInfoBean"]
    GET_BEAN --> INIT_MSG["Initialize RTN_MSG_ID in DataBean"]
    INIT_MSG --> CREATE_MAP["Create inputMap and outputMap"]
    CREATE_MAP --> GET_TRAN_DIV["Get trans_div from DataBean"]
    GET_TRAN_DIV --> COND_DIV{trans_div value}

    COND_DIV --> |"04"| DSL_BR["DSL Branch"]
    COND_DIV --> |"CHGE"| CHGE_BR["CHGE Branch"]
    COND_DIV --> |"KAIHK"| KAIHK_BR["KAIHK Branch"]
    COND_DIV --> |"RSV_CL"| RSVCL_BR["RSV_CL Branch"]

    DSL_BR --> DSL_SET["setDslsrv"]
    DSL_SET --> DSL_SVC["doService KKSV0429"]
    DSL_SVC --> DSL_STORE["storeDataBeanDslsrv"]
    DSL_STORE --> DSL_AXM["exeAxmRenkei"]
    DSL_AXM --> DSL_MSG["Set msgInfo INFO_MSGSTRING index 1"]

    CHGE_BR --> CHGE_SET["setChgesrv"]
    CHGE_SET --> CHGE_SVC["doService KKSV0428"]
    CHGE_SVC --> CHGE_STORE["storeDataBeanChgesrv"]
    CHGE_STORE --> CHGE_MSG["Set msgInfo INFO_MSGSTRING index 0"]

    KAIHK_BR --> KAIHK_SET["setKaihksrv"]
    KAIHK_SET --> KAIHK_SVC["doService KKSV0430"]
    KAIHK_SVC --> KAIHK_STORE["storeDataBeanKaihksrv"]
    KAIHK_STORE --> KAIHK_AXM["exeAxmRenkei"]
    KAIHK_AXM --> KAIHK_MSG["Set msgInfo INFO_MSGSTRING index 2"]

    RSVCL_BR --> RSVCL_SET["setRsvclsrv"]
    RSVCL_SET --> RSVCL_SVC["doService KKSV0431"]
    RSVCL_SVC --> RSVCL_STORE["storeDataBeanRsvclsrv"]
    RSVCL_STORE --> RSVCL_MSG["Set msgInfo INFO_MSGSTRING index 3"]

    DSL_MSG --> GET_RTN_MSG["Get RTN_MSG_ID from DataBean"]
    CHGE_MSG --> GET_RTN_MSG
    KAIHK_MSG --> GET_RTN_MSG
    RSVCL_MSG --> GET_RTN_MSG

    GET_RTN_MSG --> COND_RTN{RTN_MSG_ID empty}

    COND_RTN --> |"Yes"| SET_NEXT["Set next screen to KKW02503"]
    COND_RTN --> |"Yes"| SET_INFO["setMessageInfo EKB4390 with msgInfo"]
    COND_RTN --> |"No"| GET_MSGREP["getMsgRep trans_div rtn_msgId"]

    SET_NEXT --> SET_NAME["Set NEXT_SCREEN_NAME KKW02503"]
    SET_NAME --> SET_INFO

    GET_MSGREP --> COND_MSGREP{str null}
    COND_MSGREP --> |"No"| SET_MSG["setMessageInfo rtn_msgId with str"]
    COND_MSGREP --> |"Yes"| SET_MSG_ID["setMessageInfo rtn_msgId only"]

    SET_INFO --> DUMP_BEAN["dumpDatabean to log"]
    SET_MSG --> DUMP_BEAN
    SET_MSG_ID --> DUMP_BEAN

    DUMP_BEAN --> RETURN_TRUE["return true"]
    RETURN_TRUE --> END(["END"])
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | `(none)` | - | - |
| - | `bean` (from DataBean) | `X31SDataBeanAccess` | Service form DataBean carrying the current E-Mail information change request context, including the processing category (`trans_div`), service contract details, and customer information. |
| - | `commoninfoBean` (from DataBean) | `X31SDataBeanAccess` | Shared form DataBean for cross-screen context, used to set the next screen ID and name for navigation after confirmation. |
| - | `inputMap` | `HashMap<String, Object>` | Input data map passed to the backend service. Holds parameters prepared by the setter methods (e.g., `setDslsrv`, `setChgesrv`). |
| - | `outputMap` | `HashMap<String, Object>` | Output data map returned from the backend service. Holds results that are mapped back to the DataBean. |
| - | `msgInfo` | `String[]` | Message info array containing the Japanese business operation label (e.g., "E-Mail information update") used in the completion screen message. |
| - | `trans_div` | `String` | Processing category extracted from the DataBean — determines which of four service branches to execute (Update, Cancellation, Recovery, Reservation Cancellation). |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JKKAddSupportCC.setMessageInfo` | JKKAddSupportCC | - | Calls `setMessageInfo` in `JKKAddSupportCC` |
| - | `JKKCreateNhkDntIktCC.setMessageInfo` | JKKCreateNhkDntIktCC | - | Calls `setMessageInfo` in `JKKCreateNhkDntIktCC` |
| - | `JKKFumeiKktkSvcKeiUpdCC.setMessageInfo` | JKKFumeiKktkSvcKeiUpdCC | - | Calls `setMessageInfo` in `JKKFumeiKktkSvcKeiUpdCC` |
| - | `JKKGetKikiUpdCodeNameCC.setMessageInfo` | JKKGetKikiUpdCodeNameCC | - | Calls `setMessageInfo` in `JKKGetKikiUpdCodeNameCC` |
| - | `JKKGetKojiAkTaknkikiCC.setMessageInfo` | JKKGetKojiAkTaknkikiCC | - | Calls `setMessageInfo` in `JKKGetKojiAkTaknkikiCC` |
| - | `OneStopDataBeanAccess.sendMessageString` | OneStopDataBeanAccess | - | Calls `sendMessageString` in `OneStopDataBeanAccess` |
| - | `KKW02501SFLogic.doService` | KKW02501SFLogic | - | Calls `doService` in `KKW02501SFLogic` |
| - | `KKW02501SFLogic.exeAxmRenkei` | KKW02501SFLogic | - | Calls `exeAxmRenkei` in `KKW02501SFLogic` |
| R | `KKW02501SFLogic.getMsgRep` | KKW02501SFLogic | - | Calls `getMsgRep` in `KKW02501SFLogic` |
| - | `KKW02501SFLogic.setChgesrv` | KKW02501SFLogic | - | Calls `setChgesrv` in `KKW02501SFLogic` |
| - | `KKW02501SFLogic.setDslsrv` | KKW02501SFLogic | - | Calls `setDslsrv` in `KKW02501SFLogic` |
| - | `KKW02501SFLogic.setKaihksrv` | KKW02501SFLogic | - | Calls `setKaihksrv` in `KKW02501SFLogic` |
| - | `KKW02501SFLogic.setRsvclsrv` | KKW02501SFLogic | - | Calls `setRsvclsrv` in `KKW02501SFLogic` |
| - | `KKW02501SFLogic.storeDataBeanChgesrv` | KKW02501SFLogic | - | Calls `storeDataBeanChgesrv` in `KKW02501SFLogic` |
| - | `KKW02501SFLogic.storeDataBeanDslsrv` | KKW02501SFLogic | - | Calls `storeDataBeanDslsrv` in `KKW02501SFLogic` |
| - | `KKW02501SFLogic.storeDataBeanKaihksrv` | KKW02501SFLogic | - | Calls `storeDataBeanKaihksrv` in `KKW02501SFLogic` |
| - | `KKW02501SFLogic.storeDataBeanRsvclsrv` | KKW02501SFLogic | - | Calls `storeDataBeanRsvclsrv` in `KKW02501SFLogic` |

### Direct Service Invocations (from `doService` calls):

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `KKW02501SFLogic.doService` | `KKSV0428OP` | SOD (Service Order Data) | **Update**: Executes the E-Mail information update service. Processes contract detail changes (e-mail address, mail cap, alias, etc.) for existing service contracts. |
| D | `KKW02501SFLogic.doService` | `KKSV0429OP` | SOD (Service Order Data) | **Delete/Cancellation**: Executes the service cancellation service. Cancels the specified operation service contract and associated mail-related sub-services. |
| U | `KKW02501SFLogic.doService` | `KKSV0430OP` | SOD (Service Order Data) | **Update/Recovery**: Executes the service recovery service. Recovers a previously cancelled service contract back to an active state. |
| D | `KKW02501SFLogic.doService` | `KKSV0431OP` | SOD (Service Order Data) | **Delete/Reservation Cancellation**: Executes the reservation cancellation service. Cancels a service contract that has not yet been activated (in "received" or "under review" status). |

### Local Method Calls (data preparation and mapping):

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `setDslsrv` | - | - | **Create/Prepare**: Prepares input parameters for the cancellation service. Extracts data from the DataBean and populates `inputMap` with cancellation-specific fields. |
| C | `setChgesrv` | - | - | **Create/Prepare**: Prepares input parameters for the update service. Extracts data from the DataBean and populates `inputMap` with update-specific fields. |
| C | `setKaihksrv` | - | - | **Create/Prepare**: Prepares input parameters for the recovery service. Extracts data from the DataBean and populates `inputMap` with recovery-specific fields. |
| C | `setRsvclsrv` | - | - | **Create/Prepare**: Prepares input parameters for the reservation cancellation service. Extracts data from the DataBean and populates `inputMap` with cancellation-specific fields. |
| U | `storeDataBeanDslsrv` | - | - | **Update**: Maps output results from the cancellation service back to the DataBean for display. |
| U | `storeDataBeanChgesrv` | - | - | **Update**: Maps output results from the update service back to the DataBean for display. |
| U | `storeDataBeanKaihksrv` | - | - | **Update**: Maps output results from the recovery service back to the DataBean for display. |
| U | `storeDataBeanRsvclsrv` | - | - | **Update**: Maps output results from the reservation cancellation service back to the DataBean for display. |
| C | `exeAxmRenkei` | - | - | **Create/Integrate**: Executes AxM integration processing for DSL and Recovery branches. (IT1-2012-0000930) |
| R | `getMsgRep` | - | - | **Read**: Retrieves replacement message text array for error display, based on the processing category and the returned message ID. |

### Message Setting Calls:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JCCWebCommon.setMessageInfo` | JCCWebCommon | - | Sets screen display messages — either success messages with Japanese labels, or error messages with ID-based or replacement-text display. |
| - | `X31SDataBeanAccess.sendMessageString` | DataBean | - | Reads/writes values from/to the DataBean (e.g., `trans_div`, `RTN_MSG_ID`, `NEXT_SCREEN_ID`, `NEXT_SCREEN_NAME`). |

## 5. Dependency Trace

### Callers of `actionFix` (KKW02501SFLogic):

This method is invoked by the screen logic that displays the E-Mail information change confirmation screen. The confirmation screen (KKW02502) is accessed from the operation service contract list screen (KKSV0427). The caller context flows through the screen controller.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0427 | `KKSV0427OP` (Operation Service Contract List) -> `KKW02502` (Change Confirmation) -> `KKW02501SFLogic.actionFix` | `KKSV0428OP [U] SOD_Update`, `KKSV0429OP [D] SOD_Cancel`, `KKSV0430OP [U] SOD_Recover`, `KKSV0431OP [D] SOD_ResCancel` |
| 2 | Screen:KKSV0428 | `KKSV0428OP` (Update Confirmation) -> routes back to KKW02501SF confirmation flow -> `KKW02501SFLogic.actionFix` | `KKSV0428OP [U] SOD_Update` |
| 3 | Screen:KKSV0429 | `KKSV0429OP` (Cancellation Confirmation) -> routes back to KKW02501SF confirmation flow -> `KKW02501SFLogic.actionFix` | `KKSV0429OP [D] SOD_Cancel` |
| 4 | Screen:KKSV0430 | `KKSV0430OP` (Recovery Confirmation) -> routes back to KKW02501SF confirmation flow -> `KKW02501SFLogic.actionFix` | `KKSV0430OP [U] SOD_Recover` |
| 5 | Screen:KKSV0431 | `KKSV0431OP` (Reservation Cancellation) -> routes back to KKW02501SF confirmation flow -> `KKW02501SFLogic.actionFix` | `KKSV0431OP [D] SOD_ResCancel` |

### Downstream calls from `actionFix`:

| # | Called Method | Called By | Purpose |
|---|--------------|-----------|---------|
| 1 | `doService(KKSV0428OP)` | actionFix (CHGE branch) | Execute E-Mail information update |
| 2 | `doService(KKSV0429OP)` | actionFix (DSL branch) | Execute service cancellation |
| 3 | `doService(KKSV0430OP)` | actionFix (KAIHK branch) | Execute service recovery |
| 4 | `doService(KKSV0431OP)` | actionFix (RSV_CL branch) | Execute reservation cancellation |
| 5 | `exeAxmRenkei` | actionFix (DSL + KAIHK branches) | Execute AxM integration processing |
| 6 | `getMsgRep` | actionFix (error path) | Get replacement message text |

## 6. Per-Branch Detail Blocks

### Block 1 — VARIABLE DECLARATION (L523)

> Initializes local variables: input/output maps for service communication, message info array, and DataBean access objects.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inputMap = null` // Input map for service data [-> HashMap<String, Object>] |
| 2 | SET | `outputMap = null` // Output map for service results [-> HashMap<String, Object>] |
| 3 | SET | `msgInfo = null` // Message display array [-> String[]] |
| 4 | SET | `commoninfoBean = super.getCommonInfoBean()` // Get shared form bean [-> CommonInfoBean] |
| 5 | SET | `bean = super.getServiceFormBean()` // Get service form DataBean [-> X31SDataBeanAccess] |
| 6 | SET | `paramBean = {bean}` // Wrap single bean in array for method signatures |

### Block 2 — MESSAGE ID INITIALIZATION (L537)

> Initializes the return message ID to empty string to clear any previous error state.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `paramBean[0].sendMessageString(RTN_MSG_ID, DATABEAN_SET_VALUE, "")` // Reset RTN_MSG_ID [-> RTN_MSG_ID=""] |

### Block 3 — MAP CREATION AND PROCESSING CATEGORY (L540-L542)

> Creates fresh input/output maps and reads the processing category from the DataBean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inputMap = new HashMap<String, Object>()` // Create input map |
| 2 | SET | `outputMap = new HashMap<String, Object>()` // Create output map |
| 3 | SET | `trans_div = bean.sendMessageString(TRAN_DIV, DATABEAN_GET_VALUE)` // Get processing category [-> TRAN_DIV="処理区分"] |

### Block 4 — CONDITIONAL: trans_div equals "04" (DSL / Cancellation) (L544)

> Processing category "04" = **OP_TRAN_DIV_DSL = "04" (Cancellation / 解約)**. This branch handles cancellation of the E-Mail service.

| # | Type | Code |
|---|------|------|
| 1 | CONDITION | `JKKCommonConst.OP_TRAN_DIV_DSL.equals(trans_div)` [OP_TRAN_DIV_DSL = "04" (解約/Cancellation)] |
| 2 | SET | `setDslsrv(paramBean, inputMap, JPCModelConstant.FUNC_CD_1)` // Prepare cancellation data |
| 3 | CALL | `doService("KKSV0429", "KKSV0429OP", inputMap, outputMap)` // Execute cancellation service |
| 4 | CALL | `storeDataBeanDslsrv(paramBean, outputMap)` // Map cancellation results to DataBean |
| 5 | CALL | `exeAxmRenkei(paramBean, inputMap)` // Execute AxM integration (IT1-2012-0000930 ADD) |
| 6 | SET | `msgInfo = new String[1]` // Allocate message array |
| 7 | SET | `msgInfo[0] = INFO_MSGSTRING[1]` // Set label "E-Mail information cancellation" (Eメール情報の解約) |

### Block 5 — CONDITIONAL: trans_div equals "CHGE" (Update) (L562)

> Processing category "CHGE" = **Update / 更新**. This branch handles updating E-Mail information.

| # | Type | Code |
|---|------|------|
| 1 | CONDITION | `JKKCommonConst.OP_TRAN_DIV_CHGE.equals(trans_div)` [OP_TRAN_DIV_CHGE = "Update" (更新)] |
| 2 | SET | `setChgesrv(paramBean, inputMap, JPCModelConstant.FUNC_CD_1)` // Prepare update data |
| 3 | CALL | `doService("KKSV0428", "KKSV0428OP", inputMap, outputMap)` // Execute update service |
| 4 | CALL | `storeDataBeanChgesrv(paramBean, outputMap)` // Map update results to DataBean |
| 5 | SET | `msgInfo = new String[1]` // Allocate message array |
| 6 | SET | `msgInfo[0] = INFO_MSGSTRING[0]` // Set label "E-Mail information update" (Eメール情報の変更) |

### Block 6 — CONDITIONAL: trans_div equals "KAIHK" (Recovery) (L578)

> Processing category "KAIHK" = **Recovery / 回復**. This branch handles recovering a cancelled service.

| # | Type | Code |
|---|------|------|
| 1 | CONDITION | `JKKCommonConst.OP_TRAN_DIV_KAIHK.equals(trans_div)` [OP_TRAN_DIV_KAIHK = "Recovery" (回復)] |
| 2 | SET | `setKaihksrv(paramBean, inputMap, JPCModelConstant.FUNC_CD_1)` // Prepare recovery data |
| 3 | CALL | `doService("KKSV0430", "KKSV0430OP", inputMap, outputMap)` // Execute recovery service |
| 4 | CALL | `storeDataBeanKaihksrv(paramBean, outputMap)` // Map recovery results to DataBean |
| 5 | CALL | `exeAxmRenkei(paramBean, inputMap)` // Execute AxM integration (IT1-2012-0000930 ADD) |
| 6 | SET | `msgInfo = new String[1]` // Allocate message array |
| 7 | SET | `msgInfo[0] = INFO_MSGSTRING[2]` // Set label "E-Mail information recovery" (Eメール情報の回復) |

### Block 7 — CONDITIONAL: trans_div equals "RSV_CL" (Reservation Cancellation) (L595)

> Processing category "RSV_CL" = **Reservation Cancellation / 予約取消**. This branch handles cancelling a reservation before service activation.

| # | Type | Code |
|---|------|------|
| 1 | CONDITION | `JKKCommonConst.OP_TRAN_DIV_RSV_CL.equals(trans_div)` [OP_TRAN_DIV_RSV_CL = "RSV_CL" (予約取消)] |
| 2 | SET | `setRsvclsrv(paramBean, inputMap, JPCModelConstant.FUNC_CD_1)` // Prepare reservation cancellation data |
| 3 | CALL | `doService("KKSV0431", "KKSV0431OP", inputMap, outputMap)` // Execute reservation cancellation service |
| 4 | CALL | `storeDataBeanRsvclsrv(paramBean, outputMap)` // Map reservation cancellation results to DataBean |
| 5 | SET | `msgInfo = new String[1]` // Allocate message array |
| 6 | SET | `msgInfo[0] = INFO_MSGSTRING[3]` // Set label "Reservation cancellation" (Eメール情報の予約取消) |

### Block 8 — RETURN MESSAGE ID CHECK (L613)

> Reads the return message ID from the DataBean. If it is empty/null, the operation succeeded and the user is navigated to the completion screen. If it contains a value, an error occurred and the appropriate message is displayed.

| # | Type | Code |
|---|------|------|
| 1 | SET | `rtn_msgId = bean.sendMessageString(RTN_MSG_ID, DATABEAN_GET_VALUE)` // Get return message ID |
| 2 | CONDITION | `rtn_msgId == null || "".equals(rtn_msgId)` [RTN_MSG_ID is empty = success path] |
| 3 | SET | `commoninfoBean.sendMessageString(NEXT_SCREEN_ID, DATABEAN_SET_VALUE, SCREEN_ID_KKW02503)` // Set next screen to completion screen [NEXT_SCREEN_ID="KKW02503"] |
| 4 | SET | `commoninfoBean.sendMessageString(NEXT_SCREEN_NAME, DATABEAN_SET_VALUE, SCREEN_NAME_KKW02503)` // Set next screen name "E-Mail information change completion" (Eメール情報変更完了) [NEXT_SCREEN_NAME="KKW02503"] |
| 5 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB4390__I, msgInfo)` // Display success message with Japanese label |
| 6 | CONDITION | else [RTN_MSG_ID is not empty = error path] |
| 7 | SET | `str = getMsgRep(trans_div, rtn_msgId)` // Get replacement message array |
| 8 | CONDITION | `str == null` [Message text not available = ID-only display] |
| 9 | CALL | `JCCWebCommon.setMessageInfo(this, rtn_msgId)` // Display message by ID only |
| 10 | CONDITION | else [Message text available = replacement text display] |
| 11 | CALL | `JCCWebCommon.setMessageInfo(this, rtn_msgId, str)` // Display message with replacement text |

### Block 9 — LOGGING AND RETURN (L643-L646)

> Dumps the DataBean state to the log for debugging, then returns true to indicate normal completion.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JSYwebLog.println(DataBean_Dump, getClass(), dumpDatabean(), null, null, null)` // Log DataBean dump |
| 2 | RETURN | `return true` // Normal end: success |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `trans_div` | Field | Processing category — determines which service operation to perform: Update, Cancellation, Recovery, or Reservation Cancellation |
| `RTN_MSG_ID` | Field | Return message ID — contains an error message ID returned from the backend service, or empty if no error occurred |
| `OP_TRAN_DIV_DSL` | Constant | Operation transport division = "04" (Cancellation / 解約) — indicates the cancellation processing mode |
| `OP_TRAN_DIV_CHGE` | Constant | Operation transport division for Update (更新) — indicates the update processing mode |
| `OP_TRAN_DIV_KAIHK` | Constant | Operation transport division for Recovery (回復) — indicates the recovery processing mode |
| `OP_TRAN_DIV_RSV_CL` | Constant | Operation transport division for Reservation Cancellation (予約取消) — indicates the reservation cancellation mode |
| `INFO_MSGSTRING` | Constant | Array of Japanese operation labels: [0]="E-Mail information update", [1]="E-Mail information cancellation", [2]="E-Mail information recovery", [3]="Reservation cancellation" |
| `FUNC_CD_1` | Constant | Function code = "1" — indicates confirmation/final execution mode (vs. FUNC_CD_2 for preliminary check mode) |
| `KKW02502` | Screen ID | E-Mail information change confirmation screen — where the user reviews changes before confirming |
| `KKW02503` | Screen ID | E-Mail information change completion screen — displayed after successful confirmation |
| `KKSV0428` | Screen ID | Update confirmation screen ID (for update flow) |
| `KKSV0428OP` | Operation ID | Update operation screen — backend service for E-Mail information update |
| `KKSV0429` | Screen ID | Cancellation confirmation screen ID (for cancellation flow) |
| `KKSV0429OP` | Operation ID | Cancellation operation screen — backend service for service cancellation |
| `KKSV0430` | Screen ID | Recovery confirmation screen ID (for recovery flow) |
| `KKSV0430OP` | Operation ID | Recovery operation screen — backend service for service recovery |
| `KKSV0431` | Screen ID | Reservation cancellation confirmation screen ID (for reservation cancellation flow) |
| `KKSV0431OP` | Operation ID | Reservation cancellation operation screen — backend service for reservation cancellation |
| `KKSV0427` | Screen ID | Operation service contract list screen — parent screen from which the change flow is launched |
| `EKB4390__I` | Message ID | Success confirmation message displayed after completing an E-Mail information change |
| `SOD` | Acronym | Service Order Data — telecom order fulfillment entity representing service contracts in the system |
| `AxM` | Acronym | AX-Marketing integration — external marketing/CRM system integration service |
| `FTTH` | Business term | Fiber To The Home — fiber-optic internet service offered by K-Opticom |
| `X31SDataBeanAccess` | Technical | X31 Service DataBean — framework class for passing form data between web layer and logic layer |
| `JCCWebCommon` | Technical | Common web utility class for screen operations including message setting and screen info retrieval |
| `JPCModelConstant` | Technical | Fujitsu Product Core model constant class containing standard function codes and system codes |
| `JPCOnlineMessageConstant` | Technical | Constant class for online system message IDs (EKB*, EKK*, etc.) |
| `NEXT_SCREEN_ID` | Field | Shared form field for specifying the next screen to navigate to |
| `NEXT_SCREEN_NAME` | Field | Shared form field for specifying the next screen's display name |
