# Business Logic — JKKSodSendCC.editInMsgEKK1041B001() [176 LOC]

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

## 1. Role

### JKKSodSendCC.editInMsgEKK1041B001()

This method is the inbound message builder for the **Order Setting Inquiry** (オーダ設定一覧照会) service (EKK1041B001). It constructs a CAANMsg template from the order-setting data carried in `odrSetInfo`, routing field population through a switch on `ordSetPattern` to match the specific order-update scenario being processed. The method implements a **builder/dispatch pattern**: it first applies generic common-field setup via `editInMsgBasicCmn`, then dispatches to one of ten order-setting pattern branches based on the `ordSetPattern` parameter (values 1–10). Each branch extracts only the fields relevant to that particular service type (e.g., FTTH authentication registration, mail address change, equipment-provided service contract, spot login). After populating pattern-specific fields into local variables, it maps all of them to the CAANMsg template as S/I (System Input/Output) uplink fields using the `EKK1041B001CBSMsg.KEY_*` constants. Finally, it delegates to `editInMsgCmn` to wrap the template into a `HashMap<String, Object>` for downstream service invocation. This method is called by `JKKSodSendCC.executeSodSend()`, which manages the broader SOD (Service Order Data) send workflow — the order-setting inquiry result is then used by the caller to determine whether to proceed with order-setting change registration (EKK1041C010) or new order-setting registration (EKK1041D010).

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["editInMsgEKK1041B001 param, odrSetInfo, ordSetPattern"])
    
    START --> INIT["Initialize CAANMsg template with EKK1041B001CBSMsg"]
    INIT --> NULLMAP["fillCAANMSGNullMapping template, EKK1041B001CBSMsg contents"]
    NULLMAP --> BASIC["editInMsgBasicCmn param, template"]
    BASIC --> TEMPLATEID["Set TEMPLATEID to EKK1041B001"]
    TEMPLATEID --> FUNC["Set FUNC_CODE to JPCModelConstant FUNC_CD_1"]
    FUNC --> EXTRACT["Extract orderSbtCd and svcOrderCd from odrSetInfo"]
    EXTRACT --> SWITCH["ordSetPattern switch"]
    
    SWITCH --> CASE1{ordSetPattern equals 1}
    CASE1 --> TRUE1["FTTH Auth Registration"]
    TRUE1 --> COND{IsNull svcKeiUcwkNo}
    COND --> TRUE2["svcKeiNo and opSvcKeiNo from odrSetInfo"]
    COND --> FALSE2["svcKeiNo and svcKeiUcwkNo from odrSetInfo"]
    TRUE2 --> BREAK1["break"]
    FALSE2 --> BREAK1
    
    CASE1 --> CASE2{ordSetPattern equals 2}
    CASE2 --> TRUE2B["svcKeiNo, svcKeiUcwkNo, mlad from odrSetInfo"]
    TRUE2B --> BREAK2["break"]
    
    CASE2 --> CASE3{ordSetPattern equals 3}
    CASE3 --> TRUE3["svcKeiNo and opSvcKeiNo from odrSetInfo"]
    TRUE3 --> BREAK3["break"]
    
    CASE3 --> CASE4{ordSetPattern equals 4}
    CASE4 --> TRUE4["svcKeiNo, kktkSvcKeiNo, taknkikiModelCd, kikiSeizoNo from odrSetInfo"]
    TRUE4 --> BREAK4["break"]
    
    CASE4 --> CASE5{ordSetPattern equals 5}
    CASE5 --> TRUE5["svcKeiNo, svcKeiUcwkNo, opSvcKeiNo from odrSetInfo"]
    TRUE5 --> BREAK5["break"]
    
    CASE5 --> CASE6{ordSetPattern equals 6}
    CASE6 --> TRUE6["svcKeiNo, svcKeiUcwkNo, taknkikiModelCd, kikiSeizoNo from odrSetInfo"]
    TRUE6 --> BREAK6["break"]
    
    CASE6 --> CASE7{ordSetPattern equals 7}
    CASE7 --> TRUE7["spotLoginSysid from odrSetInfo"]
    TRUE7 --> BREAK7["break"]
    
    CASE7 --> CASE8{ordSetPattern equals 8}
    CASE8 --> TRUE8["svcKeiNo and svcKeiUcwkNo from odrSetInfo"]
    TRUE8 --> BREAK8["break"]
    
    CASE8 --> CASE9{ordSetPattern equals 9}
    CASE9 --> TRUE9["svcKeiNo from odrSetInfo"]
    TRUE9 --> BREAK9["break"]
    
    CASE9 --> CASE10{ordSetPattern equals 10}
    CASE10 --> TRUE10["kktkSvcKeiNo, taknkikiModelCd, kikiSeizoNo from odrSetInfo"]
    TRUE10 --> BREAK10["break"]
    
    CASE10 --> DEFAULT["default - no extraction"]
    
    BREAK1 --> SETFIELDS
    BREAK2 --> SETFIELDS
    BREAK3 --> SETFIELDS
    BREAK4 --> SETFIELDS
    BREAK5 --> SETFIELDS
    BREAK6 --> SETFIELDS
    BREAK7 --> SETFIELDS
    BREAK8 --> SETFIELDS
    BREAK9 --> SETFIELDS
    BREAK10 --> SETFIELDS
    DEFAULT --> SETFIELDS
    
    SETFIELDS["Set all fields on template: KEY_ORDER_SBT_CD through KEY_SVC_KEI_KAISEN_UCWK_NO"]
    SETFIELDS --> RETURN["return editInMsgCmn param, template"]
    RETURN --> END(["Return HashMap String, Object"])
