# (DD12) Business Logic — JFUSetVariTsushinKikiMskmCC.setInMapOrderJyohoSakuseiWork() [36 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JFUSetVariTsushinKikiMskmCC` |
| Layer | CC/Common Component — a shared data-mapping helper within the custom business logic layer |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JFUSetVariTsushinKikiMskmCC.setInMapOrderJyohoSakuseiWork()

This method is a **data-mapping builder** for the "Order Information Creation Work" registration flow. Its sole responsibility is to populate an `inMap` (a `HashMap` retrieved from the request parameter object) with 11 service-contract-related fields that together describe the full context of an order — including service contract numbers, their version registration timestamps, equipment-provided service contract details, and equipment option service contract details. The method is called by the parent method `JFUSetVariTsushinKikiMskmCC.setInMapWork` (the "variety transmission equipment work registration" handler) as the final step of the "Order Information Creation Work Registration" sub-process (identified by template ID 41). It does not branch conditionally; it executes a linear sequence: first sets the function code for "check & register" (`FUNC_CD_1`), then retrieves the working map, and finally pushes all order-and-contract data into it. It is a **pure data preparation** method — a shared, private utility with no conditional logic, used exclusively by the custom equipment registration screen flow for FTTH and multi-functional (multi-giga) broadband service orders.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setInMapOrderJyohoSakuseiWork"])
    SET_FUNC["setFuncCode(param, fixedText, FUNC_CD_1)"]
    GET_DATA["param.getData(fixedText)"]
    CAST_MAP["Cast result to HashMap inMap"]
    PUT_ODR_JOKEN["inMap.put(ODR_HAKKO_JOKEN_NO, odrHakkoJokenNo)"]
    PUT_ODR_NAIYO["inMap.put(ODR_NAIYO_CD, odrNaiyoCd)"]
    PUT_SVC_KEI["inMap.put(SVC_KEI_NO, svcKeiNo)"]
    PUT_SVKEI_GADTM["inMap.put(SVKEI_GADTM, svcKeiGeneAddDtm)"]
    PUT_SVC_UCWK["inMap.put(SVC_KEI_UCWK_NO, svcKeiUcwkNo)"]
    PUT_SVKEIUW_GADTM["inMap.put(SVKEIUW_GADTM, svcKeiUcwkGeneAddDtm)"]
    PUT_KKTK_SVC["inMap.put(KKTK_SVC_KEI_NO, kktkSvcKeiNo)"]
    PUT_KKTSVKEI_GADTM["inMap.put(KKTSVKEI_GADTM, kktkSvcKeiGeneAddDtm)"]
    PUT_KKOP_SVC["inMap.put(KKOP_SVC_KEI_NO_1, kkopSvcKeiNo)"]
    PUT_KKOSVKEI_GADTM["inMap.put(KKOSVKEI_GADTM_1, geneAddDtmAft)"]
    PUT_CHBF_KKO["inMap.put(CHBF_KKOSVKEI_GADTM_1, geneAddDtmBef)"]
    END_NODE(["Return"])

    START --> SET_FUNC
    SET_FUNC --> GET_DATA
    GET_DATA --> CAST_MAP
    CAST_MAP --> PUT_ODR_JOKEN
    PUT_ODR_JOKEN --> PUT_ODR_NAIYO
    PUT_ODR_NAIYO --> PUT_SVC_KEI
    PUT_SVC_KEI --> PUT_SVKEI_GADTM
    PUT_SVKEI_GADTM --> PUT_SVC_UCWK
    PUT_SVC_UCWK --> PUT_SVKEIUW_GADTM
    PUT_SVKEIUW_GADTM --> PUT_KKTK_SVC
    PUT_KKTK_SVC --> PUT_KKTSVKEI_GADTM
    PUT_KKTSVKEI_GADTM --> PUT_KKOP_SVC
    PUT_KKOP_SVC --> PUT_KKOSVKEI_GADTM
    PUT_KKOSVKEI_GADTM --> PUT_CHBF_KKO
    PUT_CHBF_KKO --> END_NODE
