# Business Logic — JKKAdchgHakkoSODCC.addSOD() [3988 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKAdchgHakkoSODCC` |
| Layer | CC / Common Component |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKAdchgHakkoSODCC.addSOD()

The `addSOD` method is the central dispatch engine for issuing Service Order Data (SOD) in the K-Opticom eo Customer Base System. It handles the full lifecycle of telecom service orders across multiple service categories: FTTH authentication, email services, WEB services, DSL/ML services, Dual Up Connection, Multisection (dynamic/static), and multi-function router (MF Router) settings. Given an `orderNaiyoCd` (order content code) that identifies one of 46+ distinct service scenarios, the method performs a two-phase processing pattern: first it registers the order issuance conditions by populating a work map and calling `executeOdrHakkoJokenAdd`, then it registers the order information creation work by setting service-specific fields and calling `executeOdrInfoSakseiWkAdd`. The method implements a routing/dispatch design pattern -- a massive if-else cascade that maps each order content code to a unique combination of service order code, request type code, and service-specific data fields. It serves as a shared utility called by many higher-level screens and batch processes (e.g., address change flows, equipment addition flows, and cancellation flows), making it the single most important entry point for SOD issuance in the system.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["addSOD(params)"])
    INIT["Initialize inMap: set all fields to empty strings"]

    INIT --> BRANCH{Check orderNaiyoCd}

    BRANCH --> |ODR_NAIYO_CD_101| B101["FTTH Auth Registration"]
    BRANCH --> |ODR_NAIYO_CD_102| B102["FTTH Auth Password Change"]
    BRANCH --> |ODR_NAIYO_CD_103| B103["FTTH Auth Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_104| B104["FTTH Auth Deletion"]
    BRANCH --> |ODR_NAIYO_CD_105| B105["FTTH Auth Restoration"]
    BRANCH --> |ODR_NAIYO_CD_106| B106["FTTH Auth Temp Suspension"]
    BRANCH --> |ODR_NAIYO_CD_107| B107["FTTH Auth Suspension Release"]
    BRANCH --> |ODR_NAIYO_CD_108| B108["Mail Registration"]
    BRANCH --> |ODR_NAIYO_CD_109| B109["Mail Password Change"]
    BRANCH --> |ODR_NAIYO_CD_110| B110["Mail E-Harassment Registration"]
    BRANCH --> |ODR_NAIYO_CD_111| B111["Mail E-Harassment Change"]
    BRANCH --> |ODR_NAIYO_CD_112| B112["Mail E-Harassment Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_113| B113["Mailbox Cap Change"]
    BRANCH --> |ODR_NAIYO_CD_114| B114["Wildcard Registration"]
    BRANCH --> |ODR_NAIYO_CD_115| B115["Wildcard Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_116| B116["Mail Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_117| B117["Mail Cancellation Scheduled"]
    BRANCH --> |ODR_NAIYO_CD_118| B118["Mail Deletion"]
    BRANCH --> |ODR_NAIYO_CD_119| B119["Mail Cancellation Scheduled"]
    BRANCH --> |ODR_NAIYO_CD_120| B120["Mail Restoration"]
    BRANCH --> |ODR_NAIYO_CD_121| B121["WEB Registration"]
    BRANCH --> |ODR_NAIYO_CD_122| B122["WEB Password Change"]
    BRANCH --> |ODR_NAIYO_CD_123| B123["WEB Home Page Cap Change"]
    BRANCH --> |ODR_NAIYO_CD_124| B124["WEB Access Analysis Registration"]
    BRANCH --> |ODR_NAIYO_CD_125| B125["WEB Access Analysis Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_126| B126["WEB Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_127| B127["WEB Deletion"]
    BRANCH --> |ODR_NAIYO_CD_128| B128["WEB Restoration"]
    BRANCH --> |ODR_NAIYO_CD_129| B129["ML Registration"]
    BRANCH --> |ODR_NAIYO_CD_131| B131["ML Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_132| B132["ML Deletion"]
    BRANCH --> |ODR_NAIYO_CD_133| B133["ML Restoration"]
    BRANCH --> |ODR_NAIYO_CD_134| B134["Dual Up Connection Registration"]
    BRANCH --> |ODR_NAIYO_CD_135| B135["Dual Up Connection Password Change"]
    BRANCH --> |ODR_NAIYO_CD_136| B136["Dual Up Connection Plan Change"]
    BRANCH --> |ODR_NAIYO_CD_137| B137["Dual Up Connection Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_138| B138["Dual Up Connection Deletion"]
    BRANCH --> |ODR_NAIYO_CD_140| B140["Dual Up Temp Suspension"]
    BRANCH --> |ODR_NAIYO_CD_141| B141["Dual Up Suspension Release"]
    BRANCH --> |ODR_NAIYO_CD_142| B142["Multisection Dynamic Registration"]
    BRANCH --> |ODR_NAIYO_CD_143| B143["Multisection Dynamic Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_144| B144["Multisection Static Registration"]
    BRANCH --> |ODR_NAIYO_CD_145| B145["Multisection Static Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_146_149| B146["Router Setting Variants"]
    BRANCH --> |ODR_NAIYO_CD_209| B209["Additional Branch"]
    BRANCH --> |ODR_NAIYO_CD_229| B229["Additional Branch"]
    BRANCH --> |ODR_NAIYO_CD_230| B230["Additional Branch"]
    BRANCH --> |ODR_NAIYO_CD_252| B252["Additional Branch"]
    BRANCH --> |ODR_NAIYO_CD_266| B266["Additional Branch"]
    BRANCH --> |ODR_NAIYO_CD_409| B409["Additional Branch"]
    BRANCH --> |ODR_NAIYO_CD_410| B410["Router VA Phone Cancel"]
    BRANCH --> |ODR_NAIYO_CD_417| B417["Router VA Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_421| B421["Router L2 Cancellation"]
    BRANCH --> |ODR_NAIYO_CD_422| B422["Router L2 Deletion"]

    B101 --> STEP1_A["Set work map: order_sbt_cd, svc_order_cd, yokyu_sbt_cd, odr_hakko_joken_cd"]
    B102 --> STEP1_A
    B103 --> STEP1_A
    B104 --> STEP1_A
    B105 --> STEP1_A
    B106 --> STEP1_A
    B107 --> STEP1_A
    B108 --> STEP1_A
    B109 --> STEP1_A
    B110 --> STEP1_A
    B111 --> STEP1_A
    B112 --> STEP1_A
    B113 --> STEP1_A
    B114 --> STEP1_A
    B115 --> STEP1_A
    B116 --> STEP1_A
    B117 --> STEP1_A
    B118 --> STEP1_A
    B119 --> STEP1_A
    B120 --> STEP1_A
    B121 --> STEP1_A
    B122 --> STEP1_A
    B123 --> STEP1_A
    B124 --> STEP1_A
    B125 --> STEP1_A
    B126 --> STEP1_A
    B127 --> STEP1_A
    B128 --> STEP1_A
    B129 --> STEP1_A
    B131 --> STEP1_A
    B132 --> STEP1_A
    B133 --> STEP1_A
    B134 --> STEP1_A
    B135 --> STEP1_A
    B136 --> STEP1_A
    B137 --> STEP1_A
    B138 --> STEP1_A
    B140 --> STEP1_A
    B141 --> STEP1_A
    B142 --> STEP1_A
    B143 --> STEP1_A
    B144 --> STEP1_A
    B145 --> STEP1_A
    B146 --> STEP1_A
    B209 --> STEP1_A
    B229 --> STEP1_A
    B230 --> STEP1_A
    B252 --> STEP1_A
    B266 --> STEP1_A
    B409 --> STEP1_A
    B410 --> STEP1_A
    B417 --> STEP1_A
    B421 --> STEP1_A
    B422 --> STEP1_A

    STEP1_A --> CALL_ODR_EXEC["CALL executeOdrHakkoJokenAdd(handle, param)"]

    CALL_ODR_EXEC --> STEP2_A["Set work map: odr_naiyo_cd, svc_kei_ucwk_no, svkeiuw_gadtm, op_svc_kei_no, opsvkei_gadtm, etc."]

    STEP2_A --> CALL_ODR_INFO["CALL executeOdrInfoSakseiWkAdd(handle, param)"]

    CALL_ODR_INFO --> END_NODE(["Return param"])
```

**Branch Summary by Service Category:**

| Service Category | Order Codes | Service Order Code | Business Meaning |
|---|---|---|---|
| FTTH Auth | 101-107 | SVC_ORDER_CD_FTTH | Fiber To The Home authentication lifecycle (register, password change, cancel, delete, restore, suspend, release) |
| Mail | 108-120 | SVC_ORDER_CD_MAIL | Email service lifecycle (register, password change, E-harassment, mailbox, wildcard, cancel, delete, restore) |
| WEB | 121-128 | SVC_ORDER_CD_WEB | WEB service lifecycle (register, password change, home page cap, access analysis, cancel, delete, restore) |
| ML (Mailing List) | 129, 131-133 | SVC_ORDER_CD_ML | Mailing list service lifecycle (register, cancel, delete, restore) |
| Dual Up Connection | 134-141 | SVC_ORDER_CD_DUPCON | Dual Up Connection service lifecycle (register, password change, plan change, cancel, delete, suspend, release) |
| Multisection | 142-145 | SVC_ORDER_CD_FTTH | Dynamic/Static multisection registration and cancellation |
| Router (MF Router) | 146-149, 209, 229, 230, 252, 266, 409, 410, 417, 421, 422 | SVC_ORDER_CD_MFROUTER | Multi-function router settings (router function, VA function, phone number cancellation) |

**Common Processing Pattern (all branches):**

Every branch follows a consistent two-step pattern:

- **Step (1) Order Issuance Condition Registration**: Populates the work map with `order_sbt_cd` (order type code), `svc_order_cd` (service order code), `yokyu_sbt_cd` (request type code), `odr_hakko_joken_cd` (order issuance condition code -- always `ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO` = "instant issuance"), `same_trn_no` (same processing number), and service-specific fields (e.g., `mlad` for mail, `svc_kei_ucwk_no` for FTTH). Saves the map and calls `executeOdrHakkoJokenAdd`.

- **Step (2) Order Information Creation Work Registration**: Populates the work map with `odr_naiyo_cd` (the order content code itself), `svc_kei_ucwk_no` (service contract detail number), `svkeiuw_gadtm` (service contract detail registration datetime), `op_svc_kei_no` (option service contract number), `opsvkei_gadtm` (option service contract registration datetime), and additional service-specific fields. Saves the map and calls `executeOdrInfoSakseiWkAdd`.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Database/session handle used for all service component calls within this method; provides the transaction context for SOD issuance operations |
| 2 | `param` | `IRequestParameterReadWrite` | Request parameter object carrying the work map (`HAKKOSODCCWORKMAP`) which holds all SOD-related data fields as key-value pairs; returned with updated data after processing |
| 3 | `orderNaiyoCd` | `String` | Order content code that determines which service category and operation this branch handles. Values range from "101" to "422", each mapping to a specific telecom service type and lifecycle action |

**Instance fields read by this method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `this.svc_kei_ucwk_no[]` | `String[]` | Service contract detail numbers (array index 0 used) |
| `this.svc_kei_ucwk_gadtm[]` | `String[]` | Service contract detail registration datetimes (array index 0) |
| `this.op_svc_kei_no_ml` | `String` | Option service contract number for E-Mail |
| `this.op_gadtm_ml` | `String` | Option service contract registration datetime for E-Mail |
| `this.op_svc_kei_no_hp` | `String` | Option service contract number for My Home Page (WEB) |
| `this.op_gadtm_hp` | `String` | Option service contract registration datetime for My Home Page |
| `this.op_svc_kei_no_dial` | `String` | Option service contract number for Dual Up Connection |
| `this.op_gadtm_dial` | `String` | Option service contract registration datetime for Dual Up Connection |
| `this.op_svc_kei_no_mltise` | `String` | Option service contract number for Multisection |
| `this.op_gadtm_mltise` | `String` | Option service contract registration datetime for Multisection |
| `this.op_svc_kei_no_mlist` | `String` | Option service contract number for Mailing List |
| `this.op_gadtm_mlist` | `String` | Option service contract registration datetime for Mailing List |
| `this.op_svc_kei_no_fixipad` | `String` | Option service contract number for fixed global IP address (restoration) |
| `this.op_gadtm_fixipad` | `String` | Option service contract registration datetime for fixed global IP address |
| `this.mlad` | `String` | Mail address (email service) |
| `this.same_trn_no` | `String` | Same processing number (transaction correlation ID) |
| `this.taknkiki_model_cd[]` | `String[]` | Home equipment model code (array index 0) |
| `this.kiki_seizo_no[]` | `String[]` | Equipment manufacturing serial number (array index 0) |
| `this.svc_kei_kaisen_ucwk_no` | `String` | Service contract line detail number (for added information contract) |
| `this.svc_kei_kaisen_ucwk_gadtm` | `String` | Service contract line detail registration datetime |
| `this.kktk_svc_kei_no[]` | `String[]` | Equipment provider service contract number (array index 0) |
| `this.kktk_svc_kei_gadtm[]` | `String[]` | Equipment provider service contract registration datetime (array index 0) |
| `this.kkop_svc_kei_va[]` | `String[]` | Equipment option service contract number 2 (VA function) |
| `this.kkop_svc_kei_va_gadtm[]` | `String[]` | Equipment option service contract registration datetime 2 (VA function) |
| `this.kkop_svc_kei_router[]` | `String[]` | Equipment option service contract number 1 (router function) |
| `this.kkop_svc_kei_router_gadtm[]` | `String[]` | Equipment option service contract registration datetime 1 (router function) |
| `this.old_vrsb_jdg_svc_dtl_cd` | `String` | Old VR identification judgment service detail code (additional information contract number) |
| `this.chbf_kktk_svc_kei_gadtm[]` | `String[]` | Pre-change equipment provider service contract registration datetime |
| `this.sbop_svckeino_alias` | `String` | Sub-option service contract number (alias) |
| `this.sbop_gadtm_alias` | `String` | Sub-option service contract registration datetime (alias) |
| `this.sbop_svckeino_mlvirus` | `String` | Sub-option service contract number for mail virus service |
| `this.sbop_gadtm_mlvirus` | `String` | Sub-option service contract registration datetime for mail virus service |
| `this.svc_kei_ucwk_no` | `String[]` | Service contract detail numbers (used in 143 branch with null check) |
| `svc_kei_ucwk_no[]` (local) | `String[]` | Local copy of service contract detail numbers |
| `svc_kei_ucwk_gadtm[]` (local) | `String[]` | Local copy of service contract detail datetimes |
| `kktk_svc_kei_no[]` (local) | `String[]` | Local copy of equipment provider contract numbers |
| `kktk_svc_kei_gadtm[]` (local) | `String[]` | Local copy of equipment provider contract datetimes |
| `kkop_svc_kei_va[]` (local) | `String[]` | Local copy of VA function option contract numbers |
| `kkop_svc_kei_va_gadtm[]` (local) | `String[]` | Local copy of VA function option contract datetimes |
| `kkop_svc_kei_router[]` (local) | `String[]` | Local copy of router function option contract numbers |
| `kkop_svc_kei_router_gadtm[]` (local) | `String[]` | Local copy of router function option contract datetimes |
| `op_svc_kei_no_ml` (local) | `String` | Local option service contract number for mail |
| `op_gadtm_ml` (local) | `String` | Local option service contract datetime for mail |
| `op_gadtm_mlist` (local) | `String` | Local option service contract datetime for mailing list |
| `mlad` (local) | `String` | Local mail address |
| `same_trn_no` (local) | `String` | Local same processing number |
| `svc_kei_kaisen_ucwk_no` (local) | `String` | Local service contract line detail number |
| `svc_kei_kaisen_ucwk_gadtm` (local) | `String` | Local service contract line detail registration datetime |
| `taknkiki_model_cd[]` (local) | `String[]` | Local home equipment model codes |
| `kiki_seizo_no[]` (local) | `String[]` | Local equipment serial numbers |
| `chkflg` (local) | `String[]` | Check flag array (used in router branches) |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `JKKAdchgHakkoSODCC.executeOdrHakkoJokenAdd` | (internal) | Order Issuance Condition table | Creates / registers order issuance conditions (Step 1 of every branch) |
| C | `JKKAdchgHakkoSODCC.executeOdrInfoSakseiWkAdd` | (internal) | Order Information Creation Work table | Creates / registers order information creation work data (Step 2 of every branch) |
| - | `JKKStringUtil.isNullEmpty` | - | - | Utility null/empty check on `chbf_kktk_svc_kei_gadtm` in router branches (421, 422) |
| - | `JKKAdchgHakkoSODCC.isDocomoFmtcel` | (internal) | - | Internal helper (referenced in class but not directly in this method body) |
| - | `JKKAddSjishoCC.isNullEmpty` | - | - | Alternative null/empty utility |
| - | `JKKAddSjishoCCMapper.isNullEmpty` | - | - | Mapper null/empty utility |
| - | `JCNStringUtil.isNullEmpty` | - | - | Common string null/empty utility |
| - | `FUW12201SFLogic.isNullEmpty` | - | - | Screen logic null/empty utility |

**How to classify:**

- **C (Create)**: Both `executeOdrHakkoJokenAdd` and `executeOdrInfoSakseiWkAdd` are create operations. They insert records into order issuance condition and order information creation work tables respectively. Every branch calls both methods in sequence.
- **- (Data mapping)**: All `inMap.put()` operations are internal data mapping, not direct CRUD operations. The actual persistence is delegated to the two called methods.

## 5. Dependency Trace

### Direct callers found: 14 methods

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `JKKAdchgHakkoSODCC` | `addSODTelVAChange` -> `addSOD` (code 209) | `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C] |
| 2 | `JKKAdchgHakkoSODCC` | `addSODTelVAChange` -> `addSOD` (code 410) | `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C] |
| 3 | `JKKAdchgHakkoSODCC` | `addSODTelVAChange` -> `addSOD` (code 229) | `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C] |
| 4 | `JKKAdchgHakkoSODCC` | `addSODTelVAChange` -> `addSOD` (code 230) | `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C] |
| 5 | `JKKAdchgHakkoSODCC` | `addSODTelVAChange` -> `addSOD` (code 266) | `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C] |
| 6 | `JKKAdchgHakkoSODCC` | `addSODTelVAChange` -> `addSOD` (code 252) | `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C] |
| 7 | `JKKAdchgHakkoSODCC` | `addSODTelVAChange` -> `addSOD` (code 210) | `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C] |
| 8 | `JKKAdchgHakkoSODCC` | `addSODTelVAChange` -> `addSOD` (code 409) | `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C] |
| 9 | `JKKAdchgHakkoSODCC` | Internal call (same class) | `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C] |
| 10-14 | Various internal callers in `JKKAdchgHakkoSODCC` | Direct calls within same class | `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C] |

**Terminal operations reached from this method:**
`executeOdrInfoSakseiWkAdd` [C], `setData` [-], `setData` [-], `setData` [-], `setData` [-], `setData` [-], `isNullEmpty` [-], `isNullEmpty` [-], `isNullEmpty` [-], `isNullEmpty` [-], `isNullEmpty` [-], `executeOdrHakkoJokenAdd` [C], `setData` [-], `setData` [-], `setData` [-], `setData` [-], `setData` [-], `executeOdrInfoSakseiWkAdd` [C], `setData` [-], `setData` [-]

## 6. Per-Branch Detail Blocks

### Block 1 -- INIT (L2168)

> Initialize the work map by setting all fields to empty strings. This prepares a clean slate for whichever branch will populate the appropriate values.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap = (HashMap)param.getData(JKKHakkoSODConstCC.HAKKOSODCCWORKMAP)` // Get the work map from param |
| 2 | EXEC | `if (inMap != null)` // Guard: only proceed if work map exists |
| 3 | SET | `inMap.put("svc_kei_ucwk_no", "")` // Service contract detail number |
| 4 | SET | `inMap.put("kktk_svc_kei_no", "")` // Equipment provider service contract number |
| 5 | SET | `inMap.put("op_svc_kei_no", "")` // Option service contract number |
| 6 | SET | `inMap.put("sbop_svc_kei_no", "")` // Sub-option service contract number |
| 7 | SET | `inMap.put("seiopsvc_kei_no", "")` // Billing option service contract number |
| 8 | SET | `inMap.put("order_sbt_cd", "")` // Order type code |
| 9 | SET | `inMap.put("svc_order_cd", "")` // Service order code |
| 10 | SET | `inMap.put("yokyu_sbt_cd", "")` // Request type code |
| 11 | SET | `inMap.put("odr_hakko_joken_cd", "")` // Order issuance condition code |
| 12 | SET | `inMap.put("same_trn_no", "")` // Same processing number |
| 13 | SET | `inMap.put("taknkiki_model_cd", "")` // Home equipment model code |
| 14 | SET | `inMap.put("kiki_seizo_no", "")` // Equipment serial number |
| 15 | SET | `inMap.put("mlad", "")` // Mail address |
| 16 | SET | `inMap.put("spot_login_sysid", "")` // Spot login SYSID |
| 17 | SET | `inMap.put("svc_kei_kaisen_ucwk_no", "")` // Service contract line detail number |
| 18 | SET | `inMap.put("send_req_fin_dtm", "")` // Send request completion datetime |
| 19 | SET | `inMap.put("odr_hakko_joken_no", "")` // Order issuance condition number |
| 20 | SET | `inMap.put("odr_naiyo_cd", "")` // Order content code |
| 21 | SET | `inMap.put("svkeiuw_gadtm", "")` // Service contract detail registration datetime |
| 22 | SET | `inMap.put("kktsvkei_gadtm", "")` // Equipment provider service contract registration datetime |
| 23 | SET | `inMap.put("opsvkei_gadtm", "")` // Option service contract registration datetime |
| 24 | SET | `inMap.put("sbopsvkei_gadtm", "")` // Sub-option service contract registration datetime |
| 25 | SET | `inMap.put("seiopsvkei_gadtm", "")` // Billing option service contract registration datetime |
| 26-30 | SET | Additional fields initialized to "" (huka_inf_kei_no, huka_inf_kei_gadtm, chbf_svkei_gadtm, chbf_svkeiuw_gadtm, chbf_kktk_svc_kei_gadtm, chbf_opsvkei_gadtm, chbf_sbopsvkei_gadtm, chbf_seiopsvkei_gadtm) |
| 31-36 | SET | ANK-1578-00-00 fields: kkop_svc_kei_no_1, kko_svkei_gadtm_1, kkop_svc_kei_no_2, kko_svkei_gadtm_2, huka_inf_kei_no, huka_inf_kei_gadtm |

### Block 2 -- ODR_NAIYO_CD_101 [IF] `(JKKHakkoSODConstCC.ODR_NAIYO_CD_101.equals(orderNaiyoCd))` -- FTTH Auth Registration (L2241)

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_NET)` // Order type: NET |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_FTTH)` // Service order: FTTH Auth |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_NEW)` // Request type: NEW |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO)` // Order condition: instant issuance |
| 5 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Same processing number |
| 6 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` // Save work map |
| 7 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` // [C] Register order issuance conditions |
| 8 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_101)` // Order content: FTTH Auth Registration |
| 9 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` // Service contract detail number |
| 10 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` // Service contract detail registration datetime |
| 11 | SET | `inMap.put("huka_inf_kei_no", this.old_vrsb_jdg_svc_dtl_cd)` // Additional info contract number (old VR identification) |
| 12 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` // Save work map |
| 13 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` // [C] Register order info creation work |

### Block 3 -- ODR_NAIYO_CD_102 [IF] `(JKKHakkoSODConstCC.ODR_NAIYO_CD_102.equals(orderNaiyoCd))` -- FTTH Auth Password Change (L2269)

> Same pattern as Block 2, but with `yokyu_sbt_cd = YOKYU_SBT_CD_CHG` (change) and `svc_kei_ucwk_no` set from instance field.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` |
| 2 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_NET)` |
| 3 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_FTTH)` |
| 4 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG)` // Request type: CHANGE |
| 5 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO)` |
| 6 | SET | `inMap.put("same_trn_no", same_trn_no)` |
| 7 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 8 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 9 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_102)` |
| 10 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` |
| 11 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` |
| 12 | SET | `inMap.put("huka_inf_kei_no", this.old_vrsb_jdg_svc_dtl_cd)` // Additional info contract number |
| 13 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 14 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

### Block 4 -- ODR_NAIYO_CD_103 [IF] -- FTTH Auth Cancellation (L2299)

> Same pattern. `yokyu_sbt_cd = YOKYU_SBT_CD_DSL` (cancellation). Does NOT set `huka_inf_kei_no`.

| # | Type | Code |
|---|------|------|
| 1-8 | SET/EXEC | Same as Block 3 but `yokyu_sbt_cd = YOKYU_SBT_CD_DSL` (cancellation) |
| 9-12 | SET/EXEC | Same as Block 3 step 9-12 but no `huka_inf_kei_no` |
| 13 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

### Block 5 -- ODR_NAIYO_CD_104 [IF] -- FTTH Auth Deletion (L2324)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DEL` (deletion). No `svc_kei_ucwk_no` in step 1.

