# Business Logic — JKKHakkoSODCC.tsuikabunAddSOD() [388 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKHakkoSODCC` |
| Layer | CC / Common Component (Custom business logic shared component) |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKHakkoSODCC.tsuikabunAddSOD()

The `tsuikabunAddSOD` method performs **additional/bundled Service Order Data (SOD) registration** — it handles supplementary service orders that are attached to a primary order in the telecom order fulfillment system. The method acts as a **command dispatcher/routing hub** that inspects the incoming `orderNaiyoCd` (order content code) parameter and selects the appropriate business processing branch, each corresponding to a distinct service type.

The method supports **ten active service scenarios**: router connection info registration/change (ODR_NAIYO_CD_163), IPv6 registration (155), IPv6 change (156), IPv6 deletion (158), SIP/international phone stop registration (253), SIP/international phone stop cancellation (254), Wi-Fi spot registration (301), Wi-Fi spot change (302), WiMAX/CUI recovery (316), and WiMAX/DEV recovery (317). Historically, two additional branches (IPv6 cancellation at 157) were commented out following project changes in 2012–2013.

Each branch follows a **consistent two-phase delegation pattern**: first, it populates a work map with order release conditions and calls `executeOdrHakkoJokenAdd` to register the order release conditions (order issuance criteria) in the system. Second, it sets the `odr_naiyo_cd` field to the specific order content code and calls `executeOdrInfoSakseiWkAdd` to register the order information creation work record. The method serves as a **shared utility** called by five distinct entry points in the same class (`hakkouIpv6`, `jdgOdr163`, `kaihkOdrCtrl`, `opSetOdrCtrl`, `setChgePWForIPv6`), handling the common "add supplementary order" business operation across multiple order fulfillment workflows.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["tsuikabunAddSOD"])
    START --> GET_MAP["Get inMap from param"]
    GET_MAP --> CHECK_MAP{"inMap != null?"}
    CHECK_MAP -->|false| RETURN["Return param"]
    CHECK_MAP -->|true| INIT["Initialize inMap fields to empty strings"]
    INIT --> CHECK_163{"orderNaiyoCd == 163?"}
    CHECK_163 -->|true| ROUTER["ODR_NAIYO_CD_163: Router connection info / change"]
    CHECK_163 -->|false| CHECK_155{"orderNaiyoCd == 155?"}
    CHECK_155 -->|true| IPV6_REG["ODR_NAIYO_CD_155: IPv6 registration"]
    CHECK_155 -->|false| CHECK_156{"orderNaiyoCd == 156?"}
    CHECK_156 -->|true| IPV6_CHG["ODR_NAIYO_CD_156: IPv6 change"]
    CHECK_156 -->|false| CHECK_158{"orderNaiyoCd == 158?"}
    CHECK_158 -->|true| IPV6_DEL{"chkOpOdrSetOp check"}
    CHECK_158 -->|false| CHECK_253{"orderNaiyoCd == 253?"}
    CHECK_253 -->|true| SIP_STOP["ODR_NAIYO_CD_253: SIP / International phone stop registration"]
    CHECK_253 -->|false| CHECK_254{"orderNaiyoCd == 254?"}
    CHECK_254 -->|true| SIP_CANC["ODR_NAIYO_CD_254: SIP / International phone stop cancellation"]
    CHECK_254 -->|false| CHECK_301{"orderNaiyoCd == 301?"}
    CHECK_301 -->|true| WIFI_REG["ODR_NAIYO_CD_301: Wi-Fi spot registration"]
    CHECK_301 -->|false| CHECK_302{"orderNaiyoCd == 302?"}
    CHECK_302 -->|true| WIFI_CHG["ODR_NAIYO_CD_302: Wi-Fi spot change"]
    CHECK_302 -->|false| CHECK_316{"orderNaiyoCd == 316?"}
    CHECK_316 -->|true| WIMAX_CUI["ODR_NAIYO_CD_316: WiMAX / CUI recovery"]
    CHECK_316 -->|false| CHECK_317{"orderNaiyoCd == 317?"}
    CHECK_317 -->|true| WIMAX_DEV["ODR_NAIYO_CD_317: WiMAX / DEV recovery"]
    CHECK_317 -->|false| RETURN

    ROUTER --> R1["Set order_sbt_cd=ORDER_SBT_CD_NET<br/>svc_order_cd=SVC_ORDER_CD_ROUTER<br/>yokyu_sbt_cd=YOKYU_SBT_CD_CHG<br/>Populate from this. instance vars"]
    R1 --> R_EXEC1["executeOdrHakkoJokenAdd(handle, param)"]
    R_EXEC1 --> R2["Set odr_naiyo_cd=ODR_NAIYO_CD_163"]
    R2 --> R_EXEC2["executeOdrInfoSakseiWkAdd(handle, param)"]
    R_EXEC2 --> RETURN

    IPV6_REG --> IR1["Set order_sbt_cd=ORDER_SBT_CD_NET<br/>svc_order_cd=SVC_ORDER_CD_IPV6<br/>yokyu_sbt_cd=this.yokyu_sbt<br/>Populate from this. instance vars"]
    IR1 --> IR_EXEC1["executeOdrHakkoJokenAdd(handle, param)"]
    IR_EXEC1 --> IR2["Set odr_naiyo_cd=ODR_NAIYO_CD_155"]
    IR2 --> IR_EXEC2["executeOdrInfoSakseiWkAdd(handle, param)"]
    IR_EXEC2 --> RETURN

    IPV6_CHG --> IC1["Set order_sbt_cd=ORDER_SBT_CD_NET<br/>svc_order_cd=SVC_ORDER_CD_IPV6<br/>yokyu_sbt_cd=YOKYU_SBT_CD_CHG<br/>Populate from this. instance vars"]
    IC1 --> IC_EXEC1["executeOdrHakkoJokenAdd(handle, param)"]
    IC_EXEC1 --> IC2["Set odr_naiyo_cd=ODR_NAIYO_CD_156"]
    IC2 --> IC_EXEC2["executeOdrInfoSakseiWkAdd(handle, param)"]
    IC_EXEC2 --> RETURN

    IPV6_DEL --> ID1["Set order_sbt_cd=ORDER_SBT_CD_NET<br/>svc_order_cd=SVC_ORDER_CD_IPV6<br/>yokyu_sbt_cd=YOKYU_SBT_CD_DEL<br/>Populate from this. instance vars"]
    ID1 --> ID_EXEC1["executeOdrHakkoJokenAdd(handle, param)"]
    ID_EXEC1 --> ID2["Set odr_naiyo_cd=ODR_NAIYO_CD_158"]
    ID2 --> ID_EXEC2["executeOdrInfoSakseiWkAdd(handle, param)"]
    ID_EXEC2 --> RETURN

    SIP_STOP --> SS1["Set order_sbt_cd=ORDER_SBT_CD_TEL<br/>svc_order_cd=SVC_ORDER_CD_SIP<br/>yokyu_sbt_cd=YOKYU_SBT_CD_CHG<br/>Populate from this.svc_kei_ucwk_no[0]"]
    SS1 --> SS_EXEC1["executeOdrHakkoJokenAdd(handle, param)"]
    SS_EXEC1 --> SS2["Set odr_naiyo_cd=ODR_NAIYO_CD_253"]
    SS2 --> SS_EXEC2["executeOdrInfoSakseiWkAdd(handle, param)"]
    SS_EXEC2 --> RETURN

    SIP_CANC --> SC1["Set order_sbt_cd=ORDER_SBT_CD_TEL<br/>svc_order_cd=SVC_ORDER_CD_SIP<br/>yokyu_sbt_cd=YOKYU_SBT_CD_CHG<br/>Populate from this.svc_kei_ucwk_no[0]"]
    SC1 --> SC_EXEC1["executeOdrHakkoJokenAdd(handle, param)"]
    SC_EXEC1 --> SC2["Set odr_naiyo_cd=ODR_NAIYO_CD_254"]
    SC2 --> SC_EXEC2["executeOdrInfoSakseiWkAdd(handle, param)"]
    SC_EXEC2 --> RETURN

    WIFI_REG --> WR1["Set order_sbt_cd=ORDER_SBT_CD_MOBILE<br/>svc_order_cd=SVC_ORDER_CD_SPOT<br/>yokyu_sbt_cd=YOKYU_SBT_CD_NEW<br/>Populate from this.svc_kei_ucwk_no[0]"]
    WR1 --> WR_EXEC1["executeOdrHakkoJokenAdd(handle, param)"]
    WR_EXEC1 --> WR2["Set odr_naiyo_cd=ODR_NAIYO_CD_301"]
    WR2 --> WR_EXEC2["executeOdrInfoSakseiWkAdd(handle, param)"]
    WR_EXEC2 --> RETURN

    WIFI_CHG --> WC1["Set order_sbt_cd=ORDER_SBT_CD_MOBILE<br/>svc_order_cd=SVC_ORDER_CD_SPOT<br/>yokyu_sbt_cd=YOKYU_SBT_CD_CHG<br/>Populate from this.svc_kei_ucwk_no[0]"]
    WC1 --> WC_EXEC1["executeOdrHakkoJokenAdd(handle, param)"]
    WC_EXEC1 --> WC2["Set odr_naiyo_cd=ODR_NAIYO_CD_302"]
    WC2 --> WC_EXEC2["executeOdrInfoSakseiWkAdd(handle, param)"]
    WC_EXEC2 --> RETURN

    WIMAX_CUI --> WRC1["Set taknkiki_model_cd=this.taknkiki_model_cd[0]<br/>kiki_seizo_no=this.kiki_seizo_no[0]<<br/>order_sbt_cd=ORDER_SBT_CD_MOBILE<br/>svc_order_cd=SVC_ORDER_CD_CUI<br/>yokyu_sbt_cd=YOKYU_SBT_CD_NEW<br/>Populate from this.svc_kei_ucwk_no[0]"]
    WRC1 --> WRC_EXEC1["executeOdrHakkoJokenAdd(handle, param)"]
    WRC_EXEC1 --> WRC2["Set odr_naiyo_cd=ODR_NAIYO_CD_316"]
    WRC2 --> WRC_EXEC2["executeOdrInfoSakseiWkAdd(handle, param)"]
    WRC_EXEC2 --> RETURN

    WIMAX_DEV --> WRD1["Set taknkiki_model_cd=this.taknkiki_model_cd[0]<br/>kiki_seizo_no=this.kiki_seizo_no[0]<br/>order_sbt_cd=ORDER_SBT_CD_MOBILE<br/>svc_order_cd=SVC_ORDER_CD_DEV<br/>yokyu_sbt_cd=YOKYU_SBT_CD_NEW<br/>Populate from this.svc_kei_ucwk_no[0]"]
    WRD1 --> WRD_EXEC1["executeOdrHakkoJokenAdd(handle, param)"]
    WRD_EXEC1 --> WRD2["Set odr_naiyo_cd=ODR_NAIYO_CD_317"]
    WRD2 --> WRD_EXEC2["executeOdrInfoSakseiWkAdd(handle, param)"]
    WRD_EXEC2 --> RETURN
