# Business Logic — JKKHakkoSODCC.hakkoSOD() [428 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKHakkoSODCC` |
| Layer | Common Component (CC) — shared business logic, invoked via `JCCBPCommon.getInvokeCBS` dispatcher |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKHakkoSODCC.hakkoSOD()

This method is the central **Service Order Data (SOD) issuance hub** for the K-Opticom customer backbone system (eo customer base system). It is responsible for generating one or more **Service Orders** — internal work instructions dispatched to various operational teams — whenever a customer's contract status changes. The method receives a batch of SOD target data (each item representing a single contract line), validates the input, enriches it with live service contract details from the agreement system, and then dispatches the item to one of **~30+ specialized order control methods** based on the transfer category (`ido_div`) and processing category (`syori_div`).

The method handles a comprehensive range of telecom service operations: new contract registration, service additions, cancellations, course changes, suspension/resumption, address changes, fiber optic telephone number additions/changes/cancellations, call forwarding setup, fixed IP address control, IPv6 ID/password reissuance, pause management, usage suspension/resumption, discount information registration, domain restriction setting/removal, number portability switching, VLAN-ID changes, Wi-Fi spot modifications, ENUM registration/deletion, malware blocking control, equipment exchange, and IPTV-related service orders.

The design pattern implemented is a **routing/dispatcher** combined with **delegation**. The method acts as a front-end orchestrator: it validates inputs, pre-processes data (encryption, contract info enrichment, dummy service number tracking), clears instance state for each iteration, and then delegates each SOD item to the appropriate specialized control method based on conditional branching on `ido_div` and `syori_div` constants.

This is a **shared utility** called by the CBS (Component Business System) dispatcher (`JCCBPCommon.getInvokeCBS`) from multiple screen entry points. It is not tied to a single screen but serves as the common order issuance engine invoked across the system's contract management workflows.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["hakkoSOD enter"])
    CHECK1{"funcCD blank or FUNC_CODE_2 or dataList empty?"}
    EARLY_EXIT(["Set status 0000, return param"])
    CLEAR_FIELDS(["Clear instance fields"])
    GET_DUMMY(["getDummySvcKeiNo"])
    FOR_LOOP{"For each sodMap in dataList"}
    EXTRACT(["Extract info maps"])
    ENC1(["shkkaMap sod_kihon_info"])
    ENC2(["shkkaMap svc_kei_info"])
    READ_FIELDS(["Read ido_div, syori_div, etc."])
    BUILD_MAP(["Build dataMap"])
    CHECK_SVC{"svc_kei_no valid?"}
    GET_SVC_INFO(["getSvcKeiInfo"])
    SET_SVC_FIELDS(["Set svc fields"])
    CHECK_MT{"prc_grp_cd == NET_MT?"}
    CALL_0891(["callEKK0891A010_SC"])
    GET_DUMMY_PPLAN(["getDammyPplanCd"])
    RESET_PPLAN(["Set pplan_cd"])
    FORMAT_VARS(["formatClassVar"])
    ROUTE{"Route by ido_div"}
    BRANCH_NEW(["newKeiOdrCtrl"])
    BRANCH_STPUK(["stpUkOdrCtrl"])
    BRANCH_STPRLS(["stpRlsOdrCtrl"])
    BRANCH_KAIHK(["kaihkOdrCtrl"])
    BRANCH_DSL(["dslOdrCtrl"])
    BRANCH_KYOSEI(["ksiDslOdrCtrl"])
    BRANCH_KYOSEIFIX(["ksiDslFixOdrCtrl"])
    BRANCH_CANCEL(["cnclOdrCtrl"])
    BRANCH_COURSE(["courseChgeOdrCtrl"])
    BRANCH_OPSET(["opSetOdrCtrl"])
    BRANCH_HTELADD(["htelNoAddOdrCtrl"])
    BRANCH_HTELCHGE(["htelNoChgeOdrCtrl"])
    BRANCH_HTELDSEL(["htelNoDslOdrCtrl"])
    BRANCH_HTELKAIHK(["htelNoKaihkOdrCtrl"])
    BRANCH_HTELITNTOKI(["htelItntokiOdrCtrl"])
    BRANCH_HTELINFO(["htelNoInfoChgeOdrCtrl"])
    BRANCH_ADCHG(["adchgFixOdrCtrl"])
    BRANCH_OPHKTGI(["opHktgiOdrCtrl"])
    BRANCH_IDPW(["idpwShkkaSaifuriOdrCtrl"])
    BRANCH_PAUSEUK(["pauseUkOdrCtrl"])
    BRANCH_PAUSERLS(["pauseRlsChgeOdrCtrl"])
    BRANCH_USESTP(["useStpOdrCtrl"])
    BRANCH_USESTPRLS(["useStpRlsOdrCtrl"])
    BRANCH_WRIBINFO(["wribInfoAddOdrCtrl"])
    BRANCH_SYORI011(["taiikiSeigenOdrCtrl"])
    BRANCH_SYORI021(["bmpSwitchOdrCtrl"])
    BRANCH_SYORI031(["vLanIdChgOdrCtrl"])
    BRANCH_SPOT(["spotLoginSysidChgeOdrCtrl"])
    BRANCH_EGCHANGE(["vLanIdVaChangeOdrCtrl"])
    BRANCH_BMPMODOSHI(["bmpSipDslOdrCtrl"])
    BRANCH_MALWARE(["malwareBlockingDivOdrCtrl"])
    BRANCH_KOTEIIP(["koteiIpAd8DivOdrCtrl"])
    BRANCH_RTOPCHG(["rtOpChgDivOdrCtrl"])
    BRANCH_ENUMDEL(["enumDelOdrCtrl"])
    BRANCH_ENUMIADD(["enumAddOdrCtrl"])
    RETURN_P(["return param"])
    END(["exit"])

    START --> CHECK1
    CHECK1 -->|YES| EARLY_EXIT
    CHECK1 -->|NO| CLEAR_FIELDS
    CLEAR_FIELDS --> GET_DUMMY
    GET_DUMMY --> FOR_LOOP
    FOR_LOOP -->|each| EXTRACT
    EXTRACT --> ENC1
    ENC1 --> ENC2
    ENC2 --> READ_FIELDS
    READ_FIELDS --> BUILD_MAP
    BUILD_MAP --> CHECK_SVC
    CHECK_SVC -->|YES| GET_SVC_INFO
    GET_SVC_INFO --> SET_SVC_FIELDS
    SET_SVC_FIELDS --> CHECK_MT
    CHECK_SVC -->|NO| FORMAT_VARS
    CHECK_MT -->|YES| CALL_0891
    CALL_0891 --> GET_DUMMY_PPLAN
    GET_DUMMY_PPLAN --> RESET_PPLAN
    RESET_PPLAN --> FORMAT_VARS
    CHECK_MT -->|NO| FORMAT_VARS
    FORMAT_VARS --> ROUTE
    BRANCH_NEW --> RETURN_P
    BRANCH_STPUK --> RETURN_P
    BRANCH_STPRLS --> RETURN_P
    BRANCH_KAIHK --> RETURN_P
    BRANCH_DSL --> RETURN_P
    BRANCH_KYOSEI --> RETURN_P
    BRANCH_KYOSEIFIX --> RETURN_P
    BRANCH_CANCEL --> RETURN_P
    BRANCH_COURSE --> RETURN_P
    BRANCH_OPSET --> RETURN_P
    BRANCH_HTELADD --> RETURN_P
    BRANCH_HTELCHGE --> RETURN_P
    BRANCH_HTELDSEL --> RETURN_P
    BRANCH_HTELKAIHK --> RETURN_P
    BRANCH_HTELITNTOKI --> RETURN_P
    BRANCH_HTELINFO --> RETURN_P
    BRANCH_ADCHG --> RETURN_P
    BRANCH_OPHKTGI --> RETURN_P
    BRANCH_IDPW --> RETURN_P
    BRANCH_PAUSEUK --> RETURN_P
    BRANCH_PAUSERLS --> RETURN_P
    BRANCH_USESTP --> RETURN_P
    BRANCH_USESTPRLS --> RETURN_P
    BRANCH_WRIBINFO --> RETURN_P
    BRANCH_SYORI011 --> RETURN_P
    BRANCH_SYORI021 --> RETURN_P
    BRANCH_SYORI031 --> RETURN_P
    BRANCH_SPOT --> RETURN_P
    BRANCH_EGCHANGE --> RETURN_P
    BRANCH_BMPMODOSHI --> RETURN_P
    BRANCH_MALWARE --> RETURN_P
    BRANCH_KOTEIIP --> RETURN_P
    BRANCH_RTOPCHG --> RETURN_P
    BRANCH_ENUMDEL --> RETURN_P
    BRANCH_ENUMIADD --> RETURN_P
    RETURN_P --> END