### Block 6 -- ODR_NAIYO_CD_105 [IF] -- FTTH Auth Restoration (L2348)

> `yokyu_sbt_cd = YOKYU_SBT_CD_KAIHK` (restoration). Step 2 sets `op_svc_kei_no = this.op_svc_kei_no_fixipad` and `opsvkei_gadtm = this.op_gadtm_fixipad` (fixed global IP address). Also sets `huka_inf_kei_no`.

### Block 7 -- ODR_NAIYO_CD_106 [IF] -- FTTH Auth Temp Suspension (L2374)

> `yokyu_sbt_cd = YOKYU_SBT_CD_STP` (temp suspension). Standard FTTH pattern.

### Block 8 -- ODR_NAIYO_CD_107 [IF] -- FTTH Auth Suspension Release (L2398)

> `yokyu_sbt_cd = YOKYU_SBT_CD_STP_RLS` (suspension release). Sets `huka_inf_kei_no`.

### Block 9 -- ODR_NAIYO_CD_108 [IF] -- Mail Registration (L2422)

> Switches to Mail service. `svc_order_cd = SVC_ORDER_CD_MAIL`. `yokyu_sbt_cd = YOKYU_SBT_CD_NEW`. Step 2 sets `op_svc_kei_no = this.op_svc_kei_no_ml` (E-Mail option service contract) and `opsvkei_gadtm = this.op_gadtm_ml`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("mlad", this.mlad)` // Mail address |
| 2-6 | SET | `order_sbt_cd=NET`, `svc_order_cd=MAIL`, `yokyu_sbt_cd=NEW`, `odr_hakko_joken_cd=SOKJI_HAKKO`, `same_trn_no` |
| 7-8 | EXEC/CALL | `param.setData(...)` / `executeOdrHakkoJokenAdd(...)` |
| 9 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_108)` |
| 10 | SET | `inMap.put("op_svc_kei_no", this.op_svc_kei_no_ml)` |
| 11 | SET | `inMap.put("opsvkei_gadtm", this.op_gadtm_ml)` |
| 12-13 | EXEC/CALL | `param.setData(...)` / `executeOdrInfoSakseiWkAdd(...)` |