```

**Branch descriptions:**

| Pattern | OrdSetPattern Value | Business Scenario | Fields Extracted |
|---------|--------------------|-------------------|-----------------|
| 1 | `1` | FTTH Auth Registration (サービス契約＋(内詳 or オプション)) — FTTH authentication with service contract plus detail or option. If `svcKeiUcwkNo` is null, extracts option service contract number; otherwise extracts service contract detail number. | `svcKeiNo` always; conditionally `opSvcKeiNo` or `svcKeiUcwkNo` |
| 2 | `2` | Mail Address Change (メールアドレス変更) — Updates customer email address. | `svcKeiNo`, `svcKeiUcwkNo`, `mlad` (Mail Address) |
| 3 | `3` | Option Service Contract Addition (オプションサービス契約追加) — Adds an optional service to the existing contract. | `svcKeiNo`, `opSvcKeiNo` |
| 4 | `4` | Equipment-Provided Service (機器提供サービス) — Service involving customer-provided or equipment-supplied hardware. | `svcKeiNo`, `kktkSvcKeiNo`, `taknkikiModelCd` (Home Equipment Model Code), `kikiSeizoNo` (Equipment Serial Number) |
| 5 | `5` | Combined Contract with Option (サービス契約＋内詳＋オプション) — Service contract with both detail and option. | `svcKeiNo`, `svcKeiUcwkNo`, `opSvcKeiNo` |
| 6 | `6` | Equipment-Provided Service with Contract Detail (機器提供サービス＋契約内詳) — Equipment service combined with service contract detail. | `svcKeiNo`, `svcKeiUcwkNo`, `taknkikiModelCd`, `kikiSeizoNo` |
| 7 | `7` | Spot Login (スポットログイン) — One-time login system ID for service access. Note: `kikiSeizoNo` extraction was commented out (bug fix BKT1-2013-0000488). | `spotLoginSysid` |
| 8 | `8` | Service Contract with Detail (サービス契約内詳) — Service contract detail update. | `svcKeiNo`, `svcKeiUcwkNo` |
| 9 | `9` | Basic Service Contract (サービス契約) — Simple service contract. | `svcKeiNo` |
| 10 | `10` | Equipment-Provided Service Multi-Function (機器提供サービス 多機能ルータ対応) — Added per ANK-1578-00-00 for multi-function router support. Note: `svcKeiKaisenUcwkNo` extraction was commented out (IT2-2014-0000055). | `kktkSvcKeiNo`, `taknkikiModelCd`, `kikiSeizoNo` |
| default | — | Unknown pattern — no fields extracted. | *(none)* |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `param` | `IRequestParameterReadWrite` | The request parameter object carrying S/I uplink information for the order-setting inquiry screen. Used by `editInMsgBasicCmn` for common field population and by `editInMsgCmn` to produce the final response map. |
| 2 | `odrSetInfo` | `HashMap<String, Object>` | The order-setting information map. Contains key-value pairs such as `order_sbt_cd` (order type code), `svc_order_cd` (service order code), `svc_kei_no` (service contract number), `svc_kei_ucwk_no` (service contract detail number), `op_svc_kei_no` (option service contract number), `mlad` (mail address), `kktk_svc_kei_no` (equipment-provided service contract number), `taknkiki_model_cd` (home equipment model code), `kiki_seizo_no` (equipment serial number), and `spot_login_sysid` (spot login system ID). The values extracted depend on which `ordSetPattern` branch is taken. |
| 3 | `ordSetPattern` | `int` | The order-setting update pattern code that determines which service type is being processed. Values range from 1 to 10, each mapping to a distinct business scenario (FTTH auth, mail change, option addition, equipment-provided service, etc.). The pattern value selects the switch case and controls which fields are extracted from `odrSetInfo`. |

**External state / instance fields read:** None. This method is stateless with respect to instance fields; all data flows through parameters.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JKKSodSendCC.fillCAANMSGNullMapping` | JKKSodSendCC | - | Calls `fillCAANMSGNullMapping` in `JKKSodSendCC` — initializes null mappings on the CAANMsg template from `EKK1041B001CBSMsg` contents |
| U | `JKKSodSendCC.editInMsgBasicCmn` | JKKSodSendCC | - | Calls `editInMsgBasicCmn` in `JKKSodSendCC` — populates common fields (e.g., session, tenant, system info) onto the template |
| - | `JKKSodSendCC.isNull` | JKKSodSendCC | - | Calls `isNull` in `JKKSodSendCC` — null-check helper used in case 1's conditional branch to determine if `svcKeiUcwkNo` is present |
| - | `CAANMsg.<init>` | CAANMsg | - | Constructs a new `CAANMsg` template instance with `EKK1041B001CBSMsg.class.getName()` |
| - | `EKK1041B001CBSMsg.<init>` | EKK1041B001CBSMsg | - | Creates a new empty `EKK1041B001CBSMsg` instance for null mapping source |
| - | `EKK1041B001CBSMsg.getContents` | EKK1041B001CBSMsg | - | Retrieves the field contents/metadata of `EKK1041B001CBSMsg` for null mapping initialization |
| U | `CAANMsg.set` (TEMPLATEID) | EKK1041B001CBSMsg | - | Sets the template ID field to `"EKK1041B001"` — identifies the SIF message template |
| U | `CAANMsg.set` (FUNC_CODE) | EKK1041B001CBSMsg | - | Sets the function code to `JPCModelConstant.FUNC_CD_1` — identifies the business function |
| U | `CAANMsg.set` (KEY_ORDER_SBT_CD) | EKK1041B001CBSMsg | - | Maps the order type code field to the template |
| U | `CAANMsg.set` (KEY_SVC_ORDER_CD) | EKK1041B001CBSMsg | - | Maps the service order code field to the template |
| U | `CAANMsg.set` (KEY_RCNT_YOKYU_SBT_CD) | EKK1041B001CBSMsg | - | Maps the recent request type code field to the template (remains null, reserved) |
| U | `CAANMsg.set` (KEY_SVC_KEI_NO) | EKK1041B001CBSMsg | - | Maps the service contract number to the template |
| U | `CAANMsg.set` (KEY_SVC_KEI_UCWK_NO) | EKK1041B001CBSMsg | - | Maps the service contract detail number to the template |
| U | `CAANMsg.set` (KEY_OP_SVC_KEI_NO) | EKK1041B001CBSMsg | - | Maps the option service contract number to the template |
| U | `CAANMsg.set` (KEY_MLAD) | EKK1041B001CBSMsg | - | Maps the mail address to the template |
| U | `CAANMsg.set` (KEY_KKTK_SVC_KEI_NO) | EKK1041B001CBSMsg | - | Maps the equipment-provided service contract number to the template |
| U | `CAANMsg.set` (KEY_TAKNKIKI_MODEL_CD) | EKK1041B001CBSMsg | - | Maps the home equipment model code to the template |
| U | `CAANMsg.set` (KEY_KIKI_SEIZO_NO) | EKK1041B001CBSMsg | - | Maps the equipment serial number to the template |
| U | `CAANMsg.set` (KEY_SPOT_LOGIN_SYSID) | EKK1041B001CBSMsg | - | Maps the spot login system ID to the template |
| U | `CAANMsg.set` (KEY_SVC_KEI_KAISEN_UCWK_NO) | EKK1041B001CBSMsg | - | Maps the service contract circuit detail number to the template (added for ANK-1578-00-00 multi-function router support) |
| U | `JKKSodSendCC.editInMsgCmn` | JKKSodSendCC | - | Calls `editInMsgCmn` in `JKKSodSendCC` — finalizes the inbound message map, wrapping the template into a `HashMap<String, Object>` for the caller |

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 1 methods.
Terminal operations from this method: `editInMsgCmn` [U], `isNull` [-], `editInMsgBasicCmn` [U], `fillCAANMSGNullMapping` [-], `CAANMsg.set` [U] (×14 fields), `getContents` [R], `EKK1041B001CBSMsg.<init>` [-]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `JKKSodSendCC.executeSodSend` | `executeSodSend` -> `editInMsgEKK1041B001(param, odrSetInfo, ordSetPattern)` | `editInMsgCmn [U]`, `editInMsgBasicCmn [U]`, `fillCAANMSGNullMapping [-]`, `CAANMsg.set [U]` (×14 fields) |

