# Business Logic — KKW00127SFLogic.actionMskmshoImg() [173 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00127SF.KKW00127SFLogic` |
| Layer | Service Logic (Screen Controller Logic) |
| Module | `KKW00127SF` (Package: `eo.web.webview.KKW00127SF`) |

## 1. Role

### KKW00127SFLogic.actionMskmshoImg()

This method handles the **application form image display button press** (申込書イメージボタン押下時の処理). It is the central dispatcher for generating a URL that points to an external application form viewing page, based on the type of application being processed. The method branches on the **application type code** (`mskmSbt`): when the type is `"05"` (paper / back-office application) or when a **cancellation record number** (`mskDmMskmshoNo`) exists, it enters the paper application flow which prepares user credentials (user ID, organization code, position code), resolves system and view URLs from properties, calls the `CCSV0006` service component to retrieve the application form image data, and constructs a query-string URL with the one-time password and application form number. For all other application types, it enters the non-paper flow, which retrieves the existing application form number, optionally replaces it with a simultaneous application receipt number (for EO Electricity price group "17"), and sets up a redirect to the WEB cancellation data reference screen (`KKW14301`). In both branches, a **price group code** (`prcGrpCd`) and **simultaneous application receipt number** (`djmMskmshoNo`) are checked — if the price group is `"17"` (EO Electricity / eo電気) and the simultaneous number exists, the method overrides the displayed application form number with the simultaneous receipt number. At the end of both branches, the method clears the map open flag and dumps the data bean for logging. The method implements a **routing/dispatch pattern** based on application subtype, using the screen logic layer to coordinate data preparation, service invocation, URL construction, and navigation setup.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["actionMskmshoImg()"])
    PROC_TYPE["Get mskmSbt: application type code"]
    PROC_DM["Get mskDmMskmshoNo: cancellation record number"]
    START2{mskmSbt == 05 or mskDmMskmshoNo empty}
    BLOCK_A["Process paper application image display"]
    BLOCK_A_GET["Get commoninfoBean and dataBean"]
    BLOCK_A_USERID["Get userId from commoninfoBean"]
    BLOCK_A_ORG["Get orgCd and positionCd from KGGRP_CD_LIST"]
    BLOCK_A_SET_CRED["Set USER_ID, ORG_CD, POSITION_CD on dataBean"]
    BLOCK_A_SYSID["Get mskmshoImageSysId from properties"]
    BLOCK_A_SET_SYSID["Set SYSTEM_ID on dataBean"]
    BLOCK_A_MAP_INIT["Create paramMap, dataMap; new CCSV0006_CCSV0006OPDBMapper"]
    BLOCK_A_MAP_PUT["Set TELEGRAM_INFO_USECASE_ID to CCSV0006"]
    BLOCK_A_SET_SC["setCCSV000601SC on mapper"]
    BLOCK_A_INVOKE["invokeService"]
    BLOCK_A_GET_SC["getCCSV000601SC on mapper"]
    BLOCK_A_URL["Get mskmshoShosaURL from properties"]
    BLOCK_A_PWD["Get one_time_pwd and mskmshoNo"]
    BLOCK_A_PRG["Get prcGrpCd and djmMskmshoNo"]
    COND_EGAS{prcGrpCd == 17 and djmMskmshoNo not null}
    BLOCK_A_REPLACE["Replace mskmshoNo with djmMskmshoNo"]
    BLOCK_A_FORMAT["Format URL with mskmshoNo and encryptPw"]
    BLOCK_A_SET_IMG["Set MSKM_IMG with formatUrl"]
    BLOCK_A_NEXT["Set NEXT_SCREEN_ID to KKW00127"]

    BLOCK_B["Process non-paper application"]
    BLOCK_B_GET["Get mskmsho_no from EKK0021A010CBSMSG1LIST"]
    BLOCK_B_PRG["Get prcGrpCd and djmMskmshoNo"]
    COND_EGAS_B{prcGrpCd == 17 and djmMskmshoNo not null}
    BLOCK_B_REPLACE["Replace mskmsho_no with djmMskmshoNo"]
    BLOCK_B_MAP["Create hktgMap with MSKMSHO_NO"]
    BLOCK_B_SCREEN["setScreenInfo to KKW14301"]
    BLOCK_B_NEXT["Set NEXT_SCREEN_ID to KKW14301"]

    COMMON_END["Set MAP_OPEN_FLG to 0"]
    COMMON_LOG["dumpDatabean logging"]
    RETURN_TRUE(["return true"])

    START --> PROC_TYPE
    START --> PROC_DM
    PROC_TYPE --> START2
    PROC_DM --> START2
    START2 -->|true| BLOCK_A
    START2 -->|false| BLOCK_B
    BLOCK_A --> BLOCK_A_GET
    BLOCK_A_GET --> BLOCK_A_USERID
    BLOCK_A_USERID --> BLOCK_A_ORG
    BLOCK_A_ORG --> BLOCK_A_SET_CRED
    BLOCK_A_SET_CRED --> BLOCK_A_SYSID
    BLOCK_A_SYSID --> BLOCK_A_SET_SYSID
    BLOCK_A_SET_SYSID --> BLOCK_A_MAP_INIT
    BLOCK_A_MAP_INIT --> BLOCK_A_MAP_PUT
    BLOCK_A_MAP_PUT --> BLOCK_A_SET_SC
    BLOCK_A_SET_SC --> BLOCK_A_INVOKE
    BLOCK_A_INVOKE --> BLOCK_A_GET_SC
    BLOCK_A_GET_SC --> BLOCK_A_URL
    BLOCK_A_URL --> BLOCK_A_PWD
    BLOCK_A_PWD --> BLOCK_A_PRG
    BLOCK_A_PRG --> COND_EGAS
    COND_EGAS -->|true| BLOCK_A_REPLACE
    COND_EGAS -->|false| BLOCK_A_FORMAT
    BLOCK_A_REPLACE --> BLOCK_A_FORMAT
    BLOCK_A_FORMAT --> BLOCK_A_SET_IMG
    BLOCK_A_SET_IMG --> BLOCK_A_NEXT
    BLOCK_A_NEXT --> COMMON_END
    BLOCK_B --> BLOCK_B_GET
    BLOCK_B_GET --> BLOCK_B_PRG
    BLOCK_B_PRG --> COND_EGAS_B
    COND_EGAS_B -->|true| BLOCK_B_REPLACE
    COND_EGAS_B -->|false| BLOCK_B_MAP
    BLOCK_B_REPLACE --> BLOCK_B_MAP
    BLOCK_B_MAP --> BLOCK_B_SCREEN
    BLOCK_B_SCREEN --> BLOCK_B_NEXT
    BLOCK_B_NEXT --> COMMON_END
    COMMON_END --> COMMON_LOG
    COMMON_LOG --> RETURN_TRUE
