# Business Logic — KKW00128SFLogic.actionInitKKW00128() [224 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00128SF.KKW00128SFLogic` |
| Layer | Controller (Web View Logic Layer) |
| Module | `KKW00128SF` (Package: `eo.web.webview.KKW00128SF`) |

## 1. Role

### KKW00128SFLogic.actionInitKKW00128()

The `actionInitKKW00128()` method is the **primary initialization entry point** for the eo Optical Network Service Contract Information Update screen (KKW00128SF) within the business logic layer. It is invoked during the business logic click phase to prepare all screen data, dropdown lists, hidden fields, customer contract information, and WAO integration data before the view is rendered to the operator. The method handles three distinct service screen contexts — initial display (ido_div = null), divergence cancellation recovery (ido_div = 00004), and service suspension revocation (ido_div = 00009) — each with tailored processing branches. It implements a **composite initialization pattern**, delegating to 20+ specialized helper methods responsible for individual concerns: pulldown population, hidden-field editing, list management, map screen setup, job information initialization, service contract common info, WAO integration data extraction, NTT uninstall checks, and customer contract data backup. The method serves as the **central orchestrator** within the KKW00128SF module, coordinating data retrieval from approximately 10 SC (Service Component) calls, form bean manipulation, and screen info persistence. Its role is to bridge the screen presentation layer with the underlying service components, ensuring all screen state is fully prepared for a single service contract update workflow that encompasses broadband, mail, and value-added services under the eo Optical Network platform.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["actionInitKKW00128"])
    STEP1["Get ServiceFormBean via getServiceFormBean"]
    COND_REFLG{re_flg equals false?}
    STEP2["getSessionKKW00128SFBean - Cross-screen shared info editing"]
    STEP3["Set paramBean array from svcFormBean"]
    STEP4["invokeInitService - Invoke service init"]
    STEP5["Get outputMap from invokeInitService"]
    COND_DIVERG{ido_div equals IDO_DIV_00004?}
    STEP6["Get divergence cancellation message"]
    STEP7["Check recovery period - itsOverKaihkPsbPrd"]
    STEP8["Set 18 pulldown lists via setPulldown"]
    COND_PENALTY{ido_div not 00005 or 00009?}
    STEP9["Set penalty type pulldown - true"]
    STEP10["Set penalty type pulldown - false"]
    STEP11["Edit hidden fields - sethiddenKKW00128SFBean"]
    STEP12["Edit list info - setListKKW00128SFBean"]
    STEP13["Edit text boxes - setTbxKKW00128SFBean"]
    STEP14["Set map screen data - setMapGmnData"]
    STEP15["Initialize job information - setInitKojiInfo"]
    STEP16["Set service contract common info - setSvckeiInfo"]
    STEP17["Get KKSV005941SC for desired cancellation date"]
    COND_EKU0021{eku0021a010msgList valid?}
    STEP18["Extract dsl_kibo_ymd from eku0021a010msgList"]
    COND_EKU0061{eku0061a010msgList valid?}
    STEP19["Extract dsl_kibo_ymd from eku0061a010msgList"]
    STEP20["Set display cancellation date field"]
    COND_MANSO{ido_div not 00005-00009-00008?}
    STEP21["Get KKSV005942SC and extract management records"]
    STEP22["Set management equipment records field"]
    COND_IDO_BLANK{ido_div is null or blank?}
    STEP23["Get KKSV005903SC and extract prc_grp_cd"]
    COND_HOME{prc_grp_cd equals CD00133_02?}
    STEP24["Get KKSV005968SC and extract customer ID"]
    STEP25["Set display destination customer ID field"]
    STEP26["Get WAO integration data from KKSV005981SC"]
    COND_WAO{waoMap not null?}
    STEP27["Extract CAF number and dates"]
    STEP28["Set CAF number and dates on form"]
    STEP29["Set WAO cancellation flag to 1"]
    STEP30["NTT uninstall check - checkNtto"]
    STEP31["Customer contract check - checkKoji"]
    STEP32["Get customer contract inheritance list"]
    STEP33["Get divergence senior pattern"]
    STEP34["Backup customer contract data map"]
    COND_SELFSENI{idoDivSeniPtn equals 99?}
    STEP35["Restore self-screen transfer pattern"]
    STEP36["Set screen info for return"]
    STEP37["Dump DataBean to log"]
    END(["End"])

    START --> STEP1 --> COND_REFLG
    COND_REFLG -->|true| STEP2 --> STEP3
    COND_REFLG -->|false| STEP3 --> STEP4 --> STEP5
    STEP5 --> COND_DIVERG
    COND_DIVERG -->|true| STEP6 --> STEP7
    COND_DIVERG -->|false| STEP7
    STEP7 --> STEP8 --> COND_PENALTY
    COND_PENALTY -->|true| STEP9 --> STEP11
    COND_PENALTY -->|false| STEP10 --> STEP11
    STEP11 --> STEP12 --> STEP13 --> STEP14 --> STEP15 --> STEP16 --> STEP17 --> COND_EKU0021
    COND_EKU0021 -->|true| STEP18 --> COND_EKU0061
    COND_EKU0061 -->|true| STEP19 --> STEP20
    COND_EKU0061 -->|false| STEP20 --> COND_MANSO
    COND_MANSO -->|true| STEP21 --> STEP22 --> COND_IDO_BLANK
    COND_MANSO -->|false| STEP22 --> COND_IDO_BLANK
    COND_IDO_BLANK -->|true| STEP23 --> COND_HOME
    COND_IDO_BLANK -->|false| STEP26
    COND_HOME -->|true| STEP24 --> STEP25 --> STEP26
    COND_HOME -->|false| STEP25 --> STEP26
    STEP25 --> STEP26
    STEP26 --> COND_WAO
    COND_WAO -->|true| STEP27 --> STEP28 --> STEP29
    COND_WAO -->|false| STEP29 --> STEP30 --> STEP31 --> STEP32 --> STEP33 --> STEP34 --> COND_SELFSENI
    STEP27 --> STEP29
    STEP28 --> STEP29
    COND_SELFSENI -->|true| STEP35 --> STEP36
    COND_SELFSENI -->|false| STEP36 --> STEP37 --> END