```

**Processing Summary:**

Every active branch follows a uniform two-phase pattern:

1. **Phase 1 — Order Release Conditions Registration:** Set `order_sbt_cd` (order subtype code), `svc_order_cd` (service order code), `yokyu_sbt_cd` (request subtype code), `odr_hakko_joken_cd` (order release condition code) to appropriate constant values, populate contract/information fields from either `this.` instance variables or `this.` array elements, save the map, and call `executeOdrHakkoJokenAdd(handle, param)`.

2. **Phase 2 — Order Information Creation Work Registration:** Update `odr_naiyo_cd` to match the original dispatch code, save the map again, and call `executeOdrInfoSakseiWkAdd(handle, param)`.

Branch 158 (IPv6 deletion) additionally wraps the entire processing in a conditional guard checking `chkOpOdrSetOp()` before proceeding.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Database session handle providing transactional context and database connectivity for the persistence operations performed by the two delegated service methods. |
| 2 | `param` | `IRequestParameterReadWrite` | Request parameter object carrying the order processing context. Contains a work map (`HAKKOSODCCWORKMAP`) that is first cleared/initialized with empty strings, then populated with service order data, and returned with updated values. |
| 3 | `orderNaiyoCd` | `String` | Order content code that determines which service branch to execute. Values route to: `"163"` (router connection info), `"155"` (IPv6 registration), `"156"` (IPv6 change), `"158"` (IPv6 deletion), `"253"` (SIP/international phone stop registration), `"254"` (SIP stop cancellation), `"301"` (Wi-Fi spot registration), `"302"` (Wi-Fi spot change), `"316"` (WiMAX/CUI recovery), `"317"` (WiMAX/DEV recovery). |

**Instance fields read by this method:**

| Field | Type | Usage |
|-------|------|-------|
| `this.op_svc_kei_no_ipv6` | `String` | Option service contract number — source for IPv6-branch branches (163, 155, 156, 158) |
| `this.op_gadtm_ipv6` | `String` | Option service contract generation timestamp |
| `this.ipv6_svc_kei_ucwk_no` | `String` | Service contract detail number — IPv6 source |
| `this.ipv6_svc_kei_ucwk_gadtm` | `String` | Service contract detail generation timestamp — IPv6 source |
| `this.ipv6_kktk_svc_kei_no` | `String` | Equipment-provided service contract number — IPv6 source |
| `this.ipv6_kktk_svc_kei_gadtm` | `String` | Equipment-provided service contract generation timestamp — IPv6 source |
| `this.taknkiki_model_cd_ipv6` | `String` | In-home equipment model code — IPv6 source |
| `this.kiki_seizo_no_ipv6` | `String` | Equipment serial number — IPv6 source |
| `this.yokyu_sbt` | `String` | Request subtype code — used directly for IPv6 registration (155) |
| `this.same_trn_no` | `String` | Same processing number — transaction grouping ID |
| `this.svc_kei_ucwk_no[]` | `String[]` | Service contract detail number array — source for branches 253, 254, 301, 302, 316, 317 |
| `this.svc_kei_ucwk_gadtm[]` | `String[]` | Service contract detail generation timestamp array |
| `this.kktk_svc_kei_no[]` | `String[]` | Equipment-provided service contract number array — source for WiMAX branches (316, 317) |
| `this.kktk_svc_kei_gadtm[]` | `String[]` | Equipment-provided service contract generation timestamp array — WiMAX |
| `this.taknkiki_model_cd[]` | `String[]` | In-home equipment model code array — WiMAX |
| `this.kiki_seizo_no[]` | `String[]` | Equipment serial number array — WiMAX |
| `this.odr_hakkou_jyoken` | `String` | Order release condition code — used for Wi-Fi spot and WiMAX recovery branches |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `executeOdrHakkoJokenAdd` | JKKHakkoSODCC | Order Release Conditions Table | Registers order release conditions (order issuance criteria) — called in Phase 1 of every branch |
| C | `executeOdrInfoSakseiWkAdd` | JKKHakkoSODCC | Order Information Creation Work Table | Registers order information creation work records — called in Phase 2 of every branch |

### Full CRUD Analysis:

Each of the 10 active branches calls the same pair of service methods:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `executeOdrHakkoJokenAdd` | `JKKHakkoSODCC` | KK_T_ODR_HAKKO_JOKEN (Order Release Conditions) | Creates a new order release conditions record with the populated order subtype code, service order code, request subtype code, and service contract details from instance variables/arrays |
| C | `executeOdrInfoSakseiWkAdd` | `JKKHakkoSODCC` | KK_T_ODR_INFO_SAKSEI_WK (Order Information Creation Work) | Creates a new order information creation work record identifying the specific order content type via `odr_naiyo_cd` |

**Branch 158 additional call:**

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `chkOpOdrSetOp` | `JKKHakkoSODCC` | - | Read check — determines whether order release should proceed; returns boolean guard flag. This is a conditional gate (not a data write) for IPv6 deletion orders |

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 5 methods.
Terminal operations from this method: `executeOdrInfoSakseiWkAdd` [C], `executeOdrHakkoJokenAdd` [C], repeated across all branches.

### Callers:

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `JKKHakkoSODCC.hakkouIpv6()` | `hakkouIpv6()` -> `tsuikabunAddSOD()` | `executeOdrHakkoJokenAdd [C] KK_T_ODR_HAKKO_JOKEN`<br>`executeOdrInfoSakseiWkAdd [C] KK_T_ODR_INFO_SAKSEI_WK` |
| 2 | `JKKHakkoSODCC.jdgOdr163()` | `jdgOdr163()` -> `tsuikabunAddSOD()` | `executeOdrHakkoJokenAdd [C] KK_T_ODR_HAKKO_JOKEN`<br>`executeOdrInfoSakseiWkAdd [C] KK_T_ODR_INFO_SAKSEI_WK` |
| 3 | `JKKHakkoSODCC.kaihkOdrCtrl()` | `kaihkOdrCtrl()` -> `tsuikabunAddSOD()` | `executeOdrHakkoJokenAdd [C] KK_T_ODR_HAKKO_JOKEN`<br>`executeOdrInfoSakseiWkAdd [C] KK_T_ODR_INFO_SAKSEI_WK` |
| 4 | `JKKHakkoSODCC.opSetOdrCtrl()` | `opSetOdrCtrl()` -> `tsuikabunAddSOD()` | `executeOdrHakkoJokenAdd [C] KK_T_ODR_HAKKO_JOKEN`<br>`executeOdrInfoSakseiWkAdd [C] KK_T_ODR_INFO_SAKSEI_WK` |
| 5 | `JKKHakkoSODCC.setChgePWForIPv6()` | `setChgePWForIPv6()` -> `tsuikabunAddSOD()` | `executeOdrHakkoJokenAdd [C] KK_T_ODR_HAKKO_JOKEN`<br>`executeOdrInfoSakseiWkAdd [C] KK_T_ODR_INFO_SAKSEI_WK` |

**Notes:** All callers reside in the same class (`JKKHakkoSODCC`), indicating this is an internal routing method within the order issuance SOD common component. No direct screen (KKSV*) or batch entry points are in the immediate caller chain — callers are other order processing methods within the same CC class.

## 6. Per-Branch Detail Blocks

**Block 1** — IF `(null != inMap)` (L4935)

> Retrieves the work map from the parameter object. If the map is null, the method skips all processing and returns immediately.

| # | Type | Code |
|---|------|------|
| 1 | GET | `HashMap inMap = (HashMap)param.getData(JKKHakkoSODConstCC.HAKKOSODCCWORKMAP)` // Extract work map from request param |
| 2 | CHECK | `if (null != inMap)` // Guard: skip if no work map exists |

---

**Block 2** — IF `(null != inMap)` body, Mapping Initialization (L4940–L4974)

> Initializes 25 fields in the work map to empty strings, clearing previous order data before new order processing. Service contract numbers are explicitly NOT initialized (commented as not clearing). Fields used by the actual SOD batch side are also initialized as a precaution.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("svc_kei_ucwk_no", "")` // Service contract detail number — NOT initialized (commented) |
| 2 | SET | `inMap.put("kktk_svc_kei_no", "")` // Equipment-provided service contract number |
| 3 | SET | `inMap.put("op_svc_kei_no", "")` // Option service contract number |
| 4 | SET | `inMap.put("sbop_svc_kei_no", "")` // Sub-option service contract number |
| 5 | SET | `inMap.put("seiopsvc_kei_no", "")` // Billing option service contract number |
| 6 | SET | `inMap.put("order_sbt_cd", "")` // Order subtype code |
| 7 | SET | `inMap.put("svc_order_cd", "")` // Service order code |
| 8 | SET | `inMap.put("yokyu_sbt_cd", "")` // Request subtype code |
| 9 | SET | `inMap.put("odr_hakko_joken_cd", "")` // Order release condition code |
| 10 | SET | `inMap.put("same_trn_no", "")` // Same processing number |
| 11 | SET | `inMap.put("taknkiki_model_cd", "")` // In-home equipment model code |
| 12 | SET | `inMap.put("kiki_seizo_no", "")` // Equipment serial number |
| 13 | SET | `inMap.put("mlad", "")` // Mail address |
| 14 | SET | `inMap.put("spot_login_sysid", "")` // Spot login system ID |
| 15 | SET | `inMap.put("send_req_fin_dtm", "")` // Send request completion timestamp |
| 16 | SET | `inMap.put("odr_hakko_joken_no", "")` // Order release condition number |
| 17 | SET | `inMap.put("odr_naiyo_cd", "")` // Order content code |
| 18 | SET | `inMap.put("svkeiuw_gadtm", "")` // Service contract detail generation timestamp |
| 19 | SET | `inMap.put("kktsvkei_gadtm", "")` // Equipment-provided service contract generation timestamp |
| 20 | SET | `inMap.put("opsvkei_gadtm", "")` // Option service contract generation timestamp |
| 21 | SET | `inMap.put("sbopsvkei_gadtm", "")` // Sub-option service contract generation timestamp |
| 22 | SET | `inMap.put("seiopsvkei_gadtm", "")` // Billing option service contract generation timestamp |
| 23 | SET | `inMap.put("huka_inf_kei_no", "")` // Additional information contract number (unused by batch, precautionary) |
| 24 | SET | `inMap.put("huka_inf_kei_gadtm", "")` // Additional information contract generation timestamp |
| 25 | SET | `inMap.put("chbf_svkei_gadtm", "")` // Pre-change service contract generation timestamp |
| 26 | SET | `inMap.put("chbf_svkeiuw_gadtm", "")` // Pre-change service contract detail generation timestamp |
| 27 | SET | `inMap.put("chbf_kktsvkei_gadtm", "")` // Pre-change equipment-provided service contract timestamp |
| 28 | SET | `inMap.put("chbf_opsvkei_gadtm", "")` // Pre-change option service contract timestamp |
| 29 | SET | `inMap.put("chbf_sbopsvkei_gadtm", "")` // Pre-change sub-option contract timestamp |
| 30 | SET | `inMap.put("chbf_seiopsvkei_gadtm", "")` // Pre-change billing option contract timestamp |