**Full call chain detail (from `executeSodSend` caller context, lines 354–365):**
1. `executeSodSend` (session handle, param, fixedText) — main SOD send orchestration
2. Extracts `orderSbtCd` and `svcOrderCd` from `odrSetInfo`
3. Calls `getOrdSetUpdJdg(orderSbtCd, svcOrderCd)` to compute `ordSetPattern`
4. If `ordSetPattern >= 1` (updated to support >9 per ANK-1578-00-00):
   - Calls `editInMsgEKK1041B001(param, odrSetInfo, ordSetPattern)` to build the S/I uplink message
   - Calls `callSvcInter(handle, param, fixedText, inMapEKK1041B001)` to invoke the service
   - Extracts the response `CAANMsg[]` from `EKK1041B001CBSMsg.EKK1041B001CBSMSG1LIST`
5. If result is non-null, calls `editInMsgEKK1041C010` for order-setting change registration
6. Otherwise, calls `editInMsgEKK1041D010` for new order-setting registration

## 6. Per-Branch Detail Blocks

**Block 1** — INITIALIZATION `(L2124)`

> Creates the CAANMsg template and initializes null mappings.

| # | Type | Code |
|---|------|------|
| 1 | SET | `template = new CAANMsg(EKK1041B001CBSMsg.class.getName())` |
| 2 | EXEC | `fillCAANMSGNullMapping(template, new EKK1041B001CBSMsg().getContents())` // null mapping implementation |