```

**Constant Resolution in Branches:**

- `JKKCommonConst.IDO_DIV_VALUE_00004` — Divergence cancellation recovery divergence code. Used to display divergence reservation cancellation messages.
- `JKKCommonConst.IDO_DIV_VALUE_00005` — Service suspension revocation divergence code (penalty pulldown disabled).
- `JKKCommonConst.IDO_DIV_VALUE_00008` — Special divergence code (management equipment records hidden).
- `JKKCommonConst.IDO_DIV_VALUE_00009` — Another service suspension divergence code (penalty pulldown disabled).
- `KKW00128SFConst.WAO_RNKI_YKS_FLG_DSL` — "WAO Integration Feasibility (Cancellation Use)" constant key.
- `X31CWebConst.DATABEAN_SET_VALUE` — Standard constant indicating a DataBean set operation.
- `JCCScreenConst.SCREEN_ID_KKW00128` — Screen ID for KKW00128, used for screen info persistence.
- `IDO_DIV_SENI_PTN_TMP_OYA_SENI` — Value `"99"`, representing "self-senior" temporary transfer pattern for divergence senior selection.
- `JKKStrConst.CD00133_02` — Value representing the "Home" customer classification (prc_grp_cd).
- `JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST` — Customer contract inheritance list key constant.
- `JKKCommonConst.HKTGI_IDO_DIV_SENI_PTN` — Divergence senior selection pattern key.
- `JKKCommonConst.HKTGI_IDO_DIV_SENI_PTN_SELF_SENI` — Self-senior transfer pattern value.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. All input is derived from instance fields, session state, and the service form bean retrieved at runtime. |
| - | `re_flg` | `boolean` (instance field) | Re-display flag. When `false`, cross-screen shared info (getSessionKKW00128SFBean) is processed. When `true`, the screen is being redisplayed (e.g., after validation error) and shared info is not re-read. |
| - | `ido_div` | `String` (instance field) | Divergence division code. Controls which special processing branches are taken: `00004` (divergence cancellation recovery), `00005`/`00009` (service suspension revocation — penalty pulldown behavior), `00008` (special handling for management records). |
| - | `svcFormBean` | `X31SDataBeanAccess` | The service form bean holding the screen data. Retrieved from the parent class and serves as the primary data carrier for the screen. |
| - | `outputMap` | `HashMap<String, Object>` | The output map returned by invokeInitService containing results from all service component calls executed during the init phase. |
| - | `paramBean` | `X31SDataBeanAccess[]` | An array wrapping svcFormBean, used as the input parameter for invokeInitService and some helper methods. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `KKW00128SFLogic.invokeInitService` | KKW00128SFLogic | Service Components (multiple) | Core service initialization that triggers a batch of SC calls — KKSV005903SC, KKSV005941SC, KKSV005942SC, KKSV005981SC, etc. Returns outputMap with results from each. |
| - | `JKKWebCommon.getIdoRsvCancelMsg` | JKKWebCommon | - | Displays divergence reservation cancellation messages for divergence code 00004 |
| - | `KKW00128SFLogic.itsOverKaihkPsbPrd` | KKW00128SFLogic | - | Checks whether the recovery-permitted period has passed; determines if service restoration is possible |
| - | `KKW00128SFLogic.setPulldown` (×19 calls) | KKW00128SFLogic | - | Populates dropdown lists by calling SC codes KKSV005912SC through KKSV005932SC, KKSV005967SC |
| - | `KKW00128SFLogic.sethiddenKKW00128SFBean` | KKW00128SFLogic | - | Edits hidden screen fields (items to be hidden) |
| - | `KKW00128SFLogic.setListKKW00128SFBean` | KKW00128SFLogic | - | Edits list-type screen data items |
| - | `KKW00128SFLogic.setTbxKKW00128SFBean` | KKW00128SFLogic | - | Edits text box screen data items |
| - | `KKW00128SFLogic.setMapGmnData` | KKW00128SFLogic | - | Sets data for map screen display (customer information screen linkage) |
| - | `KKW00128SFLogic.setInitKojiInfo` | KKW00128SFLogic | - | Initializes job/work information fields (construction work estimates, planning dates) |
| - | `KKKWebCommon.setSvckeiInfo` | JKKWebCommon | - | Sets service contract common items from getSvckeiCommonMap output |
| R | `KKW00128SFLogic.getSvckeiCommonMap` | KKW00128SFLogic | - | Retrieves service contract common data map for display |
| R | `OneStopDataBeanAccessArray.getDataBeanArray` | OneStopDataBeanAccess | - | Gets customer contract inheritance list as DataBeanArray |
| R | `OneStopDataBeanAccess.getDataBean` | OneStopDataBeanAccess | - | Gets the first DataBean (index 0) from customer contract inheritance list |
| - | `OneStopDataBeanAccess.sendMessageString` | OneStopDataBeanAccess | - | Gets the divergence senior selection pattern value from the DataBean |
| - | `OneStopDataBeanAccess.sendMessageString` | OneStopDataBeanAccess | - | Sends the WAO cancellation flag value "1" to the form |
| - | `KKW00128SFLogic.checkKoji` | KKW00128SFLogic | - | Validates customer contract status |
| - | `KKW00128SFLogic.checkNtto` | KKW00128SFLogic | - | Performs NTT uninstall determination check (NTT equipment removal status) |
| R | `KKW00128SFLogic.getHktgiDataMap` | KKW00128SFLogic | - | Creates a backup map of customer contract inheritance data using specified keys |
| - | `JCCWebCommon.setScreenInfo` | JCCWebCommon | - | Persists screen state information for return navigation (BK data preservation) |
| - | `KKW00128SFLogic.getSessionKKW00128SFBean` | KKW00128SFLogic | - | Retrieves and edits cross-screen shared session information |
| R | `KKW00128SFLogic.invokeInitService` | - | KKSV005903SC, KKSV005941SC, KKSV005942SC, KKSV005981SC | Internal SC calls — EKK0081A010CBSMsg1List, EKU0021A010CBSMsg1List, EKU0061A010CBSMsg1List, EKK3531A010CBSMsg1List, EKK0091A010CBSMsg1List |
| - | `JKKWebCommon.getIdoRsvCancelMsg` | - | KKSV005954SC | Calls SC to get divergence cancellation messages |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `KKW00128SFLogic.actionInit()` | `actionInit()` → `actionInitKKW00128()` | `invokeInitService [R] EKK0081A010CBSMsg1List, EKU0021A010CBSMsg1List, EKU0061A010CBSMsg1List, EKK3531A010CBSMsg1List, EKK0091A010CBSMsg1List; setScreenInfo [-] KK_T_SVKEI (Service Contract Info)` |

**Notes:**
- `KKW00128SFLogic.actionInit()` is the entry point that dispatches to `actionInitKKW00128()`.
- Terminal operations from this method resolve to SC codes: KKSV005903SC, KKSV005941SC, KKSV005942SC, KKSV005954SC, KKSV005981SC, KKSV005912SC–KKSV005932SC, KKSV005967SC.
- Entity data flows through CBS messages: EKK0081A010CBSMsg1List (Service Contract Agreement Details), EKU0021A010CBSMsg1List (eo Optical Network Work Project), EKU0061A010CBSMsg1List (eo Optical Network Maintenance Work Project), EKK3531A010CBSMsg1List (WAO Integration), EKK0091A010CBSMsg1List (Service Contract eo Optical Network Agreement Details).
- DataBean dump output: `JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null)`.

## 6. Per-Branch Detail Blocks

**Block 1** — [GET] ServiceFormBean Retrieval (L332)

Retrieves the service form bean from the parent class to serve as the primary screen data carrier.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcFormBean = super.getServiceFormBean()` // Get ServiceFormBean access class |

