---

# (DD36) Business Logic — JDKCommon08CC.setValueOdrHakkoJoken() [186 LOC]

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

## 1. Role

### JDKCommon08CC.setValueOdrHakkoJoken()

This method prepares and sets the **order release condition registration data** (オーダ発行条件登録情報) — a mapping of key-value pairs that define the parameters for triggering an order release (オーダ発行) in the telecom order fulfillment workflow. It acts as a **data assembly bridge** between the SOD (Service Order Data) work area and the CBS (Central Business System) service layer, translating pre-fetched service contract records into the exact key-value structure expected by the `EKK1081D010BS` CBS.

The method retrieves service contract consent information (`EKK0081A010`) and multi-functional router/HGW device information (`EZM0411A010`) from the shared SOD work area, then constructs a complete `inMap` containing the order release condition fields including service contract number, equipment provisioning service contract number, order subtype code, service order code (OLS), termination subtype code, order release condition code, same transaction number, and optionally the indoor equipment model code and equipment serial number.

It implements a **conditional routing pattern** based on the indoor equipment subtype code (`TAKNKIKI_SBT_CD`): for multi-functional routers (R0) or HGW devices (S0), it routes the service contract development number from the kikiInfoMap. For UQ provider service (J0), it iterates through service contract detail records to find a WiMAX (A46) subscription and sets the corresponding development number — and explicitly nullifies the equipment model and serial number fields, as UQ service does not require physical equipment registration.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setValueOdrHakkoJoken"])
    
    START --> S1["Get sodWorkMap from getSodWorkMap"]
    S1 --> S2["Create inMap as new HashMap"]
    S2 --> S3["Get ekk0081A010OutMap from sodWorkMap"]
    S3 --> S4["Get ekk0081A010CbsMsg1List from ekk0081A010OutMap"]
    S4 --> C1{List size > 0?}
    
    C1 -->|Yes| S5["Get first record from CbsMsg1List"]
    S5 --> S6["Put SVC_KEI_NO from record to inMap"]
    
    C1 -->|No| S6
    
    S6 --> S7["Put KKTK_SVC_KEI_NO from kikiInfoMap to inMap"]
    S7 --> S8["Put ORDER_SBT_CD from parameter to inMap"]
    S8 --> S9["Put SVC_ORDER_CD from parameter to inMap"]
    S9 --> S10["Put YOKYU_SBT_CD from parameter to inMap"]
    S10 --> S11["Put ODR_HAKKO_JOKEN_CD = 01 to inMap"]
    S11 --> S12["Put SAME_TRN_NO from parameter to inMap"]
    S12 --> C2{has key_tk_mdl_cd?}
    
    C2 -->|Yes| S13["Put TAKNKIKI_MODEL_CD from approvalMap to inMap"]
    C2 -->|No| S14
    
    S13 --> S14{has key_kk_seizo_no?}
    S14 -->|Yes| S15["Put KIKI_SEIZO_NO from approvalMap to inMap"]
    S14 -->|No| S16
    
    S15 --> S16["Get ezm0411A010OutMap from sodWorkMap"]
    S16 --> S17["Get ezm0411A010CbsMsg1List from ezm0411A010OutMap"]
    S17 --> S18["Get first record from CbsMsg1List"]
    S18 --> S19["Get TAKNKIKI_SBT_CD from record"]
    S19 --> C3{Is R0 or S0?}
    
    C3 -->|Yes| S20["Put SVC_KEI_KAISEN_UCWK_NO from kikiInfoMap to inMap"]
    C3 -->|No| C4{Is J0?}
    
    S20 --> S30["Put inMap to sodWorkMap"]
    S30 --> END(["End Return"])
    
    C4 -->|Yes| S21["Get ekk0161B004Map from sodWorkMap"]
    S21 --> S22["Get ekk0161B004CbsMsg1List from ekk0161B004Map"]
    S22 --> C5{List size > 0?}
    
    C5 -->|Yes| S23["Create iterator over CbsMsg1List"]
    C5 -->|No| S30
    
    S23 --> C6{has next?}
    C6 -->|Yes| S24["Get next record from iterator"]
    S24 --> S25["Get PCRS_CD from record"]
    S25 --> C7{Is A46?}
    
    C7 -->|Yes| S26["Put SVC_KEI_UCWK_NO to inMap and break"]
    C7 -->|No| S23
    
    S26 --> S30
    C6 -->|No| S27["Put TAKNKIKI_MODEL_CD = null to inMap"]
    S27 --> S28["Put KIKI_SEIZO_NO = null to inMap"]
    S28 --> S30
