# Business Logic — JKKSvkeiShosaClCC.runSvkeiShosaCl() [736 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKSvkeiShosaClCC` |
| Layer | CC / Common Component (Cross-cutting business logic controller) |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKSvkeiShosaClCC.runSvkeiShosaCl()

This method performs **Service Contract Cancellation Processing** (サービス契約照査取消処理) for the eo (Hikari) customer core system operated by K-Opticom (a subsidiary of KDDI). It is the central orchestration point for the KOJIAK (照査取消) business flow, invoked as part of the KKSV0408 screen operation process. The method receives a list of target service contracts to cancel, iterates over each one, and for every service contract it executes a multi-stage processing pipeline: (1) initial data lookup (一意照会/一覧照会), (2) service-type-specific cancellation processing, (3) optional multi-function router restore logic for bundled Net/Tel services, (4) engineering work order processing, (5) progress registration, and (6) smart billing anomaly notification. The method implements a dispatch/routing pattern via `svcSbtCd` (service subtype code), branching into five service categories: eo Hikari Net (HNET), eo Hikari TV (HTV), eo Hikari Tel (HTel), eo Mobile (MOBA), and eo ADSL. Its role in the larger system is as the shared business coordinator for contract cancellation across all service types, called by `KKSV0408OPOperation` within the BPM flow.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["runSvkeiShosaCl(params)"])
    INIT["createMapper + create user data map"]
    GET_LIST["Get TRGT_DATA_LIST from userMap"]
    LOOP["For each target data in list"]
    GET_DATA["Get svkeiData from list by index i"]
    EDIT1["editMapShokai - map1 for lookup"]
    RUN1["runShokai - initial lookup"]
    SEARCH_KAISU["searchKaisuwKktkSvcKei - add contract line item data"]
    EDIT2["editMapShokai2 - map2 for lookup using lookup result"]
    RUN2["runShokai - second lookup"]
    GET_PARENT["getWorkParentData - get customer and service data"]
    GET_FIELDS["Extract svcCd, prcGrpCd, idoDiv, svcSbtCd"]
    UPDATE_ICHI["updIchijikin - temp payment change"]
    GET_NOTIFY["getWorkParentData - notification list lookup"]
    UPDATE_MEMBER["updMemberSjisho - member type change"]
    SET_TIMER["initParentLastUpdDtm"]
    SWITCH1["switch svcSbtCd - service type determination"]
    HNET1["HNET=1 eo光ネット - editMapShokaiHNet + runShokai"]
    HTV1["HTV=2 eo光テレビ - editMapShokaiHTv + runShokai"]
    HTTEL1["HTEL=3 eo光電話 - telVlanUmu + editMapShokaiHTel + runShokai"]
    MOBA1["MOBA=4 eoモバイル - editMapShokaiMoba + runShokai"]
    ADSL1["ADSL=5 eoADSL - editMapShokaiAdsl + runShokai"]
    USE_END["useEndAging - engineering end aging"]
    SWITCH2["switch svcSbtCd - cancellation processing"]
    HNET2["HNET: runShosaClHNet + runShosaClHNetKappu"]
    HTV2["HTV: runShosaClHTv"]
    HTTEL2["HTel: runShosaClHTel + runShosaClHTelKappu"]
    MOBA2["MOBA: runShosaClMoba"]
    ADSL2["ADSL: runShosaClAdsl"]
    PUT_RENKEI1["putAxMRenkeiDataKbn - linked data kbn 02"]
    PUT_RENKEI2["putAxMRenkeiDataKbn07 - linked data kbn 07"]
    COMMON_CL["editMapShosaClCmn + runShosaClCmn - common cancellation"]
    IDO_CHECK["idoDiv=00002 AND (HNET or HTel)"]
    HNET_RB["If HNET: cancel router VA + oldKkKhkCall"]
    HTTEL_RB["If HTel: cancel router func + oldKkKhkCall"]
    SEIKYU_OP["runShosaClSeikyuOp - billing option cancellation"]
    CUST_TAIKAI["JCKCustTaikaiCmnCC.execute"]
    TBLT_HNET["svcSbtCd==HNET: updKktkSvcTbltHNET"]
    TBLT_HYBRID["pcrsCd==3G_42M_HYBRID: updateTbltKei"]
    BMP_CANCEL["svcSbtCd==HTel && hasBmpo: bmpCancel"]
    TEL_TBLT["svcSbtCd==HTel: updKktkSvcTel"]
    KOJI_COND["prcGrpCd is Home/Mezon/Htel/TV*/Mans?"]
    TYPE_N["isTypeNHantei - skip if Type N"]
    KOJI_JUDGE["judgeUseKaisn - keep or drop line"]
    KOJI_ONUKO["judgeONUKokanKj - ONU exchange"]
    KOJI_EXEC["executeKojiAnken - engineering work order"]
    PRG_REG["runPrg - progress registration"]
    SMTVL_CHK["checkSmtvlIdoTrks - anomaly detection"]
    SMTVL_ADD["addSmtvlIdoInf if anomaly"]
    PUT_KOJIAK["svkeiData.put KOJIAK_NO"]
    PUT_PEA["if peaSvcKeiNo: put PEA_SVC_KEI_NO"]
    RETURN["setControlMapData RETURN_CODE=0000 - return param"]
    END(["End"])

    START --> INIT --> GET_LIST --> LOOP --> GET_DATA --> EDIT1 --> RUN1 --> SEARCH_KAISU --> EDIT2 --> RUN2 --> GET_PARENT --> GET_FIELDS --> UPDATE_ICHI --> GET_NOTIFY --> UPDATE_MEMBER --> SET_TIMER --> SWITCH1
    SWITCH1 --> HNET1
    SWITCH1 --> HTV1
    SWITCH1 --> HTTEL1
    SWITCH1 --> MOBA1
    SWITCH1 --> ADSL1
    HNET1 --> USE_END
    HTV1 --> USE_END
    HTTEL1 --> USE_END
    MOBA1 --> USE_END
    ADSL1 --> USE_END
    USE_END --> SWITCH2
    SWITCH2 --> HNET2
    SWITCH2 --> HTV2
    SWITCH2 --> HTTEL2
    SWITCH2 --> MOBA2
    SWITCH2 --> ADSL2
    HNET2 --> PUT_RENKEI1
    HTV2 --> PUT_RENKEI1
    HTTEL2 --> PUT_RENKEI1
    MOBA2 --> PUT_RENKEI1
    ADSL2 --> PUT_RENKEI1
    PUT_RENKEI1 --> PUT_RENKEI2 --> COMMON_CL --> IDO_CHECK
    IDO_CHECK --> HNET_RB
    IDO_CHECK --> HTTEL_RB
    HNET_RB --> SEIKYU_OP
    HTTEL_RB --> SEIKYU_OP
    SEIKYU_OP --> CUST_TAIKAI --> TBLT_HNET --> TBLT_HYBRID --> BMP_CANCEL --> TEL_TBLT --> KOJI_COND
    KOJI_COND --> TYPE_N --> KOJI_JUDGE --> KOJI_ONUKO --> KOJI_EXEC --> PUT_KOJIAK
    KOJI_COND --> KOJI_EXEC --> PUT_KOJIAK
    PUT_KOJIAK --> PUT_PEA --> RETURN --> END