**Block 2** — [IF] Re-display Flag Check (L335)

Decides whether to process cross-screen shared information editing. When `re_flg == false`, the screen is being displayed fresh; when `true`, it's a re-display (e.g., after validation failure) and shared info should not be re-read.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `getSessionKKW00128SFBean(svcFormBean)` // Cross-screen shared info editing processing [re_flg == false] |

**Block 2.1** — [ELSE-IMPLICIT] re_flg == true (L335)

When `re_flg` is `true`, skip shared info processing and proceed directly.

| # | Type | Code |
|---|------|------|
| 1 | SET | `// No operation — skip getSessionKKW00128SFBean [re_flg == true]` |

**Block 3** — [SET] ParamBean Setup (L340)

Wraps the service form bean into an array for use as the input parameter to the service init invocation.

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramBean = {svcFormBean}` // Mapping paramBean set |

**Block 4** — [CALL] Service Initialization Invocation (L342)

Invokes the core service initialization routine, which internally calls multiple SC codes to populate screen data.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `outputMap = invokeInitService(paramBean)` // Invoke service initialization |

**Block 5** — [IF] Divergence Cancellation Recovery Message (L345)

When `ido_div` equals `IDO_DIV_VALUE_00004`, displays divergence reservation cancellation messages. This branch handles the special case where a divergence cancellation recovery message needs to be shown.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JKKWebCommon.getIdoRsvCancelMsg(this, outputMap, "KKSV005954SC")` // Divergence cancellation message display [ido_div == "00004"] |