```

**Processing flow summary:**

1. **Acquire SOD work area** — Retrieve the shared SOD work map from the request parameter.
2. **Initialize assembly map** — Create a new `HashMap<String, String>` (`inMap`) to accumulate order release condition key-value pairs.
3. **Resolve service contract number** — Fetch the `EKK0081A010` service contract consent output from the SOD work area; if records exist, extract the service contract number (`SVC_KEI_NO`) from the first record and place it into `inMap`.
4. **Set equipment provisioning service contract number** — Place the equipment provisioning service contract number (`KKTK_SVC_KEI_NO`) from the `kikiInfoMap` into `inMap`.
5. **Set order/release classification fields** — Populate `inMap` with: order subtype code (from `orderSbtCd` parameter), service order code (from `svcOrderCd`), termination subtype code (from `yokyuSbtCd` parameter), order release condition code (hardcoded to `"01"` = immediate release), and same transaction number (from `sameTrnNo` parameter).
6. **Conditionally set equipment model code** — If `approvalMap` contains the key `"key_tk_mdl_cd"`, extract the value from `approvalMap` (not `kikiInfoMap` — this is an IT1-2014-0000348 modification) and place it into `inMap` as the indoor equipment model code (`TAKNKIKI_MODEL_CD`).
7. **Conditionally set equipment serial number** — If `approvalMap` contains the key `"key_kk_seizo_no"`, extract the value from `approvalMap` and place it into `inMap` as the equipment serial number (`KIKI_SEIZO_NO`).
8. **Fetch multi-functional router/HGW information** — Retrieve the `EZM0411A010` service contract wiring detail output from the SOD work area; get the first record and extract the indoor equipment subtype code (`TAKNKIKI_SBT_CD`).
9. **Branch A — Multi-functional router or HGW (R0 or S0)** — If the equipment subtype is R0 (多機能ルータ / multi-functional router) or S0 (HGW / home gateway), set the service contract development number (`SVC_KEI_KAISEN_UCWK_NO`) from the `kikiInfoMap` into `inMap`.
10. **Branch B — UQ provider service (J0)** — If the equipment subtype is J0 (UQ), iterate through all `EKK0161B004` service contract detail records. For each record, check if the price course code (`PCRS_CD`) equals `"A46"` (UQ WiMAX Authentication ID). If found, set the service contract development number (`SVC_KEI_UCWK_NO`) and break the loop. After the loop (regardless of whether a match was found), explicitly nullify `TAKNKIKI_MODEL_CD` and `KIKI_SEIZO_NO` since UQ service does not require physical equipment data.
11. **Store result** — Place the completed `inMap` into the `sodWorkMap` under the `EKK1081D010BSMapper.TEMPLATEID` key, making it available for the subsequent CBS invocation.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `approvalMap` | `Map` | Approval decision data map obtained from the operator's approval screen. Contains optionally: `"key_tk_mdl_cd"` (indoor equipment model code, resolved from IT1-2014-0000348 modification) and `"key_kk_seizo_no"` (equipment serial number). Used for VA (Value Added) equipment replacement scenarios where the model/serial must be captured from approval rather than the original kikiInfoMap. |
| 2 | `kikiInfoMap` | `Map<String, String>` | Equipment information map containing pre-fetched device and service data from the equipment selection screen. Provides: `KKTK_SVC_KEI_NO` (equipment provisioning service contract number), `SVC_KEI_KAISEN_UCWK_NO` (service contract development number for multi-functional router / HGW scenarios). |
| 3 | `orderSbtCd` | `String` | Order subtype code (電話 / phone) — classifies the type of order being placed (e.g., new setup, change, termination). Passed directly into the order release condition map as `ORDER_SBT_CD`. |
| 4 | `svcOrderCd` | `String` | Service order code (OLS) — identifies the specific service order type within the OLS (Optical Line System) ordering framework. |
| 5 | `yokyuSbtCd` | `String` | Termination subtype code (解約 / contract termination) — specifies the type of termination operation (e.g., standard cancellation, early termination). |
| 6 | `sameTrnNo` | `String` | Same transaction number (同一処理番号) — a unique transaction identifier that groups related processing steps as a single atomic business transaction. |
| 7 | `param` | `IRequestParameterReadWrite` | Request parameter read-write object used to access and modify the shared SOD work area via `getSodWorkMap(param)`. Also serves as the parameter binding for the downstream CBS invocation. |

**External state read:**

| Field / Source | Type | Business Description |
|---------------|------|---------------------|
| `sodWorkMap` (from `getSodWorkMap(param)`) | `HashMap<String, Object>` | Shared SOD (Service Order Data) work area containing pre-fetched CBS results from earlier processing steps. Provides access to `EKK0081A010` (service contract consent), `EZM0411A010` (service contract wiring detail), and `EKK0161B004` (service contract detail list). |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JDKCommon08CC.getSodWorkMap` | JDKCommon08CC | - | Reads the shared SOD work area from the request parameter to access previously fetched CBS results |
| R | `DKSV0081_DKSV0081OP_EKK0081A010BSMapper` | EKK0081A010 | `KK_T_EKK0081A010` (service contract consent) | Retrieves service contract consent output from the SOD work area to extract the service contract number (`SVC_KEI_NO`) |
| R | `DKSV0081_DKSV0081OP_EZM0411A010BSMapper` | EZM0411A010 | `KK_T_EZM0411A010` (service contract wiring detail) | Retrieves multi-functional router/HGW device information from the SOD work area to determine the equipment subtype code |
| R | `DKSV0081_DKSV0081OP_EKK0161B004BSMapper` | EKK0161B004 | `KK_T_EKK0161B004` (service contract detail) | For UQ provider service (J0), retrieves service contract detail list to find the WiMAX subscription record (PCRS_CD = A46) and its associated service contract development number |
| - | `DKSV0081_DKSV0081OP_EKK1081D010BSMapper` | EKK1081D010 | `KK_T_ODR_HAKKO_JOKEN` (order release condition) | The assembled `inMap` is stored into the SOD work area under `EKK1081D010BSMapper.TEMPLATEID` as input data for the downstream order release condition registration CBS invocation |