**Block 2** — COMMON FIELD SETUP `(L2131–2137)`

> Sets common fields on the template (basic CMN fields, template ID, function code).

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `editInMsgBasicCmn(param, template)` // set common fields |
| 2 | SET | `template.set(EKK1041B001CBSMsg.TEMPLATEID, "EKK1041B001")` // SIF ID |
| 3 | SET | `template.set(EKK1041B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1)` // function code |

**Block 3** — LOCAL VARIABLE DECLARATION `(L2139–2153)`

> Declares all local fields that may be populated by the switch dispatch.

| # | Type | Code |
|---|------|------|
| 1 | SET | `orderSbtCd = null` // order type code |
| 2 | SET | `svcOrderCd = null` // service order code |
| 3 | SET | `rcntYokyuSbtCd = null` // recent request type code (unused) |
| 4 | SET | `svcKeiNo = null` // service contract number |
| 5 | SET | `svcKeiUcwkNo = null` // service contract detail number |
| 6 | SET | `opSvcKeiNo = null` // option service contract number |
| 7 | SET | `mlad = null` // mail address |
| 8 | SET | `kktkSvcKeiNo = null` // equipment-provided service contract number |
| 9 | SET | `taknkikiModelCd = null` // home equipment model code |
| 10 | SET | `kikiSeizoNo = null` // equipment serial number |
| 11 | SET | `spotLoginSysid = null` // spot login system ID |
| 12 | SET | `svcKeiKaisenUcwkNo = null` // service contract circuit detail number [ANK-1578-00-00] |

**Block 4** — ORDER DATA EXTRACTION `(L2155–2158)`

> Extracts base order data from the `odrSetInfo` map.

| # | Type | Code |
|---|------|------|
| 1 | SET | `orderSbtCd = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_ORDER_SBT_CD)` // "order_sbt_cd" |
| 2 | SET | `svcOrderCd = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_ORDER_CD)` // "svc_order_cd" |

**Block 5** — SWITCH ON `ordSetPattern` `(L2160–2272)`

> Dispatches to one of ten branches based on the order-setting update pattern.

**Block 5.1** — CASE 1: FTTH Auth Registration `(L2161–2182)` [JPCModelConstant.FUNC_CD_1]

> FTTH authentication with service contract plus detail or option. Conditional extraction based on whether `svcKeiUcwkNo` is null.