```

**Constant Resolution:**
- `SVC_SBT_CD_HNET = 1` - eo Hikari Net service (Fiber internet)
- `SVC_SBT_CD_HTV = 2` - eo Hikari TV service (Fiber TV)
- `SVC_SBT_CD_HTEL = 3` - eo Hikari Tel service (Fiber phone)
- `SVC_SBT_CD_MOBA = 4` - eo Mobile service (Cellular)
- `SVC_SBT_CD_ADSL = 5` - eo ADSL service (legacy DSL, default case)
- `JKKStrConst.CD00576_00002` - idoDiv value "00002" meaning service cancellation with bundled line (異動区分: 回線契約の取消)
- `PRC_GRP_CD_HOME/MEZON/HTV/TV_KCAT/TV_KCN/TV_SSS/MANS` - billing group codes triggering engineering work order processing
- `JKKSvcConst.PCRS_CD_3G_42M_HYBRID` - 3G/42M Hybrid plan code for delivery cancellation

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Session handle carrying session manager and connection context. Used for all DB and service component invocations throughout the method. |
| 2 | `param` | `IRequestParameterReadWrite` | Model group and control map containing parameter objects. Holds the target data list (TRGT_DATA_LIST), control map data (operator ID, return code), and intermediate result maps passed through the entire processing chain. |
| 3 | `fixedText` | `String` | User-defined arbitrary string passed to sub-methods as a context key or user data index. Used by createMapper, editMapShokai, editMapShokai2, and all downstream processing methods for data isolation. |

**Instance fields / external state read by the method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `currentSysid` | `String` | System ID extracted from customer inquiry data (ECK0011A010), used as a key for linked data and customer withdrawal common processing. |
| `shokaiMapper` | Mapper | Inquiry (照会) data mapping object used to construct input messages for service lookups. |
| `shosaClMapper` | Mapper | Cancellation (取消照査) data mapping object used to construct input messages for cancellation processing. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JKKBpCommon.searchKaisuwKktkSvcKei` | EKK0341B504SC | KK_T_SVKEI (Service Contract) | Searches for contract line items by service contract number - adds contract detail lookup data for O.N.U. received completion handling (契約新規ONU受付済対応). |
| R | `getWorkParentData(ECK0011A010)` | ECK0011A010SC | KK_T_CUST (Customer) | Retrieves customer inquiry data (お客様照会) - customer master data for the service contract. |
| R | `getWorkParentData(EKK0081A010)` | EKK0081A010SC | KK_T_SVKEI (Service Contract) | Retrieves service contract inquiry data (サービス契約照会) - contract details including service code, process group code, and movement division. |
| R | `getWorkParentData(EKK0561B002)` | EKK0561B002SC | KK_T_TCHISHO (Notification) | Retrieves notification list inquiry (通知書照会) for ID notification document output after cancellation. |
| R | `getWorkParentData(EKK0021A010)` | EKK0021A010SC | KK_T_MSKM (Application) | Retrieves application details (申請明細) - the application/contract detail number for old device processing. |
| R | `getWorkParentData(EKK2811B011)` | EKK2811B011SC | KK_T_KKTK_SVKEI (Line Contract) | Retrieves line-associated device contract list inquiry (回線紐付き機器契約一覧照会). |
| R | `getWorkParentData(EKK2811A010)` | EKK2811A010SC | KK_T_KKOP_SVKEI (Device Service) | Retrieves device service contract inquiry (機器サービス契約照会) - multi-function router device service data. |
| R | `getWorkParentData(EKK0241B002)` | EKK0241B002SC | KK_T_SVKEI (Service Contract) | Retrieves same-line target service contract inquiry (同一回線対象サービス契約照会) - finds co-located services on the same line. |
| C | `JKKBpCommon.addSmtvlIdoInf` | JKKSmtvlIdoInfAddCBS | KK_T_SMTVL_IDO_INF | Registers smart billing anomaly notification data (スマートビル異動情報登録) when anomaly is detected. |
| C | `JKKBpCommon.addBmpTaiorrki` | JKKAddBmpTaiorrkiCBS | KK_T_BMP_TAIORRIKI | Registers BMP correspondence record (番ボ対応履歴) - phone number cancellation notification history. |
| C | `JKKKojiAnkenCC.executeKojiAnken` | KojiAnkenCBS | KK_T_KOJIAKEN | Registers engineering work order (工事案件) - work order creation for installation/removal. |
| U | `JCKCustTaikaiCmnCC.execute` | JPCFunc001CBS | KK_T_CUST (Customer) | Customer withdrawal common processing - updates customer withdrawal status for ANK-0024. |
| U | `runPgr` | EKK1091D010CBS | KK_T_PRG (Progress) | Progress registration (_PROGRESS登録) - updates service contract processing status. |
| C | `runShosaClHNet` | EKK2811C050CBS | KK_T_SVKEI_ISP | eo Hikari Net cancellation processing. |
| C | `runShosaClHNetKappu` | EKK2811C060CBS | KK_T_KKOP_SVKEI | eo Hikari Net cancellation closing processing. |
| C | `runShosaClHTv` | EKK2811C050CBS | KK_T_SVKEI_TV | eo Hikari TV cancellation processing. |
| C | `runShosaClHTel` | EKK2811C050CBS | KK_T_SVKEI_TEL | eo Hikari Tel cancellation processing. |
| C | `runShosaClHTelKappu` | EKK2811C060CBS | KK_T_KKOP_SVKEI | eo Hikari Tel cancellation closing processing. |
| C | `runShosaClMoba` | EKK2811C050CBS | KK_T_SVKEI_MOBILE | eo Mobile cancellation processing. |
| C | `runShosaClAdsl` | EKK2811C050CBS | KK_T_SVKEI_ADSL | eo ADSL cancellation processing. |
| C | `runShosaClCmn` | EKK2811C050CBS | KK_T_SVKEI | Common cancellation processing applied to all service types. |
| U | `updKktkSvcTbltHNET` | EKK0341C230CBS | KK_T_KKTS_SVKEI | Updates device service contract table for Hikari Net - delivery cancellation. |
| U | `updateTbltKei` | EKK0341C230CBS | KK_T_KKTS_SVKEI | Updates device service contract table for 3G/42M Hybrid - work company delivery setup or cancellation. |
| U | `updKktkSvcTel` | EKK0341C230CBS | KK_T_KKTS_SVKEI | Updates service start delivery cancellation for Hikari Tel. |
| U | `bmpCancel` | ETU0011C021CBS | KK_T_BMP_KOJI | BMP work cancellation (番ボ工事取消) - cancels pending BMP installation work. |
| U | `updIchijikin` | - | - | Temporary payment setting change (一時金設定変更). |
| U | `updMemberSjisho` | - | - | Member type change and instruction registration processing. |
| U | `useEndAging` | - | - | Engineering usage end aging (エンド使用終了). |
| U | `runShosaClSeikyuOp` | - | - | Billing option cancellation (請求オプション取消) for ONU received completion. |
| R | `oldKkKhkCall` | JKKOldKkCnlDelKhkCBS | KK_T_KKTK_SVKEI | Old device cancel recovery - cancels old device contracts (旧機器キャンセル解約). |
| R | `shokaiMapper.editInMsgEKK0081B011` | EKK0081B011SC | KK_T_SVKEI | Line usage same location inquiry (同一利用場所回線照会). |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0408 | `KKSV0408OPOperation.run` -> `CCRequestBroker` (target3) -> `JKKSvkeiShosaClCC.runSvkeiShosaCl` | `runShosaClHNet[C] KK_T_SVKEI_ISP`, `runShosaClCmn[C] KK_T_SVKEI`, `addSmtvlIdoInf[C] KK_T_SMTVL_IDO_INF`, `executeKojiAnken[C] KK_T_KOJIAKEN`, `bmpCancel[U] KK_T_BMP_KOJI`, `runPrg[U] KK_T_PRG` |