### Block 10 -- ODR_NAIYO_CD_109 [IF] -- Mail Password Change (L2450)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Step 2 sets mail option fields.

### Block 11 -- ODR_NAIYO_CD_110 [IF] -- Mail E-Harassment Registration (L2475)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG` (change). Step 2 additionally sets `sbop_svc_kei_no = this.sbop_svckeino_alias` and `sbopsvkei_gadtm = this.sbop_gadtm_alias` (sub-option service contract).

### Block 12 -- ODR_NAIYO_CD_111 [IF] -- Mail E-Harassment Change (L2502)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Sets alias sub-option fields in step 2.

### Block 13 -- ODR_NAIYO_CD_112 [IF] -- Mail E-Harassment Cancellation (L2529)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Sets alias sub-option fields in step 2.

### Block 14 -- ODR_NAIYO_CD_113 [IF] -- Mail Mailbox Cap Change (L2556)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Step 2 sets mail option fields.

### Block 15 -- ODR_NAIYO_CD_114 [IF] -- Mail Wildcard Registration (L2580)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Step 2 sets mail option fields.

### Block 16 -- ODR_NAIYO_CD_115 [IF] -- Mail Wildcard Cancellation (L2604)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Step 2 additionally sets `sbop_svc_kei_no = this.sbop_svckeino_mlvirus` and `sbopsvkei_gadtm = this.sbop_gadtm_mlvirus` (mail virus service).