**How to classify:**

- All operations in this method are **Read (R)** — the method assembles data from pre-fetched sources in the SOD work area and does not directly perform any C/R/U/D against the database. It is a pure data transformation/routing method.
- The final `sodWorkMap.put()` is an **in-memory Write** that prepares data for the calling method's CBS invocation (`EKK1081D010BS`).
- The downstream CBS `EKK1081D010` handles the actual Create operation on `KK_T_ODR_HAKKO_JOKEN`.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Class: `JDKCommon08CC` (overload) | `setValueOdrHakkoJoken(approvalMap, ...)` overload at L2424-2425 calls → `setValueOdrHakkoJoken(Map approvalMap, ...)` | `inMap stored to sodWorkMap [W] KK_T_ODR_HAKKO_JOKEN (via EKK1081D010BS)` |
| 2 | Class: `JDKCommon48CC` (overload) | `setValueOdrHakkoJoken(kikiInfoMap, ...)` overload at L1164 calls → `setValueOdrHakkoJoken(Map approvalMap, ...)` in JDKCommon08CC | `inMap stored to sodWorkMap [W] KK_T_ODR_HAKKO_JOKEN (via EKK1081D010BS)` |

**Notes on caller relationship:**

- JDKCommon08CC defines an overloaded version of `setValueOdrHakkoJoken` (original 6-parameter form) at L2424-2425 that accepts `Map approvalMap` as an additional first parameter. This overloaded method delegates to the 7-parameter `setValueOdrHakkoJoken` method (the one documented here) after performing its own pre-processing. This is an IT1-2014-0000348 modification.
- JDKCommon48CC defines its own 6-parameter overload (at L786) that calls JDKCommon08CC's 7-parameter method (at L1164). JDKCommon48CC is a customer-specific custom extension of JDKCommon08CC.
- Both callers then proceed to invoke `EKK1081D010BSMapper.editInMsg(param)` and `scCall.run(...)` to trigger the actual order release condition registration CBS.
- No direct screen entry points (KKSV*) are found calling this method directly — it is always invoked through the intermediate `setValueOdrHakkoJoken` wrapper methods in JDKCommon08CC and JDKCommon48CC.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(L2041)`

> Acquire the SOD work area and initialize the inMap.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `sodWorkMap = this.getSodWorkMap(param)` // Retrieve SOD work area from request param [-> getSodWorkMap (JDKCommon08CC)] |
| 2 | SET | `inMap = new HashMap<String, String>()` // Initialize empty assembly map |

---

**Block 2** — [SET / R] `(L2047-2062)`

> Retrieve service contract number from EKK0081A010 consent data.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ekk0081A010OutMap = (HashMap) sodWorkMap.get(DKSV0081_DKSV0081OP_EKK0081A010BSMapper.TEMPLATE_ID)` // Get service contract consent output from SOD work area [-> EKK0081A010] |
| 2 | CALL | `ekk0081A010CbsMsg1List = (ArrayList) ekk0081A010OutMap.get(EKK0081A010CBSMsg.EKK0081A010CBSMSG1LIST)` // Get consent detail list [-> KK_T_EKK0081A010] |
| 3 | IF | `{ekk0081A010CbsMsg1List.size() > 0}` (L2054) // Records were fetched |
| 3.1 | SET | `ekk0081A010CbsMsg = (HashMap) ekk0081A010CbsMsg1List.get(0)` // Get first record [-> KK_T_EKK0081A010] |
| 3.2 | SET | `inMap.put(EKK1081D010CBSMsg.SVC_KEI_NO, (String) ekk0081A010CbsMsg.get(EKK0081A010CBSMsg1List.SVC_KEI_NO))` // Service contract number [-> EKK1081D010CBSMsg.SVC_KEI_NO="svc_kei_no"] |