**Caller context:** The method is invoked by `KKSV0408OPOperation` (KKSV0408 Screen Operation Process), which is the BPM operation processor for the KOJIAK (照査取消) screen. The call is made through `CCRequestBroker` (target3) within the BPM flow, with connection database "3". The operation process configures the parameter data via `setJKKSvkeiShosaClCCParam` before invocation. The KKSV0408 screen handles Service Contract Cancellation/Inquiry for eo Hikari customers.

## 6. Per-Branch Detail Blocks

**Block 1** - [SET] Initialization (L773)

Sets up the service component request invoker and creates the mapper.

| # | Type | Code |
|---|------|------|
| 1 | SET | `scCall = new ServiceComponentRequestInvoker()` |
| 2 | SET | `userMap = null` |
| 3 | EXEC | `createMapper()` - Creates the mapper for inquiry/cancellation mapping |
| 4 | SET | `userMap = (HashMap) param.getData(fixedText)` - Retrieves user data map from param |
| 5 | SET | `trgtDataList = (List) userMap.get(TRGT_DATA_LIST)` - Gets the target data list; TRGT_DATA_LIST = "trgt_data_list" |

**Block 2** - [FOR] Main processing loop over target data list (L779)

Iterates over each service contract target in the list for cancellation processing.

| # | Type | Code |
|---|------|------|
| 1 | SET | `i` loops from `0` to `trgtDataList.size()` |
| 2 | SET | `wkRsltShokaiMap = null` - Result map for 1st lookup |
| 3 | SET | `rsltShokai = null` - Final lookup result |
| 4 | SET | `svkeiData = (HashMap) trgtDataList.get(i)` - Gets the service contract data for current index |

**Block 2.1** - [EXEC] Initial data lookup - map1 (L797)

Prepares the first inquiry mapping (一意照会・一覧照会のマッピング1回目) - initial lookup setup.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `wkRsltShokaiMap = editMapShokai(param, fixedText, i)` - Build first inquiry input map |
| 2 | EXEC | `rsltShokai = runShokai(handle, wkRsltShokaiMap, SVIF_MAP_KEY_SHOKAI_LIST)` - Execute initial lookup |

**Block 2.2** - [EXEC] Contract line item search for ONU received completion (L800)