---

**Block 3** — ELSE-IF `orderNaiyoCd == ODR_NAIYO_CD_163` (Router Connection Info / Change) (L4976)

> Processes router connection info registration or change. Maps order subtype to NET, service order to ROUTER, and request subtype to CHANGE. All service contract fields are populated from IPv6-specific instance variables.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_NET)` // Order subtype code (NET) [-> "01"] |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_ROUTER)` // Service order code (Router connection info) |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG)` // Request subtype code (Change) [-> "02"] |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO)` // Order release condition code (Instant release) |
| 5 | SET | `inMap.put("same_trn_no", same_trn_no)` // Same processing number |
| 6 | SET | `inMap.put("op_svc_kei_no", this.op_svc_kei_no_ipv6)` // Option service contract number (IPv6 source) |
| 7 | SET | `inMap.put("opsvkei_gadtm", this.op_gadtm_ipv6)` // Option service contract generation timestamp (IPv6) |
| 8 | SET | `inMap.put("svc_kei_ucwk_no", this.ipv6_svc_kei_ucwk_no)` // Service contract detail number |
| 9 | SET | `inMap.put("svkeiuw_gadtm", this.ipv6_svc_kei_ucwk_gadtm)` // Service contract detail generation timestamp |
| 10 | SET | `inMap.put("kktk_svc_kei_no", this.ipv6_kktk_svc_kei_no)` // Equipment-provided service contract number |
| 11 | SET | `inMap.put("kktsvkei_gadtm", this.ipv6_kktk_svc_kei_gadtm)` // Equipment-provided service contract generation timestamp |
| 12 | SET | `inMap.put("taknkiki_model_cd", this.taknkiki_model_cd_ipv6)` // In-home equipment model code |
| 13 | SET | `inMap.put("kiki_seizo_no", this.kiki_seizo_no_ipv6)` // Equipment serial number |
| 14 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` // Save map to param |
| 15 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 16 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_163)` // Order content code (Router connection info / change) |
| 17 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` // Save updated map |
| 18 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

---

**Block 4** — ELSE-IF `orderNaiyoCd == ODR_NAIYO_CD_155` (IPv6 Registration) (L5038)

> Processes IPv6 service registration. Uses `this.yokyu_sbt` (instance field) for request subtype instead of a constant. All other fields are IPv6-specific instance variables.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_NET)` // Order subtype code (NET) |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_IPV6)` // Service order code (IPv6) |
| 3 | SET | `inMap.put("yokyu_sbt_cd", this.yokyu_sbt)` // Request subtype code (from instance field) |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO)` // Order release condition code (Instant release) |
| 5 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Same processing number |
| 6 | SET | `inMap.put("op_svc_kei_no", this.op_svc_kei_no_ipv6)` // Option service contract number (IPv6) |
| 7 | SET | `inMap.put("opsvkei_gadtm", this.op_gadtm_ipv6)` // Option service contract generation timestamp (IPv6) |
| 8 | SET | `inMap.put("svc_kei_ucwk_no", this.ipv6_svc_kei_ucwk_no)` // Service contract detail number |
| 9 | SET | `inMap.put("svkeiuw_gadtm", this.ipv6_svc_kei_ucwk_gadtm)` // Service contract detail generation timestamp |
| 10 | SET | `inMap.put("kktk_svc_kei_no", this.ipv6_kktk_svc_kei_no)` // Equipment-provided service contract number |
| 11 | SET | `inMap.put("kktsvkei_gadtm", this.ipv6_kktk_svc_kei_gadtm)` // Equipment-provided service contract generation timestamp |
| 12 | SET | `inMap.put("taknkiki_model_cd", this.taknkiki_model_cd_ipv6)` // In-home equipment model code |
| 13 | SET | `inMap.put("kiki_seizo_no", this.kiki_seizo_no_ipv6)` // Equipment serial number |
| 14 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 15 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 16 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_155)` // Order content code (IPv6 / Registration) |
| 17 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 18 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

---

**Block 5** — ELSE-IF `orderNaiyoCd == ODR_NAIYO_CD_156` (IPv6 Change) (L5085)

> Processes IPv6 service change (modification). Uses `YOKYU_SBT_CD_CHG` (request subtype: Change) instead of the instance field used in registration. Does not populate `kktk_svc_kei_no` and related fields (no equipment-provided service contract for changes).

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_NET)` // Order subtype code (NET) |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_IPV6)` // Service order code (IPv6) |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG)` // Request subtype code (Change) [-> "02"] |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO)` // Order release condition code (Instant release) |
| 5 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Same processing number |
| 6 | SET | `inMap.put("op_svc_kei_no", this.op_svc_kei_no_ipv6)` // Option service contract number (IPv6) |
| 7 | SET | `inMap.put("opsvkei_gadtm", this.op_gadtm_ipv6)` // Option service contract generation timestamp (IPv6) |
| 8 | SET | `inMap.put("svc_kei_ucwk_no", this.ipv6_svc_kei_ucwk_no)` // Service contract detail number |
| 9 | SET | `inMap.put("svkeiuw_gadtm", this.ipv6_svc_kei_ucwk_gadtm)` // Service contract detail generation timestamp |
| 10 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 11 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 12 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_156)` // Order content code (IPv6 / Change) |
| 13 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 14 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

---

**Block 6** — ELSE-IF `orderNaiyoCd == ODR_NAIYO_CD_158` (IPv6 Deletion) (L5232)

> Processes IPv6 service deletion. Note: The original `chkOpOdrSetOp` guard was removed in IT1-2013-0000714 (WEB does not issue order release conditions). Uses `YOKYU_SBT_CD_DEL` (request subtype: Deletion). This is the ONLY branch with a conditional guard wrapping.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_NET)` // Order subtype code (NET) |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_IPV6)` // Service order code (IPv6) |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_DEL)` // Request subtype code (Deletion) |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO)` // Order release condition code (Instant release) |
| 5 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Same processing number |
| 6 | SET | `inMap.put("op_svc_kei_no", this.op_svc_kei_no_ipv6)` // Option service contract number (IPv6) |
| 7 | SET | `inMap.put("opsvkei_gadtm", this.op_gadtm_ipv6)` // Option service contract generation timestamp (IPv6) |
| 8 | SET | `inMap.put("svc_kei_ucwk_no", this.ipv6_svc_kei_ucwk_no)` // Service contract detail number |
| 9 | SET | `inMap.put("svkeiuw_gadtm", this.ipv6_svc_kei_ucwk_gadtm)` // Service contract detail generation timestamp |
| 10 | SET | `inMap.put("kktk_svc_kei_no", this.ipv6_kktk_svc_kei_no)` // Equipment-provided service contract number |
| 11 | SET | `inMap.put("kktsvkei_gadtm", this.ipv6_kktk_svc_kei_gadtm)` // Equipment-provided service contract generation timestamp |
| 12 | SET | `inMap.put("taknkiki_model_cd", this.taknkiki_model_cd_ipv6)` // In-home equipment model code |
| 13 | SET | `inMap.put("kiki_seizo_no", this.kiki_seizo_no_ipv6)` // Equipment serial number |
| 14 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 15 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 16 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_158)` // Order content code (IPv6 / Deletion) |
| 17 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 18 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

---

**Block 7** — ELSE-IF `orderNaiyoCd == ODR_NAIYO_CD_253` (SIP / International Phone Stop Registration) (L5295)

> Processes SIP/international phone stop registration. Switches to `ORDER_SBT_CD_TEL` (telephone) order subtype and `SVC_ORDER_CD_SIP` service order code. Uses `svc_kei_ucwk_no[0]` (array element 0) instead of instance variables for contract details.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_TEL)` // Order subtype code (Telephone) [-> "02"] |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_SIP)` // Service order code (SIP) |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG)` // Request subtype code (Change) [-> "02"] |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO)` // Order release condition code (Instant release) |
| 5 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` // Service contract detail number (array[0]) |
| 6 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` // Service contract detail generation timestamp (array[0]) |
| 7 | SET | `inMap.put("same_trn_no", same_trn_no)` // Same processing number |
| 8 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 9 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 10 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_253)` // Order content code (SIP / International phone stop registration) |
| 11 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 12 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

---

**Block 8** — ELSE-IF `orderNaiyoCd == ODR_NAIYO_CD_254` (SIP / International Phone Stop Cancellation) (L5324)

> Processes SIP/international phone stop cancellation. Same structure as Block 7 but uses `this.same_trn_no` (instance field) instead of the local parameter `same_trn_no`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_TEL)` // Order subtype code (Telephone) |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_SIP)` // Service order code (SIP) |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG)` // Request subtype code (Change) |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO)` // Order release condition code (Instant release) |
| 5 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` // Service contract detail number (array[0]) |
| 6 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` // Service contract detail generation timestamp (array[0]) |
| 7 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Same processing number (instance field) |
| 8 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 9 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 10 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_254)` // Order content code (SIP / International phone stop cancellation) |
| 11 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 12 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

---

**Block 9** — ELSE-IF `orderNaiyoCd == ODR_NAIYO_CD_301` (Wi-Fi Spot Registration) (L5353)

> Processes Wi-Fi spot registration. Uses `ORDER_SBT_CD_MOBILE` (mobile) order subtype and `SVC_ORDER_CD_SPOT` (SPOT authentication) service order code. Uses `this.odr_hakkou_jyoken` (instance field) for order release condition instead of the instant release constant.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_MOBILE)` // Order subtype code (Mobile) [-> "05"] |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_SPOT)` // Service order code (SPOT authentication) |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_NEW)` // Request subtype code (New) [-> "01"] |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", this.odr_hakkou_jyoken)` // Order release condition code (instance field) |
| 5 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` // Service contract detail number (array[0]) |
| 6 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` // Service contract detail generation timestamp (array[0]) |
| 7 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Same processing number |
| 8 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 9 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 10 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_301)` // Order content code (Wi-Fi spot / Registration) |
| 11 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 12 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

---

**Block 10** — ELSE-IF `orderNaiyoCd == ODR_NAIYO_CD_302` (Wi-Fi Spot Change) (L5382)

> Processes Wi-Fi spot change. Same structure as Block 9 but uses `YOKYU_SBT_CD_CHG` (change) instead of `YOKYU_SBT_CD_NEW` (new).

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_MOBILE)` // Order subtype code (Mobile) |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_SPOT)` // Service order code (SPOT authentication) |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG)` // Request subtype code (Change) |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", this.odr_hakkou_jyoken)` // Order release condition code (instance field) |
| 5 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` // Service contract detail number (array[0]) |
| 6 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` // Service contract detail generation timestamp (array[0]) |
| 7 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Same processing number |
| 8 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 9 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 10 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_302)` // Order content code (Wi-Fi spot / Change) |
| 11 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 12 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

---

**Block 11** — ELSE-IF `orderNaiyoCd == ODR_NAIYO_CD_316` (WiMAX / CUI Recovery) (L5412)

> Processes WiMAX CUI (Customer Identity Unit) recovery per ANK-0100-00-01. Uses `SVC_ORDER_CD_CUI` as the service order code. Notably, `yokyu_sbt_cd` is set to `YOKYU_SBT_CD_NEW` (New) instead of `YOKYU_SBT_CD_KAIHK` (Recovery) — the recovery code line is commented out. Also sets `taknkiki_model_cd` and `kiki_seizo_no` from arrays, plus equipment-provided service contract number and timestamp from arrays.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("taknkiki_model_cd", this.taknkiki_model_cd[0])` // In-home equipment model code (array[0]) |
| 2 | SET | `inMap.put("kiki_seizo_no", this.kiki_seizo_no[0])` // Equipment serial number (array[0]) |
| 3 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_MOBILE)` // Order subtype code (Mobile) |
| 4 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_CUI)` // Service order code (CUI) |
| 5 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_NEW)` // Request subtype code (New) [-> "01"] (commented out KAIHK) |
| 6 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO)` // Order release condition code (Instant release) |
| 7 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` // Service contract detail number (array[0]) |
| 8 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` // Service contract detail generation timestamp (array[0]) |
| 9 | SET | `inMap.put("kktk_svc_kei_no", this.kktk_svc_kei_no[0])` // Equipment-provided service contract number (array[0]) |
| 10 | SET | `inMap.put("kktsvkei_gadtm", this.kktk_svc_kei_gadtm[0])` // Equipment-provided service contract generation timestamp (array[0]) |
| 11 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Same processing number |
| 12 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 13 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 14 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_316)` // Order content code (WiMAX / CUI recovery) |
| 15 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 16 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

---

**Block 12** — ELSE-IF `orderNaiyoCd == ODR_NAIYO_CD_317` (WiMAX / DEV Recovery) (L5442)

> Processes WiMAX DEV (Device) recovery. Structurally identical to Block 11 except uses `SVC_ORDER_CD_DEV` (DEV) instead of `SVC_ORDER_CD_CUI` (CUI).

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("taknkiki_model_cd", this.taknkiki_model_cd[0])` // In-home equipment model code (array[0]) |
| 2 | SET | `inMap.put("kiki_seizo_no", this.kiki_seizo_no[0])` // Equipment serial number (array[0]) |
| 3 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_MOBILE)` // Order subtype code (Mobile) |
| 4 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_DEV)` // Service order code (DEV) |
| 5 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_NEW)` // Request subtype code (New) [-> "01"] (commented out KAIHK) |
| 6 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO)` // Order release condition code (Instant release) |
| 7 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` // Service contract detail number (array[0]) |
| 8 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` // Service contract detail generation timestamp (array[0]) |
| 9 | SET | `inMap.put("kktk_svc_kei_no", this.kktk_svc_kei_no[0])` // Equipment-provided service contract number (array[0]) |
| 10 | SET | `inMap.put("kktsvkei_gadtm", this.kktk_svc_kei_gadtm[0])` // Equipment-provided service contract generation timestamp (array[0]) |
| 11 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Same processing number |
| 12 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 13 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` |
| 14 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_317)` // Order content code (WiMAX / DEV recovery) |
| 15 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 16 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` |

---

**Block 13** — RETURN (L5471)

> Returns the updated `param` object with the populated work map to the caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return param;` // Return processed param with updated work map |