**Block 6** — [CALL] Recovery Period Check (L350)

Checks whether the recovery-permitted period has passed. Determines if service restoration is possible after divergence cancellation.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `itsOverKaihkPsbPrd(paramBean[0], outputMap)` // Check if recovery possible period has passed |

**Block 7** — [CALL] Pulldown List Population (L352–L374)

Populates 19 dropdown lists (pulldowns) on the screen. Each call targets a specific list constant and SC code for fetching dropdown items.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setPulldown(svcFormBean, outputMap, JIMU_COMMISION_LIST, "KKSV005912SC", false)` // Administrative fees list |
| 2 | CALL | `setPulldown(svcFormBean, outputMap, STDARD_KOJIHI_LIST, "KKSV005913SC", false)` // Standard construction fees list |
| 3 | CALL | `setPulldown(svcFormBean, outputMap, STDARD_KOJIHI_DIV_LIST, "KKSV005916SC", true)` // Standard construction fees (division) |
| 4 | CALL | `setPulldown(svcFormBean, outputMap, SKEKKA_TCHI_LIST, "KKSV005918SC", true)` // Billing/charge region list |
| 5 | CALL | `setPulldown(svcFormBean, outputMap, SKEKKA_HOKI_LIST, "KKSV005919SC", true)` // Billing/charge supplementary list |
| 6 | CALL | `setPulldown(svcFormBean, outputMap, PON_SBT_LIST, "KKSV005920SC", true)` // PON subtype list |
| 7 | CALL | `setPulldown(svcFormBean, outputMap, HUKA_INFO_LIST, "KKSV005921SC", false)` // Additional info list |
| 8 | CALL | `setPulldown(svcFormBean, outputMap, AD_FORM_LIST, "KKSV005922SC", false)` // Address form list |
| 9 | CALL | `setPulldown(svcFormBean, outputMap, SHUGJ_NYUKYO_FLR_CNT_LIST, "KKSV005923SC", false)` // Building entrance floor count list |
| 10 | CALL | `setPulldown(svcFormBean, outputMap, KJ_SCOPE_LIST, "KKSV005924SC", false)` // Construction scope list |
| 11 | CALL | `setPulldown(svcFormBean, outputMap, INFO_JUJU_DOI_LIST, "KKSV005925SC", false)` // Information utilization period list |
| 12 | CALL | `setPulldown(svcFormBean, outputMap, ISETSU_DIV_LIST, "KKSV005926SC", false)` // Installation division list |
| 13 | CALL | `setPulldown(svcFormBean, outputMap, SAME_EQUIP_RE_MSKM_LIST, "KKSV005927SC", false)` // Same equipment replacement list |
| 14 | CALL | `setPulldown(svcFormBean, outputMap, TELNO_RRK_KIBO_TIME_LIST, "KKSV005928SC", false)` // Telephone number reservation time list |
| 15 | CALL | `setPulldown(svcFormBean, outputMap, ROUTER_KIND_LIST, "KKSV005929SC", false)` // Router kind list |
| 16 | CALL | `setPulldown(svcFormBean, outputMap, NEWCONST_BUKKEN_LIST, "KKSV005930SC", false)` // New contract scope list |
| 17 | CALL | `setPulldown(svcFormBean, outputMap, KJ_APO_RRKS_LIST, "KKSV005931SC", false)` // Construction application list |
| 18 | CALL | `setPulldown(svcFormBean, outputMap, KJ_PON_SBT_LIST, "KKSV005932SC", false)` // Construction PON subtype list |
| 19 | CALL | `setPulldown(svcFormBean, outputMap, MALWARE_BLOCKING_UM_LIST, "KKSV005967SC", false)` // Malware blocking type list [ANK-3834-00-00 ADD] |

**Block 8** — [IF/ELSE] Penalty Occurrence Type Pulldown (L376–L384)

Conditionally sets the penalty occurrence type pulldown based on the divergence code. When `ido_div` is NOT `00005` or `00009`, the pulldown is enabled (`true`). Otherwise, it is disabled (`false`).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setPulldown(svcFormBean, outputMap, PNLTY_HASSEI_DIV_LIST, "KKSV005915SC", true)` // Penalty occurrence type — enabled [ido_div not 00005 or 00009] |
| 2 | CALL | `setPulldown(svcFormBean, outputMap, PNLTY_HASSEI_DIV_LIST, "KKSV005915SC", false)` // Penalty occurrence type — disabled [ido_div is 00005 or 00009] |