---

**Block 3** — [SET] `(L2066-2079)`

> Set the core order/release classification fields — equipment provisioning service contract number, order subtype, service order code, termination subtype, order release condition code, and same transaction number.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap.put(EKK1081D010CBSMsg.KKTK_SVC_KEI_NO, kikiInfoMap.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO))` // Equipment provisioning service contract number [-> EKK1081D010CBSMsg.KKTK_SVC_KEI_NO="kktk_svc_kei_no"] |
| 2 | SET | `inMap.put(EKK1081D010CBSMsg.ORDER_SBT_CD, orderSbtCd)` // Order subtype code (phone) [-> EKK1081D010CBSMsg.ORDER_SBT_CD="order_sbt_cd"] |
| 3 | SET | `inMap.put(EKK1081D010CBSMsg.SVC_ORDER_CD, svcOrderCd)` // Service order code (OLS) [-> EKK1081D010CBSMsg.SVC_ORDER_CD="svc_order_cd"] |
| 4 | SET | `inMap.put(EKK1081D010CBSMsg.YOKYU_SBT_CD, yokyuSbtCd)` // Termination subtype code (cancellation) [-> EKK1081D010CBSMsg.YOKYU_SBT_CD="yoku_sbt_cd"] |
| 5 | SET | `inMap.put(EKK1081D010CBSMsg.ODR_HAKKO_JOKEN_CD, "01")` // Order release condition code — hardcoded to "01" (immediate release) [-> EKK1081D010CBSMsg.ODR_HAKKO_JOKEN_CD="odr_hakko_joken_cd"] |
| 6 | SET | `inMap.put(EKK1081D010CBSMsg.SAME_TRN_NO, sameTrnNo)` // Same transaction number [-> EKK1081D010CBSMsg.SAME_TRN_NO="same_trn_no"] |

---

**Block 4** — [IF] `(L2082-2089)` — Conditional: approvalMap contains `"key_tk_mdl_cd"`

> Set indoor equipment model code from approvalMap (not kikiInfoMap — IT1-2014-0000348 modification ensures the model code comes from the approval decision context).

| # | Type | Code |
|---|------|------|
| 1 | IF | `approvalMap.containsKey("key_tk_mdl_cd")` (L2082) // Equipment model code was provided in approval |
| 1.1 | SET | `inMap.put(EKK1081D010CBSMsg.TAKNKIKI_MODEL_CD, (String) approvalMap.get("key_tk_mdl_cd"))` // Indoor equipment model code [-> EKK1081D010CBSMsg.TAKNKIKI_MODEL_CD="taknkiki_model_cd"] |

---

**Block 5** — [IF] `(L2093-2100)` — Conditional: approvalMap contains `"key_kk_seizo_no"`

> Set equipment serial number from approvalMap.

| # | Type | Code |
|---|------|------|
| 1 | IF | `approvalMap.containsKey("key_kk_seizo_no")` (L2093) // Equipment serial number was provided in approval |
| 1.1 | SET | `inMap.put(EKK1081D010CBSMsg.KIKI_SEIZO_NO, (String) approvalMap.get("key_kk_seizo_no"))` // Equipment serial number [-> EKK1081D010CBSMsg.KIKI_SEIZO_NO="kiki_seizo_no"] |

---

**Block 6** — [R] `(L2104-2117)`

> Fetch multi-functional router/HGW device information from EZM0411A010 to determine equipment subtype and decide subsequent routing.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ezm0411A010OutMap = (HashMap) sodWorkMap.get(DKSV0081_DKSV0081OP_EZM0411A010BSMapper.TEMPLATEID)` // Get service contract wiring detail output [-> EZM0411A010] |
| 2 | CALL | `ezm0411A010CbsMsg1List = (ArrayList) ezm0411A010OutMap.get(EZM0411A010CBSMsg.EZM0411A010CBSMSG1LIST)` // Get wiring detail list [-> KK_T_EZM0411A010] |
| 3 | SET | `ezm0411A010CbsMsg = (HashMap) ezm0411A010CbsMsg1List.get(0)` // Get first wiring detail record |
| 4 | SET | `tkniKikiSbtCd = (String) ezm0411A010CbsMsg.get(EZM0411A010CBSMsg1List.TAKNKIKI_SBT_CD)` // Indoor equipment subtype code [-> EZM0411A010CBSMsg1List.TAKNKIKI_SBT_CD="taknkiki_sbt_cd"] |