### Block 17 -- ODR_NAIYO_CD_116 [IF] -- Mail Cancellation (L2629)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DSL` (cancellation).

### Block 18 -- ODR_NAIYO_CD_117 [IF] -- Mail Cancellation (Scheduled) (L2653)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DSL`. Japanese comment: 解約(スケジュール日付あり) -- Cancellation with scheduled date.

### Block 19 -- ODR_NAIYO_CD_118 [IF] -- Mail Deletion (L2677)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DEL` (deletion).

### Block 20 -- ODR_NAIYO_CD_119 [IF] -- Mail Cancellation (Scheduled) (L2701)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DEL` (deletion). Japanese comment: 解約(スケジュール日付あり).

### Block 21 -- ODR_NAIYO_CD_120 [IF] -- Mail Restoration (L2725)

> `yokyu_sbt_cd = YOKYU_SBT_CD_KAIHK` (restoration).

### Block 22 -- ODR_NAIYO_CD_121 [IF] -- WEB Registration (L2749)

> Switches to WEB service. `svc_order_cd = SVC_ORDER_CD_WEB`. `yokyu_sbt_cd = YOKYU_SBT_CD_NEW`. Step 2 sets `op_svc_kei_no = this.op_svc_kei_no_hp` (My Home Page) and `opsvkei_gadtm = this.op_gadtm_hp`.