```

**Processing breakdown:**

1. **Early exit validation (L618–636):** Retrieves the operational date from `JCCBPCommon.getOpeDate`. Extracts the target data list from the parameter map using `TRGT_DATA_LIST`. If `funcCD` is blank, equals `"2"` (`FUNC_CODE_2`), or the data list is empty, returns early with status `"0000"` (no work).
2. **State clearing (L638–651):** Clears all instance fields used for tracking previous record changes, same processing number, and checkout error service numbers.
3. **Dummy service number retrieval (L654):** Calls `getDummySvcKeiNo` to obtain a list of dummy service contract numbers used to prevent duplicate issuance.
4. **Per-item loop (L656–L1027):** For each SOD map in the data list:
   a. Extracts and encrypts the basic info and service contract info maps via `shkkaMap`.
   b. Reads routing fields: `ido_div`, `syori_div`, `malware_blocking_div`, `kotei_ip_ad_8_div`, `rt_op_chg_div`.
   c. Builds a `dataMap` with `sysid`, `svc_kei_no`, `operateDate`, and `syori_div`, sets it into the work map.
   d. If `svc_kei_no` is valid and not a dummy number, retrieves full service contract info via `getSvcKeiInfo`, populates instance fields (`prc_grp_cd`, `pcrs_cd`, `svc_kei_stat`, etc.).
   e. If `prc_grp_cd == PRC_GRP_CD_NET_MT` (`"04"`) and `tk_hoshiki_kei_no` is set, calls the external provider contract service `callEKK0891A010_SC` and resolves the billing plan code via `getDammyPplanCd`.
   f. Clears class variables via `formatClassVar`.
   g. Routes to the appropriate order control method based on `ido_div` value. If `ido_div` is blank, checks `syori_div` for special processing categories.
5. **Return (L1029):** Returns the updated `param` object.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Session manager handle carrying database connections, transaction context, and system metadata required for service data access and CBS invocations |
| 2 | `param` | `IRequestParameterReadWrite` | Parameter object containing the model data group (target SOD items under `fixedText` key), control map (return code, message), and work map. Modified in-place with status updates and enriched data |
| 3 | `fixedText` | `String` | User-defined arbitrary string used as the map key to retrieve the target data list from `param`. Serves as a session/correlation identifier |

### Instance Fields Read by This Method

| Field | Type | Business Description |
|-------|------|---------------------|
| `mae_recode_chaf_op_svc_kei_no` | `String` | Previous record change-after operation service contract number |
| `mae_recode_chaf_op_svc_kei_gene_add_dtm` | `String` | Generation registration datetime after change |
| `mae_recode_chbf_op_svc_kei_no` | `String` | Previous record change-before operation service contract number |
| `mae_recode_chbf_op_svc_kei_gene_add_dtm` | `String` | Generation registration datetime before change |
| `mae_recode_ch_svc_kei_no` | `String` | Previous record service contract number |
| `same_trn_no` | `String` | Same processing number (de-duplication key) |
| `chkErrKktkSvcKeiNoList` | `ArrayList<String>` | List of service contract numbers that became checkout errors during equipment exchange |
| `ipv6_svc_kei_ucwk_no` | `String` | Service contract work number for IPv6 correspondence |
| `ipv6_svc_kei_ucwk_gadtm` | `String` | Service contract work generation datetime for IPv6 |
| `mskm_dtl_no` | `String` | Application detail number |
| `prc_grp_cd` | `String` | Price group code (e.g., FTTH home network, metropolitan network) |
| `pcrs_cd` | `String` | Price course code (e.g., 100M, 1G, ADSL courses) |
| `svc_kei_stat` | `String` | Service contract status (active, suspended, etc.) |
| `svc_pause_ymd` | `String` | Service suspension date |
| `svc_pause_rls_ymd` | `String` | Service suspension release date |
| `pause_stp_cd` | `String` | Pause stop code |
| `pplan_cd` | `String` | Price plan code (e.g., Wi-Fi spot, UQ router plans) |
| `svc_kei_no1` | `String` | Service contract number for IPv6 correspondence |
| `ido_div` | `String` | Transfer category (extracted per iteration, used for routing) |
| `syori_div` | `String` | Processing category (extracted per iteration, used for syori_div-based routing) |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JKKHakkoSODCC.getDummySvcKeiNo` | (internal) | N/A | Calls `callEZM0321A010_SC` to retrieve dummy service contract numbers for duplicate prevention |
| R | `JKKHakkoSODCC.getSvcKeiInfo` | (internal) | N/A | Retrieves full service contract agreement details including `prc_grp_cd`, `pcrs_cd`, `svc_kei_stat`, `pause_stp_cd`, `tk_hoshiki_kei_no` |
| R | `JKKHakkoSODCC.getDammyPplanCd` | (internal) | N/A | Determines dummy billing plan code from external provider contract result |
| R | `JKKHakkoSODCC.callEKK0891A010_SC` | EKK0891A010_SC | External provider contract (TK provider) | Service IF execution for provider contract agreement (eo Hikari Net Metropolitan type) — queries external provider system for plan info |
| - | `JKKHakkoSODCC.adchgFixOdrCtrl` | JKKHakkoSODCC | - | Address change/registration order control |
| - | `JKKHakkoSODCC.bmpSipDslOdrCtrl` | JKKHakkoSODCC | - | Number port return (SIP cancellation/deletion) order control |
| - | `JKKHakkoSODCC.bmpSwitchOdrCtrl` | JKKHakkoSODCC | - | Number portability switching order control |
| - | `JKKHakkoSODCC.cnclOdrCtrl` | JKKHakkoSODCC | - | Cancellation order control |
| - | `JKKHakkoSODCC.courseChgeOdrCtrl` | JKKHakkoSODCC | - | Course change order control |
| - | `JKKHakkoSODCC.dslOdrCtrl` | JKKHakkoSODCC | - | Cancellation (deregistration) order control |
| - | `JKKHakkoSODCC.enumAddOdrCtrl` | JKKHakkoSODCC | - | ENUM registration order control |
| - | `JKKHakkoSODCC.enumDelOdrCtrl` | JKKHakkoSODCC | - | ENUM deletion order control |
| - | `JKKHakkoSODCC.formatClassVar` | JKKHakkoSODCC | - | Clears class-level instance variables per iteration |
| - | `JKKHakkoSODCC.htelItntokiOdrCtrl` | JKKHakkoSODCC | - | Fiber optic telephone call forwarding setup order control |
| - | `JKKHakkoSODCC.htelNoAddOdrCtrl` | JKKHakkoSODCC | - | Fiber optic telephone number addition order control |
| - | `JKKHakkoSODCC.htelNoChgeOdrCtrl` | JKKHakkoSODCC | - | Fiber optic telephone number change order control |
| - | `JKKHakkoSODCC.htelNoDslOdrCtrl` | JKKHakkoSODCC | - | Fiber optic telephone number cancellation order control |
| - | `JKKHakkoSODCC.htelNoInfoChgeOdrCtrl` | JKKHakkoSODCC | - | Fiber optic telephone number information change order control |
| - | `JKKHakkoSODCC.htelNoKaihkOdrCtrl` | JKKHakkoSODCC | - | Fiber optic telephone number resumption order control |
| - | `JKKHakkoSODCC.idpwShkkaSaifuriOdrCtrl` | JKKHakkoSODCC | - | ID/password initialization/re-issuance order control (IPv6) |
| - | `JKKHakkoSODCC.isBlank` | JKKHakkoSODCC | - | Null/blank string utility check |
| - | `JKKHakkoSODCC.kaihkOdrCtrl` | JKKHakkoSODCC | - | Resumption order control |
| - | `JKKHakkoSODCC.koteiIpAd8DivOdrCtrl` | JKKHakkoSODCC | - | Fixed IP Address 8 control order |
| - | `JKKHakkoSODCC.ksiDslFixOdrCtrl` | JKKHakkoSODCC | - | Forced cancellation confirmation order control |
| - | `JKKHakkoSODCC.ksiDslOdrCtrl` | JKKHakkoSODCC | - | Forced cancellation order control |
| - | `JKKHakkoSODCC.malwareBlockingDivOdrCtrl` | JKKHakkoSODCC | - | Malware blocking control order |
| - | `JKKHakkoSODCC.newKeiOdrCtrl` | JKKHakkoSODCC | - | New contract order control |
| - | `JKKHakkoSODCC.opHktgiOdrCtrl` | JKKHakkoSODCC | - | Operation inheritance order control |
| - | `JKKHakkoSODCC.opSetOdrCtrl` | JKKHakkoSODCC | - | Operation setup order control |
| - | `JKKHakkoSODCC.pauseRlsChgeOdrCtrl` | JKKHakkoSODCC | - | Pause change/reservation cancellation order control |
| - | `JKKHakkoSODCC.pauseUkOdrCtrl` | JKKHakkoSODCC | - | Pause receipt order control |
| - | `JKKHakkoSODCC.rtOpChgDivOdrCtrl` | JKKHakkoSODCC | - | Router operation change control order |
| - | `JKKHakkoSODCC.spotLoginSysidChgeOdrCtrl` | JKKHakkoSODCC | - | Wi-Fi spot change order control |
| - | `JKKHakkoSODCC.stpRlsOdrCtrl` | JKKHakkoSODCC | - | Pause release order control |
| - | `JKKHakkoSODCC.stpUkOdrCtrl` | JKKHakkoSODCC | - | Pause receipt order control |
| - | `JKKHakkoSODCC.taiikiSeigenOdrCtrl` | JKKHakkoSODCC | - | Domain restriction setting/removal order control |
| - | `JKKHakkoSODCC.useStpOdrCtrl` | JKKHakkoSODCC | - | Usage suspension order control |
| - | `JKKHakkoSODCC.useStpRlsOdrCtrl` | JKKHakkoSODCC | - | Usage suspension release order control |
| - | `JKKHakkoSODCC.vLanIdChgOdrCtrl` | JKKHakkoSODCC | - | VLAN-ID change order control |
| - | `JKKHakkoSODCC.vLanIdVaChangeOdrCtrl` | JKKHakkoSODCC | - | VLAN-ID change + VA equipment swap order control |
| - | `JKKHakkoSODCC.wribInfoAddOdrCtrl` | JKKHakkoSODCC | - | Discount information registration order control |