---

**Block 7** — [IF] `(L2121-2150)` — Conditional: `TAKNKIKI_SBT_CD` is R0 (multi-functional router) or S0 (HGW)

> `[TAKNKIKI_SBT_CD_TAKINORT="R0"]` or `[TAKNKIKI_SBT_CD_HGW="S0"]` — For multi-functional router or HGW devices, set the service contract development number from kikiInfoMap. The condition was expanded in ANK-4315-00-00 to also include HGW (S0).

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKStrConst.TAKNKIKI_SBT_CD_TAKINORT.equals(tkniKikiSbtCd)` (L2121) // Is multi-functional router? [-> R0] |
| 1.1 | IF-ELSEIF | `JKKStrConst.TAKNKIKI_SBT_CD_HGW.equals(tkniKikiSbtCd)` (L2121) // Or is HGW? [-> S0] |
| 1.1.1 | SET | `inMap.put(EKK1081D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, (String) kikiInfoMap.get(EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO))` // Service contract development number from kikiInfoMap [-> EKK1081D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO="svc_kei_kaisen_ucwk_no"] |

---

**Block 8** — [IF] `(L2156-2194)` — Conditional: `TAKNKIKI_SBT_CD` is J0 (UQ provider service)

> `[TAKNKIKI_SBT_CD is "J0"]` — For UQ provider service (UQ WiMAX), iterate through service contract detail records (EKK0161B004) to find a WiMAX subscription (PCRS_CD = "A46"), set its development number, and explicitly nullify equipment model/serial fields.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"J0".equals(tkniKikiSbtCd)` (L2156) // Is UQ provider service? |
| 1.1 | CALL | `ekk0161B004Map = (HashMap) sodWorkMap.get(DKSV0081_DKSV0081OP_EKK0161B004BSMapper.TEMPLATEID)` // Get service contract detail output [-> EKK0161B004] |
| 1.2 | CALL | `ekk0161B004CbsMsg1List = (ArrayList) ekk0161B004Map.get(EKK0161B004CBSMsg.EKK0161B004CBSMSG1LIST)` // Get contract detail list [-> KK_T_EKK0161B004] |
| 1.3 | IF | `{ekk0161B004CbsMsg1List.size() > 0}` (L2163) // Detail records exist |
| 1.3.1 | SET | `Iterator ekk0161B004Ite = ekk0161B004CbsMsg1List.iterator()` (L2170) // Create iterator for looping |
| 1.3.2 | WHILE | `ekk0161B004Ite.hasNext()` (L2172) // Iterate through all detail records |
| 1.3.2.1 | SET | `ekk0161B004CbsMsg = (HashMap) ekk0161B004Ite.next()` (L2174) // Get next record |
| 1.3.2.2 | SET | `pcrsCd = (String) ekk0161B004CbsMsg.get(EKK0161B004CBSMsg1List.PCRS_CD)` (L2177) // Get price course code [-> EKK0161B004CBSMsg1List.PCRS_CD="pcrs_cd"] |
| 1.3.2.3 | IF | `JKKStrConst.CD00134_MOB_WIMAX.equals(pcrsCd)` (L2180) // Is WiMAX subscription? [-> CD00134_MOB_WIMAX="A46"] |
| 1.3.2.3.1 | SET | `inMap.put(EKK1081D010CBSMsg.SVC_KEI_UCWK_NO, (String) ekk0161B004CbsMsg.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO))` (L2183) // Set service contract development number [-> EKK1081D010CBSMsg.SVC_KEI_UCWK_NO="svc_kei_ucwk_no"] |
| 1.3.2.3.2 | RETURN | `break` (L2184) // Stop iteration — found the WiMAX record |
| 1.4 | SET | `inMap.put(EKK1081D010CBSMsg.TAKNKIKI_MODEL_CD, null)` (L2191) // Explicitly nullify equipment model code — UQ service does not use physical equipment |
| 1.5 | SET | `inMap.put(EKK1081D010CBSMsg.KIKI_SEIZO_NO, null)` (L2194) // Explicitly nullify equipment serial number — UQ service does not use physical equipment |