### Block 23 -- ODR_NAIYO_CD_122 [IF] -- WEB Password Change (L2774)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Sets My Home Page option fields.

### Block 24 -- ODR_NAIYO_CD_123 [IF] -- WEB Home Page Cap Change (L2798)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Sets My Home Page option fields.

### Block 25 -- ODR_NAIYO_CD_124 [IF] -- WEB Access Analysis Registration (L2822)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG` (change). Sets My Home Page option fields.

### Block 26 -- ODR_NAIYO_CD_125 [IF] -- WEB Access Analysis Cancellation (L2846)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Sets My Home Page option fields.

### Block 27 -- ODR_NAIYO_CD_126 [IF] -- WEB Cancellation (L2870)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DSL` (cancellation).

### Block 28 -- ODR_NAIYO_CD_127 [IF] -- WEB Deletion (L2894)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DEL` (deletion).

### Block 29 -- ODR_NAIYO_CD_128 [IF] -- WEB Restoration (L2918)

> `yokyu_sbt_cd = YOKYU_SBT_CD_KAIHK` (restoration).

### Block 30 -- ODR_NAIYO_CD_129 [IF] -- ML Registration (L2942)

> Switches to ML (Mailing List) service. `svc_order_cd = SVC_ORDER_CD_ML`. `yokyu_sbt_cd = YOKYU_SBT_CD_NEW`. Step 2 sets `op_svc_kei_no = this.op_svc_kei_no_mlist` (mailing list) and `opsvkei_gadtm = this.op_gadtm_mlist`.