**Block 9** — [CALL] Hidden Field Editing (L387)

Processes hidden screen items (items that should be hidden from the user).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `sethiddenKKW00128SFBean(paramBean, outputMap)` // Screen info (hidden items) editing processing |

**Block 10** — [CALL] List Editing (L390)

Edits list-type screen information items.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setListKKW00128SFBean(svcFormBean)` // Screen info (list) editing processing |

**Block 11** — [CALL] Text Box Editing (L393)

Edits text box screen information items.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setTbxKKW00128SFBean(svcFormBean, outputMap)` // Screen info (text box) editing processing |

**Block 12** — [CALL] Map Screen Data Setup (L396)

Sets up data for map screen display — used when linking from the customer information screen. [ANK-1933-00-00 ADD]

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setMapGmnData(svcFormBean)` // Map screen open data setup [ANK-1933-00-00] |

**Block 13** — [CALL] Job Information Initialization (L400)

Initializes job/work information fields including construction estimates, planned dates, etc. [ANK-3412-15-00 ADD]

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setInitKojiInfo(svcFormBean, outputMap)` // Job information initialization [ANK-3412-15-00] |

**Block 14** — [CALL] Service Contract Common Info Setup (L403)

Sets service contract common items by invoking `setSvckeiInfo` with data from `getSvckeiCommonMap`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JKKWebCommon.setSvckeiInfo(this, getSvckeiCommonMap(outputMap, paramBean))` // Service contract common item setup |

**Block 15** — [GET/IF] Desired Cancellation Date Extraction (L405–L425)

Retrieves the desired cancellation date from the service contract update result data. First tries `EKU0021A010CBSMsg1List` (eo Optical Network work project agreement result), then falls back to `EKU0061A010CBSMsg1List` (eo Optical Network maintenance work project agreement result).

| # | Type | Code |
|---|------|------|
| 1 | SET | `dslKiboYmd = ""` // Initialize variable |
| 2 | SET | `kksv005941sc = (Map)outputMap.get("KKSV005941SC")` // Get KKSV005941SC output |
| 3 | EXEC | `eku0021a010msgList = (List)kksv005941sc.get("EKU0021A010CBSMsg1List")` // Service contract information update screen cancellation desired date [LT-2013-0000279] |
| 4 | IF | `eku0021a010msgList != null && !empty` // eo Optical Network work project agreement result check |
| 5 | SET | `dslKiboYmd = eku0021a010msgList.get(0).get("dsl_kibo_ymd")` // Extract from work project result |
| 6 | ELSE-IF | `eku0061a010msgList != null && !empty` // eo Optical Network maintenance work project agreement result check |
| 7 | SET | `dslKiboYmd = eku0061a010msgList.get(0).get("dsl_kibo_ymd")` // Extract from maintenance result |
| 8 | CALL | `setString(svcFormBean, "表示用解約希望日", dslKiboYmd)` // Set display cancellation desired date field |

**Block 16** — [GET/IF] Management Equipment Records Extraction (L428–L444)

Extracts management equipment administration records (manssbsys_rnki_yo_kijiran) from `KKSV005942SC` output, but only when `ido_div` is NOT `00005`, `00009`, or `00008`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `manssbsysRnkiYoKijiran = ""` // Initialize variable |
| 2 | IF | `ido_div not 00005 AND not 00009 AND not 00008` |
| 3 | SET | `kksv005942sc = (Map)outputMap.get("KKSV005942SC")` // Get KKSV005942SC output |
| 4 | SET | `ekk0021a010msgList = (List)kksv005942sc.get("EKK0021A010CBSMsg1List")` // Get agreement details list |
| 5 | SET | `manssbsysRnkiYoKijiran = ekk0021a010msgList.get(0).get("manssbsys_rnki_yo_kijiran")` // Extract management equipment records |
| 6 | CALL | `setString(svcFormBean, "メンテナンス設備管理用記録事項", manssbsysRnkiYoKijiran)` // Set management equipment records field |

**Block 17** — [IF] Destination Customer ID Extraction (L448–L478)

Extracts the destination customer ID (NrkemtSvcKei) for the display purpose. When `ido_div` is null or blank, retrieves `prc_grp_cd` from `KKSV005903SC`. If the process group code equals `CD00133_02` (Home customer type), further retrieves `nrkemt_svkei_no` from `KKSV005968SC`. [ANK-4468-00-00 ADD]

| # | Type | Code |
|---|------|------|
| 1 | SET | `NrkemtSvcKei = ""` // Destination customer ID |
| 2 | SET | `PrcGrpCd = ""` // Process group code |
| 3 | IF | `JKKStringUtil.isNullBlank(ido_div)` // Display target divergence check |
| 4 | SET | `kksv005903sc = (Map)outputMap.get("KKSV005903SC")` // Get service contract agreement details |
| 5 | SET | `ekk0081a010msgList = (List)kksv005903sc.get("EKK0081A010CBSMsg1List")` // Service contract agreement details list |
| 6 | SET | `PrcGrpCd = ekk0081a010msgList.get(0).get("prc_grp_cd")` // Extract process group code |
| 7 | IF | `PrcGrpCd equals CD00133_02` // Home customer check |
| 8 | SET | `kksv005968sc = (Map)outputMap.get("KKSV005968SC")` // Service Contract eo Optical Network agreement details |
| 9 | SET | `NrkemtSvcKei = ekk0091a010msgList.get(0).get("nrkemt_svkei_no")` // Extract customer ID |
| 10 | CALL | `setString(svcFormBean, "表示用乗換元お客様ID", NrkemtSvcKei)` // Set display destination customer ID field |

**Block 18** — [GET/IF] WAO Integration Data Extraction (L483–L513)

Retrieves WAO (Wide Area Operation) integration data including CAF (Contract Assignment Form) number, planned construction completion date, and actual construction completion date from `KKSV005981SC`. If no WAO data exists, fields are set to empty. [ANK-4427-00-00 ADD]

| # | Type | Code |
|---|------|------|
| 1 | SET | `cafNo = ""` // CAF number |
| 2 | SET | `kojiYotei = ""` // Planned construction completion date |
| 3 | SET | `kojiKanryo = ""` // Actual construction completion date |
| 4 | SET | `waoMap = (Map)outputMap.get("KKSV005981SC")` // WAO integration info SC |
| 5 | IF | `waoMap != null` |
| 6 | SET | `ekk3531a010msgList = (List)waoMap.get("EKK3531A010CBSMsg1List")` // WAO integration SC message list |
| 7 | IF | `ekk3531a010msgList != null && !empty` |
| 8 | SET | `cafNo = ekk3531a010msgList.get(0).get("caf_no")` // CAF number |
| 9 | SET | `kojiYotei = ekk3531a010msgList.get(0).get("takni_koji_fin_rsv_ymd")` // Planned construction completion YMD |
| 10 | SET | `kojiKanryo = ekk3531a010msgList.get(0).get("kojiak_jssi_ymd")` // Actual construction completion YMD |
| 11 | ELSE | // CAF number, planned date, actual date set to empty |
| 12 | SET | `cafNo = ""` // Empty CAF number |
| 13 | SET | `kojiYotei = ""` // Empty planned date |
| 14 | SET | `kojiKanryo = ""` // Empty actual date |
| 15 | CALL | `setString(svcFormBean, "CAF番号", cafNo)` // Set CAF number field |
| 16 | CALL | `setString(svcFormBean, "工事予定年月日", kojiYotei)` // Set planned construction date field |
| 17 | CALL | `setString(svcFormBean, "工事完了年月日", kojiKanryo)` // Set actual construction date field |

**Block 19** — [SET] WAO Cancellation Flag (L515)

Sets the WAO integration feasibility flag for cancellation to "1" (No — not feasible for WAO integration during cancellation). [ANK-4640-07-00 ADD]

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcFormBean.sendMessageString(WAO_RNKI_YKS_FLG_DSL, DATABEAN_SET_VALUE, "1")` // WAO integration feasibility for cancellation set to "No" |