## 5. Dependency Trace

This method is invoked via the CBS dispatcher mechanism (`JCCBPCommon.getInvokeCBS`) using the function code key stored in the parameter map. The class-level Javadoc states: "Issues service orders based on contract content during inspections and course changes." The dispatcher pattern means callers are identified by their function code (`FUNC_CODE_1 = "1"`) in the parameter, and this method is resolved by name at runtime.

Direct callers were not found in the codebase by static search (the dispatcher routing is dynamic), but based on the class structure and the `JCCBPCommon.getInvokeCBS` invocation pattern, callers are screen classes (`KKSV*` pattern) and CBS classes that invoke this method through the common component bridge.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0004 (example — order issuance screens) | `ScreenCBS.invokeCheck` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `newKeiOdrCtrl [C] SOD`, `dslOdrCtrl [D] SOD`, `kaihkOdrCtrl [U] SOD`, `courseChgeOdrCtrl [U] SOD` |
| 2 | CBS:JKKHakkoSODCBS (example) | `CBS.process` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `cnclOdrCtrl [D] SOD`, `stpUkOdrCtrl [U] SOD`, `stpRlsOdrCtrl [U] SOD` |
| 3 | Screen:KKSV0010 (example — address change screen) | `ScreenCBS.invokeCheck` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `adchgFixOdrCtrl [C] SOD`, `htelNoChgeOdrCtrl [C] SOD` |
| 4 | CBS:JKKSvcCBS (example — service contract CBS) | `CBS.execute` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `htelNoAddOdrCtrl [C] SOD`, `htelNoDslOdrCtrl [D] SOD` |
| 5 | Screen:KKSV0020 (example — course change screen) | `ScreenCBS.invokeCheck` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `courseChgeOdrCtrl [U] SOD`, `opSetOdrCtrl [C] SOD` |
| 6 | CBS:JKKContractCBS (example) | `CBS.process` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `kaihkOdrCtrl [U] SOD`, `useStpOdrCtrl [U] SOD` |
| 7 | Screen:KKSV0030 (example — IPv6 management) | `ScreenCBS.invokeCheck` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `idpwShkkaSaifuriOdrCtrl [U] SOD`, `vLanIdChgOdrCtrl [U] SOD` |
| 8 | Screen:KKSV0040 (example — equipment exchange) | `ScreenCBS.invokeCheck` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `bmpSipDslOdrCtrl [D] SOD`, `vLanIdVaChangeOdrCtrl [C] SOD` |
| 9 | CBS:JKKEquipmentCBS (example) | `CBS.execute` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `malwareBlockingDivOdrCtrl [U] SOD` |
| 10 | Screen:KKSV0050 (example — fixed IP management) | `ScreenCBS.invokeCheck` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `koteiIpAd8DivOdrCtrl [C] SOD` |
| 11 | Screen:KKSV0060 (example — Wi-Fi spot) | `ScreenCBS.invokeCheck` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `spotLoginSysidChgeOdrCtrl [U] SOD` |
| 12 | CBS:JKKEENUMCBS (example) | `CBS.process` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `enumAddOdrCtrl [C] SOD`, `enumDelOdrCtrl [D] SOD` |
| 13 | Screen:KKSV0070 (example — domain restriction) | `ScreenCBS.invokeCheck` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `taiikiSeigenOdrCtrl [C] SOD` |
| 14 | Screen:KKSV0080 (example — router settings) | `ScreenCBS.invokeCheck` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `rtOpChgDivOdrCtrl [U] SOD` |
| 15 | Screen:KKSV0090 (example — discount info) | `ScreenCBS.invokeCheck` -> `getInvokeCBS` -> `JKKHakkoSODCC.hakkoSOD` | `wribInfoAddOdrCtrl [C] SOD` |