Additional search for contract line items - supports O.N.U. received completion handling (契約新規ONU受付済対応).

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = (String) svkeiData.get(SVC_KEI_NO)` - Service contract number; SVC_KEI_NO = "svc_kei_no" |
| 2 | SET | `eKK0341B504Hash = new HashMap()` |
| 3 | CALL | `JKKBpCommon.searchKaisuwKktkSvcKei(param, handle, svcKeiNo, eKK0341B504Hash, fixedText)` - Search contract line items |
| 4 | IF | `eKK0341B504Hash != null` |
| 4.1 | SET | `eKK0341B504CBSMSG1list = (CAANMsg[]) eKK0341B504Hash.get(EKK0341B504CBSMsg.EKK0341B504CBSMSG1LIST)` |
| 4.2 | SET | `rsltShokai.put(MAP_KEY_KAISEN_KKTK, eKK0341B504CBSMSG1list)` - Add contract line data to result |

**Block 2.3** - [EXEC] Second inquiry mapping (L809)

Builds the second inquiry mapping (一意照会・一覧照会のマッピング2回目) based on the first lookup results.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `wkRsltShokaiMap = editMapShokai2(param, fixedText, i, rsltShokai)` - Build second inquiry map |
| 2 | EXEC | `wkRsltShokai = runShokai(handle, wkRsltShokaiMap, SVIF_MAP_KEY_SHOKAI2_LIST)` - Execute second lookup |
| 3 | EXEC | `rsltShokai.putAll(wkRsltShokai)` - Merge results |

**Block 2.4** - [EXEC] Extract parent data - customer and service contract (L815)

Retrieves customer inquiry (お客様照会) and service contract inquiry (サービス契約照会) data.

| # | Type | Code |
|---|------|------|
| 1 | SET | `workECK0011A010 = getWorkParentData(ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST, rsltShokai, MAP_KEY_ECK0011A010)` - Customer inquiry |
| 2 | SET | `currentSysid = workECK0011A010[0].getString(SYSID)` - System ID from customer data |
| 3 | SET | `workEKK0081A010 = getWorkParentData(EKK0081A010CBSMsg.EKK0081A010CBSMSG1LIST, rsltShokai, MAP_KEY_EKK0081A010)` - Service contract inquiry |
| 4 | SET | `svcCd = workEKK0081A010[0].getString(SVC_CD)` - Service code |
| 5 | SET | `prcGrpCd = workEKK0081A010[0].getString(PRC_GRP_CD)` - Process group code |
| 6 | SET | `idoDiv = workEKK0081A010[0].getString(IDO_DIV)` - Movement/division |
| 7 | SET | `svcSbtCd = getSvcSbtCd(svcCd, prcGrpCd)` - Service subtype code (1=HNET, 2=HTV, 3=HTel, 4=MOBA, 5=ADSL) |
| 8 | SET | `svkeiData.put(PRC_GRP_CD, prcGrpCd)` - Store process group code |
| 9 | SET | `svkeiData.put(IDO_DIV, idoDiv)` - Store movement division |

**Block 2.5** - [EXEC] Temporary payment change and notification list lookup (L824)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `updIchijikin(handle, param, fixedText, i, rsltShokai)` - Temporary payment setting change |
| 2 | SET | `workEKK0561B002 = getWorkParentData(EKK0561B002CBSMsg.EKK0561B002CBSMSG1LIST, rsltShokai, MAP_KEY_EKK0561B002)` - Notification list |
| 3 | SET | `svkeiData.put(EKK0561B002CBSMsg.EKK0561B002CBSMSG1LIST, workEKK0561B002)` - Store notification list |

**Block 2.6** - [EXEC] Member change and instruction registration (L833)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `updMemberSjisho(handle, param, fixedText, i, rsltShokai)` - Member type change |
| 2 | EXEC | `kkExclusiveMapper.initParentLastUpdDtm("KK0081", workEKK0081A010[0].getString(LAST_UPD_DTM))` - Set last update timestamp |

**Block 3** - [SWITCH] Service type determination - inquiry phase (L838)

Branches by service subtype code to execute service-type-specific inquiry processing.

| # | Type | Code |
|---|------|------|
| 1 | SWITCH | `svcSbtCd` |
| 1.1 | CASE | `SVC_SBT_CD_HNET = 1` - eo光ネット (Hikari Net) |
| 1.1.1 | EXEC | `editMapShokaiHNet(param, fixedText, i, rsltShokai)` |
| 1.1.2 | EXEC | `runShokai(handle, wkRsltShokaiMap, SVIF_MAP_KEY_SHOKAI_HNET_LIST)` |
| 1.1.3 | EXEC | `rsltShokai.putAll(wkRsltShokai)` |
| 1.2 | CASE | `SVC_SBT_CD_HTV = 2` - eo光テレビ (Hikari TV) |
| 1.2.1 | EXEC | `editMapShokaiHTv(param, fixedText, i, rsltShokai)` |
| 1.2.2 | EXEC | `runShokai(handle, wkRsltShokaiMap, SVIF_MAP_KEY_SHOKAI_HTV_LIST)` |
| 1.2.3 | EXEC | `rsltShokai.putAll(wkRsltShokai)` |
| 1.3 | CASE | `SVC_SBT_CD_HTEL = 3` - eo光電話 (Hikari Tel) |
| 1.3.1 | EXEC | `editMapShokaiHTel(param, fixedText, i, rsltShokai)` |
| 1.3.2 | EXEC | `runShokai(handle, wkRsltShokaiMap, SVIF_MAP_KEY_SHOKAI_HTEL_LIST)` |
| 1.3.3 | EXEC | `rsltShokai.putAll(wkRsltShokai)` |
| 1.4 | CASE | `SVC_SBT_CD_MOBA = 4` - eoモバイル (eo Mobile) |
| 1.4.1 | EXEC | `editMapShokaiMoba(param, fixedText, i, rsltShokai)` |
| 1.4.2 | EXEC | `runShokai(handle, wkRsltShokaiMap, SVIF_MAP_KEY_SHOKAI_MOBA_LIST)` |
| 1.4.3 | EXEC | `rsltShokai.putAll(wkRsltShokai)` |
| 1.5 | DEFAULT | `SVC_SBT_CD_ADSL = 5` - eoADSL |
| 1.5.1 | EXEC | `editMapShokaiAdsl(param, fixedText, i, rsltShokai)` |
| 1.5.2 | EXEC | `runShokai(handle, wkRsltShokaiMap, SVIF_MAP_KEY_SHOKAI_ADSL_LIST)` |
| 1.5.3 | EXEC | `rsltShokai.putAll(wkRsltShokai)` |

**Block 4** - [EXEC] Engineering end aging (L864)

Handles engineering usage end aging processing for the service type.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `useEndAging(handle, param, fixedText, i, rsltShokai, svcSbtCd)` |

**Block 5** - [SWITCH] Service type determination - cancellation processing phase (L872)

Branches by service subtype code to execute service-type-specific cancellation processing.

| # | Type | Code |
|---|------|------|
| 1 | SWITCH | `svcSbtCd` |
| 1.1 | CASE | `SVC_SBT_CD_HNET = 1` - eo光ネット |
| 1.1.1 | EXEC | `editMapShosaClHNet(param, fixedText, i, rsltShokai, svcCd)` |
| 1.1.2 | EXEC | `runShosaClHNet(handle, param, fixedText, i, wkMap, rsltShokai)` |
| 1.1.3 | EXEC | `editMapShosaClHNetKappu(handle, param, i, rsltShokai, svcCd)` - Cancellation closing (カッパ) |
| 1.1.4 | EXEC | `runShosaClHNetKappu(handle, param, fixedText, i, wkMap)` |
| 1.2 | CASE | `SVC_SBT_CD_HTV = 2` - eo光テレビ |
| 1.2.1 | EXEC | `editMapShosaClHTv(param, fixedText, i, rsltShokai)` |
| 1.2.2 | EXEC | `runShosaClHTv(handle, param, fixedText, i, wkMap)` |
| 1.3 | CASE | `SVC_SBT_CD_HTEL = 3` - eo光電話 |
| 1.3.1 | SET | `telVlanTgSvcKeiNo = telVlanUmu(param, fixedText, rsltShokai, handle)` - VLAN target service number |
| 1.3.2 | EXEC | `editMapShosaClHTel(param, fixedText, i, rsltShokai, handle, telVlanTgSvcKeiNo, svcCd)` |
| 1.3.3 | EXEC | `runShosaClHTel(handle, param, fixedText, i, wkMap)` |
| 1.3.4 | EXEC | `editMapShosaCLHTelKappu(handle, param, i, rsltShokai, svcCd)` - Tel cancellation closing |
| 1.3.5 | EXEC | `runShosaClHTelKappu(handle, param, fixedText, i, wkMap)` |
| 1.4 | CASE | `SVC_SBT_CD_MOBA = 4` - eoモバイル |
| 1.4.1 | EXEC | `editMapShosaClMoba(handle, param, fixedText, i, rsltShokai)` |
| 1.4.2 | EXEC | `runShosaClMoba(handle, param, fixedText, i, wkMap)` |
| 1.5 | DEFAULT | `SVC_SBT_CD_ADSL = 5` - eoADSL |
| 1.5.1 | EXEC | `editMapShosaClAdsl(param, fixedText, i, rsltShokai, prcGrpCd)` |
| 1.5.2 | EXEC | `runShosaClAdsl(handle, param, fixedText, i, wkMap)` |

**Block 6** - [EXEC] Linked data setup (L922)

Sets linked data (連携データ) for the line number SYSID and service contract info.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svc_kei_no = workEKK0081A010[0].getString(SVC_KEI_NO)` |
| 2 | CALL | `JKKBpCommon.putAxMRenkeiDataKbn(param, SJISHO_MAP, RENKEI_DATA_KBN_SYSID, TRN_KBN_UPD, new String[]{svc_kei_no}, currentSysid)` - Linked data kbn 02 - line number SYSID |
| 3 | CALL | `JKKBpCommon.putAxMRenkeiDataKbn07(param, SJISHO_MAP, TRN_KBN_UPD, new String[]{svc_kei_no}, "料金グループ番号？")` - Linked data kbn 07 - service contract info |

