# Business Logic - JKKAdchgHakkoSODCC.tsuikabunAddSOD() [430 LOC]

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

## 1. Role

### JKKAdchgHakkoSODCC.tsuikabunAddSOD()

The `tsuikabunAddSOD` method (Japanese: 追加分 - "additional items") is a **service order dispatch and routing component** that handles the creation of additional Service Order Data (SOD) records for telecom service contract modifications. When a primary service change triggers the need for supplementary service orders (e.g., adding IPv6 access alongside a router connection, or registering Wi-Fi spot authentication alongside a mobile subscription), this method orchestrates the conditional registration workflow.

The method implements a **conditional routing (dispatch) design pattern**, branching on the `orderNaiyoCd` (order content code) parameter to handle **10 active service types** (plus 1 commented-out ODR_NAIYO_CD_157 for IPv6 cancellation, which was removed per ST2-2012-0001703 2012/09/21 because only deletion orders are needed for IPv6 cancellation):

| SC Code | Value | Service Description |
|---------|-------|---------------------|
| ODR_NAIYO_CD_163 | "163" | Router connection information change (ルーター向け接続情報・変更) |
| ODR_NAIYO_CD_155 | "155" | IPv6 registration (IPV6・登録) |
| ODR_NAIYO_CD_156 | "156" | IPv6 change (IPV6・変更) |
| ODR_NAIYO_CD_158 | "158" | IPv6 deletion (IPV6・消去) |
| ODR_NAIYO_CD_253 | "253" | SIP international call stop registration (SIP・国際電話停止登録) |
| ODR_NAIYO_CD_254 | "254" | SIP international call stop cancellation (SIP・国際電話停止解約) |
| ODR_NAIYO_CD_301 | "301" | Wi-Fi Spot registration (Wi-Fiスポット・登録) |
| ODR_NAIYO_CD_302 | "302" | Wi-Fi Spot change (Wi-Fiスポット・変更) |
| ODR_NAIYO_CD_316 | "316" | WiMAX CUI restoration (WiMAX・CUI回復) |
| ODR_NAIYO_CD_317 | "317" | WiMAX DEV restoration (WiMAX・DEV回復) |
| ODR_NAIYO_CD_404 | "404" | Multi-function router setting - connection info change (多機能ルーター設定・変更 - ルーター機能・接続情報変更) |

Each branch follows a **two-phase registration approach**:
- **Phase 1** - Populate the work map with type-specific order dispatch condition data (order sort code, service order code, request type code, order dispatch condition code, service contract details number, timestamps, and device-specific fields), then call `executeOdrHakkoJokenAdd` to register the order dispatch conditions.
- **Phase 2** - Set the `odr_naiyo_cd` to the current service type code, then call `executeOdrInfoSakseiWkAdd` to register the order information creation work.