### Block 31 -- ODR_NAIYO_CD_131 [IF] -- ML Cancellation (L2967)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DSL`. Sets mailing list option fields.

### Block 32 -- ODR_NAIYO_CD_132 [IF] -- ML Deletion (L2991)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DEL`. Sets mailing list option fields.

### Block 33 -- ODR_NAIYO_CD_133 [IF] -- ML Restoration (L3015)

> `yokyu_sbt_cd = YOKYU_SBT_CD_KAIHK`. Sets mailing list option fields.

### Block 34 -- ODR_NAIYO_CD_134 [IF] -- Dual Up Connection Registration (L3039)

> Switches to Dual Up Connection. `svc_order_cd = SVC_ORDER_CD_DUPCON`. `yokyu_sbt_cd = YOKYU_SBT_CD_NEW`. Step 2 sets `op_svc_kei_no = this.op_svc_kei_no_dial` (Dual Up) and `opsvkei_gadtm = this.op_gadtm_dial`. Also sets `svc_kei_ucwk_no` and `svkeiuw_gadtm`.

### Block 35 -- ODR_NAIYO_CD_135 [IF] -- Dual Up Connection Password Change (L3066)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Sets Dual Up option fields in step 1 and step 2.

### Block 36 -- ODR_NAIYO_CD_136 [IF] -- Dual Up Connection Plan Change (L3092)

> `yokyu_sbt_cd = YOKYU_SBT_CD_CHG` (plan change). Sets Dual Up option fields.

### Block 37 -- ODR_NAIYO_CD_137 [IF] -- Dual Up Connection Cancellation (L3116)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DSL`. Sets Dual Up option fields.

### Block 38 -- ODR_NAIYO_CD_138 [IF] -- Dual Up Connection Deletion (L3140)

> `yokyu_sbt_cd = YOKYU_SBT_CD_DEL`. Sets Dual Up option fields.

### Block 39 -- ODR_NAIYO_CD_140 [IF] -- Dual Up Temp Suspension (L3164)

> `yokyu_sbt_cd = YOKYU_SBT_CD_STP` (temp suspension). Sets Dual Up option fields.

### Block 40 -- ODR_NAIYO_CD_141 [IF] -- Dual Up Suspension Release (L3188)

> `yokyu_sbt_cd = YOKYU_SBT_CD_STP_RLS` (suspension release). Sets Dual Up option fields.

### Block 41 -- ODR_NAIYO_CD_142 [IF] -- Multisection (Dynamic) Registration (L3212)

> `svc_order_cd = SVC_ORDER_CD_FTTH`. `yokyu_sbt_cd = YOKYU_SBT_CD_CHG` (change). Step 2 sets `op_svc_kei_no = this.op_svc_kei_no_mltise` (multisection) and `opsvkei_gadtm = this.op_gadtm_mltise`. Also sets `huka_inf_kei_no`.

### Block 42 -- ODR_NAIYO_CD_143 [IF] -- Multisection (Dynamic) Cancellation (L3241)

> `svc_order_cd = SVC_ORDER_CD_FTTH`. `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`. Step 2 has a **nested if/else**: `if (null != svc_kei_ucwk_no)` then sets `EKK1551D010CBSMsg.SVC_KEI_UCWK_NO` and `EKK1551D010CBSMsg.SVKEIUW_GADTM`. Also sets `huka_inf_kei_no`.

