# Business Logic — JKKSodSendCC.editInMsgEKK1041C010() [126 LOC]

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

## 1. Role

### JKKSodSendCC.editInMsgEKK1041C010()

This method is a message-building component responsible for preparing the S/I (System Interface) request payload `EKK1041C010` that is sent to update order settings information (オーダ設定情報変更). Its business purpose is to map incoming order configuration data and query results into a structured `CAANMsg` template (`EKK1041C010CBSMsg`) that conforms to the S/I outbound contract for the order-setting modification CBS. The method follows a **template-building pattern**: it instantiates a typed message template, initializes it with null-safety mappings, applies common header fields (template ID, function code, operational date/agent info), then populates all order-setting-specific data fields before delegating to `editInMsgCmn` for final envelope wrapping and return.

The method branches on the **request type code** (`yokyu_sbt_cd`) to determine which SOD (Service Order Data) transmission date fields should be set. Based on whether the request type is New (02), Restoration (07), Cancellation (03), Deletion (08), Suspend (10), Suspend Release (11), or Tokiihakkou (Temporary Issuance, 14), the method computes the appropriate set of date values (Add SOD Send, Stop SOD Send, Stop Release SOD Send, Delete SOD Send) using the operational date from `JCCBPCommon.getOpeDate()`. For New and Restoration requests, all stop/delete dates are cleared to null since they are not applicable. For Suspension and Suspend Release, the dates are inversely managed (setting the stop date while clearing stop release, or vice versa).