This method serves as the **shared utility entry point** for supplementary SOD processing across multiple screen operations. It is called by `hakkouIpv6`, `hakkouTel`, and other dispatch methods in `JKKAdchgHakkoSODCC`, and is also available from `JKKHakkoSODCC` and `JKKAdchgCancelHakkoSODCC` for consistency. The Javadoc states: "Based on the passed order content code, map necessary information to perform registration to each order table."

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["tsuikabunAddSOD handle, param, orderNaiyoCd"])
    
    START --> GET_MAP["Get inMap from param HAKKOSODCCWORKMAP"]
    
    GET_MAP --> CHECK_MAP{"inMap != null?"}
    
    CHECK_MAP -->|No| RETURN["Return param unchanged"]
    
    CHECK_MAP -->|Yes| INIT["Initialize inMap fields to empty strings"]
    
    INIT --> CHECK_ORDER["Check orderNaiyoCd"]
    
    CHECK_ORDER -->|163| BLOCK163["Block 1: Router Connection Change"]
    CHECK_ORDER -->|155| BLOCK155["Block 2: IPv6 Registration"]
    CHECK_ORDER -->|156| BLOCK156["Block 3: IPv6 Change"]
    CHECK_ORDER -->|158| BLOCK158["Block 4: IPv6 Deletion"]
    CHECK_ORDER -->|253| BLOCK253["Block 5: SIP Int'l Stop Register"]
    CHECK_ORDER -->|254| BLOCK254["Block 6: SIP Int'l Stop Cancel"]
    CHECK_ORDER -->|301| BLOCK301["Block 7: Wi-Fi Spot Register"]
    CHECK_ORDER -->|302| BLOCK302["Block 8: Wi-Fi Spot Change"]
    CHECK_ORDER -->|316| BLOCK316["Block 9: WiMAX CUI Restoration"]
    CHECK_ORDER -->|317| BLOCK317["Block 10: WiMAX DEV Restoration"]
    CHECK_ORDER -->|404| BLOCK404["Block 11: Multi-Func Router Change"]
    CHECK_ORDER -->|other| RETURN
    
    BLOCK163 --> B1_P1["Phase 1: Set order dispatch condition"]
    BLOCK155 --> B2_P1["Phase 1: Set order dispatch condition"]
    BLOCK156 --> B3_P1["Phase 1: Set order dispatch condition"]
    BLOCK158 --> B4_P1["Phase 1: Set order dispatch condition"]
    BLOCK253 --> B5_P1["Phase 1: Set order dispatch condition"]
    BLOCK254 --> B6_P1["Phase 1: Set order dispatch condition"]
    BLOCK301 --> B7_P1["Phase 1: Set order dispatch condition"]
    BLOCK302 --> B8_P1["Phase 1: Set order dispatch condition"]
    BLOCK316 --> B9_P1["Phase 1: Set order dispatch condition"]
    BLOCK317 --> B10_P1["Phase 1: Set order dispatch condition"]
    BLOCK404 --> B11_P1["Phase 1: Set order dispatch condition"]
    
    B1_P1 --> B1_EXEC1["executeOdrHakkoJokenAdd"]
    B2_P1 --> B2_EXEC1["executeOdrHakkoJokenAdd"]
    B3_P1 --> B3_EXEC1["executeOdrHakkoJokenAdd"]
    B4_P1 --> B4_EXEC1["executeOdrHakkoJokenAdd"]
    B5_P1 --> B5_EXEC1["executeOdrHakkoJokenAdd"]
    B6_P1 --> B6_EXEC1["executeOdrHakkoJokenAdd"]
    B7_P1 --> B7_EXEC1["executeOdrHakkoJokenAdd"]
    B8_P1 --> B8_EXEC1["executeOdrHakkoJokenAdd"]
    B9_P1 --> B9_EXEC1["executeOdrHakkoJokenAdd"]
    B10_P1 --> B10_EXEC1["executeOdrHakkoJokenAdd"]
    B11_P1 --> B11_EXEC1["executeOdrHakkoJokenAdd"]
    
    B1_EXEC1 --> B1_P2["Phase 2: Set odr_naiyo_cd"]
    B2_EXEC1 --> B2_P2["Phase 2: Set odr_naiyo_cd"]
    B3_EXEC1 --> B3_P2["Phase 2: Set odr_naiyo_cd"]
    B4_EXEC1 --> B4_P2["Phase 2: Set odr_naiyo_cd"]
    B5_EXEC1 --> B5_P2["Phase 2: Set odr_naiyo_cd"]
    B6_EXEC1 --> B6_P2["Phase 2: Set odr_naiyo_cd"]
    B7_EXEC1 --> B7_P2["Phase 2: Set odr_naiyo_cd"]
    B8_EXEC1 --> B8_P2["Phase 2: Set odr_naiyo_cd"]
    B9_EXEC1 --> B9_P2["Phase 2: Set odr_naiyo_cd"]
    B10_EXEC1 --> B10_P2["Phase 2: Set odr_naiyo_cd"]
    B11_EXEC1 --> B11_P2["Phase 2: Set odr_naiyo_cd"]
    
    B1_P2 --> B1_EXEC2["executeOdrInfoSakseiWkAdd"]
    B2_P2 --> B2_EXEC2["executeOdrInfoSakseiWkAdd"]
    B3_P2 --> B3_EXEC2["executeOdrInfoSakseiWkAdd"]
    B4_P2 --> B4_EXEC2["executeOdrInfoSakseiWkAdd"]
    B5_P2 --> B5_EXEC2["executeOdrInfoSakseiWkAdd"]
    B6_P2 --> B6_EXEC2["executeOdrInfoSakseiWkAdd"]
    B7_P2 --> B7_EXEC2["executeOdrInfoSakseiWkAdd"]
    B8_P2 --> B8_EXEC2["executeOdrInfoSakseiWkAdd"]
    B9_P2 --> B9_EXEC2["executeOdrInfoSakseiWkAdd"]
    B10_P2 --> B10_EXEC2["executeOdrInfoSakseiWkAdd"]
    B11_P2 --> B11_EXEC2["executeOdrInfoSakseiWkAdd"]
    
    B1_EXEC2 --> END_RETURN["Return param"]
    B2_EXEC2 --> END_RETURN
    B3_EXEC2 --> END_RETURN
    B4_EXEC2 --> END_RETURN
    B5_EXEC2 --> END_RETURN
    B6_EXEC2 --> END_RETURN
    B7_EXEC2 --> END_RETURN
    B8_EXEC2 --> END_RETURN
    B9_EXEC2 --> END_RETURN
    B10_EXEC2 --> END_RETURN
    B11_EXEC2 --> END_RETURN
    
    B11_P1 --> B11_SPECIAL["Special: runEKK0251A010 for line details"]