**Block 20** — [CALL] NTT Uninstall Check (L520)

Performs NTT uninstall determination check. Determines whether NTT equipment can be removed. [ANK-4640-00-00 ADD]

| # | Type | Code |
|---|------|------|
| 1 | CALL | `checkNtto(outputMap)` // NTT uninstall determination [ANK-4640-00-00] |

**Block 21** — [CALL] Customer Contract Check (L523)

Validates customer contract status.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `checkKoji(paramBean, outputMap)` // Customer contract inheritance list acquisition check |

**Block 22** — [GET] Customer Contract Inheritance List (L526)

Retrieves the customer contract inheritance list and gets the first element (index 0).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `custKeiHktgiList = svcFormBean.getDataBeanArray(HKTGI_CUST_KEI_HKTGI_LIST)` // Get customer contract inheritance list |
| 2 | CALL | `custKeiHktgiInf = custKeiHktgiList.getDataBean(0)` // Get first element of customer contract inheritance list |

**Block 23** — [GET] Divergence Senior Selection Pattern (L529)

Extracts the divergence senior selection pattern parameter from the first customer contract inheritance DataBean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `idoDivSeniPtn = custKeiHktgiInf.sendMessageString(HKTGI_IDO_DIV_SENI_PTN, DATABEAN_GET_VALUE)` // Divergence selection screen transfer parameter |