**Block 42.1 -- nested if/else** (L3267)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `if (null != svc_kei_ucwk_no)` |
| 2 | SET | `inMap.put(EKK1551D010CBSMsg.SVC_KEI_UCWK_NO, svc_kei_ucwk_no[0])` |
| 3 | SET | `inMap.put(EKK1551D010CBSMsg.SVKEIUW_GADTM, svc_kei_ucwk_gadtm[0])` |

### Block 43 -- ODR_NAIYO_CD_144 [IF] -- Multisection (Static) Registration (L3281)

> `svc_order_cd = SVC_ORDER_CD_FTTH`. `yokyu_sbt_cd = YOKYU_SBT_CD_NEW` (new registration). Sets `huka_inf_kei_no`.

### Block 44 -- ODR_NAIYO_CD_145 [IF] -- Multisection (Static) Cancellation (L3305)

> `svc_order_cd = SVC_ORDER_CD_FTTH`. `yokyu_sbt_cd = YOKYU_SBT_CD_DSL` (cancellation).

### Block 45 -- ODR_NAIYO_CD_146-149 [IF] -- Router Setting Variants (L3329 onwards)

> These branches handle multi-function router settings. `svc_order_cd = SVC_ORDER_CD_MFROUTER` (from class-level constant, resolved at runtime). The branches cover:
> - 146: Router setting registration (new)
> - 147: Router setting password change
> - 148: Router setting plan change
> - 149: Router setting cancellation

> Step 1 sets `taknkiki_model_cd`, `kiki_seizo_no`, `svc_kei_kaisen_ucwk_no`, `order_sbt_cd`, `svc_order_cd`, `yokyu_sbt_cd`, `odr_hakko_joken_cd`, `same_trn_no`.
> Step 2 sets `kktk_svc_kei_no`, `kktsvkei_gadtm`, `huka_inf_kei_no`, `huka_inf_kei_gadtm`, `kkop_svc_kei_no_1` (router function), `kko_svkei_gadtm_1`, `kkop_svc_kei_no_2` (VA), `kko_svkei_gadtm_2`.

### Block 46 -- ODR_NAIYO_CD_209/229/230/252/266 [IF] -- Additional Branches (L3362)

> These handle address change scenarios and other special cases. They use `ODR_HAKKO_SVC_KEI_LIST` and `TRGT_DATA_MAP` from `JKKAdchgHakkoSODConstCC` for iterating over service contract lists. Each branch sets the same `order_sbt_cd`, `svc_order_cd`, `yokyu_sbt_cd`, `odr_hakko_joken_cd` pattern as other branches.

### Block 47 -- ODR_NAIYO_CD_409/410/417/421/422 [IF] -- Router VA / L2 Variants (L3400+)

> **Block 47.1 -- ODR_NAIYO_CD_409** (L3403): Additional router variant.
>
> **Block 47.2 -- ODR_NAIYO_CD_410** (L3428): Router VA function / phone number cancellation. `order_sbt_cd = ORDER_SBT_CD_TEL` (phone). `svc_order_cd = SVC_ORDER_CD_MRT`. Step 1 additionally sets `op_svc_kei_no = ""`, `sbop_svc_kei_no = ""`, `svc_kei_kaisen_ucwk_no`, `kktk_svc_kei_no`, `taknkiki_model_cd`, `kiki_seizo_no`, `mlad = ""`, `kkop_svc_kei_no_1 = ""`, `kkop_svc_kei_no_2 = kkop_svc_kei_va`.
>
> **Block 47.3 -- ODR_NAIYO_CD_417** (L3478): Router VA function / cancellation. `svc_order_cd = SVC_ORDER_CD_MFROUTER`. `yokyu_sbt_cd = YOKYU_SBT_CD_CHG`.
>
> **Block 47.4 -- ODR_NAIYO_CD_421** (L3503): Router L2 cancellation. `svc_order_cd = SVC_ORDER_CD_MFROUTER`. `yokyu_sbt_cd = YOKYU_SBT_CD_DSL`. Has a nested **if/else** on `JKKStringUtil.isNullEmpty(this.chbf_kktk_svc_kei_gadtm[0])`:
>
> **Block 47.4.1** (L3530): `if (!JKKStringUtil.isNullEmpty(...))` -- uses `chbf_kktk_svc_kei_gadtm[0]` (pre-change registration datetime).
>
> **Block 47.4.2** (L3532): `else` -- uses `kktk_svc_kei_gadtm[0]` (equipment provider service contract registration datetime).

> **Block 47.5 -- ODR_NAIYO_CD_422** (L3537): Router L2 deletion. `svc_order_cd = SVC_ORDER_CD_MFROUTER`. `yokyu_sbt_cd = YOKYU_SBT_CD_DEL`. Same nested if/else as Block 47.4.