```

**Block-level description of each branch:**

Each of the 10 active branches follows the same two-phase structure but populates different field values:

**Common Phase 1 processing (all branches):**
- Set `order_sbt_cd` (order sort code) based on service type: "1" for NET (Router, IPv6, IPv6 deletion), "2" for TEL (SIP), "3" for MOBILE (Wi-Fi Spot, WiMAX).
- Set `svc_order_cd` (service order code) to the appropriate service type identifier.
- Set `yokyu_sbt_cd` (request type code): "04" (change) for most branches; "02" (new) for registration branches; "08" (deletion) for IPv6 deletion; uses instance variable `yokyu_sbt` for IPv6 registration.
- Set `odr_hakko_joken_cd` (order dispatch condition code): "01" (immediate dispatch) for most branches; uses instance variable `odr_hakkou_jyoken` for Wi-Fi Spot and some WiMAX branches.
- Set `same_trn_no` (same processing number): uses local variable for Router, instance variable for IPv6 deletion and SIP; uses instance variable for others.

**Common Phase 2 processing (all branches):**
- Set `odr_naiyo_cd` to the current branch's order content code.
- Call `executeOdrInfoSakseiWkAdd` to complete order information work registration.

**Special processing in Block 11 (ODR_NAIYO_CD_404 - Multi-Function Router):**
- Additionally calls `runEKK0251A010` to retrieve service contract line details (回線内服) for obtaining the service contract line registration timestamp.
- Sets `kkop_svc_kei_no_1` (equipment option service contract - router), `kko_svkei_gadtm_1`, `kkop_svc_kei_no_2` (equipment option service contract - VA), and `kko_svkei_gadtm_2` fields.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Session handler carrying session management context (database connections, transaction boundaries). Used for all downstream service calls. |
| 2 | `param` | `IRequestParameterReadWrite` | Request parameter interface that carries a HashMap (`HAKKOSODCCWORKMAP`) containing all work map fields used across the order dispatch workflow. Both input (read) and output (write) of work data. |
| 3 | `orderNaiyoCd` | `String` | Order content code that triggers different service registration branches. Valid values: "155" (IPv6 registration), "156" (IPv6 change), "158" (IPv6 deletion), "163" (Router connection change), "253" (SIP international call stop register), "254" (SIP international call stop cancel), "301" (Wi-Fi Spot register), "302" (Wi-Fi Spot change), "316" (WiMAX CUI restoration), "317" (WiMAX DEV restoration), "404" (Multi-function router change). |

**Instance fields read by this method:**

| Field Name | Type | Business Description |
|-----------|------|---------------------|
| `op_svc_kei_no_ipv6` | String | Option service contract number (IPv6) - option service contract number for IPv6 access |
| `op_gadtm_ipv6` | String | Option service contract generation registration timestamp (IPv6) |
| `ipv6_svc_kei_ucwk_no` | String | Service contract details number (IPv6) |
| `ipv6_svc_kei_ucwk_gadtm` | String | Service contract details generation registration timestamp (IPv6) |
| `ipv6_kktk_svc_kei_no` | String | Equipment-provided service contract number (IPv6) |
| `ipv6_kktk_svc_kei_gadtm` | String | Equipment-provided service contract generation registration timestamp (IPv6) |
| `taknkiki_model_cd_ipv6` | String | Home device model code (IPv6) |
| `kiki_seizo_no_ipv6` | String | Device manufacturing serial number (IPv6) |
| `same_trn_no` | String | Same processing number - transaction grouping identifier |
| `yokyu_sbt` | String | Request type code - set by caller to "02" (new) or "04" (change) |
| `svc_kei_ucwk_no[]` | String[] | Service contract details number array |
| `svc_kei_ucwk_gadtm[]` | String[] | Service contract details generation registration timestamp array |
| `taknkiki_model_cd[]` | String[] | Home device model code array |
| `kiki_seizo_no[]` | String[] | Device manufacturing serial number array |
| `kktk_svc_kei_no[]` | String[] | Equipment-provided service contract number array |
| `kktk_svc_kei_gadtm[]` | String[] | Equipment-provided service contract generation registration timestamp array |
| `odr_hakkou_jyoken` | String | Order dispatch condition code - for Wi-Fi Spot / mobile restoration |
| `kkop_svc_kei_router[]` | String[] | Equipment option service contract (router) |
| `kkop_svc_kei_router_gadtm[]` | String[] | Equipment option service contract (router) generation registration timestamp |
| `kkop_svc_kei_va[]` | String[] | Equipment option service contract (VA) |
| `kkop_svc_kei_va_gadtm[]` | String[] | Equipment option service contract (VA) generation registration timestamp |
| `svc_kei_kaisen_ucwk_no` | String | Service contract line details number - used for multi-function router line details lookup |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `JKKAdchgHakkoSODCC.executeOdrHakkoJokenAdd` | JKKAdchgHakkoSODCC | Order Dispatch Condition table | Register order dispatch conditions for the supplementary service order |
| C | `JKKAdchgHakkoSODCC.executeOdrInfoSakseiWkAdd` | JKKAdchgHakkoSODCC | Order Info Creation Work table | Register the order information creation work record |
| R | `JKKAdchgHakkoSODCC.runEKK0251A010` | EKK0251A010CBS | Service contract line details table | Query service contract line details to obtain registration timestamp (Block 11 only) |
| - | `param.setData(HAKKOSODCCWORKMAP, inMap)` | - | - | Write updated work map back to param (executed in every branch, both phases) |

**How to classify:**
- **C** (Create): `executeOdrHakkoJokenAdd` (execute + Add) and `executeOdrInfoSakseiWkAdd` (execute + Add) - both register new records.
- **R** (Read): `runEKK0251A010` - a CBS (Code Base Service) that queries service contract line details.

**SC Codes:**
- `executeOdrHakkoJokenAdd` and `executeOdrInfoSakseiWkAdd` are internal CC (Common Component) methods within `JKKAdchgHakkoSODCC`. Their names indicate "Order Dispatch Condition Register" and "Order Info Creation Work Register" respectively.
- `runEKK0251A010` maps to CBS code `EKK0251A010CBS` which handles service contract line details retrieval (回線内服).

## 5. Dependency Trace

### Direct Callers (found within JKKAdchgHakkoSODCC.java):

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CBS:JKKAdchgHakkoSODCC.hakkouIpv6 | `hakkouIpv6` -> `tsuikabunAddSOD` | `executeOdrHakkoJokenAdd [C]`, `executeOdrInfoSakseiWkAdd [C]` |
| 2 | CBS:JKKAdchgHakkoSODCC.hakkouIpv6 | `hakkouIpv6` (pattern 2) -> `tsuikabunAddSOD` | `executeOdrHakkoJokenAdd [C]`, `executeOdrInfoSakseiWkAdd [C]` |
| 3 | CBS:JKKAdchgHakkoSODCC.hakkouIpv6 | `hakkouIpv6` (pattern 3) -> `tsuikabunAddSOD` | `executeOdrHakkoJokenAdd [C]`, `executeOdrInfoSakseiWkAdd [C]` |
| 4 | CBS:JKKAdchgHakkoSODCC.hakkouTel | `hakkouTel` -> `tsuikabunAddSOD(253)` / `tsuikabunAddSOD(254)` | `executeOdrHakkoJokenAdd [C]`, `executeOdrInfoSakseiWkAdd [C]` |

### Callers from other classes:

| # | Caller Class | Call Chain | Notes |
|---|-------------|-----------|-------|
| 5 | CBS:JKKHakkoSODCC | `JKKHakkoSODCC.tsuikabunAddSOD` (self, overridden) -> calls `JKKAdchgHakkoSODCC.tsuikabunAddSOD` | Same method name in sibling CC class |
| 6 | CBS:JKKAdchgCancelHakkoSODCC | `JKKAdchgCancelHakkoSODCC.tsuikabunAddSOD` (self, overridden) -> calls `JKKAdchgHakkoSODCC.tsuikabunAddSOD` | Same method name in cancellation variant |

**Terminal operations from this method:**
- `executeOdrInfoSakseiWkAdd` [C] - Order information creation work registration
- `executeOdrHakkoJokenAdd` [C] - Order dispatch condition registration
- `setData` [-] - Work map data updates (multiple)
- `runEKK0251A010` [R] - Service contract line details query (Block 11 only)

## 6. Per-Branch Detail Blocks

### Block 1 [IF] - ODR_NAIYO_CD_163 = "163" (Router Connection Information Change) (L6194)
> Router connection information for FTTH broadband registration. Uses NET order sort, router service order code, change request type. Retrieves IPv6-specific instance fields for work map output.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `inMap.put("svc_kei_ucwk_no", "")` // Initialize service contract details number |
| 2 | EXEC | `inMap.put("kktk_svc_kei_no", "")` // Initialize equipment-provided service contract number |
| 3 | EXEC | `inMap.put("op_svc_kei_no", "")` // Initialize option service contract number |
| 4 | EXEC | `inMap.put("sbop_svc_kei_no", "")` // Initialize sub-option service contract number |
| 5 | EXEC | `inMap.put("seiopsvc_kei_no", "")` // Initialize billing option service contract number |
| 6 | EXEC | `inMap.put("order_sbt_cd", "")` // Initialize order sort code |
| 7 | EXEC | `inMap.put("svc_order_cd", "")` // Initialize service order code |
| 8 | EXEC | `inMap.put("yokyu_sbt_cd", "")` // Initialize request type code |
| 9 | EXEC | `inMap.put("odr_hakko_joken_cd", "")` // Initialize order dispatch condition code |
| 10 | EXEC | `inMap.put("same_trn_no", "")` // Initialize same processing number |
| 11 | EXEC | `inMap.put("taknkiki_model_cd", "")` // Initialize home device model code |
| 12 | EXEC | `inMap.put("kiki_seizo_no", "")` // Initialize device serial number |
| 13 | EXEC | ... (20+ more field initializations to empty strings) |
| 14 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_NET="1")` [-> ORDER_SBT_CD_NET="1"] // Order sort: Network |
| 15 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_ROUTER="0A")` [-> SVC_ORDER_CD_ROUTER="0A"] // Service order: Router |
| 16 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG="04")` [-> YOKYU_SBT_CD_CHG="04"] // Request type: Change |
| 17 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01")` [-> ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01"] // Dispatch condition: Immediate |
| 18 | SET | `inMap.put("same_trn_no", same_trn_no)` // From local variable (not instance variable) |
| 19 | SET | `inMap.put("op_svc_kei_no", this.op_svc_kei_no_ipv6)` // IPv6 option service contract number from instance |
| 20 | SET | `inMap.put("opsvkei_gadtm", this.op_gadtm_ipv6)` // IPv6 option service contract generation timestamp |
| 21 | SET | `inMap.put("svc_kei_ucwk_no", this.ipv6_svc_kei_ucwk_no)` // IPv6 service contract details number |
| 22 | SET | `inMap.put("svkeiuw_gadtm", this.ipv6_svc_kei_ucwk_gadtm)` // IPv6 service contract details generation timestamp |
| 23 | SET | `inMap.put("kktk_svc_kei_no", this.ipv6_kktk_svc_kei_no)` // IPv6 equipment-provided service contract number |
| 24 | SET | `inMap.put("kktsvkei_gadtm", this.ipv6_kktk_svc_kei_gadtm)` // IPv6 equipment-provided generation timestamp |
| 25 | SET | `inMap.put("taknkiki_model_cd", this.taknkiki_model_cd_ipv6)` // IPv6 home device model code |
| 26 | SET | `inMap.put("kiki_seizo_no", this.kiki_seizo_no_ipv6)` // IPv6 device serial number |
| 27 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` // Save work map to param |
| 28 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] // Register order dispatch conditions |
| 29 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_163="163")` [-> ODR_NAIYO_CD_163="163"] // Set order content code |
| 30 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` // Save updated work map |
| 31 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] // Register order info creation work |

### Block 2 [IF-ELSE-IF] - ODR_NAIYO_CD_155 = "155" (IPv6 Registration) (L6242)
> IPv6 service registration. Uses NET order sort, IPv6 service order code, and instance variable `yokyu_sbt` for request type. Populates all IPv6-specific instance fields.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_NET="1")` [-> ORDER_SBT_CD_NET="1"] // Order sort: Network |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_IPV6="0B")` [-> SVC_ORDER_CD_IPV6="0B"] // Service order: IPv6 |
| 3 | SET | `inMap.put("yokyu_sbt_cd", this.yokyu_sbt)` // Request type from instance variable (set by caller) |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01")` [-> ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01"] // Dispatch: Immediate |
| 5 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Same processing number from instance |
| 6-11 | SET | IPv6 instance fields (op_svc_kei_no_ipv6, op_gadtm_ipv6, ipv6_svc_kei_ucwk_no, ipv6_svc_kei_ucwk_gadtm, ipv6_kktk_svc_kei_no, ipv6_kktk_svc_kei_gadtm, taknkiki_model_cd_ipv6, kiki_seizo_no_ipv6) |
| 12 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 13 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] |
| 14 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_155="155")` [-> ODR_NAIYO_CD_155="155"] |
| 15 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 16 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] |

### Block 3 [IF-ELSE-IF] - ODR_NAIYO_CD_156 = "156" (IPv6 Change) (L6294)
> IPv6 service change (modifying existing IPv6 configuration). Uses change request type "04" (YOKYU_SBT_CD_CHG) instead of instance variable. All fields same as Block 2 except request type.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_NET="1")` [-> ORDER_SBT_CD_NET="1"] |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_IPV6="0B")` [-> SVC_ORDER_CD_IPV6="0B"] |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG="04")` [-> YOKYU_SBT_CD_CHG="04"] // Request type: Change |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01")` [-> ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01"] |
| 5 | SET | `inMap.put("same_trn_no", this.same_trn_no)` |
| 6-8 | SET | IPv6 instance fields (op_svc_kei_no_ipv6, op_gadtm_ipv6, ipv6_svc_kei_ucwk_no, ipv6_svc_kei_ucwk_gadtm) |
| 9 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 10 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] |
| 11 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_156="156")` [-> ODR_NAIYO_CD_156="156"] |
| 12 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 13 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] |

### Block 4 [IF-ELSE-IF] - ODR_NAIYO_CD_158 = "158" (IPv6 Deletion) (L6342)
> IPv6 service deletion (消去). Uses deletion request type "08" (YOKYU_SBT_CD_DEL). Retrieves IPv6 instance fields.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_NET="1")` [-> ORDER_SBT_CD_NET="1"] |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_IPV6="0B")` [-> SVC_ORDER_CD_IPV6="0B"] |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_DEL="08")` [-> YOKYU_SBT_CD_DEL="08"] // Request type: Deletion |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01")` [-> ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01"] |
| 5 | SET | `inMap.put("same_trn_no", same_trn_no)` // Local variable |
| 6-11 | SET | IPv6 instance fields (same set as Blocks 2-3) |
| 12 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 13 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] |
| 14 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_158="158")` [-> ODR_NAIYO_CD_158="158"] |
| 15 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 16 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] |

### Block 5 [IF-ELSE-IF] - ODR_NAIYO_CD_253 = "253" (SIP International Call Stop Registration) (L6390)
> SIP international call stop registration (SIP・国際電話停止登録). Uses TEL order sort, SIP service order code, change request type. Reads from `svc_kei_ucwk_no[0]` array instead of IPv6 instance fields.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_TEL="2")` [-> ORDER_SBT_CD_TEL="2"] // Order sort: Telephone |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_SIP="21")` [-> SVC_ORDER_CD_SIP="21"] // Service order: SIP |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG="04")` [-> YOKYU_SBT_CD_CHG="04"] // Request type: Change |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01")` [-> ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01"] |
| 5 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` // Service contract details from array[0] |
| 6 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` // Service contract details generation timestamp from array[0] |
| 7 | SET | `inMap.put("same_trn_no", same_trn_no)` // Local variable |
| 8 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 9 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] |
| 10 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_253="253")` [-> ODR_NAIYO_CD_253="253"] |
| 11 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 12 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] |

### Block 6 [IF-ELSE-IF] - ODR_NAIYO_CD_254 = "254" (SIP International Call Stop Cancellation) (L6421)
> SIP international call stop cancellation (SIP・国際電話停止解約). Identical to Block 5 except `same_trn_no` uses instance variable `this.same_trn_no` instead of local.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_TEL="2")` [-> ORDER_SBT_CD_TEL="2"] |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_SIP="21")` [-> SVC_ORDER_CD_SIP="21"] |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG="04")` [-> YOKYU_SBT_CD_CHG="04"] |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01")` [-> ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01"] |
| 5 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` |
| 6 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` |
| 7 | SET | `inMap.put("same_trn_no", this.same_trn_no)` // Instance variable (differs from Block 5) |
| 8 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 9 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] |
| 10 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_254="254")` [-> ODR_NAIYO_CD_254="254"] |
| 11 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 12 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] |

### Block 7 [IF-ELSE-IF] - ODR_NAIYO_CD_301 = "301" (Wi-Fi Spot Registration) (L6451)
> Wi-Fi Spot authentication registration (Wi-Fiスポット・登録). Uses MOBILE order sort, SPOT service order code, new request type "02". Uses instance variable `odr_hakkou_jyoken` for dispatch condition. From ANK-0100-00-01 (eo mobile / UQ WiMAX mobile restoration).

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_MOBILE="3")` [-> ORDER_SBT_CD_MOBILE="3"] // Order sort: Mobile |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_SPOT="30")` [-> SVC_ORDER_CD_SPOT="30"] // Service order: SPOT auth |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_NEW="02")` [-> YOKYU_SBT_CD_NEW="02"] // Request type: New |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", this.odr_hakkou_jyoken)` // Dispatch condition from instance variable |
| 5 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` |
| 6 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` |
| 7 | SET | `inMap.put("same_trn_no", this.same_trn_no)` |
| 8 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 9 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] |
| 10 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_301="301")` [-> ODR_NAIYO_CD_301="301"] |
| 11 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 12 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] |

### Block 8 [IF-ELSE-IF] - ODR_NAIYO_CD_302 = "302" (Wi-Fi Spot Change) (L6479)
> Wi-Fi Spot authentication change (Wi-Fiスポット・変更). Same as Block 7 except request type is "04" (change) instead of "02" (new).

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_MOBILE="3")` [-> ORDER_SBT_CD_MOBILE="3"] |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_SPOT="30")` [-> SVC_ORDER_CD_SPOT="30"] |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG="04")` [-> YOKYU_SBT_CD_CHG="04"] // Request type: Change |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", this.odr_hakkou_jyoken)` |
| 5-7 | SET | Same fields as Block 7 |
| 8 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 9 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] |
| 10 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_302="302")` [-> ODR_NAIYO_CD_302="302"] |
| 11 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 12 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] |

### Block 9 [IF-ELSE-IF] - ODR_NAIYO_CD_316 = "316" (WiMAX CUI Restoration) (L6508)
> WiMAX CUI (Customer Unit Interface) restoration (WiMAX・CUI回復). From ANK-0100-00-01 (eo mobile / UQ WiMAX mobile restoration). Uses MOBILE order sort, CUI service order code, NEW request type (despite being a restoration). Reads home device model code and device serial number from array index 0.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("taknkiki_model_cd", this.taknkiki_model_cd[0])` |
| 2 | SET | `inMap.put("kiki_seizo_no", this.kiki_seizo_no[0])` |
| 3 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_MOBILE="3")` [-> ORDER_SBT_CD_MOBILE="3"] |
| 4 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_CUI="01")` [-> SVC_ORDER_CD_CUI="01"] // Service order: CUI |
| 5 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_NEW="02")` [-> YOKYU_SBT_CD_NEW="02"] // Request type: New (commented out KAIHK) |
| 6 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01")` [-> ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01"] |
| 7 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` |
| 8 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` |
| 9 | SET | `inMap.put("kktk_svc_kei_no", this.kktk_svc_kei_no[0])` |
| 10 | SET | `inMap.put("kktsvkei_gadtm", this.kktk_svc_kei_gadtm[0])` |
| 11 | SET | `inMap.put("same_trn_no", this.same_trn_no)` |
| 12 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 13 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] |
| 14 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_316="316")` [-> ODR_NAIYO_CD_316="316"] |
| 15 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 16 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] |

### Block 10 [IF-ELSE-IF] - ODR_NAIYO_CD_317 = "317" (WiMAX DEV Restoration) (L6546)
> WiMAX DEV (Device) restoration (WiMAX・DEV回復). Same as Block 9 except service order code is "02" (SVC_ORDER_CD_DEV) for DEV.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("taknkiki_model_cd", this.taknkiki_model_cd[0])` |
| 2 | SET | `inMap.put("kiki_seizo_no", this.kiki_seizo_no[0])` |
| 3 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_MOBILE="3")` [-> ORDER_SBT_CD_MOBILE="3"] |
| 4 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_DEV="02")` [-> SVC_ORDER_CD_DEV="02"] // Service order: DEV |
| 5 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_NEW="02")` [-> YOKYU_SBT_CD_NEW="02"] |
| 6 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01")` [-> ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01"] |
| 7 | SET | `inMap.put("svc_kei_ucwk_no", this.svc_kei_ucwk_no[0])` |
| 8 | SET | `inMap.put("svkeiuw_gadtm", this.svc_kei_ucwk_gadtm[0])` |
| 9 | SET | `inMap.put("kktk_svc_kei_no", this.kktk_svc_kei_no[0])` |
| 10 | SET | `inMap.put("kktsvkei_gadtm", this.kktk_svc_kei_gadtm[0])` |
| 11 | SET | `inMap.put("same_trn_no", this.same_trn_no)` |
| 12 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 13 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] |
| 14 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_317="317")` [-> ODR_NAIYO_CD_317="317"] |
| 15 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 16 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] |

### Block 11 [IF-ELSE-IF] - ODR_NAIYO_CD_404 = "404" (Multi-Function Router Connection Info Change) (L6579)
> Multi-function router setting change - connection information change (多機能ルーター設定・変更). From ANK-1578-00-00 (2013.12.10 Y.Kanata). This is the most complex branch, adding special handling for equipment option service contracts (router and VA) and calling `runEKK0251A010` to obtain line details registration timestamp.

**Block 11.1 [SET] - Phase 1: Order dispatch condition setup** (L6583)

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("order_sbt_cd", ORDER_SBT_CD_TEL="2")` [-> ORDER_SBT_CD_TEL="2"] // Order sort: Telephone |
| 2 | SET | `inMap.put("svc_order_cd", SVC_ORDER_CD_MFROUTER="26")` [-> SVC_ORDER_CD_MFROUTER="26"] // Service order: Multi-Function Router |
| 3 | SET | `inMap.put("yokyu_sbt_cd", YOKYU_SBT_CD_CHG="04")` [-> YOKYU_SBT_CD_CHG="04"] // Request type: Change |
| 4 | SET | `inMap.put("odr_hakko_joken_cd", ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01")` [-> ODR_HAKKO_JOKEN_CD_SOKJI_HAKKO="01"] |
| 5 | SET | `inMap.put("same_trn_no", same_trn_no)` // Local variable |
| 6 | SET | `inMap.put("op_svc_kei_no", this.op_svc_kei_no_ipv6)` // IPv6 option service contract number |
| 7 | SET | `inMap.put("opsvkei_gadtm", this.op_gadtm_ipv6)` // IPv6 option service contract generation timestamp |
| 8 | SET | `inMap.put("svc_kei_ucwk_no", this.ipv6_svc_kei_ucwk_no)` // IPv6 service contract details number |
| 9 | SET | `inMap.put("svkeiuw_gadtm", this.ipv6_svc_kei_ucwk_gadtm)` // IPv6 service contract details generation timestamp |
| 10 | SET | `inMap.put("kktk_svc_kei_no", this.ipv6_kktk_svc_kei_no)` // IPv6 equipment-provided service contract number |
| 11 | SET | `inMap.put("kktsvkei_gadtm", this.ipv6_kktk_svc_kei_gadtm)` // IPv6 equipment-provided generation timestamp |
| 12 | SET | `inMap.put("taknkiki_model_cd", this.taknkiki_model_cd_ipv6)` // IPv6 home device model code |
| 13 | SET | `inMap.put("kiki_seizo_no", this.kiki_seizo_no_ipv6)` // IPv6 device serial number |
| 14 | SET | `inMap.put("kkop_svc_kei_no_1", kkop_svc_kei_router[0])` // Equipment option service contract (router) |
| 15 | SET | `inMap.put("kko_svkei_gadtm_1", kkop_svc_kei_router_gadtm[0])` // Equipment option service contract (router) generation timestamp |
| 16 | SET | `inMap.put("kkop_svc_kei_no_2", kkop_svc_kei_va[0])` // Equipment option service contract (VA) |
| 17 | SET | `inMap.put("kko_svkei_gadtm_2", kkop_svc_kei_va_gadtm[0])` // Equipment option service contract (VA) generation timestamp |
| 18 | CALL | `HashMap ekk0251a010Map = runEKK0251A010(param, handle, svc_kei_kaisen_ucwk_no)` [R] // Query line details |
| 19 | SET | `String svc_kei_kaisen_ucwk_gadtm = (String) ekk0251a010Map.get(EKK0251A010CBSMsg1List.GENE_ADD_DTM)` |
| 20 | SET | `inMap.put("huka_inf_kei_no", svc_kei_kaisen_ucwk_no)` // Service contract line details number |
| 21 | SET | `inMap.put("huka_inf_kei_gadtm", svc_kei_kaisen_ucwk_gadtm)` // Service contract line details generation timestamp |