**Block 7** - [EXEC] Common cancellation processing (L945)

Executes common cancellation processing applicable to all service types.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `wkMap = editMapShosaClCmn(param, fixedText, i, rsltShokai, svcSbtCd, idoDiv)` |
| 2 | EXEC | `runShosaClCmn(handle, param, fixedText, i, wkMap)` |

**Block 8** - [IF] Multi-function router restore for Net/Tel cancellation (L954)

When cancellation is for a bundled line with Net or Tel, restores the old VA (Virtual Access) or Router function from the other service. This handles multi-function routers where cancellation of one service requires restoring a shared function.
Condition: `idoDiv = "00002" && (svcSbtCd == HNET || svcSbtCd == HTel)`

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKStrConst.CD00576_00002.equals(idoDiv) && (svcSbtCd == SVC_SBT_CD_HNET || svcSbtCd == SVC_SBT_CD_HTEL)` |
| 1.1 | SET | `msgWorkArray = getWorkParentData(EKK0021A010CBSMsg.EKK0021A010CBSMSG1LIST, rsltShokai, MAP_KEY_EKK0021A010)` - Application details |
| 1.2 | SET | `mskmshoDtlNo = msgEKK0021A010.getString(MSKM_DTL_NO)` - Application detail number |
| 1.3 | SET | `workEKK2811B011 = getWorkParentData(EKK2811B011CBSMsg.EKK2811B011CBSMSG1LIST, rsltShokai, MAP_KEY_EKK2811B011)` - Line device contract list |
| 1.4 | SET | `workEKK2811A010Array = (ArrayList) rsltShokai.get(MAP_KEY_EKK2811A010)` - Device service contract data |
| 1.5 | SET | `kkop_tg_kktk_svc_kei_no = ""` |
| 1.6 | FOR | Iterate `workEKK2811A010Array` to find device service code |
| 1.6.1 | IF | `svcSbtCd == HNET && "G01".equals(kkop_svc_cd)` - Net service with Router function (G01) |
| 1.6.1.1 | SET | `kkop_tg_kktk_svc_kei_no = childTemplate.getString(KKTK_SVC_KEI_NO)` |
| 1.6.2 | IF | `svcSbtCd == HTel && "G02".equals(kkop_svc_cd)` - Tel service with VA function (G02) |
| 1.6.2.1 | SET | `kkop_tg_kktk_svc_kei_no = childTemplate.getString(KKTK_SVC_KEI_NO)` |

**Block 8.1** - [IF] Line inquiry when device contract exists (L1071)

If a device service contract number was found, look up the same-line inquiry data.

| # | Type | Code |
|---|------|------|
| 1 | IF | `kkop_tg_kktk_svc_kei_no != null && !"".equals(kkop_tg_kktk_svc_kei_no)` |
| 1.1 | IF | `workEKK2811B011 != null && length > 0` - Line contract list exists |
| 1.1.1 | FOR | Iterate line contracts to find matching kkop_tg_kktk_svc_kei_no |
| 1.1.1.1 | IF | `kkop_tg_kktk_svc_kei_no.equals(kktk_svc_kei_no)` |
| 1.1.1.1.1 | SET | `svckaisenUcwkNo = getworkEKK2811B011.getString(SVC_KEI_KAISEN_UCWK_NO)` |
| 1.2 | SET | `eqKaienTgSvcKeiNo = ""` - Same-line target service contract number |

**Block 8.2** - [IF] Query same-line service and get co-located service number (L1087)

Queries the same-line target service contract to find the co-located service (e.g., Tel when Net is being cancelled, or Net when Tel is being cancelled).

| # | Type | Code |
|---|------|------|
| 1 | IF | `svckaisenUcwkNo != null && !"".equals(svckaisenUcwkNo)` |
| 1.1 | EXEC | `editInMsgEKK0241B002(param, i, svckaisenUcwkNo)` - Build inquiry input |
| 1.2 | EXEC | `scCall.run(inMsgEKK0241B002Map, handle)` - Execute same-line inquiry |
| 1.3 | SET | `outMsgEKK0241B002List = getWorkData(...)` |
| 1.4 | IF | `outMsgEKK0241B002List != null && length > 0` |
| 1.4.1 | FOR | Iterate results to find co-located service |
| 1.4.1.1 | IF | `svcSbtCd == HNET && SVC_CD_TEL.equals(svc_cd)` - Net being cancelled, get Tel contract |
| 1.4.1.1.1 | SET | `eqKaienTgSvcKeiNo = getEKK0241B002List.getString(SVC_KEI_NO)` |
| 1.4.1.2 | IF | `svcSbtCd == HTel && SVC_CD_NET.equals(svc_cd)` - Tel being cancelled, get Net contract |
| 1.4.1.2.1 | SET | `eqKaienTgSvcKeiNo = getEKK0241B002List.getString(SVC_KEI_NO)` |

**Block 8.3** - [IF] Co-located service exists - restore function (L1116)

If a co-located service was found, process the multi-function router to restore the cancelled service function.

| # | Type | Code |
|---|------|------|
| 1 | IF | `eqKaienTgSvcKeiNo != null && !"".equals(eqKaienTgSvcKeiNo)` |
| 1.1 | IF | `svcSbtCd == SVC_SBT_CD_HNET` - Net cancellation, cancel Tel router VA function |
| 1.1.1 | FOR | Iterate `workEKK2811A010Array` for multi-function router processing |
| 1.1.1.1 | SET | `kkop_svc_cd = childTemplate.getString(KKOP_SVC_CD)` |
| 1.1.1.2 | SET | `kkop_svc_kei_stat = childTemplate.getString(KKOP_SVC_KEI_STAT)` |
| 1.1.1.3 | SET | `rentai_flg = childTemplate.getString(KIKI_RNTAI_KEI_CHGECHU_FLG)` |
| 1.1.1.4 | IF | `"G02".equals(kkop_svc_cd) && "020".equals(kkop_svc_kei_stat) && "1".equals(rentai_flg)` - Cancel VA function only when status=020 (cancelled) and bundled flag=1 |
| 1.1.1.4.1 | EXEC | `editInMsgEKK2811C060(param, fixedText, i, childTemplate)` - Build VA cancellation input |
| 1.1.1.4.2 | EXEC | `rsltShosaMap.put(MAP_KEY_EKK2811C060, ...)` - Device service contract cancellation |
| 1.1.1.4.3 | EXEC | `runShosa(handle, param, fixedText, i, rsltShosaMap, MAP_KEY_EKK2811C060)` - Execute device service cancellation |
| 1.1.2 | SET | `workFixedText = "oldKkCnlDelKhkCC"` - Old device cancel recovery |
| 1.1.3 | SET | `trgt_data.put("svc_kei_no", eqKaienTgSvcKeiNo)` - Set Tel contract number |
| 1.1.4 | SET | `trgt_data.put("candsl_mskm_dtl_no", mskmshoDtlNo)` - Application detail |
| 1.1.5 | SET | `trgt_data.put("mskm_sho_dtl_no", mskmshoDtlNo)` - Current application detail |
| 1.1.6 | SET | `trgt_data.put("ido_div", idoDiv)` - Movement division |
| 1.1.7 | EXEC | `createUserData(param, workFixedText)` - Create user data for old device processing |
| 1.1.8 | EXEC | `JKKBpCommon.oldKkKhkCall(handle, param, trgt_data, workFixedText)` - Recover old device |
| 1.2 | IF | `svcSbtCd == SVC_SBT_CD_HTEL` - Tel cancellation, cancel Net router function |
| 1.2.1 | FOR | Iterate `workEKK2811A010Array` for router processing |
| 1.2.1.1 | SET | `kkop_svc_cd = childTemplate.getString(KKOP_SVC_CD)` |
| 1.2.1.2 | SET | `kkop_svc_kei_stat = childTemplate.getString(KKOP_SVC_KEI_STAT)` |
| 1.2.1.3 | SET | `rentai_flg = childTemplate.getString(KIKI_RNTAI_KEI_CHGECHU_FLG)` |
| 1.2.1.4 | IF | `"G01".equals(kkop_svc_cd) && "020".equals(kkop_svc_kei_stat) && "1".equals(rentai_flg)` - Cancel router function only when status=020 and bundled flag=1 |
| 1.2.1.4.1 | EXEC | `editInMsgEKK2811C060(param, fixedText, i, childTemplate)` - Build router cancellation input |
| 1.2.1.4.2 | EXEC | `rsltShosaMap.put(MAP_KEY_EKK2811C060, ...)` |
| 1.2.1.4.3 | EXEC | `runShosa(handle, param, fixedText, i, rsltShosaMap, MAP_KEY_EKK2811C060)` |
| 1.2.2 | SET | `workFixedText = "oldKkCnlDelKhkCC"` |
| 1.2.3 | SET | `trgt_data.put("svc_kei_no", eqKaienTgSvcKeiNo)` - Set Net contract number |
| 1.2.4 | SET | `trgt_data.put("candsl_mskm_dtl_no", mskmshoDtlNo)` |
| 1.2.5 | SET | `trgt_data.put("mskm_sho_dtl_no", mskmshoDtlNo)` |
| 1.2.6 | SET | `trgt_data.put("ido_div", idoDiv)` |
| 1.2.7 | EXEC | `createUserData(param, workFixedText)` |
| 1.2.8 | EXEC | `JKKBpCommon.oldKkKhkCall(handle, param, trgt_data, workFixedText)` |
| 1.2.9 | IF | `oldKkCnlDelKhkOutMapTrgtDataList.size() > 1` - Old device recovery succeeded |
| 1.2.9.1 | SET | `oldKkCnlDelKhkOutMapTrgtData = oldKkCnlDelKhkOutMapTrgtDataList.get(1)` |
| 1.2.9.2 | SET | `outKktkSvcKeiNo = (String) oldKkCnlDelKhkOutMapTrgtData.get(KEY_KKTK_SVC_KEI_NO)` |
| 1.2.9.3 | IF | `!JKKBpCommon.isNull(outKktkSvcKeiNo)` |
| 1.2.9.3.1 | SET | `peaSvcKeiNo = eqKaienTgSvcKeiNo` - Set peer service contract number for return cancellation |

**Block 9** - [EXEC] Billing option cancellation (L1301)

Handles billing option cancellation for ONU received completion (契約新規ONU受付済対応).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `runShosaClSeikyuOp(handle, param, i, rsltShokai, svcSbtCd, idoDiv)` |

**Block 10** - [EXEC] Customer withdrawal common processing (L1308)

Invokes customer withdrawal common processing (顧客退会共通) - updates customer withdrawal status.

| # | Type | Code |
|---|------|------|
| 1 | SET | `custTaikaiCmnCC = new JCKCustTaikaiCmnCC()` |
| 2 | SET | `custTaikaiCmnMap.put("sysid", currentSysid)` |
| 3 | SET | `custTaikaiCmnMap.put("func_code", FUNC_CD_1 = "1")` |
| 4 | EXEC | `param.setData("cust_taikai_cmn_map", custTaikaiCmnMap)` |
| 5 | CALL | `custTaikaiCmnCC.execute(handle, param, "cust_taikai_cmn_map")` |

**Block 11** - [IF] Delivery cancellation - Hikari Net (L1322)

Handles delivery cancellation (配送取消) update for Hikari Net service.

| # | Type | Code |
|---|------|------|
| 1 | SET | `pcrsCd = workEKK0081A010[0].getString(PCRS_CD)` |
| 2 | IF | `svcSbtCd == SVC_SBT_CD_HNET` |
| 2.1 | CALL | `updKktkSvcTbltHNET(handle, param, rsltShokai, pcrsCd, svcSbtCd, svcKeiNo, wkMap, fixedText, i)` |
| 3 | ELSE IF | `JKKSvcConst.PCRS_CD_3G_42M_HYBRID.equals(pcrsCd)` - 3G/42M Hybrid plan |
| 3.1 | CALL | `updateTbltKei(handle, param, rsltShokai, idoDiv, svcKeiNo, pcrsCd, fixedText, i)` - Work company delivery setup or cancellation |

**Block 12** - [IF] BMP cancellation - Phone number (L1340)

When service is HTel and the customer has a BMP (Phone number), cancels the BMP work.

| # | Type | Code |
|---|------|------|
| 1 | IF | `svcSbtCd == SVC_SBT_CD_HTEL && hasBmpo(rsltShokai)` |
| 1.1 | SET | `orgCd = (String) svkeiData.get(ORG_CD)` |
| 1.2 | SET | `orgNm = (String) svkeiData.get(ORG_NM)` |
| 1.3 | CALL | `bmpCancel(handle, param, fixedText, i, wkMap, svc_kei_no, custNm, rsltShokai, orgCd, orgNm)` - Phone number deletion, BMP work cancellation, BMP cancel notification |

**Block 13** - [IF] Service start delivery cancellation for Tel (L1358)

Handles service start delivery cancellation (サービス開始配送対象取消) for Tel service.

| # | Type | Code |
|---|------|------|
| 1 | IF | `svcSbtCd == SVC_SBT_CD_HTEL` |
| 1.1 | CALL | `updKktkSvcTel(handle, param, rsltShokai, svcKeiNo, wkMap, fixedText, i)` |

**Block 14** - [IF] Engineering work order processing (L1370)

Processes engineering work order (工事案件) when the billing group matches specific categories (Home, Mezon, Tel, TV, Mansion).

| # | Type | Code |
|---|------|------|
| 1 | IF | `prcGrpCd.equals(PRC_GRP_CD_HOME) || PRC_GRP_CD_MEZON || PRC_GRP_CD_HTEL || PRC_GRP_CD_TV_KCAT || PRC_GRP_CD_TV_KCN || PRC_GRP_CD_TV_SSS || PRC_GRP_CD_MANS` |
| 1.1 | EXEC | `wkCaanMsgList = shokaiMapper.editInMsgEKU0011B010(param, fixedText, i)` - Engineering work order list inquiry |
| 1.2 | EXEC | `runShokai(handle, wkRsltShokaiMap, new String[]{MAP_KEY_EKU0011B010})` |
| 1.3 | SET | `workEKU0011B010 = getWorkParentData(EKU0011B010CBSMsg.EKU0011B010CBSMSG1LIST, wkRsltShokai, MAP_KEY_EKU0011B010)` |
| 1.4 | SET | `kojiCC = new JKKKojiAnkenCC()` |
| 1.5 | SET | `workEKK0021A010 = getWorkParentData(EKK0021A010CBSMsg.EKK0021A010CBSMSG1LIST, rsltShokai, MAP_KEY_EKK0021A010)` |
| 1.6 | SET | `typeNFlg = JKKBpCommon.isTypeNHantei(param, handle, prcGrpCd, pcrsCd)` - Type N judgment |
| 1.7 | IF | `!typeNFlg` - Not Type N (Type N: billing code with NTT exemption) |
| 1.7.1 | IF | `judgeUseKaisn(handle, param, fixedText, i, svc_kei_no, svcCd)` - Judgment: keep or drop line (同一利用場所に回線を残すか) |
| 1.7.1.1 | EXEC | `shosaClMapper.editMapKojiAnkenTrks(param, fixedText, i, workEKK0021A010[0], workEKU0011B010[0], idoDiv)` - Map for line drop |
| 1.7.2 | ELSE IF | `judgeONUKokanKj(handle, param, fixedText, workEKK0081A010[0], workEKU0011B010[0])` - ONU exchange judgment |
| 1.7.2.1 | EXEC | `shosaClMapper.editMapKojiAnkenTrks(param, fixedText, i, workEKK0021A010[0], workEKU0011B010[0], idoDiv)` |
| 1.7.2.2 | CALL | `cancelChangedOnu(handle, param, fixedText, svc_kei_no, mskmDtlNo, i)` - ONU exchange cancellation |
| 1.7.2.3 | IF | `!kokanClKikiInfoMap.isEmpty()` |
| 1.7.2.3.1 | SET | `svkeiData.put("kiki_kokan_cl", kokanClKikiInfoMap)` - Device exchange cancellation info |
| 1.7.3 | ELSE - Keep the line |
| 1.7.3.1 | EXEC | `shosaClMapper.editMapKojiAnkenDsl(param, fixedText, i, workEKK0021A010[0], workEKU0011B010[0], idoDiv)` - Map for line keep |
| 1.8 | CALL | `kojiCC.executeKojiAnken(handle, param, fixedText)` - Execute engineering work order |
| 1.9 | SET | `kojiak_no = (String) userMap.get(KOJIAK_NO)` - Get work order number; KOJIAK_NO = "kojiak_no" |

**Block 15** - [EXEC] Progress registration (L1413)

Registers the progress status for the service contract cancellation.

| # | Type | Code |
|---|------|------|
| 1 | SET | `workEKK1091B001 = getWorkParentData(EKK1091B001CBSMsg.EKK1091B001CBSMSG1LIST, rsltShokai, MAP_KEY_EKK1091B001)` |
| 2 | EXEC | `editInMsgEKK1091D010(param, fixedText, i, idoDiv)` - Build progress registration input |
| 3 | EXEC | `wkMap = editInMsgCmn(param, ...)` |
| 4 | EXEC | `rsltPrg = runPrg(handle, param, fixedText, i, wkMap)` - Progress registration result |

**Block 16** - [IF] Smart billing anomaly notification (L1424)

When smart billing anomaly is detected, registers the anomaly notification data.

| # | Type | Code |
|---|------|------|
| 1 | SET | `smtVlTchiTrksFlg = checkSmtvlIdoTrks(handle, param, fixedText, i, wkMap, svc_kei_no)` |
| 2 | IF | `smtVlTchiTrksFlg` - Anomaly detected |
| 2.1 | SET | `trgtData = new HashMap()` |
| 2.2 | SET | `trgtData.put(SVC_KEI_NO, svc_kei_no)` - Service contract number |
| 2.3 | SET | `trgtData.put(SVC_KEI_UCWK_NO, null)` - Service contract line item number |
| 2.4 | SET | `trgtData.put(IDO_DIV, idoDiv)` - Movement division |
| 2.5 | SET | `trgtData.put(PRG_STAT, rsltPrg.get(PRG_STAT))` - Progress status |
| 2.6 | SET | `trgtData.put(PRG_DTM, rsltPrg.get(PRG_DTM))` - Progress datetime |
| 2.7 | SET | `trgtData.put(SMTVL_IDO_DTL_CD, null)` - Smart billing anomaly detail code |
| 2.8 | SET | `trgtData.put(KOJIAK_STP_RSN_CD_1, null)` - Work order stop reason 1 |
| 2.9 | SET | `trgtData.put(KOJIAK_STP_RSN_CD_2, null)` - Work order stop reason 2 |
| 2.10 | SET | `trgtData.put(IDO_RSN_CD_LIST, null)` - Anomaly reason code list |
| 2.11 | SET | `trgtData.put(KDDI_WKEI_IDT_RSLT_CD, null)` - KDDI discount contract anomaly result code |
| 2.12 | SET | `trgtData.put(KDDI_WKEI_IDT_ERR_CD, null)` - KDDI discount anomaly error code |
| 2.13 | SET | `trgtData.put(KDDI_WKEI_IDT_NAIYO, null)` - KDDI discount anomaly content |
| 2.14 | CALL | `JKKBpCommon.addSmtvlIdoInf(handle, param, trgtData, fixedText)` - Register anomaly notification |

**Block 17** - [EXEC] Final processing (L1442)

| # | Type | Code |
|---|------|------|
| 1 | SET | `svkeiData.put(KOJIAK_NO, kojiak_no)` - Store work order number |
| 2 | IF | `!JKKBpCommon.isNull(peaSvcKeiNo)` - Peer service contract number set (old device return cancellation) |
| 2.1 | SET | `svkeiData.put(PEA_SVC_KEI_NO, peaSvcKeiNo)` |
| 3 | EXEC | `param.setControlMapData(RETURN_CODE, "0000")` - Return code: success |
| 4 | RETURN | `return param` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_no` | Field | Service contract number - the unique identifier for a service contract in the eo system |
| `svc_kei_ucwk_no` | Field | Service contract line item number - internal tracking number for a service contract line item |
| `svc_cd` | Field | Service code - classifies the service type (NET, TEL, etc.) |
| `prc_grp_cd` | Field | Process group code / billing group code - groups services by billing category (Home, Mezon, TV, etc.) |
| `ido_div` | Field | Movement/division code - indicates the type of service change; "00002" means cancellation of a bundled line (回線契約の取消) |
| `svc_sbt_cd` | Field | Service subtype code - numeric classification: 1=HNET, 2=HTV, 3=HTel, 4=MOBA, 5=ADSL |
| `kojiak_no` | Field | Engineering work order number - the ID of the created/associated work order |
| `mskm_dtl_no` | Field | Application detail number - the detail line number of an application/contract request |
| `sysid` | Field | System ID - identifies the NTT system handling the service |
| `svkeiData` | Field | Service contract data HashMap - holds per-contract data including all fields above |
| `rsltShokai` | Field | Lookup result HashMap - holds all inquiry (照会) results for the current contract |
| `SJISHO_MAP` | Constant | Instruction CC mapping key = "KKSV040810CC" - key for instruction registration data mapping |
| `TRGT_DATA_LIST` | Constant | Target data list key = "trgt_data_list" - key for the list of contracts to process |
| `KOJIAK_NO` | Constant | Work order number key = "kojiak_no" |
| `PEA_SVC_KEI_NO` | Constant | Peer service contract number key = "pea_svc_kei_no" - used for old device return cancellation |
| `SVC_SBT_CD_HNET` | Constant | Service subtype code 1 - eo Hikari Net (Fiber internet service) |
| `SVC_SBT_CD_HTV` | Constant | Service subtype code 2 - eo Hikari TV (Fiber TV service) |
| `SVC_SBT_CD_HTEL` | Constant | Service subtype code 3 - eo Hikari Tel (Fiber phone service) |
| `SVC_SBT_CD_MOBA` | Constant | Service subtype code 4 - eo Mobile (cellular service) |
| `SVC_SBT_CD_ADSL` | Constant | Service subtype code 5 - eo ADSL (legacy DSL service) |
| SOD | Acronym | Service Order Data - telecom order fulfillment entity; generated after cancellation for logistics processing |
| FTTH | Business term | Fiber To The Home - fiber-optic broadband technology used by eo Hikari services |
| ONU | Acronym | Optical Network Unit - the customer-premises device for fiber connections; "ONU received completion" (ONU受付済) is a key processing milestone |
| VA | Business term | Virtual Access - a router feature enabling VPN or remote access; in multi-function routers, VA is shared between Tel and Net services |
| BMP | Acronym | Big Phone Number (BIGPHONE/番ボ) - K-Opticom phone number portability service |
| HNET | Acronym | Hikari Net - eo fiber internet service |
| HTV | Acronym | Hikari TV - eo fiber TV service |
| HTel | Acronym | Hikari Tel - eo fiber phone service |
| KKSV0408 | Screen | KOJIAK (照査取消) screen - the customer-facing screen for service contract cancellation/inquiry |
| KKSV0408OPOperation | Screen | Screen operation process for KKSV0408 - BPM flow orchestrating the cancellation screen actions |
| Shosaku Torikeshi | Business term | Contract inquiry and cancellation - the business process of verifying and cancelling a service contract |
| Ichi Shokai | Business term | Unique lookup - single-record inquiry to retrieve specific contract data |
| Ichiran Shokai | Business term | List lookup - multi-record inquiry to retrieve lists of related contracts |
| Kaisen | Business term | Line - the physical/dedicated connection shared by Net, Tel, and other services |
| Koji Anken | Business term | Engineering work order - a work order for installation, removal, or modification of equipment |
| Kyuu Kiki | Business term | Old device - the legacy equipment returned when a service is cancelled; requires cancellation recovery processing |
| Haishi Torikeshi | Business term | Delivery cancellation - cancelling delivery of equipment related to the service |
| Smart Bill Ido | Business term | Smart billing anomaly - discrepancy detected in billing that requires notification and potential intervention |
| Renkei Data | Business term | Linked data - data passed between systems; kbn 02 = line number SYSID, kbn 07 = service contract info |
| Kappa | Business term | Closing - a supplementary cancellation processing step applied after primary cancellation for certain services |
| Daichi Riyo Basho | Business term | Same location - multiple services sharing the same physical installation location |
| 3G_42M_HYBRID | Constant | 3G/42M Hybrid plan code - a specific hybrid service plan triggering special delivery handling |
| `kkop_svc_cd` | Field | Device service code - classifies the type of device service (G01 = Router, G02 = VA) |
| `kkop_svc_kei_stat` | Field | Device service contract status - "020" means cancelled (解約済み) |
| `rentai_flg` | Field | Bundled flag - "1" indicates the device is a multi-function router with bundled functions |
| KK_T_SVKEI | Table | Service contract table - stores service contract master data |
| KK_T_SVKEI_ISP | Table | Service contract ISP table - stores ISP service contract data (for Hikari Net) |
| KK_T_SVKEI_TV | Table | Service contract TV table - stores TV service contract data |
| KK_T_SVKEI_TEL | Table | Service contract Tel table - stores Tel service contract data |
| KK_T_CUST | Table | Customer table - stores customer master data |
| KK_T_MSKM | Table | Application table - stores application/contract request data |
| KK_T_KOJIAKEN | Table | Engineering work order table - stores work order data |
| KK_T_SMTVL_IDO_INF | Table | Smart billing anomaly info table - stores anomaly notification records |
| KK_T_BMP_KOJI | Table | BMP work table - stores BMP installation work records |
| KK_T_BMP_TAIORRIKI | Table | BMP correspondence record table - stores BMP cancellation notification history |
| KK_T_PRG | Table | Progress table - stores service contract processing status |
| KK_T_KKTK_SVKEI | Table | Line contract service table - stores line-associated service contract data |
| KK_T_KKOP_SVKEI | Table | Device service contract table - stores device (router) service contract data |
| KK_T_KKTS_SVKEI | Table | Line service contract table - stores device service contract table data |