**Block 5.1.1** — Null Check: `isNull(odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_UCWK_NO))` `(L2163)`

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_NO)` // "svc_kei_no" — service contract number |
| 2 | SET | `opSvcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_OP_SVC_KEI_NO)` // "op_svc_kei_no" — option service contract number |

**Block 5.1.2** — Else branch: svcKeiUcwkNo is present `(L2168–2174)`

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_NO)` // "svc_kei_no" — service contract number |
| 2 | SET | `svcKeiUcwkNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_UCWK_NO)` // "svc_kei_ucwk_no" — service contract detail number |

**Block 5.2** — CASE 2: Mail Address Change `(L2178–2183)`

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_NO)` // "svc_kei_no" |
| 2 | SET | `svcKeiUcwkNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_UCWK_NO)` // "svc_kei_ucwk_no" |
| 3 | SET | `mlad = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_MLAD)` // "mlad" — mail address |

**Block 5.3** — CASE 3: Option Service Contract Addition `(L2186–2191)`

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_NO)` // "svc_kei_no" |
| 2 | SET | `opSvcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_OP_SVC_KEI_NO)` // "op_svc_kei_no" |

**Block 5.4** — CASE 4: Equipment-Provided Service `(L2194–2203)`

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_NO)` // "svc_kei_no" |
| 2 | SET | `kktkSvcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_KKTK_SVC_KEI_NO)` // "kktk_svc_kei_no" |
| 3 | SET | `taknkikiModelCd = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_TAKNKIKI_MODEL_CD)` // "taknkiki_model_cd" |
| 4 | SET | `kikiSeizoNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_KIKI_SEIZO_NO)` // "kiki_seizo_no" |

**Block 5.5** — CASE 5: Combined Contract with Option `(L2206–2213)`

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_NO)` // "svc_kei_no" |
| 2 | SET | `svcKeiUcwkNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_UCWK_NO)` // "svc_kei_ucwk_no" |
| 3 | SET | `opSvcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_OP_SVC_KEI_NO)` // "op_svc_kei_no" |

**Block 5.6** — CASE 6: Equipment Service with Contract Detail `(L2216–2225)`

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_NO)` // "svc_kei_no" |
| 2 | SET | `svcKeiUcwkNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_UCWK_NO)` // "svc_kei_ucwk_no" |
| 3 | SET | `taknkikiModelCd = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_TAKNKIKI_MODEL_CD)` // "taknkiki_model_cd" |
| 4 | SET | `kikiSeizoNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_KIKI_SEIZO_NO)` // "kiki_seizo_no" |

**Block 5.7** — CASE 7: Spot Login `(L2228–2235)`

> Spot login SYSID extraction. Note: `kikiSeizoNo` was commented out per bug fix BKT1-2013-0000488 (HTTP 500 issue on KKSV0193).

| # | Type | Code |
|---|------|------|
| 1 | SET | `spotLoginSysid = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SPOT_LOGIN_SYSID)` // "spot_login_sysid" |

**Block 5.8** — CASE 8: Service Contract Detail `(L2238–2243)`

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_NO)` // "svc_kei_no" |
| 2 | SET | `svcKeiUcwkNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_UCWK_NO)` // "svc_kei_ucwk_no" |