```

**Block A processing details:**
1. Retrieves the service form bean and gets the application type code (`MKSBT_CD`) — a code classifying the application subtype.
2. Retrieves the cancellation record number (`mskDmMskmshoNo`) from the `EKK2501A010CBSMSG1LIST` data bean array — used by OM-2013-0005132 to handle cancellation screen logic.
3. **Branch decision**: If the application type is `"05"` (paper/back-office application) **OR** the cancellation record number is empty/null, the paper application image display flow executes. Otherwise, the non-paper flow executes.

**Block A (paper application) flow:**
- Retrieves common info bean and service form bean, then extracts user credentials (userId, orgCd, positionCd) and sets them on the data bean.
- Resolves the application form image system ID from properties and sets it.
- Initializes the `CCSV0006` service component mapper, sets up the telegram info with usecase ID `CCSV0006`, and invokes the service.
- After service returns, retrieves the application form reference URL from properties.
- Gets the one-time password, application form number, price group code, and simultaneous application receipt number from the data bean.
- If the price group is `"17"` (EO Electricity) and the simultaneous application receipt number exists, replaces the displayed form number with the simultaneous receipt number (ANK-2990-00-00).
- Formats the final URL and sets it as the application form image (`MSKM_IMG`) on the data bean.
- Sets the next screen ID to `KKW00127` (Application Form Update / Reference).

**Block B (non-paper) flow:**
- Retrieves the application form number (`mskmsho_no`) from the `EKK0021A010CBSMSG1LIST` data bean array.
- Also retrieves prcGrpCd and djmMskmshoNo. If price group is `"17"` and simultaneous number exists, replaces the form number.
- Creates a hash map with the application form number and sets screen info for redirect to `KKW14301` (WEB Cancellation Data Reference).
- Sets the next screen ID and name to `KKW14301`.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. All data is sourced from the session-scoped data beans accessible via `super.getServiceFormBean()`, `super.getCommonInfoBean()`, and `KKW00127SFConst` constants. |
| - | `svcFormBean` | `X31SDataBeanAccess` | The service form data bean — holds all screen input/output fields including application type code, one-time password, application form number, price group code, and simultaneous application receipt number. |
| - | `commoninfoBean` | `X31SDataBeanAccess` | The common information data bean — holds user session context (userId, organization code, position code, navigation screens). |
| - | `KGGRP_CD_LIST` | `X31SDataBeanAccess[]` | Organization grouping code list — array of organization/position context data beans for the logged-in user. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `OneStopDataBeanAccessArray.getDataBean` | - | - | Reads application cancellation agreement list from `EKK2501A010CBSMSG1LIST` to get the cancellation record number |
| R | `OneStopDataBeanAccess.getDataBean` | - | - | Reads first element from the cancellation data bean array |
| R | `X31SDataBeanAccess.sendMessageString` | - | - | Reads cancellation number field (`MSKMSHO_NO_20`) from cancellation data bean |
| R | `X31SDataBeanAccess.sendMessageString` | - | - | Reads application type code (`MKSBT_CD`) from service form bean |
| R | `X31SDataBeanAccess.sendMessageString` | - | - | Reads userId, oneTimePwd, mskmshoNo, prcGrpCd, djmMskmshoNo from data beans |
| R | `X31SDataBeanAccess.getDataBeanArray` | - | - | Reads organization grouping list (`KGGRP_CD_LIST`) and application cancellation list |
| R | `X31SDataBeanAccess.getDataBean` | - | - | Reads application form number from `EKK0021A010CBSMSG1LIST` array |
| R | `JCMAPLConstMgr.getString` | - | - | Reads system ID property (`PROP_MSKMSHO_IMAGE_SYS_ID`) and view URL property (`PROP_MSKMSHO_SANSHO_URL`) |
| R | `JBSbatZMAdDataSet.getString` | - | - | Reads common info (userId, org code, position code) from common bean |
| R | `JESC0101B010TPMA.getString` | - | - | Reads cancellation screen agreement data bean fields |
| R | `JESC0101B020TPMA.getString` | - | - | Reads cancellation screen application form number |
| R | `CCSV0006_CCSV0006OPDBMapper.getCCSV000601SC` | CCSV0006 | - | Invokes SC to read application form image data from backend |
| R | `OneStopDataBeanAccessArray.getDataBean` | - | - | Reads first element from service application form number list |
| R | `OneStopDataBeanAccess.getDataBeanArray` | - | - | Reads `EKK0021A010CBSMSG1LIST` (application details agreement list) |
| R | `FUW09905SFLogic.getDataBean` | - | - | Reads data bean for application type code |
| R | `FUSV0277_FUSV0277OPDBMapper.getDataBean` | - | - | Reads cancellation agreement list data |
| R | `FUW00162SFLogic.getDataBean` | - | - | Reads service form data bean |
| C | `CCSV0006_CCSV0006OPDBMapper.setCCSV000601SC` | CCSV0006 | - | Sets up the CCSV0006 service call input parameters |
| C | `JCCBatCommon.invokeService` | JCCBatCommon | - | Invokes the CCSV0006 SC (Service Component) — triggers the backend service chain |
| U | `JCCWebCommon.setScreenInfo` | - | - | Sets redirect screen info (KKW14301) with hash map parameters |

**CRUD Classification:**
- **R (Read)**: All data bean reads (sendMessageString for GET, getDataBean/ getDataBeanArray), property reads (JCMAPLConstMgr), and SC getter (getCCSV000601SC) operations.
- **C (Create)**: The `invokeService` call and `setCCSV000601SC` setup, which prepare and dispatch the service component call for application form image retrieval.
- **U (Update)**: `setScreenInfo` and various `sendMessageString` with `DATABEAN_SET_VALUE` operations that update the data bean state.

## 5. Dependency Trace

Only one direct caller exists — `KKW00127SFLogic.actionMskmshoImg()` is called from the screen controller for screen **KKW00127** (Application Form Update / Reference). In this architecture, "action" methods on logic classes are invoked by the corresponding `KKSV`/`KKW` screen controllers via the OneStop framework's method dispatching mechanism.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW00127 | `KKW00127SFScreen` (controller dispatch) -> `KKW00127SFLogic.actionMskmshoImg()` | `CCSV0006_CCSV0006OPDBMapper.invokeService [C/R] Application Form Image` |

**Notes:**
- No other Java file was found calling this method (search returned only the method definition itself). This is consistent with the "action" naming convention — these methods are invoked by the screen framework, not called programmatically by other business logic.
- The terminal service call is `CCSV0006` (the application form image retrieval service component), which reads application form data from the backend.

## 6. Per-Branch Detail Blocks

**Block 1** — [GET/INIT] Application data preparation (L1987)

> Retrieves the service form bean, application type code, and cancellation record number for subsequent branching.

| # | Type | Code |
|---|------|------|
| 1 | GET | `svcFormBean = super.getServiceFormBean()` // Get service form data bean |
| 2 | CALL | `mskmSbt = svcFormBean.sendMessageString(KKW00127SFConst.MKSBT_CD, DATABEAN_GET_VALUE)` // Reads application type code — determines paper vs. non-paper flow [-> "MKSBT_CD" = "申込種別コード"] |
| 3 | SET | `mskDmMskmshoNo = ""` // Initialize cancellation record number |
| 4 | CALL | `mskmDmMskmshoNoList = svcFormBean.getDataBeanArray(KKW00127SFConst.EKK2501A010CBSMSG1LIST)` // Reads cancellation agreement list [-> "EKK2501A010CBSMSG1LIST" = "申込断念同意照会リスト"] |
| 5 | CALL | `mskmDmData = mskmDmMskmshoNoList.getDataBean(0)` // Gets first cancellation agreement data bean |
| 6 | CALL | `mskDmMskmshoNo = mskmDmData.sendMessageString(KKW00127SFConst.MSKMSHO_NO_20, DATABEAN_GET_VALUE)` // Reads application form number from cancellation data [-> "MSKMSHO_NO_20" = "申込書番号"] |

**Block 2** — [IF] Paper application image display check `(mskmSbt == "05" || mskDmMskmshoNo empty)` (L2005)

> **Condition (OM-2013-0005132)**: Branches to paper application flow if the application type code is "05" (paper/back-office application) OR if the cancellation record number is empty/null. If neither condition is true, the method skips to Block 3 (non-paper flow).

| # | Type | Code |
|---|------|------|
| 1 | COND | `("05").equals(mskmSbt)` [-> ODR_NAIYO_CD_05 = "05" (Paper/Back-office Application)] |
| 1.1 | OR | `(mskDmMskmshoNo == null || "".equals(mskDmMskmshoNo))` [-> Has cancellation record?] |
| 2 | SET | `commoninfoBean = getCommonInfoBean()` // Get common info data bean |
| 3 | SET | `dataBean = getServiceFormBean()` // Alias for service form bean |

**Block 2.1** — [SET] User credential preparation (L2012)

> Sets user identification data on the form bean for the CCSV0006 service call.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `userId = commoninfoBean.sendMessageString(CommonInfoCFConst.USER_ID, DATABEAN_GET_VALUE)` // Reads logged-in user ID [-> "USER_ID" = "ユーザーID"] |
| 2 | CALL | `kggrpCdList = commoninfoBean.getDataBeanArray(CommonInfoCFConst.KGGRP_CD_LIST)` // Reads organization grouping list [-> "KGGRP_CD_LIST" = "組織グループコードリスト"] |
| 3 | CALL | `subbean = kggrpCdList.getDataBean(0)` // Gets first org/position data bean |
| 4 | COND | `subbean != null` // Safety check for org data |
| 4.1 | IF_TRUE | `orgCd = subbean.sendMessageString(CommonInfoCFConst.ORG_CD_01, DATABEAN_GET_VALUE)` // Reads organization code [-> "ORG_CD_01" = "組織コード"] |
| 4.2 | IF_TRUE | `positionCd = subbean.sendMessageString(CommonInfoCFConst.POSITION_CD_01, DATABEAN_GET_VALUE)` // Reads position code [-> "POSITION_CD_01" = "立場コード"] |
| 5 | CALL | `dataBean.sendMessageString(KKW00127SFConst.USER_ID, DATABEAN_SET_VALUE, userId)` // Sets user ID on data bean [-> "USER_ID" = "ユーザーID"] |
| 6 | CALL | `dataBean.sendMessageString(KKW00127SFConst.ORG_CD, DATABEAN_SET_VALUE, orgCd)` // Sets organization code [-> "ORG_CD" = "組織コード"] |
| 7 | CALL | `dataBean.sendMessageString(KKW00127SFConst.POSITION_CD, DATABEAN_SET_VALUE, positionCd)` // Sets position code [-> "POSITION_CD" = "立場コード"] |

**Block 2.2** — [SET] System ID resolution (L2024)

> Resolves the application form image system ID from properties and sets it on the data bean.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mskmshoImageSysId = JCMAPLConstMgr.getString(PROP_MSKMSHO_IMAGE_SYS_ID)` // Reads system ID property |
| 2 | CALL | `dataBean.sendMessageString(KKW00127SFConst.SYSTEM_ID, DATABEAN_SET_VALUE, mskmshoImageSysId)` // Sets system ID [-> "SYSTEM_ID" = "システムID"] |