Additionally, the method implements a special tunnel-handling rule: when the order type is Telephone (2), the service order is OLS or Radius, the request type is New or Restoration, and the upstream service line detail number (`svc_kei_kaisen_ucwk_no`) exists, the method overrides the tunnel-derived service line detail number from the query result with the one from the order settings info. This ensures tunnel service contracts (Radius/OLS) during new or restoration orders carry the correct pre-move line detail identifier.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["editInMsgEKK1041C010 param, odrSetInfo, rsltMsgEKK1041B001"])
    C1["CAANMsg template = new CAANMsg EKK1041C010CBSMsg"]
    C2["fillCAANMSGNullMapping template, EKK1041C010CBSMsg contents"]
    C3["editInMsgBasicCmn param, template"]
    C4["template.set TEMPLATEID = EKK1041C010"]
    C5["template.set FUNC_CODE = FUNC_CD_1"]
    C6["Extract yokyuSbtCd from odrSetInfo"]
    C7["Extract dates from rsltMsgEKK1041B001"]
    C8["Extract svcKeiKaisenUcwkNo from rsltMsgEKK1041B001"]
    C9["Extract orderSbtCd, svcOrdrSbtCd from odrSetInfo"]

    CND1{yokyuSbtCd equals 02 NEW}
    BLK_NEW["Set addSodSendYmd = opeDate
Set stpSodSendYmd, stpRlsSodSendYmd, delSodSendYmd = null"]
    CND2{yokyuSbtCd equals 07 KAIHK}
    BLK_KAIHK["Set addSodSendYmd = opeDate
Set stpSodSendYmd, stpRlsSodSendYmd, delSodSendYmd = null"]
    CND3{yokyuSbtCd equals 03 DSL}
    BLK_DSL["Set stpSodSendYmd = opeDate"]
    CND4{yokyuSbtCd equals 08 DEL}
    BLK_DEL["Set delSodSendYmd = opeDate"]
    CND5{yokyuSbtCd equals 10 STP}
    BLK_STP["Set stpSodSendYmd = opeDate"]
    CND6{yokyuSbtCd equals 11 STP_RLS}
    BLK_STP_RLS["Set stpRlsSodSendYmd = opeDate
Set stpSodSendYmd = null"]
    CND7{yokyuSbtCd equals 14 TOKI}
    BLK_TOKI["Set addSodSendYmd = opeDate
Set stpSodSendYmd, stpRlsSodSendYmd, delSodSendYmd = null"]
    BLK_ELSE["No date update"]

    CND8{orderSbtCd equals 2 TEL AND svcOrdrSbtCd is 20 OLS or 23 Radius AND yokyuSbtCd is 02 NEW or 07 KAIHK AND svcKeiKaisenUcwkNo is not null}
    BLK_TUNNEL["Override svcKeiKaisenUcwkNo from odrSetInfo"]

    C10["Set ODR_SET_NO, RCNT_YOKYU_SBT_CD, STP_SOD_SEND_YMD, STP_RLS_SOD_SEND_YMD, DEL_SOD_SEND_YMD, UPD_DTM_BF, ADD_SOD_SEND_YMD, SVC_KEI_KAISEN_UCWK_NO, TAKINORT_KINO_CD"]
    C11["return editInMsgCmn param, template"]
    END(["Return HashMap"])

    START --> C1
    C1 --> C2
    C2 --> C3
    C3 --> C4
    C4 --> C5
    C5 --> C6
    C6 --> C7
    C7 --> C8
    C8 --> C9
    C9 --> CND1
    CND1 -->|true| BLK_NEW
    BLK_NEW --> CND2
    CND2 -->|true| BLK_KAIHK
    BLK_KAIHK --> CND3
    CND3 -->|true| BLK_DSL
    BLK_DSL --> CND4
    CND4 -->|true| BLK_DEL
    BLK_DEL --> CND5
    CND5 -->|true| BLK_STP
    BLK_STP --> CND6
    CND6 -->|true| BLK_STP_RLS
    BLK_STP_RLS --> CND7
    CND7 -->|true| BLK_TOKI
    BLK_TOKI --> CND8
    BLK_NEW --> CND2
    BLK_KAIHK --> CND3
    BLK_DSL --> CND4
    BLK_DEL --> CND5
    BLK_STP --> CND6
    BLK_STP_RLS --> CND7
    BLK_TOKI --> CND8
    CND1 -->|false| CND2
    CND2 -->|false| CND3
    CND3 -->|false| CND4
    CND4 -->|false| CND5
    CND5 -->|false| CND6
    CND6 -->|false| CND7
    CND7 -->|false| BLK_ELSE
    BLK_ELSE --> CND8
    CND8 -->|true| BLK_TUNNEL
    CND8 -->|false| C10
    BLK_TUNNEL --> C10
    C10 --> C11
    C11 --> END
```

**Constant Resolution Reference:**

| Constant | Value | Business Meaning |
|----------|-------|-----------------|
| `YOKYU_SBT_CD_NEW` | `"02"` | Request type: New service contract |
| `YOKYU_SBT_CD_KAIHK` | `"07"` | Request type: Restoration (re-activation) |
| `YOKYU_SBT_CD_DSL` | `"03"` | Request type: Cancellation (dismantle) |
| `YOKYU_SBT_CD_DEL` | `"08"` | Request type: Deletion |
| `YOKYU_SBT_CD_STP` | `"10"` | Request type: Suspend (temporary stop) |
| `YOKYU_SBT_CD_STP_RLS` | `"11"` | Request type: Suspend Release (resume) |
| `YOKYU_SBT_CD_TOKI` | `"14"` | Request type: Tokiihakkou (temporary issuance) |
| `ORDER_SBT_CD_TEL` | `"2"` | Order type: Telephone |
| `SVC_ORDER_CD_OLS` | `"20"` | Service order: OLS (Optical Line Terminal Service) |
| `SVC_ORDER_CD_RADIUS` | `"23"` | Service order: Radius (authentication service) |
| `FUNC_CD_1` | `1` | Function code: Standard processing |
| `OSI_YOKYU_SBT_CD` | `"yokyu_sbt_cd"` | Map key for request type code in order settings info |
| `OSI_ORDER_SBT_CD` | `"order_sbt_cd"` | Map key for order type in order settings info |
| `OSI_SVC_ORDER_CD` | `"svc_order_cd"` | Map key for service order code in order settings info |
| `OSI_SVC_KEI_KAISEN_UCWK_NO` | `"svc_kei_kaisen_ucwk_no"` | Map key for upstream service line detail number |
| `OSI_TAKINORT_KINO_CD` | `"takinort_kino_cd"` | Map key for multi-function router function code |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `param` | `IRequestParameterReadWrite` | Request parameter object carrying operational context including agent information, date, and session data. Used by `editInMsgBasicCmn` to populate standard header fields (function code, operator info, date) into the template message. |
| 2 | `odrSetInfo` | `HashMap<String, Object>` | Order settings information map. Contains order metadata extracted from the screen/business layer, including request type code (`yokyu_sbt_cd`), order type (`order_sbt_cd`), service order code (`svc_order_cd`), and optional tunnel-specific fields like the upstream service line detail number (`svc_kei_kaisen_ucwk_no`) and multi-function router function code (`takinort_kino_cd`). |
| 3 | `rsltMsgEKK1041B001` | `CAANMsg` | Query result message from the EKK1041B001 (Order Settings List Inquiry) service. Provides historical and current order-setting date values (Stop SOD Send, Stop Release SOD Send, Delete SOD Send, Add SOD Send dates) and the service line detail number from upstream (`svc_kei_kaisen_ucwk_no`), as well as the last update timestamp (`upd_dtm`). |

**Extracted instance fields / external state read:**

| Source | Access Pattern | Purpose |
|--------|---------------|---------|
| `EKK1041C010CBSMsg.TEMPLATEID` | Static field reference | S/I Template ID constant for the `EKK1041C010` message |
| `EKK1041C010CBSMsg.FUNC_CODE` | Static field reference | Function code field in the message template |
| `EKK1041C010CBSMsg.ODR_SET_NO` | Static field reference | Order settings number field |
| `EKK1041C010CBSMsg.RCNT_YOKYU_SBT_CD` | Static field reference | Most recent request type code field |
| `EKK1041C010CBSMsg.STP_SOD_SEND_YMD` | Static field reference | Stop SOD send date field |
| `EKK1041C010CBSMsg.STP_RLS_SOD_SEND_YMD` | Static field reference | Stop release SOD send date field |
| `EKK1041C010CBSMsg.DEL_SOD_SEND_YMD` | Static field reference | Delete SOD send date field |
| `EKK1041C010CBSMsg.UPD_DTM_BF` | Static field reference | Update date/time before field |
| `EKK1041C010CBSMsg.ADD_SOD_SEND_YMD` | Static field reference | Add SOD send date field |
| `EKK1041C010CBSMsg.SVC_KEI_KAISEN_UCWK_NO` | Static field reference | Service line detail number (pre-move) field |
| `EKK1041C010CBSMsg.TAKINORT_KINO_CD` | Static field reference | Multi-function router function code field |
| `EKK1041B001CBSMsg1List.STP_SOD_SEND_YMD` | Static field reference | Message list key for stop SOD send date |
| `EKK1041B001CBSMsg1List.STP_RLS_SOD_SEND_YMD` | Static field reference | Message list key for stop release SOD send date |
| `EKK1041B001CBSMsg1List.DEL_SOD_SEND_YMD` | Static field reference | Message list key for delete SOD send date |
| `EKK1041B001CBSMsg1List.ADD_SOD_SEND_YMD` | Static field reference | Message list key for add SOD send date |
| `EKK1041B001CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO` | Static field reference | Message list key for upstream service line detail number |
| `EKK1041B001CBSMsg1List.ODR_SET_NO` | Static field reference | Message list key for order settings number |
| `EKK1041B001CBSMsg1List.UPD_DTM` | Static field reference | Message list key for update date/time |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JCCBPCommon.getOpeDate` | JCCBPCommon | - | Retrieves the current operational date used as the effective date for SOD transmission dates (Add/Stop/Release/Delete). Called conditionally based on request type. |
| R | `rsltMsgEKK1041B001.getString(...)` | EKK1041B001 (Order Settings List Inquiry) | EKK1041B001CBSMsg1List | Reads date fields (Stop SOD Send, Stop Release, Delete, Add) and service line detail number from the query result message returned by the Order Settings List Inqquiry SC. Also reads the last update date/time. |
| U | `editInMsgBasicCmn` | JKKSodSendCC | - | Sets common header fields (agent, date, operation info) onto the template message. Shared initialization across all `editInMsg*` methods in this class. |
| U | `editInMsgCmn` | JKKSodSendCC | - | Final envelope assembly: wraps the populated template into the return HashMap, applying common mapping and validation logic. |
| - | `fillCAANMSGNullMapping` | JKKSodSendCC | - | Initializes the message template with null-safe default mappings to prevent null-pointer issues during field population. |
| - | `convBlankToNull` | JKKSodSendCC | - | Utility that converts blank/empty string values to null for consistent S/I field representation. Applied to every date and code field before template assignment. |
| - | `isNull` | JKKSodSendCC | - | Null-check utility used in the tunnel-handling condition to verify `svc_kei_kaisen_ucwk_no` exists in `odrSetInfo`. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Method: `JKKSodSendCC.executeSodSend` | `executeSodSend` -> `editInMsgEKK1041C010(param, odrSetInfo, rsltMsgEKK1041B001)` | `editInMsgCmn [U] CAANMsg template`, `convBlankToNull [-]`, `JCCBPCommon.getOpeDate [R]` |

**Note:** No screen (`KKSV*`) or batch (`KKBT*`) entry points were found within 8 hops. This method is called directly by `executeSodSend` within the same class (`JKKSodSendCC`), which acts as the SOD (Service Order Data) dispatch component. The terminal operations from this method consist of date reads from the EKK1041B001 query result, common header writes, and the final delegation to `editInMsgCmn` for S/I envelope creation.

## 6. Per-Branch Detail Blocks

**Block 1** — [INITIALIZATION] (L1984)

> Instantiate the message template and initialize common mappings.

| # | Type | Code |
|---|------|------|
| 1 | SET | `CAANMsg template = new CAANMsg(EKK1041C010CBSMsg.class.getName())` // Create typed S/I message template |
| 2 | EXEC | `fillCAANMSGNullMapping(template, new EKK1041C010CBSMsg().getContents())` // Null-safe default mapping |
| 3 | CALL | `editInMsgBasicCmn(param, template)` // Set common header (agent, date, operation info) |
| 4 | SET | `template.set(EKK1041C010CBSMsg.TEMPLATEID, "EKK1041C010")` // S/I Template ID [-> TEMPLATEID = "EKK1041C010"] |
| 5 | SET | `template.set(EKK1041C010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1)` // Function code = 1 [-> FUNC_CD_1 = 1] |

**Block 2** — [DATA EXTRACTION] (L1999)

> Extract business data from `odrSetInfo` map and `rsltMsgEKK1041B001` query result.

| # | Type | Code |
|---|------|------|
| 1 | SET | `yokyuSbtCd = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_YOKYU_SBT_CD)` // Request type code [-> "yokyu_sbt_cd"] |
| 2 | SET | `stpSodSendYmd = rsltMsgEKK1041B001.getString(EKK1041B001CBSMsg1List.STP_SOD_SEND_YMD)` // Stop SOD send date |
| 3 | SET | `stpRlsSodSendYmd = rsltMsgEKK1041B001.getString(EKK1041B001CBSMsg1List.STP_RLS_SOD_SEND_YMD)` // Stop release SOD send date |
| 4 | SET | `delSodSendYmd = rsltMsgEKK1041B001.getString(EKK1041B001CBSMsg1List.DEL_SOD_SEND_YMD)` // Delete SOD send date |
| 5 | SET | `addSodSendYmd = rsltMsgEKK1041B001.getString(EKK1041B001CBSMsg1List.ADD_SOD_SEND_YMD)` // Add SOD send date |
| 6 | SET | `svcKeiKaisenUcwkNo = rsltMsgEKK1041B001.getString(EKK1041B001CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO)` // Service line detail number (pre-move) |
| 7 | SET | `orderSbtCd = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_ORDER_SBT_CD)` // Order type [-> "order_sbt_cd"] |
| 8 | SET | `svcOrdrSbtCd = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_ORDER_CD)` // Service order code [-> "svc_order_cd"] |

**Block 3** — [IF/ELSE-IF] Request Type Branch: SOD Date Computation (L2010)

> Determine which SOD transmission date fields to set based on the request type code. Each request type has a distinct set of dates that are valid.

**Block 3.1** — [IF] `YOKYU_SBT_CD_NEW = "02"` (Request Type: New) (L2010)

> For new service contracts: set Add SOD Send date to current operational date; clear all stop/delete dates since they do not apply to new orders.

| # | Type | Code |
|---|------|------|
| 1 | SET | `addSodSendYmd = JCCBPCommon.getOpeDate(null)` // Current operational date |
| 2 | SET | `stpSodSendYmd = null` // Stop date not applicable for new orders |
| 3 | SET | `stpRlsSodSendYmd = null` // Stop release date not applicable for new orders |
| 4 | SET | `delSodSendYmd = null` // Delete date not applicable for new orders |

**Block 3.2** — [ELSE-IF] `YOKYU_SBT_CD_KAIHK = "07"` (Request Type: Restoration) (L2018)

> For restoration (re-activation) requests: same as New — set Add SOD Send date to current operational date; clear all stop/delete dates. Restoration re-activates a previously suspended service, so stop dates are cleared.

| # | Type | Code |
|---|------|------|
| 1 | SET | `addSodSendYmd = JCCBPCommon.getOpeDate(null)` // Current operational date |
| 2 | SET | `stpSodSendYmd = null` // Stop date cleared on restoration |
| 3 | SET | `stpRlsSodSendYmd = null` // Stop release date cleared |
| 4 | SET | `delSodSendYmd = null` // Delete date not applicable |

**Block 3.3** — [ELSE-IF] `YOKYU_SBT_CD_DSL = "03"` (Request Type: Cancellation) (L2026)

> For cancellation (dismantle) requests: set the Stop SOD Send date to the current operational date. Cancellation stops the service at this date.

| # | Type | Code |
|---|------|------|
| 1 | SET | `stpSodSendYmd = JCCBPCommon.getOpeDate(null)` // Current operational date |

**Block 3.4** — [ELSE-IF] `YOKYU_SBT_CD_DEL = "08"` (Request Type: Deletion) (L2033)

> For deletion requests: set the Delete SOD Send date to the current operational date. The order is fully removed from the system.

| # | Type | Code |
|---|------|------|
| 1 | SET | `delSodSendYmd = JCCBPCommon.getOpeDate(null)` // Current operational date |

**Block 3.5** — [ELSE-IF] `YOKYU_SBT_CD_STP = "10"` (Request Type: Suspend) (L2037)

> For suspension requests: set the Stop SOD Send date to the current operational date. The service is temporarily stopped.

| # | Type | Code |
|---|------|------|
| 1 | SET | `stpSodSendYmd = JCCBPCommon.getOpeDate(null)` // Current operational date |

**Block 3.6** — [ELSE-IF] `YOKYU_SBT_CD_STP_RLS = "11"` (Request Type: Suspend Release) (L2042)

> For suspend release requests: set the Stop Release SOD Send date to the current operational date; also clear the Stop SOD Send date (since we are resuming, not stopping).

| # | Type | Code |
|---|------|------|
| 1 | SET | `stpRlsSodSendYmd = JCCBPCommon.getOpeDate(null)` // Current operational date |
| 2 | SET | `stpSodSendYmd = null` // Stop date cleared on release |

**Block 3.7** — [ELSE-IF] `YOKYU_SBT_CD_TOKI = "14"` (Request Type: Tokiihakkou / Temporary Issuance) (L2049)

> For temporary issuance requests: set Add SOD Send date to the current operational date; clear all stop/delete dates since the service is being provisioned on a temporary basis.

| # | Type | Code |
|---|------|------|
| 1 | SET | `addSodSendYmd = JCCBPCommon.getOpeDate(null)` // Current operational date |
| 2 | SET | `stpSodSendYmd = null` // Not applicable for temporary issuance |
| 3 | SET | `stpRlsSodSendYmd = null` // Not applicable for temporary issuance |
| 4 | SET | `delSodSendYmd = null` // Not applicable for temporary issuance |

**Block 3.8** — [ELSE] No Update (L2056)

> For any unrecognized request type code: do not update any date fields. The original values from `rsltMsgEKK1041B001` are preserved as-is.

**Block 4** — [IF] Tunnel Handling: Radius/OLS Service Line Override (L2059)

> Special handling for pre-move Z1 orders: when the order type is Telephone, the service order is OLS (20) or Radius (23), the request type is New (02) or Restoration (07), and the upstream service line detail number exists, override the tunnel-derived value with the explicit value from `odrSetInfo`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKSvcConst.ORDER_SBT_CD_TEL.equals(orderSbtCd)` // order type = "2" (Telephone) [-> ORDER_SBT_CD_TEL = "2"] |
| 2 | IF | `JKKSvcConst.SVC_ORDER_CD_OLS.equals(svcOrdrSbtCd) || JKKSvcConst.SVC_ORDER_CD_RADIUS.equals(svcOrdrSbtCd)` // service order = "20" (OLS) or "23" (Radius) [-> SVC_ORDER_CD_OLS = "20", SVC_ORDER_CD_RADIUS = "23"] |
| 3 | IF | `JKKSvcConst.YOKYU_SBT_CD_NEW.equals(yokyuSbtCd) || JKKSvcConst.YOKYU_SBT_CD_KAIHK.equals(yokyuSbtCd)` // request type = "02" (New) or "07" (Restoration) [-> YOKYU_SBT_CD_NEW = "02", YOKYU_SBT_CD_KAIHK = "07"] |
| 4 | IF | `!isNull((String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_KAISEN_UCWK_NO))` // upstream service line detail number is not null/empty |
| 5 | SET | `svcKeiKaisenUcwkNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_KAISEN_UCWK_NO)` // Override from odrSetInfo [-> "svc_kei_kaisen_ucwk_no"] |

**Block 5** — [FIELD MAPPING] S/I Message Population (L2066)

> Map all resolved values into the `template` message. Every value is passed through `convBlankToNull` to ensure consistent null representation in the S/I contract.

| # | Type | Code |
|---|------|------|
| 1 | SET | `template.set(EKK1041C010CBSMsg.ODR_SET_NO, convBlankToNull(rsltMsgEKK1041B001.getString(EKK1041B001CBSMsg1List.ODR_SET_NO)))` // Order settings number [-> "ODR_SET_NO"] |
| 2 | SET | `template.set(EKK1041C010CBSMsg.RCNT_YOKYU_SBT_CD, convBlankToNull(yokyuSbtCd))` // Most recent request type code [-> "RCNT_YOKYU_SBT_CD"] |
| 3 | SET | `template.set(EKK1041C010CBSMsg.STP_SOD_SEND_YMD, convBlankToNull(stpSodSendYmd))` // Stop SOD send date [-> "STP_SOD_SEND_YMD"] |
| 4 | SET | `template.set(EKK1041C010CBSMsg.STP_RLS_SOD_SEND_YMD, convBlankToNull(stpRlsSodSendYmd))` // Stop release SOD send date [-> "STP_RLS_SOD_SEND_YMD"] |
| 5 | SET | `template.set(EKK1041C010CBSMsg.DEL_SOD_SEND_YMD, convBlankToNull(delSodSendYmd))` // Delete SOD send date [-> "DEL_SOD_SEND_YMD"] |
| 6 | SET | `template.set(EKK1041C010CBSMsg.UPD_DTM_BF, convBlankToNull(rsltMsgEKK1041B001.getString(EKK1041B001CBSMsg1List.UPD_DTM)))` // Update date/time before [-> "UPD_DTM_BF"] |
| 7 | SET | `template.set(EKK1041C010CBSMsg.ADD_SOD_SEND_YMD, convBlankToNull(addSodSendYmd))` // Add SOD send date [-> "ADD_SOD_SEND_YMD"] |
| 8 | SET | `template.set(EKK1041C010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, convBlankToNull(svcKeiKaisenUcwkNo))` // Service line detail number (pre-move) [-> "SVC_KEI_KAISEN_UCWK_NO"] |
| 9 | SET | `template.set(EKK1041C010CBSMsg.TAKINORT_KINO_CD, convBlankToNull((String)odrSetInfo.get(JKKSodSendConstCC.OSI_TAKINORT_KINO_CD)))` // Multi-function router function code [-> "TAKINORT_KINO_CD"] |

**Block 6** — [RETURN] (L2076)

> Delegate to the common message assembly method and return the resulting HashMap.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return editInMsgCmn(param, template)` // Assemble and return S/I request payload |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `yokyu_sbt_cd` | Field | Request type code — classifies the type of service request (New, Cancellation, Restoration, Deletion, Suspend, Suspend Release, Tokiihakkou) |
| `order_sbt_cd` | Field | Order type code — classifies the broad order category (Network, Telephone, Mobile, Emergency Report) |
| `svc_order_cd` | Field | Service order code — classifies the specific service being ordered (FTTH, OLS, Radius, Mail, Router, SIP, etc.) |
| `svc_kei_kaisen_ucwk_no` | Field | Service line detail number (pre-move / upstream) — internal tracking identifier for a service contract line item, used during tunnel service migrations |
| `takinort_kino_cd` | Field | Multi-function router function code — identifies router capabilities for multi-function router orders |
| `stp_sod_send_ymd` | Field | Stop SOD send date — the date when a suspended service's SOD is transmitted |
| `stp_rls_sod_send_ymd` | Field | Stop release SOD send date — the date when a resumed service's SOD is transmitted |
| `del_sod_send_ymd` | Field | Delete SOD send date — the date when a deleted order's SOD is transmitted |
| `add_sod_send_ymd` | Field | Add SOD send date — the date when a new/added order's SOD is transmitted |
| `upd_dtm` | Field | Update date/time — last modification timestamp of the order settings record |
| `odr_set_no` | Field | Order settings number — unique identifier for an order settings record |
| `rcnt_yokyu_sbt_cd` | Field | Most recent request type code — the latest request type applied to the order |
| SOD | Acronym | Service Order Data — telecom order fulfillment data transmitted between systems for service activation/deactivation |
| S/I | Acronym | System Interface — the communication interface/contract between systems (here, outbound message to CBS) |
| CBS | Acronym | Central Business System — the core operational system handling service contracts and orders |
| SC | Acronym | Service Component — a service layer component in the application architecture |
| CAANMsg | Technical | Fujitsu's message envelope class used for S/I communication between application layers |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service |
| OLS | Business term | Optical Line Terminal Service — optical network termination service in FTTH deployments |
| Radius | Business term | Remote Authentication Dial-In User Service — network authentication protocol for broadband access |
| Tokiihakkou | Business term | Temporary Issuance — a temporary service activation type for short-term or trial service provision |
| EKK1041B001 | SC Code | Order Settings List Inquiry — SC that queries order settings information |
| EKK1041C010 | SC Code | Order Settings Information Update — SC for updating order settings via S/I outbound message |
| KAIHK | Japanese abbreviation | Restoration (回復) — re-activating a previously suspended or cancelled service |
| DSL | Japanese abbreviation | Dismantle/Cancellation (解約) — cancelling a service contract |
| STP | Japanese abbreviation | Stop/Suspend (一時停止) — temporarily suspending a service |
| STP_RLS | Japanese abbreviation | Stop Release (停止解除) — resuming a previously suspended service |
| UCWK_NO | Field suffix | Uchikae Work Number (引越工事番号) — migration/construction work tracking number |
| KAISEN | Japanese term | Upstream/Prior (引越前) — refers to data from before a service migration |