**Block 24** — [CALL] Customer Contract Data Backup (L532)

Creates a backup HashMap of customer contract inheritance data using the specified keys list.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `bkHktgiDataMap = getHktgiDataMap(svcFormBean, CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS)` // Customer contract inheritance data set |

**Block 25** — [IF] Self-Senior Transfer Pattern Restoration (L535)

When the divergence senior pattern equals `99` (self-senior), restores the self-screen transfer pattern in the backup data. This handles the case where the user navigated back from the parent-senior screen.

| # | Type | Code |
|---|------|------|
| 1 | IF | `idoDivSeniPtn equals IDO_DIV_SENI_PTN_TMP_OYA_SENI ("99")` |
| 2 | SET | `dataList = (List)bkHktgiDataMap.get(CUST_KEI_HKTGI_LIST)` // Get customer contract inheritance list from backup |
| 3 | EXEC | `dataList.get(0).put(HKTGI_IDO_DIV_SENI_PTN, HKTGI_IDO_DIV_SENI_PTN_SELF_SENI)` // Restore to self-screen transfer pattern |

**Block 26** — [CALL] Screen Info Persistence (L540)

Persists screen state information for return navigation. Saves backup data with screen ID KKW00128.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW00128, bkHgtgiDataMap)` // Return information preservation |

**Block 27** — [CALL] DataBean Log Dump (L543)

Outputs the current DataBean state to the log for debugging purposes.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null)` // DataBean log output |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `ido_div` | Field | Divergence division code — classifies the type of divergence action being performed (e.g., 00004 = divergence cancellation recovery, 00005/00009 = service suspension revocation) |
| `re_flg` | Field | Re-display flag — when true, indicates the screen is being redisplayed after a validation error; shared info processing is skipped |
| `dsl_kibo_ymd` | Field | Desired cancellation date — the date the customer wishes to cancel their service contract, extracted from work project agreement results |
| `manssbsys_rnki_yo_kijiran` | Field | Maintenance equipment administration records — remarks field for maintenance equipment management |
| `prc_grp_cd` | Field | Process group code — classifies the type of process (e.g., CD00133_02 = Home customer classification) |
| `nrkemt_svkei_no` | Field | Destination customer service detail number — the previous customer's service detail number used in contract inheritance |
| `caf_no` | Field | CAF number — Contract Assignment Form number used in WAO (Wide Area Operation) integration |
| `takni_koji_fin_rsv_ymd` | Field | Planned construction completion YMD — the scheduled date for construction completion |
| `kojiak_jssi_ymd` | Field | Actual construction completion YMD — the actual date construction was completed |
| `WAO_RNKI_YKS_FLG_DSL` | Field | WAO integration feasibility flag for cancellation — indicates whether WAO integration is possible during service cancellation |
| `CUST_KEI_HKTGI_LIST` | Constant | Customer contract inheritance list — the key name for customer contract inheritance data in the screen |
| CUST_KEI_HKTGI_KEYS | Constant | Customer contract inheritance keys — array of key names used to extract customer contract data from the DataBean |
| IDO_DIV_SENI_PTN_TMP_OYA_SENI | Constant | "99" — temporary divergence senior pattern indicating self-senior transfer |
| IDO_DIV_VALUE_00004 | Constant | Divergence cancellation recovery divergence code — triggers divergence cancellation message display |
| IDO_DIV_VALUE_00005 | Constant | Service suspension revocation divergence code — penalty type pulldown is disabled |
| IDO_DIV_VALUE_00008 | Constant | Special divergence code — management equipment records are not displayed |
| IDO_DIV_VALUE_00009 | Constant | Service suspension revocation divergence code — penalty type pulldown is disabled |
| CD00133_02 | Constant | Home customer classification code — identifies Home service contract type |
| SOD | Acronym | Service Order Data — telecom service order management |
| SC | Acronym | Service Component — the service layer component handling business logic for specific operations |
| CBS | Acronym | Core Business Service — the CBS layer containing business logic and data access |
| WAO | Acronym | Wide Area Operation — NTT's network operation system for service provisioning |
| CAF | Acronym | Contract Assignment Form — form number used in WAO integration for contract assignment tracking |
| NTT | Acronym | Nippon Telegraph and Telephone — Japan's primary telecommunications company; NTT uninstall check determines if NTT equipment can be removed |
| HGW | Acronym | Home Gateway — residential gateway equipment (e.g., modem/router combination) |
| eo Optical Network | Business term | K-Opticom's broadband internet service platform offering fiber-to-the-home (FTTH), mail, and value-added services |
| Pulldown | UI term | Dropdown selection list on the screen; 19 different pulldowns are populated during screen initialization |
| Divergence (異動) | Business term | Service divergence — the act of transferring a customer's service contract to another account or line |
| Recovery (回復) | Business term | Service restoration — recovering a previously suspended or cancelled service within the permitted recovery period |
| Service Contract (サービス契約) | Business term | The contractual agreement for telecom services including broadband, mail, and value-added services |
| Construction/Job (工事) | Business term | Physical installation work including fiber optic cable laying, equipment setup, and testing |
| Customer Contract Inheritance (顧客契約引継) | Business term | The process of transferring an existing customer's service contract to a new account or subscriber |