**Block 2.3** — [SET] CCSV0006 Service preparation (L2026)

> Sets up the CCSV0006 service component for the application form image retrieval.

| # | Type | Code |
|---|------|------|
| 1 | NEW | `paramMap = new HashMap()` // Creates telegram parameter map |
| 2 | SET | `paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, CCSV0006)` [-> CCSV0006 = "CCSV0006" (Application Form Image Service)] |
| 3 | NEW | `mapper = new CCSV0006_CCSV0006OPDBMapper()` // Creates service mapper |
| 4 | SET | `paramBean = { dataBean }` // Wraps data bean in array |
| 5 | NEW | `dataMap = new HashMap()` // Creates service input data map |
| 6 | CALL | `mapper.setCCSV000601SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1)` // Sets up the SC call with func code 1 |
| 7 | NEW | `outputMap = new HashMap()` // Creates output map for service results |
| 8 | CALL | `invokeService(paramMap, dataMap, outputMap)` // Invokes the CCSV0006 SC (Service Component) — dispatches to backend |
| 9 | CALL | `mapper.getCCSV000601SC(paramBean, outputMap)` // Reads SC results back into paramBean |

**Block 2.4** — [SET] URL construction with simultaneous application number support (L2033)

> Builds the external application form viewing URL and applies simultaneous application receipt override for EO Electricity.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mskmshoShosaURL = JCMAPLConstMgr.getString(PROP_MSKMSHO_SANSHO_URL)` // Reads application form reference URL pattern from properties |
| 2 | CALL | `encryptPw = dataBean.sendMessageString(KKW00127SFConst.ONE_TIME_PWD, DATABEAN_GET_VALUE)` // Reads one-time password [-> "ONE_TIME_PWD" = "ワンタイムパスワード"] |
| 3 | CALL | `mskmshoNo = dataBean.sendMessageString(KKW00127SFConst.MSKMSHO_NO, DATABEAN_GET_VALUE)` // Reads application form number [-> "MSKMSHO_NO" = "申込書番号"] |
| 4 | CALL (ANK-2990) | `prcGrpCd = dataBean.sendMessageString(KKW00127SFConst.PRC_GRP_CD, DATABEAN_GET_VALUE)` // Reads price group code [-> "PRC_GRP_CD" = "料金グループコード"] |
| 5 | CALL (ANK-2990) | `djmMskmshoNo = dataBean.sendMessageString(KKW00127SFConst.DJM_MSKMSHO_NO, DATABEAN_GET_VALUE)` // Reads simultaneous application receipt number [-> "DJM_MSKMSHO_NO" = "同時申込受付番号"] |
| 6 | COND (ANK-2990) | `JKKCommonConst.PRC_GRP_CD_17.equals(prcGrpCd) && !isNull(djmMskmshoNo)` [-> PRC_GRP_CD_17 = "17" (EO Electricity / eo電気)] |
| 6.1 | IF_TRUE | `mskmshoNo = djmMskmshoNo` // Replaces form number with simultaneous receipt number |

**Block 2.5** — [SET] Final URL setup and screen navigation (L2052)

> Formats the application form viewing URL and sets up the next screen.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `formatUrl = String.format(mskmshoShosaURL, mskmshoNo, encryptPw)` // Builds URL: URL?mskm_no=X&onetimepass=Y |
| 2 | CALL | `dataBean.sendMessageString(KKW00127SFConst.MSKM_IMG, DATABEAN_SET_VALUE, formatUrl)` // Sets final image URL [-> "MSKM_IMG" = "申込イメージ"] |
| 3 | CALL | `commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW00127)` // Sets next screen [-> "KKW00127" = "申込情報更新・照会"] |
| 4 | CALL | `commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW00127)` // Sets next screen name [-> "申込情報更新・照会" = "Application Form Update / Reference"] |

**Block 3** — [ELSE] Non-paper application flow (L2059)

> For application types other than "05" (or where cancellation record exists but no paper type), this branch retrieves the existing application form number and sets up redirect to the cancellation data reference screen.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mskmsho_no` // Local variable declaration for application form number |
| 2 | CALL | `svcMskmshoNoList = svcFormBean.getDataBeanArray(KKW00127SFConst.EKK0021A010CBSMSG1LIST)` // Reads application details agreement list [-> "EKK0021A010CBSMSG1LIST" = "申込明細同意照会リスト"] |
| 3 | CALL | `svcMskmshoNo = svcMskmshoNoList.getDataBean(0)` // Gets first application details data bean |
| 4 | CALL | `mskmsho_no = svcMskmshoNo.sendMessageString(KKW00127SFConst.MSKMSHO_NO_03, DATABEAN_GET_VALUE)` // Reads application form number [-> "MSKMSHO_NO_03" = "申込書番号"] |
| 5 | CALL (ANK-2990) | `dataBean = getServiceFormBean()` // Get service form bean |
| 6 | CALL (ANK-2990) | `prcGrpCd = dataBean.sendMessageString(KKW00127SFConst.PRC_GRP_CD, DATABEAN_GET_VALUE)` // Reads price group code [-> "PRC_GRP_CD" = "料金グループコード"] |
| 7 | CALL (ANK-2990) | `djmMskmshoNo = dataBean.sendMessageString(KKW00127SFConst.DJM_MSKMSHO_NO, DATABEAN_GET_VALUE)` // Reads simultaneous application receipt number [-> "DJM_MSKMSHO_NO" = "同時申込受付番号"] |
| 8 | COND (ANK-2990) | `JKKCommonConst.PRC_GRP_CD_17.equals(prcGrpCd) && !isNull(djmMskmshoNo)` [-> PRC_GRP_CD_17 = "17" (EO Electricity)] |
| 8.1 | IF_TRUE | `mskmsho_no = djmMskmshoNo` // Replaces form number with simultaneous receipt |
| 9 | NEW | `hktgMap = new HashMap<String,Object>()` // Creates redirect parameter map |
| 10 | SET | `hktgMap.put(KKW00127SFConst.MSKMSHO_NO, mskmsho_no)` // Puts application form number [-> "MSKMSHO_NO" = "申込書番号"] |
| 11 | CALL | `JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW14301, hktgMap)` // Sets screen redirect info [-> "KKW14301" = "WEB申込断念データ参照"] |
| 12 | CALL | `commonBean = getCommonInfoBean()` // Get common info bean |
| 13 | CALL | `commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW14301)` // Sets next screen ID [-> "KKW14301" = "WEB Cancellation Data Reference"] |
| 14 | CALL | `commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW14301)` // Sets next screen name [-> "WEB申込断念データ参照" = "WEB Cancellation Data Reference"] |