```

**Block numbering:** This method has a single linear flow — no conditional branches, loops, or exception handlers. All 11 `put` operations form a single sequential block (Block 1).

### Block 1 — [LINEAR EXECUTION] (L3185–L3207)

> Sets function code, retrieves the working map, and populates it with 11 order-contract data fields.

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | EXEC | `setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1)` | Set function code to "1: Check & Register" [-> FUNC_CD_1="1"] |
| 2 | EXEC | `HashMap inMap = (HashMap) param.getData(fixedText)` | Retrieve user data map from param using fixedText key |
| 3 | SET | `inMap.put(EKK1551D010CBSMsg.ODR_HAKKO_JOKEN_NO, odrHakkoJokenNo)` | Put order issuance condition number [-> ODR_HAKKO_JOKEN_NO] |
| 4 | SET | `inMap.put(EKK1551D010CBSMsg.ODR_NAIYO_CD, odrNaiyoCd)` | Put order content code — "418" for multi-function router setup/change (router func, wireless/wired/network contract change), "402" for multi-function VA only (router func, registration) [-> ODR_NAIYO_CD] |
| 5 | SET | `inMap.put(EKK1551D010CBSMsg.SVC_KEI_NO, svcKeiNo)` | Put service contract number [-> SVC_KEI_NO] |
| 6 | SET | `inMap.put(EKK1551D010CBSMsg.SVKEI_GADTM, svcKeiGeneAddDtm)` | Put service contract version registration datetime (year/month/day/time/minute/second) [-> SVKEI_GADTM] |
| 7 | SET | `inMap.put(EKK1551D010CBSMsg.SVC_KEI_UCWK_NO, svcKeiUcwkNo)` | Put service contract detail number [-> SVC_KEI_UCWK_NO] |
| 8 | SET | `inMap.put(EKK1551D010CBSMsg.SVKEIUW_GADTM, svcKeiUcwkGeneAddDtm)` | Put service contract detail version registration datetime [-> SVKEIUW_GADTM] |
| 9 | SET | `inMap.put(EKK1551D010CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo)` | Put equipment-provided service contract number [-> KKTK_SVC_KEI_NO] |
| 10 | SET | `inMap.put(EKK1551D010CBSMsg.KKTSVKEI_GADTM, kktkSvcKeiGeneAddDtm)` | Put equipment-provided service contract version registration datetime [-> KKTSVKEI_GADTM] |
| 11 | SET | `inMap.put(EKK1551D010CBSMsg.KKOP_SVC_KEI_NO_1, kkopSvcKeiNo)` | Put equipment option service contract number 1 [-> KKOP_SVC_KEI_NO_1] |
| 12 | SET | `inMap.put(EKK1551D010CBSMsg.KKOSVKEI_GADTM_1, geneAddDtmAft)` | Put equipment option service contract version registration datetime 1 (after change) [-> KKOSVKEI_GADTM_1] |
| 13 | SET | `inMap.put(EKK1551D010CBSMsg.CHBF_KKOSVKEI_GADTM_1, geneAddDtmBef)` | Put pre-change equipment option service contract version registration datetime 1 [-> CHBF_KKOSVKEI_GADTM_1] |
| 14 | RETURN | (implicit return `void`) | Return to caller |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `param` | `IRequestParameterReadWrite` | Request parameter object carrying the full request context; provides `getData(fixedText)` to retrieve the working HashMap and is used by `setFuncCode` to set the function code for the current screen operation |
| 2 | `fixedText` | `String` | Service message identifier — used as a key to access the user data map (`inMap`) from the `param` object; corresponds to a screen-specific message group |
| 3 | `odrHakkoJokenNo` | `String` | Order issuance condition number — the unique identifier for the order issuance condition record created in the preceding step (template ID 40: "Order Issuance Condition Registration"). This links the work registration to the actual order condition |
| 4 | `svcKeiNo` | `String` | Service contract number — the primary service contract identifier under which all order and equipment changes are performed |
| 5 | `svcKeiGeneAddDtm` | `String` | Service contract version registration datetime — the timestamp when the current version of the service contract was registered; used to track contract versioning |
| 6 | `svcKeiUcwkNo` | `String` | Service contract detail (line item) number — the internal tracking ID for a specific service contract line item; represents a particular service configuration within the contract |
| 7 | `svcKeiUcwkGeneAddDtm` | `String` | Service contract detail version registration datetime — the timestamp when the current version of the service contract detail was registered |
| 8 | `kktkSvcKeiNo` | `String` | Equipment-provided service contract number — the service contract number specifically for equipment (router, set-top box, etc.) provided by the operator as part of the broadband service package |
| 9 | `kktkSvcKeiGeneAddDtm` | `String` | Equipment-provided service contract version registration datetime — the timestamp when the current version of the equipment-provided service contract was registered |
| 10 | `kkopSvcKeiNo` | `String` | Equipment option service contract number — the service contract number for optional equipment (additional routers, extenders, etc.) that the customer may add to their service |
| 11 | `geneAddDtmBef` | `String` | Pre-change equipment option service contract version registration datetime — the timestamp from before the equipment option change; used for audit trail and change detection |
| 12 | `geneAddDtmAft` | `String` | Post-change equipment option service contract version registration datetime — the timestamp after the equipment option change; represents the new version's registration time |
| 13 | `odrNaiyoCd` | `String` | Order content code — classifies the type of order being performed. Key values: `"418"` = Multi-function router setup/change (router function, wireless/wired/network contract change/no change); `"402"` = Multi-function VA only (router function, registration). Drives downstream CBS routing and validation |

**External state / instance fields:** None. This method reads no instance fields. It only calls `setFuncCode` (delegated) and reads data from the `param` object.

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `setFuncCode` | JFUBaseCC | - | Calls `setFuncCode` to set function code "1" (check & register) on the param object; a utility operation that configures screen function mode |
| R | `param.getData` | (param) | - | Reads the user data `HashMap` from the request parameter object using the `fixedText` key |
| - | `inMap.put` | (local) | - | Writes key-value pairs into the local `HashMap` for downstream CBS consumption |

This method performs **no direct database CRUD operations**. It is a pure data preparation method — all Create/Read/Update/Delete work is delegated to the parent method which calls `executeSC` with template ID 41 after this method returns. The `inMap` populated here is consumed by `KKK1551D010CBS` (inferred from the `EKK1551D010CBSMsg` constant class) as the input payload for the order information creation work registration CBS.

## 5. Dependency Trace

### Callers of this method

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CBS: `JFUSetVariTsushinKikiMskmCC.setInMapWork` | `setInMapWork` (line 3106) -> `setInMapOrderJyohoSakuseiWork` | `setFuncCode` [-] (param), `param.getData` [R] (HashMap) |

This method is called **once** from within the same class (`JFUSetVariTsushinKikiMskmCC.setInMapWork`), which is a private data-preparation method. The full call chain from the screen entry point flows through the custom common component into this method, which then returns its populated `inMap` to the caller, and the caller proceeds to invoke `executeSC(handle, param, fixedText, TEMPLATE_ID_41, TEMPLATE_ID_41_DETAIL, IN_COLUMN_LIST_41, ERROR_COLUMN_41)` — executing the actual CBS for order information creation work registration.

### Terminal operations reached FROM this method

- `setFuncCode` [-] — sets function code on param (no DB access)
- `param.getData` [R] — reads user data HashMap from param (no DB access)
- `inMap.put` [-] — writes local data (no DB access)

The actual database interaction (Create/Insert) for this business step is performed by the **parent method** via `executeSC` with `TEMPLATE_ID_41`, which calls the underlying CBS (presumably `KKK1551D010CBS` or similar, handling the "Order Information Creation Work" registration).

## 6. Per-Branch Detail Blocks

This method has no conditional branches, loops, or exception handling blocks. It executes a single, linear sequence of operations.

### Block 1 — [LINEAR EXECUTION] (L3185–L3207)

> Sets function code to "1" (Check & Register), retrieves the working HashMap, and populates it with all 11 order-contract data fields for the Order Information Creation Work registration.

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | EXEC | `setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1)` | Sets function code to "1" — indicates this screen operates in "Check & Register" mode [-> FUNC_CD_1="1"] |
| 2 | SET | `HashMap inMap = (HashMap) param.getData(fixedText)` | Retrieves the working HashMap from the param object; this map carries all data to the CBS |
| 3 | SET | `inMap.put(EKK1551D010CBSMsg.ODR_HAKKO_JOKEN_NO, odrHakkoJokenNo)` | Maps order issuance condition number (from previous CBS step) |
| 4 | SET | `inMap.put(EKK1551D010CBSMsg.ODR_NAIYO_CD, odrNaiyoCd)` | Maps order content code — "418" for multi-function router setup/change (ルーター設定・変更), "402" for multi-function VA registration (ルーター設定・登録) [-> ODR_NAIYO_CD] |
| 5 | SET | `inMap.put(EKK1551D010CBSMsg.SVC_KEI_NO, svcKeiNo)` | Maps service contract number [-> SVC_KEI_NO] |
| 6 | SET | `inMap.put(EKK1551D010CBSMsg.SVKEI_GADTM, svcKeiGeneAddDtm)` | Maps service contract version registration datetime [-> SVKEI_GADTM] |
| 7 | SET | `inMap.put(EKK1551D010CBSMsg.SVC_KEI_UCWK_NO, svcKeiUcwkNo)` | Maps service contract detail number (line item) [-> SVC_KEI_UCWK_NO] |
| 8 | SET | `inMap.put(EKK1551D010CBSMsg.SVKEIUW_GADTM, svcKeiUcwkGeneAddDtm)` | Maps service contract detail version registration datetime [-> SVKEIUW_GADTM] |
| 9 | SET | `inMap.put(EKK1551D010CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo)` | Maps equipment-provided service contract number [-> KKTK_SVC_KEI_NO] |
| 10 | SET | `inMap.put(EKK1551D010CBSMsg.KKTSVKEI_GADTM, kktkSvcKeiGeneAddDtm)` | Maps equipment-provided service contract version registration datetime [-> KKTSVKEI_GADTM] |
| 11 | SET | `inMap.put(EKK1551D010CBSMsg.KKOP_SVC_KEI_NO_1, kkopSvcKeiNo)` | Maps equipment option service contract number 1 [-> KKOP_SVC_KEI_NO_1] |
| 12 | SET | `inMap.put(EKK1551D010CBSMsg.KKOSVKEI_GADTM_1, geneAddDtmAft)` | Maps post-change equipment option service contract version datetime [-> KKOSVKEI_GADTM_1] |
| 13 | SET | `inMap.put(EKK1551D010CBSMsg.CHBF_KKOSVKEI_GADTM_1, geneAddDtmBef)` | Maps pre-change equipment option service contract version datetime [-> CHBF_KKOSVKEI_GADTM_1] |
| 14 | RETURN | `(implicit return)` | Returns `void`; the parent method continues with `executeSC` using template ID 41 |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `odr_hakko_joken_no` | Field | Order issuance condition number — unique identifier for the order issuance condition record created in the preceding CBS step (template ID 40). Links the work registration to the specific order condition. |
| `odr_naiyo_cd` | Field | Order content code — classifies the type of order operation. `"418"` = multi-function router setup/change (router function, wireless/wired/network contract change/no change); `"402"` = multi-function VA only (router function, registration). |
| `svc_kei_no` | Field | Service contract number — primary service contract identifier. Corresponds to Japanese: サービス契約番号 (Service Contract Number). |
| `svc_kei_gene_add_dtm` | Field | Service contract version registration datetime — timestamp when the current version of the service contract was registered. Japanese: サービス契約世代登録年月日時分秒. |
| `svc_kei_ucwk_no` | Field | Service contract detail number — internal tracking ID for a specific service contract line item. Japanese: サービス契約内訳番号. |
| `svc_kei_ucwk_gene_add_dtm` | Field | Service contract detail version registration datetime — timestamp of the current service contract detail version. Japanese: サービス契約内訳世代登録年月日時分秒. |
| `kktk_svc_kei_no` | Field | Equipment-provided service contract number — contract for equipment (router, set-top box) provided by the operator. Japanese: 機器提供サービス契約番号. |
| `kktk_svc_kei_gene_add_dtm` | Field | Equipment-provided service contract version registration datetime. Japanese: 機器提供サービス契約世代登録年月日時分秒. |
| `kkop_svc_kei_no` | Field | Equipment option service contract number — contract for optional/additional equipment (extra routers, extenders). Japanese: 機器オプションサービス契約番号. |
| `gene_add_dtm_bef` | Field | Pre-change equipment option service contract version datetime — the version timestamp before the change (audit trail). Japanese: 世代登録年月日（機器オプションサービス契約 変更前）. |
| `gene_add_dtm_aft` | Field | Post-change equipment option service contract version datetime — the version timestamp after the change. Japanese: 世代登録年月日（機器オプションサービス契約 変更後）. |
| `fixedText` | Field | Service message identifier — screen-specific message group key used to access the working data HashMap. Japanese: サービスメッセージ. |
| FUNC_CD_1 | Constant | Function code "1" — represents "Check & Register" mode. Japanese: チェック＆登録. |
| ODR_HAKKO_JOKEN_NO | Constant | Map key for order issuance condition number. |
| ODR_NAIYO_CD | Constant | Map key for order content code. |
| SVC_KEI_NO | Constant | Map key for service contract number. Value: `"svc_kei_no"`. |
| SVKEI_GADTM | Constant | Map key for service contract generation registration datetime. |
| SVC_KEI_UCWK_NO | Constant | Map key for service contract detail number. |
| SVKEIUW_GADTM | Constant | Map key for service contract detail generation registration datetime. |
| KKTK_SVC_KEI_NO | Constant | Map key for equipment-provided service contract number. Value: `"kktk_svc_kei_no"`. |
| KKTSVKEI_GADTM | Constant | Map key for equipment-provided service contract generation datetime. |
| KKOP_SVC_KEI_NO_1 | Constant | Map key for equipment option service contract number 1. |
| KKOSVKEI_GADTM_1 | Constant | Map key for equipment option service contract generation datetime 1. |
| CHBF_KKOSVKEI_GADTM_1 | Constant | Map key for pre-change equipment option service contract generation datetime 1. |
| setInMapOrderJyohoSakuseiWork | Method | "Upstream mapping item setting (Order Information Creation Work Registration)" — Japanese: 上りマッピング項目設定(オーダー情報作成ワーク登録). |
| setInMapWork | Method | Parent method containing the overall "variety transmission equipment work registration" flow (template IDs 40 and 41). |
| executeSC | Method | Service Component executor — calls the underlying CBS (batch/screen service) using the populated `inMap` and template configuration. |
| setFuncCode | Method | Function code setter — configures the screen's operational mode (1=Check & Register, 2=List/Display, 3=Edit, etc.). |
| CC | Acronym | Common Component — a shared utility class in the custom business logic layer. |
| CBS | Acronym | Batch/Screen Service — a common batch/screen service component that performs database CRUD operations. |
| SC Code | Acronym | Service Component code — typically in format `EKK\d{6}SC` or `KKK\d{6}CBS`, identifying a specific service component. |
| HashMap | Type | Java `HashMap` — the working data structure used to carry request/response data between the screen layer and CBS. |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service. The primary service domain for this equipment order system. |
| Multi-function VA | Business term | Multi-functional Virtual Appliance — a bundled router/gateway device providing multiple connectivity services (Wi-Fi, wired LAN, NAT). |
| template ID 40 | Template | "Order Issuance Condition Registration" — the preceding CBS step that creates the order condition record. |
| template ID 41 | Template | "Order Information Creation Work Registration" — the CBS step for which this method prepares the data map. |