**Note:** The actual caller classes are determined by the CBS dispatcher which routes based on function code. The screen class names follow the `KKSV####` naming convention for K-Opticom screens. The terminal column shows representative order control methods called from this method, classified by their operation type.

## 6. Per-Branch Detail Blocks

**Block 1** — IF (early exit validation) (L618)

> Checks if funcCD is blank, equals FUNC_CODE_2, or if the target data list is null/empty. If so, returns immediately with status "0000" (normal termination — no work items).

| # | Type | Code |
|---|------|------|
| 1 | SET | `operateDate = JCCBPCommon.getOpeDate(null)` // Get operational date |
| 2 | EXEC | `inMap = param.getData(fixedText)` // Retrieve user data map |
| 3 | SET | `funcCD = inMap.get(JCMConstants.FUNC_CODE_KEY)` // Function code |
| 4 | EXEC | `dataList = inMap.get(JKKHakkoSODConstCC.TRGT_DATA_LIST)` // Target SOD list |
| 5 | IF | `isBlank(funcCD) \|\| FUNC_CODE_2.equals(funcCD) \|\| null == dataList \|\| 0 == dataList.size()` [FUNC_CODE_2="2"] |
| 6 | SET | `formatStatus = String.format("%1$04d", 0)` // "0000" |
| 7 | EXEC | `message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus)` // Get status message |
| 8 | EXEC | `param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus)` |
| 9 | EXEC | `param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message)` |
| 10 | RETURN | `return param` |

**Block 2** — SET (instance field clearing) (L638)

> Clears all instance-level tracking fields before processing the batch to ensure state isolation between invocations.

| # | Type | Code |
|---|------|------|
| 1 | SET | `this.mae_recode_chaf_op_svc_kei_no = ""` |
| 2 | SET | `this.mae_recode_chaf_op_svc_kei_gene_add_dtm = ""` |
| 3 | SET | `this.mae_recode_chbf_op_svc_kei_no = ""` |
| 4 | SET | `this.mae_recode_chbf_op_svc_kei_gene_add_dtm = ""` |
| 5 | SET | `this.mae_recode_ch_svc_kei_no = ""` |
| 6 | SET | `this.same_trn_no = ""` |
| 7 | SET | `chkErrKktkSvcKeiNoList = new ArrayList<String>()` |

**Block 3** — EXEC (dummy service number retrieval) (L654)

> Retrieves dummy service contract numbers used to prevent duplicate SOD issuance.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `dummySvckeiNoList = getDummySvcKeiNo(handle, param)` // Get dummy service numbers |

**Block 4** — FOR LOOP (main iteration) (L656)

> Iterates over each SOD item in the target data list, processing one service contract at a time.

| # | Type | Code |
|---|------|------|
| 1 | SET | `i = 0` |
| 2 | IF | `i < dataList.size()` |
| 3 | SET | `sodMap = dataList.get(i)` |
| 4 | IF | `null != sodMap` |
| 5 | GOTO | Block 5 (inner processing) |
| 6 | INCR | `i++` |
| 7 | GOTO | Block 4 (loop check) |

**Block 4.1** — FOR INCREMENT (L1026)

| # | Type | Code |
|---|------|------|
| 1 | INCR | `i++` |

**Block 5** — IF (null sodMap check) (L658)

> Ensures the current data map is not null before processing.

| # | Type | Code |
|---|------|------|
| 1 | GOTO | Block 5.1 |

**Block 5.1** — Processing block (L662–L1027)

> Core processing for each SOD item: extract data, encrypt, enrich, and route.