---

**Block 9** — [SET] `(L2198)`

> Store the completed `inMap` into the SOD work area, making it available for the calling method's CBS invocation.

| # | Type | Code |
|---|------|------|
| 1 | SET | `sodWorkMap.put(DKSV0081_DKSV0081OP_EKK1081D010BSMapper.TEMPLATEID, inMap)` // Store assembly map as input for EKK1081D010CBS [-> DKSV0081_DKSV0081OP_EKK1081D010BSMapper.TEMPLATEID="trgt_data"] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `SVC_KEI_NO` | Field | Service contract number — the primary identifier for a service contract line item in the telecom ordering system |
| `KKTK_SVC_KEI_NO` | Field | Equipment provisioning service contract number — the service contract number associated with the specific piece of equipment (e.g., ONT, router) provisioned for a customer |
| `SVC_KEI_UCWK_NO` | Field | Service contract development number — internal tracking ID for service contract modifications/developments, used to link related contract changes |
| `SVC_KEI_KAISEN_UCWK_NO` | Field | Service contract migration/development work number — tracking ID for service contract line items in migration scenarios (multi-functional router / HGW) |
| `ORDER_SBT_CD` | Field | Order subtype code — classifies the type of order being placed (e.g., new setup, change, transfer) |
| `SVC_ORDER_CD` | Field | Service order code — identifies the specific service order type within the OLS (Optical Line System) framework |
| `YOKYU_SBT_CD` | Field | Termination subtype code — specifies the type of termination (解約) operation (e.g., standard cancellation, early termination) |
| `ODR_HAKKO_JOKEN_CD` | Field | Order release condition code — triggers the order release process; `"01"` means immediate release (即時発行) |
| `SAME_TRN_NO` | Field | Same transaction number (同一処理番号) — groups related processing steps into a single atomic business transaction |
| `TAKNKIKI_MODEL_CD` | Field | Indoor equipment model code (屋内機器型式コード) — identifies the model type of indoor equipment (e.g., ONT, router, HGW) |
| `KIKI_SEIZO_NO` | Field | Equipment serial number (機器製造番号) — unique serial number of the physical equipment |
| `TAKNKIKI_SBT_CD` | Field | Indoor equipment subtype code (屋内機器種別コード) — classifies the type of indoor equipment (R0=multi-functional router, S0=HGW, J0=UQ provider, etc.) |
| `PCRS_CD` | Field | Price course code (料金コースコード) — identifies the pricing plan/course for a service subscription |
| `sodWorkMap` | Field | SOD work area (SOD作業領域) — shared HashMap that carries pre-fetched CBS results between processing methods within a single transaction |
| `inMap` | Field | Input assembly map — temporary HashMap that accumulates key-value pairs for the order release condition CBS input |
| SOD | Acronym | Service Order Data — the shared work data area for telecom order processing |
| CBS | Acronym | Central Business System — backend business logic service components |
| CC | Acronym | Common Component / Custom Component — shared business logic class in the Fujitsu Futurity framework |
| OLS | Acronym | Optical Line System — optical fiber service ordering framework |
| FTTH | Business term | Fiber To The Home — fiber-optic internet service (the underlying technology for this telecom ordering system) |
| HGW | Business term | Home Gateway — residential gateway device combining router and modem functionality |
| UQ | Business term | UQ Communications — a Japanese mobile/WiMAX service provider; `TAKNKIKI_SBT_CD = "J0"` indicates UQ-sourced service |
| WiMAX | Business term | Worldwide Interoperability for Microwave Access — wireless broadband technology; UQ's primary service type |
| VA | Business term | Value Added — premium service tier or equipment replacement scenario |
| EKK0081A010 | SC | Service Contract Consent CBS — retrieves service contract consent records (サービス契約同意照会) |
| EKK0161B004 | SC | Service Contract Detail List CBS — retrieves service contract detail records (サービス契約詳細照会) |
| EZM0411A010 | SC | Service Contract Wiring Detail CBS — retrieves multi-functional router/HGW wiring information (サービス契約回線詳細照会) |
| EKK1081D010 | SC | Order Release Condition Registration CBS — registers order release condition data (オーダ発行条件登録) |
| `KK_T_EKK0081A010` | DB Table | Service Contract Consent data table |
| `KK_T_EKK0161B004` | DB Table | Service Contract Detail data table |
| `KK_T_EZM0411A010` | DB Table | Service Contract Wiring Detail data table |
| `KK_T_ODR_HAKKO_JOKEN` | DB Table | Order Release Condition data table — target table for the downstream CBS create operation |
| R0 | Constant value | 多機能ルータ (multi-functional router) — indoor equipment subtype code |
| S0 | Constant value | HGW (home gateway) — indoor equipment subtype code |
| J0 | Constant value | UQ provider service indicator — indoor equipment subtype code for UQ-sourced services |
| A46 | Constant value | UQ WiMAX Authentication ID (UQ WiMAX認証ID) — price course code identifying WiMAX subscription records |
| IT1-2014-0000348 | Change ticket | IT change ticket that added `approvalMap` parameter and changed equipment model/serial source from `kikiInfoMap` to `approvalMap` |
| IT1-2014-0000368 | Change ticket | IT change ticket that added the UQ (J0) provider service handling branch |
| ANK-4315-00-00 | Change ticket | Change ticket that expanded the multi-functional router condition to include HGW (S0) alongside TAKINORT (R0) |

---