**Block 11.2 [EXEC/CALL] - Phase 1: Execute** (L6590)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 2 | CALL | `param = executeOdrHakkoJokenAdd(handle, param)` [C] |

**Block 11.3 [SET/CALL] - Phase 2: Order info creation work** (L6594)

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put("odr_naiyo_cd", ODR_NAIYO_CD_404="404")` [-> ODR_NAIYO_CD_404="404"] // Multi-function router connection change |
| 2 | EXEC | `param.setData(HAKKOSODCCWORKMAP, inMap)` |
| 3 | CALL | `param = executeOdrInfoSakseiWkAdd(handle, param)` [C] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_ucwk_no` | Field | Service contract details number - internal tracking ID for service contract line items |
| `svc_kei_ucwk_gadtm` | Field | Service contract details generation registration timestamp - when the service contract details was created |
| `kktk_svc_kei_no` | Field | Equipment-provided service contract number - service contract tied to customer equipment |
| `kktsvkei_gadtm` | Field | Equipment-provided service contract generation registration timestamp |
| `op_svc_kei_no` | Field | Option service contract number - additional service contract for features like IPv6, email, homepage |
| `opsvkei_gadtm` | Field | Option service contract generation registration timestamp |
| `sbop_svc_kei_no` | Field | Sub-option service contract number - secondary add-on services |
| `seiopsvc_kei_no` | Field | Billing option service contract number |
| `order_sbt_cd` | Field | Order sort code - classifies the order category: "1"=Net, "2"=Tel, "3"=Mobile, "4"=Emergency |
| `svc_order_cd` | Field | Service order code - identifies the service type for order dispatch (e.g., "0A"=Router, "0B"=IPv6, "21"=SIP, "30"=SPOT auth) |
| `yokyu_sbt_cd` | Field | Request type code - action category: "02"=New registration, "03"=Cancellation, "04"=Change, "07"=Restoration, "08"=Deletion |
| `odr_hakko_joken_cd` | Field | Order dispatch condition code - timing/trigger for order dispatch: "01"=Immediate dispatch |
| `same_trn_no` | Field | Same processing number - transaction grouping identifier for linking related operations |
| `taknkiki_model_cd` | Field | Home device model code - hardware identifier for customer-premises equipment |
| `kiki_seizo_no` | Field | Device manufacturing serial number - unique hardware serial |
| `odr_naiyo_cd` | Field | Order content code - classifies the specific order type (e.g., "163"=Router connection change, "155"=IPv6 registration) |
| `svkeiuw_gadtm` | Field | Service contract details generation registration timestamp (alias for svc_kei_ucwk_gadtm in work map) |
| `chbf_*_gadtm` | Field | Pre-change generation registration timestamp - timestamp before a contract modification |
| `huka_inf_kei_no` | Field | Additional information contract number - service contract line details number for line modification |
| `huka_inf_kei_gadtm` | Field | Additional information contract generation registration timestamp |
| SOD | Acronym | Service Order Data - telecom order fulfillment entity representing a service order record |
| JOKEN | Acronym | Joken (条件) - Dispatch/Condition, as in Order Dispatch Condition |
| FTTH | Business term | Fiber To The Home - fiber-optic broadband internet service |
| IPv6 | Business term | Internet Protocol version 6 - next-generation IP addressing protocol |
| SIP | Business term | Session Initiation Protocol - signaling protocol for VoIP and telecom services |
| CUI | Business term | Customer Unit Interface - WiMAX customer equipment unit (modem/router) |
| DEV | Business term | Device - WiMAX customer device |
| SPOT | Business term | SPOT authentication - wireless LAN spot authentication service (Fujitsu Wi-Fi hotspot) |
| WiMAX | Business term | Worldwide Interoperability for Microwave Access - wireless broadband technology |
| IPv6 | Business term | Internet Protocol version 6 - next-generation IP addressing protocol |
| VA | Business term | Voice Application - telephone-related functions on multi-function routers (call forwarding, caller ID, etc.) |
| MFROUTER | Business term | Multi-Function Router - integrated broadband router with telephone/VPN capabilities |
| ACB | Acronym | Additional Contract Business - related to supplementary service contract additions |
| EKK0251A010CBS | SC Code | Service contract line details CBS (Code Base Service) - queries customer line modification information |
| HAKKOSODCCWORKMAP | Constant | Work map key - HashMap stored in IRequestParameterReadWrite carrying all SOD work data |
| ODR_NAIYO_CD | Constant prefix | Order content code constant prefix (Ordernaiyo code) |
| HAKKOSODCC | Class suffix | Hakko SOD CC - Order SOD Common Component |
| tsuikabun | Method prefix | Japanese "追加分" - additional items / supplementary additions |
| addSOD | Method suffix | Add Service Order Data - create supplementary order records |