| # | Type | Code |
|---|------|------|
| 1 | SET | `sod_kihon_info_Map = sodMap.get(JKKHakkoSODConstCC.SOD_KIHON_INFO)` // SOD basic info |
| 2 | SET | `svc_kei_info_Map = sodMap.get(JKKHakkoSODConstCC.SVC_KEI_INFO)` // Service contract info |
| 3 | SET | `sod_kihon_info_Map = shkkaMap(sod_kihon_info_Map)` // Encrypt basic info |
| 4 | SET | `svc_kei_info_Map = shkkaMap(svc_kei_info_Map)` // Encrypt service info |
| 5 | SET | `ido_div = sod_kihon_info_Map.get("ido_div")` // Transfer category |
| 6 | SET | `syori_div = sod_kihon_info_Map.get(JKKHakkoSODConstCC.INFO_SYORI_DIV)` // Processing category |
| 7 | SET | `malware_blocking_div = sod_kihon_info_Map.get(JKKHakkoSODConstCC.INFO_MALWARE_BLOCKING_DIV)` // Malware blocking category |
| 8 | SET | `kotei_ip_ad_8_div = sod_kihon_info_Map.get(JKKHakkoSODConstCC.KOTEI_IP_AD_8_DIV)` // Fixed IP Address 8 category |
| 9 | SET | `rt_op_chg_div = sod_kihon_info_Map.get(JKKHakkoSODConstCC.RT_OP_CHG_DIV)` // Router operation change category |
| 10 | IF | IPv6 block (L684–L691) — see Block 5.2 |
| 11 | SET | `dataMap = new HashMap<String, Object>()` |
| 12 | EXEC | `dataMap.put("sysid", sod_kihon_info_Map.get("sysid"))` |
| 13 | EXEC | `dataMap.put("svc_kei_no", svc_kei_info_Map.get("svc_kei_no"))` |
| 14 | EXEC | `dataMap.put("rsv_aply_ymd", operateDate)` |
| 15 | EXEC | `dataMap.put("kei_svc_ctl_yokyu_odr_skcd", syori_div)` |
| 16 | EXEC | `param.setData(JKKHakkoSODConstCC.HAKKOSODCCWORKMAP, dataMap)` |
| 17 | IF | svc_kei_no check (L699–L751) — see Block 5.3 |
| 18 | EXEC | `formatClassVar()` |
| 19 | IF | Routing block (L756–L1024) — see Block 6 |
| 20 | GOTO | Block 4.1 (increment loop) |

**Block 5.2** — IF (IPv6 block) (L684)

> If the service contract work info map is not null, extracts the IPv6 service contract work number and generation datetime.

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != ucwk_info_Map` [ucwk_info_Map = sodMap.get(SVC_KEI_UCWK_INFO)] |
| 2 | SET | `this.ipv6_svc_kei_ucwk_no = shkkaChr(ucwk_info_Map.get("svc_kei_ucwk_no"))` |
| 3 | SET | `this.ipv6_svc_kei_ucwk_gadtm = shkkaChr(ucwk_info_Map.get("chaf_svc_kei_ucwk_gene_add_dtm"))` |

**Block 5.3** — IF (svc_kei_no enrichment) (L699)

> If the service contract number is not blank and is not a dummy number, retrieves full service contract details.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isBlank(svc_kei_info_Map.get("svc_kei_no")) && !dummySvckeiNoList.contains(...)` |
| 2 | SET | `svckeiMap = getSvcKeiInfo(handle, param)` // Service contract agreement processing |
| 3 | SET | `dataMap.put("svkei_gadtm", svckeiMap.get("gene_add_dtm"))` // Generation registration datetime |
| 4 | SET | `this.mskm_dtl_no = svckeiMap.get(INFO_MSKM_DTL_NO)` // Application detail number |
| 5 | SET | `this.prc_grp_cd = svckeiMap.get("prc_grp_cd")` // Price group code |
| 6 | SET | `this.pcrs_cd = svckeiMap.get("pcrs_cd")` // Price course code |
| 7 | SET | `this.svc_kei_stat = svckeiMap.get("svc_kei_stat")` // Service contract status |
| 8 | SET | `this.svc_pause_ymd = svckeiMap.get("svc_pause_ymd")` // Service suspension date |
| 9 | SET | `this.svc_pause_rls_ymd = svckeiMap.get("svc_pause_rls_ymd")` // Service suspension release date |
| 10 | SET | `this.pause_stp_cd = svckeiMap.get("pause_stp_cd")` // Pause stop code |
| 11 | SET | `this.svc_kei_no1 = svc_kei_info_Map.get("svc_kei_no")` // For IPv6 |
| 12 | SET | `this.pplan_cd = svckeiMap.get("pplan_cd")` // Price plan code |
| 13 | SET | `tk_hoshiki_kei_no = svckeiMap.get("tk_hoshiki_kei_no")` // Provider contract number |
| 14 | IF | Metropolitan net check (L731) — see Block 5.4 |
| 15 | EXEC | `param.setData(JKKHakkoSODConstCC.HAKKOSODCCWORKMAP, dataMap)` |

**Block 5.4** — IF (Metropolitan net external provider call) (L731)

> If price group code equals `PRC_GRP_CD_NET_MT` ("04") and provider contract number is set, calls the external provider system.

| # | Type | Code |
|---|------|------|
| 1 | IF | `PRC_GRP_CD_NET_MT.equals(this.prc_grp_cd) && (tk_hoshiki_kei_no != null && !"".equals(tk_hoshiki_kei_no))` [PRC_GRP_CD_NET_MT="04"] |
| 2 | SET | `inHashMans = new HashMap<String, Object>()` |
| 3 | SET | `resultHashMans = new HashMap<String, Object>()` |
| 4 | EXEC | `inHashMans.put(KEY_TK_HOSHIKI_KEI_NO, tk_hoshiki_kei_no)` |
| 5 | CALL | `callEKK0891A010_SC(param, handle, inHashMans, resultHashMans, FUNC_CODE_1)` // External provider IF |
| 6 | SET | `eKK0891A010SCHash = resultHashMans.get(TEMPLATE_ID_EKK0891A010)` |
| 7 | IF | `eKK0891A010SCHash != null && !"".equals(eKK0891A010SCHash)` |
| 8 | SET | `dammy_pplan_cd = getDammyPplanCd(param, handle, eKK0891A010SCHash)` // Get dummy plan code |
| 9 | IF | `dammy_pplan_cd != null && !"".equals(dammy_pplan_cd)` |
| 10 | SET | `this.pplan_cd = dammy_pplan_cd` |

**Block 6** — Routing (IF/ELSE-IF chain) (L756–L1024)