---

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `tsuikabunAddSOD` | Method | Add supplementary/bundled Service Order Data — registers additional service orders attached to a primary order |
| `orderNaiyoCd` | Parameter | Order content code — classifies the type of supplementary service order (router, IPv6, SIP, Wi-Fi, WiMAX) |
| `inMap` | Variable | Work map (HashMap) — temporary storage holding all order data fields for the current processing branch |
| `svc_kei_ucwk_no` | Field | Service contract detail number — internal tracking ID for service contract line items |
| `svc_kei_ucwk_gadtm` | Field | Service contract detail generation timestamp — year/month/day/hour/minute/second when the detail was registered |
| `kktk_svc_kei_no` | Field | Equipment-provided service contract number — contract number for equipment-provided services |
| `kktsvkei_gadtm` | Field | Equipment-provided service contract generation timestamp |
| `op_svc_kei_no` | Field | Option service contract number — contract number for optional add-on services |
| `opsvkei_gadtm` | Field | Option service contract generation timestamp |
| `sbop_svc_kei_no` | Field | Sub-option service contract number |
| `seiopsvc_kei_no` | Field | Billing option service contract number |
| `order_sbt_cd` | Field | Order subtype code — classifies order as NET (01), TEL (02), or MOBILE (05) |
| `svc_order_cd` | Field | Service order code — specific service identifier (ROUTER, IPV6, SIP, SPOT, CUI, DEV) |
| `yokyu_sbt_cd` | Field | Request subtype code — NEW (01), CHANGE (02), DELETION (03), or RECOVERY (04) |
| `odr_hakko_joken_cd` | Field | Order release condition code — controls when/how orders are released/issued |
| `odr_naiyo_cd` | Field | Order content code — dispatch key identifying the specific order scenario (155, 156, 158, 163, 253, 254, 301, 302, 316, 317) |
| `same_trn_no` | Field | Same processing number — transaction grouping identifier for related operations |
| `taknkiki_model_cd` | Field | In-home equipment model code — identifies the model of customer-owned equipment |
| `kiki_seizo_no` | Field | Equipment serial number — unique hardware identifier |
| `mlad` | Field | Mail address — customer email address |
| `spot_login_sysid` | Field | Spot login system ID — authentication identifier for Wi-Fi spot services |
| `send_req_fin_dtm` | Field | Send request completion timestamp |
| `odr_hakko_joken_no` | Field | Order release condition number |
| `svkeiuw_gadtm` | Field | Service contract detail generation timestamp |
| `HAKKOSODCCWORKMAP` | Constant | Key identifier for the work map stored within the request parameter object |
| `ODR_NAIYO_CD_163` | Constant | Order content code "163" — Router connection info registration/change |
| `ODR_NAIYO_CD_155` | Constant | Order content code "155" — IPv6 registration |
| `ODR_NAIYO_CD_156` | Constant | Order content code "156" — IPv6 change |
| `ODR_NAIYO_CD_157` | Constant | Order content code "157" — IPv6 cancellation (commented out, no longer active) |
| `ODR_NAIYO_CD_158` | Constant | Order content code "158" — IPv6 deletion |
| `ODR_NAIYO_CD_253` | Constant | Order content code "253" — SIP / International phone stop registration |
| `ODR_NAIYO_CD_254` | Constant | Order content code "254" — SIP / International phone stop cancellation |
| `ODR_NAIYO_CD_301` | Constant | Order content code "301" — Wi-Fi spot registration |
| `ODR_NAIYO_CD_302` | Constant | Order content code "302" — Wi-Fi spot change |
| `ODR_NAIYO_CD_316` | Constant | Order content code "316" — WiMAX / CUI recovery (ANK-0100-00-01) |
| `ODR_NAIYO_CD_317` | Constant | Order content code "317" — WiMAX / DEV recovery (ANK-0100-00-01) |
| `ORDER_SBT_CD_NET` | Constant | "01" — Order subtype: Internet service |
| `ORDER_SBT_CD_TEL` | Constant | "02" — Order subtype: Telephone service |
| `ORDER_SBT_CD_MOBILE` | Constant | "05" — Order subtype: Mobile service |
| `SVC_ORDER_CD_ROUTER` | Constant | Service order code for router connection info |
| `SVC_ORDER_CD_IPV6` | Constant | Service order code for IPv6 service |
| `SVC_ORDER_CD_SIP` | Constant | Service order code for SIP (Session Initiation Protocol) service |
| `SVC_ORDER_CD_SPOT` | Constant | Service order code for SPOT authentication (Wi-Fi spot) |
| `SVC_ORDER_CD_CUI` | Constant | Service order code for CUI (Customer Identity Unit) — WiMAX device identification |
| `SVC_ORDER_CD_DEV` | Constant | Service order code for DEV (Device) — WiMAX device |
| `YOKYU_SBT_CD_NEW` | Constant | Request subtype: New registration [-> "01"] |
| `YOKYU_SBT_CD_CHG` | Constant | Request subtype: Change/modification [-> "02"] |
| `YOKYU_SBT_CD_DEL` | Constant | Request subtype: Deletion/cancellation [-> "03"] |
| `YOKYU_SBT_CD_KAIHK` | Constant | Request subtype: Recovery/restoration [-> "04"] (commented out in WiMAX blocks) |
| `ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO` | Constant | Order release condition code: Instant release (immediate order issuance) |
| SOD | Acronym | Service Order Data — the core order entity in the telecom order fulfillment system |
| IPv6 | Business term | Internet Protocol version 6 — next-generation internet protocol for broadband services |
| SIP | Business term | Session Initiation Protocol — VoIP protocol for voice/video call session management |
| Wi-Fi | Business term | Wireless Fidelity — IEEE 802.11 wireless LAN technology for home/business networking |
| WiMAX | Business term | Worldwide Interoperability for Microwave Access — wireless broadband standard |
| CUI | Business term | Customer Identity Unit — unique device identifier in WiMAX ecosystem |
| DEV | Business term | Device — WiMAX mobile device identifier |
| IPv6 | Business term | Internet Protocol version 6 — next-generation internet protocol for broadband services |
| ANK | Acronym | Project/issue identifier prefix (e.g., ANK-0048-00-01) — Fujitsu internal tracking code |
| HAKKOU | Japanese | 発行 — Issuance/Release (in order context: order creation/issuance) |
| TSUIKABUN | Japanese | 追加分担 — Additional/Bundled (supplementary service addition) |
| HAKKOSODCCWORKMAP | Constant | Key for the work map containing order data in the parameter object |
| `chkOpOdrSetOp` | Method | Check option order setting option — conditional guard that determines whether order release should proceed |
| `executeOdrHakkoJokenAdd` | Method | Execute order release condition registration — Phase 1 service method that creates order release conditions records |
| `executeOdrInfoSakseiWkAdd` | Method | Execute order information creation work registration — Phase 2 service method that creates order information creation work records |