**Block 5.9** — CASE 9: Basic Service Contract `(L2246–2249)`

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_SVC_KEI_NO)` // "svc_kei_no" |

**Block 5.10** — CASE 10: Equipment Service Multi-Function Router `(L2251–2262)` [ANK-1578-00-00]

> Added for multi-function router support. Note: `svcKeiKaisenUcwkNo` extraction was commented out (IT2-2014-0000055, 2014-01-22).

| # | Type | Code |
|---|------|------|
| 1 | SET | `kktkSvcKeiNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_KKTK_SVC_KEI_NO)` // "kktk_svc_kei_no" |
| 2 | SET | `taknkikiModelCd = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_TAKNKIKI_MODEL_CD)` // "taknkiki_model_cd" |
| 3 | SET | `kikiSeizoNo = (String)odrSetInfo.get(JKKSodSendConstCC.OSI_KIKI_SEIZO_NO)` // "kiki_seizo_no" |

**Block 5.11** — DEFAULT: Unknown pattern `(L2264–2265)`

> No fields extracted for unrecognized pattern values.

**Block 6** — TEMPLATE FIELD MAPPING `(L2268–2289)`

> Maps all extracted local variables to the CAANMsg template using KEY_* constants. All fields are set regardless of whether they were populated in the switch (unpopulated fields will be null).

| # | Type | Code |
|---|------|------|
| 1 | SET | `template.set(EKK1041B001CBSMsg.KEY_ORDER_SBT_CD, orderSbtCd)` // uplink order type code |
| 2 | SET | `template.set(EKK1041B001CBSMsg.KEY_SVC_ORDER_CD, svcOrderCd)` // uplink service order code |
| 3 | SET | `template.set(EKK1041B001CBSMsg.KEY_RCNT_YOKYU_SBT_CD, rcntYokyuSbtCd)` // uplink recent request type code (always null) |
| 4 | SET | `template.set(EKK1041B001CBSMsg.KEY_SVC_KEI_NO, svcKeiNo)` // uplink service contract number |
| 5 | SET | `template.set(EKK1041B001CBSMsg.KEY_SVC_KEI_UCWK_NO, svcKeiUcwkNo)` // uplink service contract detail number |
| 6 | SET | `template.set(EKK1041B001CBSMsg.KEY_OP_SVC_KEI_NO, opSvcKeiNo)` // uplink option service contract number |
| 7 | SET | `template.set(EKK1041B001CBSMsg.KEY_MLAD, mlad)` // uplink mail address |
| 8 | SET | `template.set(EKK1041B001CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo)` // uplink equipment-provided service contract number |
| 9 | SET | `template.set(EKK1041B001CBSMsg.KEY_TAKNKIKI_MODEL_CD, taknkikiModelCd)` // uplink home equipment model code |
| 10 | SET | `template.set(EKK1041B001CBSMsg.KEY_KIKI_SEIZO_NO, kikiSeizoNo)` // uplink equipment serial number |
| 11 | SET | `template.set(EKK1041B001CBSMsg.KEY_SPOT_LOGIN_SYSID, spotLoginSysid)` // uplink spot login system ID |
| 12 | SET | `template.set(EKK1041B001CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo)` // uplink service contract circuit detail number [ANK-1578-00-00] |

**Block 7** — RETURN `(L2292)`

> Generates and returns the final S/I uplink information.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return editInMsgCmn(param, template)` // finalizes and returns the inbound message map |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_no` | Field | Service contract number — unique identifier for a customer's service contract line |
| `svc_kei_ucwk_no` | Field | Service contract detail number — internal tracking ID for a service contract sub-detail |
| `svc_kei_kaisen_ucwk_no` | Field | Service contract circuit detail number — circuit-level detail tracking number (multi-function router support, ANK-1578-00-00) |
| `op_svc_kei_no` | Field | Option service contract number — identifier for an optional service added to the base contract |
| `order_sbt_cd` | Field | Order type code — classifies the broad category of the order |
| `svc_order_cd` | Field | Service order code — identifies the specific service order type |
| `rcnt_yokyu_sbt_cd` | Field | Recent request type code — reserved field for the most recent request classification (currently unused, always null in this method) |
| `mlad` | Field | Mail address — customer's email address used for mail-based service |
| `kktk_svc_kei_no` | Field | Equipment-provided service contract number — identifier for services involving customer equipment (機器提供サービス) |
| `taknkiki_model_cd` | Field | Home equipment model code — model code for customer-premise equipment (家中機器) |
| `kiki_seizo_no` | Field | Equipment serial number — unique manufacturing serial number of the equipment (機器製造番号) |
| `spot_login_sysid` | Field | Spot login system ID — one-time login identifier for temporary service access (スポットログイン) |
| `odr_hakko_joken_cd` | Field | Order issuance condition code — determines conditions under which an order is generated |
| SOD | Acronym | Service Order Data — the telecom order fulfillment data model |
| CAANMsg | Type | Common Application ANswer Message — the inter-service messaging format used between CBS components |
| CBS | Acronym | Core Business System — Fujitsu's middleware platform for business applications |
| S/I | Acronym | System Input / Output — the interface between the screen layer and the business logic layer |
| CC | Acronym | Common Component — shared utility/service classes used across multiple business processes |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service |
| SIF | Acronym | System Interface Framework — the integration layer for S/I message exchange |
| FUNC_CD_1 | Constant | Function code value "1" — identifies the core order-setting inquiry business function |
| EKK1041B001 | Constant | Service component identifier for the Order Setting Inquiry service |
| ordSetPattern | Parameter | Order-setting update pattern — integer discriminator (1–10) selecting the service type branch |