> Major routing block: dispatches to ~30+ specialized order control methods based on `ido_div` (transfer category) and `syori_div` (processing category). Each branch represents a distinct telecom service order type.

| # | Type | Condition | Constant Value | Target Method |
|---|------|-----------|----------------|---------------|
| 6.1 | IF | `ido_div` | `IDO_DIV_NEW = "00001"` (New Contract) | `newKeiOdrCtrl(handle, param, sodMap)` |
| 6.2 | ELSE-IF | `ido_div` | `IDO_DIV_SVCADD = "00002"` (Service Addition — merged with NEW) | `newKeiOdrCtrl` (same branch as 6.1) |
| 6.3 | ELSE-IF | `ido_div` | `IDO_DIV_STPUK = "00010"` (Pause Receipt) | `stpUkOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.4 | ELSE-IF | `ido_div` | `IDO_DIV_STPRLS = "00011"` (Pause Release) | `stpRlsOdrCtrl(handle, param, sodMap)` |
| 6.5 | ELSE-IF | `ido_div` | `IDO_DIV_KAIHK = "00004"` (Resumption) | `kaihkOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.6 | ELSE-IF | `ido_div` | `IDO_DIV_DSL = "00005"` (Cancellation) OR `IDO_DIV_TEKKYODSL = "00006"` (Deregistration) | `dslOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.7 | ELSE-IF | `ido_div` | `IDO_DIV_KYOSEIDSL = "00064"` (Forced Cancellation) | `ksiDslOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.8 | ELSE-IF | `ido_div` | `IDO_DIV_KYOSEIDSLFIX = "00007"` (Forced Cancellation Confirmation) | `ksiDslFixOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.9 | ELSE-IF | `ido_div` | `IDO_DIV_CANCEL = "00008"` (Cancel) | `cnclOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.10 | ELSE-IF | `ido_div` | `IDO_DIV_COURSECHG = "00009"` (Course Change) | `courseChgeOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.11 | ELSE-IF | `ido_div` | `IDO_DIV_OPSETTE = "00031"` (Operation Setup) | `opSetOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.12 | ELSE-IF | `ido_div` | `IDO_DIV_HTELNOADD = "00041"` (FT Telephone Number Addition) | `htelNoAddOdrCtrl(handle, param, sodMap)` |
| 6.13 | ELSE-IF | `ido_div` | `IDO_DIV_HTELNOCHGE = "00042"` (FT Telephone Number Change) | `htelNoChgeOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.14 | ELSE-IF | `ido_div` | `IDO_DIV_HTELNODSL = "00043"` (FT Telephone Number Cancellation) | `htelNoDslOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.15 | ELSE-IF | `ido_div` | `IDO_DIV_HTELNOKAIHK = "00044"` (FT Telephone Number Resumption) | `htelNoKaihkOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.16 | ELSE-IF | `ido_div` | `IDO_DIV_HTELITNTOKISETTE = "00046"` (FT Telephone Call Forwarding Setup) | `htelItntokiOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.17 | ELSE-IF | `ido_div` | `IDO_DIV_HTELNOINFOCHGE = "00048"` (FT Telephone Number Information Change) | `htelNoInfoChgeOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.18 | ELSE-IF | `ido_div` | `IDO_DIV_ADCHGADD = "00019"` (Address Change/Registration) OR `IDO_DIV_ADCHGFIX = "00020"` (Address Change/Confirmation) | `adchgFixOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.19 | ELSE-IF | `ido_div` | `IDO_DIV_OPHKTGI = "00003"` (Operation Inheritance) | `opHktgiOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.20 | ELSE-IF | `ido_div` | `IDO_DIV_IDPWD_SHKKA_SAIFURI = "00052"` (IDPW Initialization/Re-issuance — IPv6) | `idpwShkkaSaifuriOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.21 | ELSE-IF | `ido_div` | `IDO_DIV_PAUSEUK = "00024"` (Pause Receipt — different from STPUK) | `pauseUkOdrCtrl(handle, param, sodMap)` |
| 6.22 | ELSE-IF | `ido_div` | `IDO_DIV_PAUSERLSCHGE = "00025"` (Pause Change/Reservation Cancellation) | `pauseRlsChgeOdrCtrl(handle, param, sodMap)` |
| 6.23 | ELSE-IF | `ido_div` | `IDO_DIV_USESTP = "00062"` (Usage Suspension) | `useStpOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.24 | ELSE-IF | `ido_div` | `IDO_DIV_USESTPRLS = "00063"` (Usage Suspension Release) | `useStpRlsOdrCtrl(handle, param, sodMap)` |
| 6.25 | ELSE-IF | `ido_div` | `IDO_DIV_WRIBINFOADD = "00049"` (Discount Information Registration) | `wribInfoAddOdrCtrl(handle, param, sodMap)` |
| 6.26 | ELSE-IF | `isBlank(ido_div)` && `syori_div` | `KEI_SVC_CTL_YOKYU_ODR_SKCD_011 = "011"` (Domain Restriction Setting) OR `KEI_SVC_CTL_YOKYU_ODR_SKCD_012 = "012"` (Domain Restriction Removal) | `taiikiSeigenOdrCtrl(handle, param, sodMap)` |
| 6.27 | ELSE-IF | `isBlank(ido_div)` && `syori_div` | `KEI_SVC_CTL_YOKYU_ODR_SKCD_021 = "021"` (Number Portability Switch) | `bmpSwitchOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.28 | ELSE-IF | `isBlank(ido_div)` && `syori_div` | `KEI_SVC_CTL_YOKYU_ODR_SKCD_031 = "031"` (VLAN-ID Change) | `vLanIdChgOdrCtrl(handle, param, sodMap)` |
| 6.29 | ELSE-IF | `isBlank(ido_div)` && `syori_div` | `KEI_SVC_CTL_YOKYU_ODR_SKCD_041 = "041"` (Wi-Fi Spot Change) | `spotLoginSysidChgeOdrCtrl(handle, param, sodMap)` |
| 6.30 | ELSE-IF | `ido_div` + `syori_div` | `IDO_DIV_EGCHANGE = "00067"` (EG Switch) + `KEI_SVC_CTL_YOKYU_ODR_SKCD_031 = "031"` (VLAN-ID Change) | `vLanIdVaChangeOdrCtrl(handle, param, sodMap)` |
| 6.31 | ELSE-IF | `ido_div` | `IDO_DIV_BMPMODOSHI = "00087"` (Number Port Return — SIP Cancellation) | `bmpSipDslOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.32 | ELSE-IF | `isBlank(ido_div)` && `!isBlank(malware_blocking_div)` | `malware_blocking_div` is set | `malwareBlockingDivOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.33 | ELSE-IF | `isBlank(ido_div)` && `!isBlank(kotei_ip_ad_8_div)` | `kotei_ip_ad_8_div` is set | `koteiIpAd8DivOdrCtrl(handle, param, fixedText, sodMap)` |
| 6.34 | ELSE-IF | `isBlank(ido_div)` && `!isBlank(rt_op_chg_div)` | `rt_op_chg_div` is set | `rtOpChgDivOdrCtrl(handle, param, sodMap)` |
| 6.35 | ELSE-IF | `ido_div` | `IDO_DIV_ENUMDEL = "09001"` (ENUM Deletion) | `enumDelOdrCtrl(handle, param, sodMap)` |
| 6.36 | ELSE-IF | `ido_div` | `IDO_DIV_ENUMIADD = "09002"` (ENUM Registration) | `enumAddOdrCtrl(handle, param, sodMap)` |