**Block 4** — [POST-PROCESS] Shared cleanup after both branches (L2074)

> Sets map open flag to cleared and dumps data bean for logging. Common to both paper and non-paper flows.

| # | Type | Code |
|---|------|------|
| 1 | CALL (ANK-2121) | `svcFormBean.sendMessageString(KKW00127SFConst.MAP_OPEN_FLG, DATABEAN_SET_VALUE, "0")` // Clears map open flag [-> "MAP_OPEN_FLG" = "地図オープンフラグ"] |
| 2 | CALL | `JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null)` // Debug log: dumps all data bean state |
| 3 | RETURN | `return true` // Always returns true — indicates successful processing |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `mskmSbt` | Field | Application type code (`MKSBT_CD`) — classifies the application subtype; "05" indicates paper/back-office application |
| `mskDmMskmshoNo` | Field | Cancellation record number — internal reference for applications that were cancelled via the WEB cancellation screen |
| `mskmshoNo` / `mskmsho_no` | Field | Application form number (`MSKMSHO_NO` / `MSKMSHO_NO_03`) — the unique document number for the submitted application form |
| `encryptPw` | Field | One-time password (`ONE_TIME_PWD`) — temporary authentication credential for accessing the application form viewing page |
| `prcGrpCd` | Field | Price group code (`PRC_GRP_CD`) — classifies the customer's pricing plan; "17" identifies EO Electricity customers |
| `djmMskmshoNo` | Field | Simultaneous application receipt number (`DJM_MSKMSHO_NO`) — receipt number for concurrent applications (added in ANK-2990-00-00 for EO Electricity) |
| `orgCd` | Field | Organization code (`ORG_CD_01`) — the organizational unit of the logged-in user |
| `positionCd` | Field | Position code (`POSITION_CD_01`) — the job position/role of the logged-in user |
| `mskmshoImageSysId` | Field | Application form image system ID — the system identifier for the external application form viewing service |
| `mskmshoShosaURL` | Field | Application form reference URL — the base URL pattern for the external document viewing page |
| `formatUrl` | Field | Final formatted URL — the constructed URL with query parameters (mskm_no, onetimepass) for opening the application form |
| CCSV0006 | Service | Application Form Image SC (Service Component) — the backend service that retrieves application form image data |
| EKK2501A010CBSMSG1LIST | Constant | Cancellation agreement inquiry list — data bean list for cancelled application records (added OM-2013-0005132) |
| EKK0021A010CBSMSG1LIST | Constant | Application details agreement list — data bean list for active application form details |
| KGGRP_CD_LIST | Constant | Organization grouping code list — data bean array containing user's organization and position context |
| KKW00127 | Screen | Application Form Update / Reference (申込情報更新・照会) — the primary screen for updating and viewing application information |
| KKW14301 | Screen | WEB Cancellation Data Reference (WEB申込断念データ参照) — the screen for viewing WEB cancellation data |
| EAS | Business term | EO Electricity (eo電気) — the electricity service business unit; identified by price group code "17" |
| OneStop | Framework | OneStop data bean access framework — the session-based data management layer providing data bean access across screen methods |
| MAP_OPEN_FLG | Constant | Map open flag (`地図オープンフラグ`) — UI flag controlling whether a map is displayed; cleared to "0" after this method |
| invokeService | Method | Central service invocation dispatcher — routes to the appropriate backend Service Component (SC) based on the usecase ID in the telegram |
| FUNC_CD_1 | Constant | Function code 1 — standard function dispatch code used when setting up service component calls |
| DATABEAN_GET_VALUE | Constant | Data bean read operation — retrieves a field value from a data bean |
| DATABEAN_SET_VALUE | Constant | Data bean write operation — sets a field value on a data bean |
| ONETIMEPASS | Query param | One-time password URL parameter — temporary auth token in the application form viewing URL |
| MSKM_NO | Query param | Application number URL parameter — the form number in the application form viewing URL |