### Block 99 -- Return (L6149)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return param;` // Return the updated request parameter |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_ucwk_no` | Field | Service detail work number -- internal tracking ID for service contract line items |
| `svc_kei_ucwk_gadtm` | Field | Service detail work registration datetime -- timestamp when the service contract detail was registered |
| `kktk_svc_kei_no` | Field | Equipment provider service contract number -- contract number for equipment-provided services |
| `kktk_svc_kei_gadtm` | Field | Equipment provider service contract registration datetime |
| `op_svc_kei_no` | Field | Option service contract number -- contract number for optional/add-on services |
| `opsvkei_gadtm` | Field | Option service contract registration datetime |
| `sbop_svc_kei_no` | Field | Sub-option service contract number -- for sub-level optional services (e-mail harassment, virus) |
| `sbopsvkei_gadtm` | Field | Sub-option service contract registration datetime |
| `seiopsvc_kei_no` | Field | Billing option service contract number |
| `order_sbt_cd` | Field | Order type code -- classifies the order by delivery method (NET=network, TEL=phone) |
| `svc_order_cd` | Field | Service order code -- identifies the service category (FTTH, MAIL, WEB, ML, DUPCON, MFROUTER) |
| `yokyu_sbt_cd` | Field | Request type code -- distinguishes between NEW, CHG (change), DSL (cancel), DEL (delete), KAIHK (restore), STP (suspend), STP_RLS (suspend release) |
| `odr_hakko_joken_cd` | Field | Order issuance condition code -- determines how the order is issued (SOKJI_HAKKO = instant issuance) |
| `odr_naiyo_cd` | Field | Order content code -- the primary discriminator in this method; maps to specific service operations |
| `same_trn_no` | Field | Same processing number -- transaction correlation ID for batch processing |
| `taknkiki_model_cd` | Field | Home equipment model code -- identifies the model of customer equipment (e.g., router) |
| `kiki_seizo_no` | Field | Equipment manufacturing serial number |
| `mlad` | Field | Mail address -- customer's email address |
| `spot_login_sysid` | Field | Spot login SYSID -- system ID for spot login authentication |
| `svc_kei_kaisen_ucwk_no` | Field | Service contract line detail number -- for additional information contracts |
| `svc_kei_kaisen_ucwk_gadtm` | Field | Service contract line detail registration datetime |
| `huka_inf_kei_no` | Field | Additional information contract number |
| `huka_inf_kei_gadtm` | Field | Additional information contract registration datetime |
| `chbf_kktk_svc_kei_gadtm` | Field | Pre-change equipment provider service contract registration datetime (used in router branches when customer has moved) |
| `kkop_svc_kei_no_1` | Field | Equipment option service contract number 1 (router function) |
| `kkop_svc_kei_no_2` | Field | Equipment option service contract number 2 (VA function) |
| `kko_svkei_gadtm_1` | Field | Equipment option service contract registration datetime 1 (router function) |
| `kko_svkei_gadtm_2` | Field | Equipment option service contract registration datetime 2 (VA function) |
| `old_vrsb_jdg_svc_dtl_cd` | Field | Old VR identification judgment service detail code -- used for additional information contract number mapping |
| `HAKKOSODCCWORKMAP` | Constant | Work map key constant -- the HashMap key storing all SOD work data |
| ORDER_SBT_CD_NET | Constant | "01" -- Network order type |
| ORDER_SBT_CD_TEL | Constant | "02" -- Telephone order type |
| YOKYU_SBT_CD_NEW | Constant | "1" -- New registration request |
| YOKYU_SBT_CD_CHG | Constant | "2" -- Change request |
| YOKYU_SBT_CD_DSL | Constant | "3" -- Cancellation request |
| YOKYU_SBT_CD_DEL | Constant | "4" -- Deletion request |
| YOKYU_SBT_CD_KAIHK | Constant | "5" -- Restoration request |
| YOKYU_SBT_CD_STP | Constant | "6" -- Temporary suspension request |
| YOKYU_SBT_CD_STP_RLS | Constant | "7" -- Suspension release request |
| ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO | Constant | "1" -- Instant order issuance condition |
| SVC_ORDER_CD_FTTH | Constant | "10" -- FTTH authentication service order |
| SVC_ORDER_CD_MAIL | Constant | "20" -- Email service order |
| SVC_ORDER_CD_WEB | Constant | "30" -- WEB service order |
| SVC_ORDER_CD_ML | Constant | "40" -- Mailing list service order |
| SVC_ORDER_CD_DUPCON | Constant | "50" -- Dual Up Connection service order |
| SVC_ORDER_CD_MFROUTER | Constant | "60" -- Multi-function router service order |
| SVC_ORDER_CD_MRT | Constant | Multi-function router setting service order (varies) |
| SOD | Acronym | Service Order Data -- telecom order fulfillment entity |
| FTTH | Business term | Fiber To The Home -- fiber-optic broadband internet service |
| ML | Business term | Mailing List -- email distribution list service |
| WEB | Business term | WEB services -- My Home Page, access analysis, and related web features |
| VA | Acronym | Virtual Access -- VA function for multi-function router |
| Dual Up | Business term | Dual Up Connection -- dual broadband connection service |
| Multisection | Business term | Dynamic/Static multisection -- service segmentation feature |
| MF Router | Acronym | Multi-Function Router -- customer-provided router device |
| ENUM | Acronym | E.185 Number Mapping -- protocol for mapping phone numbers to internet addresses (NTT decommissioning context) |
| SODCC | Acronym | Service Order Data Creation Component -- the common component class |
| HAKKO | Japanese | 発行 (hakko) -- issuance / generation |
| NAIYO | Japanese | 内容 (naiyo) -- content / details |
| JOKEN | Japanese | 条件 (joken) -- conditions |
| KIKI | Japanese | 機器 (kiki) -- equipment / device |
| KKOP | Japanese | 機器オプション (kkiki opushon) -- equipment option |
| SVC_KEI | Japanese | サービス契約 (saabisu keiyaku) -- service contract |
| UCWK | Japanese | 内容登録 (naiyo touroku) -- content registration |
| GADTM | Abbreviation | Generation Add Datetime -- registration timestamp |
| CHBF | Abbreviation | Change Before -- data prior to a change |
| CHAF | Abbreviation | Change After -- data after a change |
| SBOP | Abbreviation | Sub-Option -- sub-level optional service |
| AD | Abbreviation | Addition / Add |
| BBR | Abbreviation | Broadband (referenced in SOD品向対応 No.77 constants) |
| EKK1551D010CBSMsg | Class | CBS message class for sub-option service contract data fields (SVC_KEI_UCWK_NO, SVKEIUW_GADTM, SBOP_SVC_KEI_NO, SBOPSVKEI_GADTM) |
| HAKKOSODCCWORKMAP | Constant | Map key for the SOD work data HashMap passed between processing steps |