Each branch in Block 6 assigns the returned `param` from the called method and continues to the next iteration. If none of the conditions match, the loop simply proceeds without calling any order control method.

**Block 7** — RETURN (L1029)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return param` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `ido_div` | Field | Transfer category (ido = 異動) — classifies the type of contract change: new, cancellation, suspension, resumption, course change, etc. Values are 5-digit codes like "00001" for new contract |
| `syori_div` | Field | Processing category (syori = 処理) — secondary routing field used when `ido_div` is blank; specifies special processing like domain restriction, number portability, VLAN-ID change |
| `SOD` | Acronym | Service Order Data — internal work order issued to operational teams for executing telecom service changes |
| `SOD_KIHON_INFO` | Field Key | SOD basic information map key — contains core service order data including `ido_div`, `sysid`, etc. |
| `SVC_KEI_INFO` | Field Key | Service contract information map key — contains service contract details |
| `SVC_KEI_UCWK_INFO` | Field Key | Service contract work information map key — contains work-level details including IPv6 info |
| `funcCD` | Field | Function code — determines the processing mode; FUNC_CODE_1 ("1") triggers full processing, FUNC_CODE_2 ("2") triggers early exit |
| `TRGT_DATA_LIST` | Field Key | "trgt_data_list" — map key under `fixedText` containing the ArrayList of SOD target items |
| `HAKKOSODCCWORKMAP` | Field Key | "HakkoSODCCWORK" — work map key for passing enriched data between processing stages |
| `FUNC_CODE_1` | Constant | "1" — full SOD issuance mode |
| `FUNC_CODE_2` | Constant | "2" — early exit mode (no processing) |
| `IDO_DIV_NEW` | Constant | "00001" — New contract transfer category |
| `IDO_DIV_SVCADD` | Constant | "00002" — Service addition transfer category (merged with NEW) |
| `IDO_DIV_OPHKTGI` | Constant | "00003" — Operation inheritance transfer category |
| `IDO_DIV_KAIHK` | Constant | "00004" — Resumption transfer category |
| `IDO_DIV_DSL` | Constant | "00005" — Cancellation (deregistration) transfer category |
| `IDO_DIV_TEKKYODSL` | Constant | "00006" — Deregistration transfer category |
| `IDO_DIV_KYOSEIDSLFIX` | Constant | "00007" — Forced cancellation confirmation transfer category |
| `IDO_DIV_CANCEL` | Constant | "00008" — Cancel transfer category |
| `IDO_DIV_COURSECHG` | Constant | "00009" — Course change transfer category |
| `IDO_DIV_STPUK` | Constant | "00010" — Pause receipt transfer category |
| `IDO_DIV_STPRLS` | Constant | "00011" — Pause release transfer category |
| `IDO_DIV_ADCHGADD` | Constant | "00019" — Address change/registration transfer category |
| `IDO_DIV_ADCHGFIX` | Constant | "00020" — Address change/confirmation transfer category |
| `IDO_DIV_PAUSEUK` | Constant | "00024" — Pause receipt transfer category (different from STPUK) |
| `IDO_DIV_PAUSERLSCHGE` | Constant | "00025" — Pause change/reservation cancellation transfer category |
| `IDO_DIV_OPSETTE` | Constant | "00031" — Operation setup transfer category |
| `IDO_DIV_HTELNOADD` | Constant | "00041" — Fiber optic telephone number addition transfer category |
| `IDO_DIV_HTELNOCHGE` | Constant | "00042" — Fiber optic telephone number change transfer category |
| `IDO_DIV_HTELNODSL` | Constant | "00043" — Fiber optic telephone number cancellation transfer category |
| `IDO_DIV_HTELNOKAIHK` | Constant | "00044" — Fiber optic telephone number resumption transfer category |
| `IDO_DIV_HTELITNTOKISETTE` | Constant | "00046" — Fiber optic telephone call forwarding setup transfer category |
| `IDO_DIV_HTELNOINFOCHGE` | Constant | "00048" — Fiber optic telephone number information change transfer category |
| `IDO_DIV_WRIBINFOADD` | Constant | "00049" — Discount information registration transfer category |
| `IDO_DIV_IDPWD_SHKKA_SAIFURI` | Constant | "00052" — ID/password initialization/re-issuance transfer category (IPv6) |
| `IDO_DIV_USESTP` | Constant | "00062" — Usage suspension transfer category |
| `IDO_DIV_USESTPRLS` | Constant | "00063" — Usage suspension release transfer category |
| `IDO_DIV_KYOSEIDSL` | Constant | "00064" — Forced cancellation transfer category |
| `IDO_DIV_EGCHANGE` | Constant | "00067" — EG (Ethernet Gateway) switch transfer category |
| `IDO_DIV_BMPMODOSHI` | Constant | "00087" — Number port return transfer category (SIP cancellation) |
| `IDO_DIV_ENUMDEL` | Constant | "09001" — ENUM deletion transfer category |
| `IDO_DIV_ENUMIADD` | Constant | "09002" — ENUM registration transfer category |
| `KEI_SVC_CTL_YOKYU_ODR_SKCD_011` | Constant | "011" — Domain restriction setting processing code |
| `KEI_SVC_CTL_YOKYU_ODR_SKCD_012` | Constant | "012" — Domain restriction removal processing code |
| `KEI_SVC_CTL_YOKYU_ODR_SKCD_021` | Constant | "021" — Number portability switching processing code |
| `KEI_SVC_CTL_YOKYU_ODR_SKCD_031` | Constant | "031" — VLAN-ID change processing code |
| `KEI_SVC_CTL_YOKYU_ODR_SKCD_041` | Constant | "041" — Wi-Fi spot change processing code |
| `prc_grp_cd` | Field | Price group code — classifies the pricing group (e.g., FTTH home network, metropolitan network, mobile) |
| `pcrs_cd` | Field | Price course code — identifies the specific pricing plan (e.g., 100M, 1G, ADSL courses) |
| `pplan_cd` | Field | Price plan code — identifies the billing plan (e.g., Wi-Fi spot plan PA3001, UQ router plan PC3001) |
| `svc_kei_stat` | Field | Service contract status — current state of the contract (active, suspended, etc.) |
| `mskm_dtl_no` | Field | Application detail number — internal identifier for the service application |
| `shkkaMap` | Method | Encryption method — encrypts sensitive data within the map (shkka = 暗号) |
| `shkkaChr` | Method | Character encryption method — encrypts individual string values |
| `getDummySvcKeiNo` | Method | Retrieves dummy service contract numbers used to prevent duplicate SOD issuance |
| `getSvcKeiInfo` | Method | Retrieves full service contract agreement details from the contract system |
| `formatClassVar` | Method | Clears/reformats class-level instance variables for the next iteration |
| `newKeiOdrCtrl` | Method | Processes new contract service order issuance |
| `dslOdrCtrl` | Method | Processes cancellation (deregistration) service order issuance |
| `kaihkOdrCtrl` | Method | Processes resumption service order issuance |
| `stpUkOdrCtrl` / `pauseUkOdrCtrl` | Method | Processes pause receipt service order issuance |
| `stpRlsOdrCtrl` | Method | Processes pause release service order issuance |
| `courseChgeOdrCtrl` | Method | Processes course change service order issuance |
| `cnclOdrCtrl` | Method | Processes cancellation service order issuance |
| `ksiDslOdrCtrl` | Method | Processes forced cancellation service order issuance |
| `ksiDslFixOdrCtrl` | Method | Processes forced cancellation confirmation service order issuance |
| `adchgFixOdrCtrl` | Method | Processes address change/confirmation service order issuance |
| `htelNoAddOdrCtrl` | Method | Processes fiber optic telephone number addition service order issuance |
| `htelNoChgeOdrCtrl` | Method | Processes fiber optic telephone number change service order issuance |
| `htelNoDslOdrCtrl` | Method | Processes fiber optic telephone number cancellation service order issuance |
| `htelNoKaihkOdrCtrl` | Method | Processes fiber optic telephone number resumption service order issuance |
| `htelItntokiOdrCtrl` | Method | Processes call forwarding setup service order issuance |
| `htelNoInfoChgeOdrCtrl` | Method | Processes telephone number information change service order issuance |
| `opSetOdrCtrl` | Method | Processes operation setup service order issuance |
| `opHktgiOdrCtrl` | Method | Processes operation inheritance service order issuance |
| `idpwShkkaSaifuriOdrCtrl` | Method | Processes ID/password initialization/re-issuance for IPv6 service orders |
| `useStpOdrCtrl` | Method | Processes usage suspension service order issuance |
| `useStpRlsOdrCtrl` | Method | Processes usage suspension release service order issuance |
| `wribInfoAddOdrCtrl` | Method | Processes discount information registration service order issuance |
| `taiikiSeigenOdrCtrl` | Method | Processes domain restriction setting/removal service order issuance |
| `bmpSwitchOdrCtrl` | Method | Processes number portability switching service order issuance |
| `vLanIdChgOdrCtrl` | Method | Processes VLAN-ID change service order issuance |
| `vLanIdVaChangeOdrCtrl` | Method | Processes VLAN-ID change with VA equipment swap service order issuance |
| `spotLoginSysidChgeOdrCtrl` | Method | Processes Wi-Fi spot login system ID change service order issuance |
| `bmpSipDslOdrCtrl` | Method | Processes number port return (SIP cancellation) service order issuance |
| `malwareBlockingDivOdrCtrl` | Method | Processes malware blocking control service order issuance |
| `koteiIpAd8DivOdrCtrl` | Method | Processes fixed IP Address 8 control service order issuance |
| `rtOpChgDivOdrCtrl` | Method | Processes router operation change service order issuance |
| `enumAddOdrCtrl` | Method | Processes ENUM registration service order issuance |
| `enumDelOdrCtrl` | Method | Processes ENUM deletion service order issuance |
| `callEKK0891A010_SC` | Method | External service call to provider contract agreement system for eo Hikari Net Metropolitan type |
| `getDammyPplanCd` | Method | Resolves the dummy billing plan code from external provider contract results |
| `JKKSvcConst` | Class | Constants class defining service codes, price course codes, service types, processing group codes |
| `SVC_CD_NET` | Constant | "01" — Network service type code |
| `SVC_CD_TEL` | Constant | "02" — Telephone service type code |
| `SVC_CD_TV` | Constant | "03" — Television service type code |
| `SVC_KIND_NET` | Constant | "1" — Network service kind code |
| `SVC_KIND_TEL` | Constant | "2" — Telephone service kind code |
| `SVC_KIND_MOB` | Constant | "4" — Mobile service kind code |
| `SVC_KIND_ADSL` | Constant | "5" — ADSL service kind code |
| `PRC_GRP_CD_NET_HM` | Constant | "02" — FTTH home network price group code |
| `PRC_GRP_CD_NET_MZ` | Constant | "03" — FTTH metropolitan price group code |
| `PRC_GRP_CD_NET_MT` | Constant | "04" — FTTH metropolitan (eo Hikari) price group code |
| `KKTK_SVC_CD_HTEL_VA` | Constant | "C004" — IPTV virtual adapter service code |
| `KKTK_SVC_CD_ONU` | Constant | "C012" — Optical network unit service code |
| `KKTK_SVC_CD_BBR` | Constant | "C014" — Broadband router service code |
| `KKTK_SVC_CD_IFILTER` | Constant | "C008" — Internet filter service code |
| FTTH | Business term | Fiber To The Home — fiber-optic internet service provided by K-Opticom |
| IPv6 | Business term | Internet Protocol version 6 — enables ID/password management for IPv6 services |
| ENUM | Business term | E.164 Number Mapping — maps telephone numbers to Internet protocol addresses for VoIP |
| OLS | Business term | Operation Support System — telecom operational support system for managing service provisioning |
| SOD | Business term | Service Order Data — internal work order issued to operational teams for service changes |
| VA | Business term | Virtual Adapter — network equipment used for IPv6 and advanced networking features |
| VLAN | Business term | Virtual Local Area Network — network segmentation technology for home routers |
| PCRS | Business term | Price Course (PCRS = プランコース) — billing plan/course code identifying the service tier and speed |
| DSL | Business term | Deregistration/Service cancellation (DSL = 解約 in the code context, derived from deregistration workflow) |
