# (DD03) Business Logic — JFUSetVariTsushinKikiMskmCC.setInMapKktkRegist() [213 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JFUSetVariTsushinKikiMskmCC` |
| Layer | CC / Common Component — shared data-mapping utility for telecom service contract operations |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JFUSetVariTsushinKikiMskmCC.setInMapKktkRegist()

This method performs **equipment provisioning service contract registration mapping** (機器提供サービス契約登録). Its business purpose is to assemble a complete request payload (`inMap`) that drives the `EKK0341D010CBS` service component, which registers a new equipment provisioning service contract in the telecommunications order management system. The method acts as a **data assembly/adapter** — it collects diverse input sources (customer information maps, line detail maps, temporary work data, and direct parameter values) and normalizes them into a single flat map that the downstream SC (Service Component) consumes for contract creation.

The method handles two primary **service type categories**: **multi-function routers** (multi-function routers, identified by `kktkSvcCd` matching pattern `C023`) and **standard PL/C (PL/C) devices**. It also handles two **delivery scenarios**: **customer direct delivery / contractor delivery for ONU exchange work** (when no contractor address is pre-populated in `tempData`) and **new-installation contractor delivery** (when a contractor address is already present). This routing logic branches the address source selection from either the customer's profile (`custMap`) or the line work detail (`kaisenUwMap`), ensuring the correct delivery recipient information flows into the registration payload.

The method implements the **builder pattern** — progressively constructing the `inMap` through sequential `put()` calls — and the **delegation pattern** for delivery-branch detection via `isKktkSvcTakino()` and `isKojiHaiso()` helper methods. It is a **shared utility** called by multiple screen implementations (KKSV0004, KKSV0009, KKSV0011, KKSV0015, KKSV0025) and cross-network change processing, meaning it supports both new equipment provisioning registrations and device change registrations across the entire order fulfillment domain.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setInMapKktkRegist"])
    SET_FUNC["setFuncCode param, fixedText, FUNC_CD_1"]
    GET_INMAP["inMap = param.getData fixedText"]
    PUT_SVC_CD["inMap.put KKTK_SVC_CD"]
    COND_KKTK{is kktkSvcCd
equals C023?}
    PUT_BSBT1["inMap.put KKTK_SBT_CD
CD00212_01 Purchase"]
    PUT_BSBT2["inMap.put KKTK_SBT_CD
CD00212_02 Rental"]
    PUT_PRCS_CD["inMap.put PCRSCD"]
    PUT_PPLAN_CD["inMap.put PPLANCd"]
    PUT_TKNKIKI_CD["inMap.put TAKNKIKI_MODEL_CD"]
    COND_MLR{isKktkSvcTakino
kktkSvcCd}
    SET_OYA_02["oyaKeiSkbtCd =
CD00804_02
Service contract line item"]
    SET_OYA_01["oyaKeiSkbtCd =
CD00804_01
Service contract"]
    PUT_OYA["inMap.put OYA_KEI_SKBT_CD"]
    COND_CLR_SVC{isKktkSvcTakino?
kktkSvcCd}
    CLR_SVC["svcKeiNo = empty"]
    PUT_SVC["inMap.put SVC_KEI_NO"]
    COND_CLR_LI{NOT isKktkSvcTakino?}
    CLR_LI["svcKeiKaisenUcwkNo = empty"]
    PUT_LI["inMap.put SVC_KEI_KAISEN_UCWK_NO"]
    PUT_SYSID["inMap.put SYSID"]
    PUT_HAISO["inMap.put HAISO_DIV
CD00020_00"]
    PUT_SEIKY["inMap.put SEIKY_KEI_NO"]
    PUT_MSKM["inMap.put MSKM_DTL_NO"]
    PUT_WAREHOUSE["inMap.put KIKI_HKAT_SHITEI_SOKO_CD
SOKO_CD_MINATO"]
    PUT_SKDN["inMap.put KIKI_HKAT_SHITEI_SKDN_CD"]
    PUT_SORYO["inMap.put KIKI_SORYO_UM"]
    COND_KOJI{kojiHaisoAdr null or empty?}
    CUST_ADDR["Get delivery address from custMap"]
    COND_KOJIAK{isKojiHaiso KOJIAK_NO?}
    CUST_ADDR_FIELDS["inMap.put KIKI_SOHUS_* from
custMap KEISHA_* fields"]
    KAISEN_ADDR["inMap.put KIKI_SOHUS_* from
kaisenUwMap KAISEN_PLACE_*"]
    PUT_SHS_FLG["inMap.put KIKI_SHS_KBT_SHITEI_FLG 1"]
    KOJI_ADDR["Get delivery address from
kojiHaisoAdr using EKK0341B029CBSMsg1List"]
    COND_DELIVERY{HAISO_WAY_CD equals
tempData CD01148_2?}
    PUT_DELIVERY["inMap.put HAISO_WAY_CD from tempData"]
    PUT_KIKI_STS["inMap.put KIKI_STS_KKK_SEIRI_CHU_FLG empty"]
    PUT_AD_FIX["inMap.put AD_MI_FIX_FLG CD00467_0"]
    PUT_UPD_DTM["inMap.put UPD_DTM_BF updDtmSvcKei"]
    PUT_IDO["inMap.put IDO_DIV"]
    PUT_HAMBAI["inMap.put HAMBAI_SBT_CD CD00348_10"]
    PUT_TK_SBT["inMap.put TAKNKIKI_SBT_CD"]
    PUT_KIKI_STC["inMap.put KIKI_STC_SAKI_* from
kaisenUwMap KAISEN_PLACE_*"]
    PUT_FUKA["inMap.put KIKI_HUKA_INFO_CD from tempData"]
    PUT_MANSION["inMap.put MANSION_BUKKEN_NO from kaisenUwMap"]
    PUT_HAISO_REQ["inMap.put HAISO_REQ_SHITEI_YMD from tempData"]
    PUT_MAN_INPUT["inMap.put KIKI_SHS_AD_MAN_INPUT_FLG CD01239_0"]
    END(["Return"])
    START --> SET_FUNC
    SET_FUNC --> GET_INMAP
    GET_INMAP --> PUT_SVC_CD
    PUT_SVC_CD --> COND_KKTK
    COND_KKTK -->|C023| PUT_BSBT1
    COND_KKTK -->|other| PUT_BSBT2
    PUT_BSBT1 --> PUT_PRCS_CD
    PUT_BSBT2 --> PUT_PRCS_CD
    PUT_PRCS_CD --> PUT_PPLAN_CD
    PUT_PPLAN_CD --> PUT_TKNKIKI_CD
    PUT_TKNKIKI_CD --> COND_MLR
    COND_MLR -->|true| SET_OYA_02
    COND_MLR -->|false| SET_OYA_01
    SET_OYA_02 --> PUT_OYA
    SET_OYA_01 --> PUT_OYA
    PUT_OYA --> COND_CLR_SVC
    COND_CLR_SVC -->|true| CLR_SVC
    COND_CLR_SVC -->|false| PUT_SVC
    CLR_SVC --> PUT_SVC
    PUT_SVC --> COND_CLR_LI
    COND_CLR_LI -->|true| CLR_LI
    COND_CLR_LI -->|false| PUT_LI
    CLR_LI --> PUT_LI
    PUT_LI --> PUT_SYSID
    PUT_SYSID --> PUT_HAISO
    PUT_HAISO --> PUT_SEIKY
    PUT_SEIKY --> PUT_MSKM
    PUT_MSKM --> PUT_WAREHOUSE
    PUT_WAREHOUSE --> PUT_SKDN
    PUT_SKDN --> PUT_SORYO
    PUT_SORYO --> COND_KOJI
    COND_KOJI -->|no address| CUST_ADDR
    COND_KOJI -->|has address| KOJI_ADDR
    CUST_ADDR --> COND_KOJIAK
    COND_KOJIAK -->|false customer| CUST_ADDR_FIELDS
    COND_KOJIAK -->|true contractor| KAISEN_ADDR
    CUST_ADDR_FIELDS --> PUT_SHS_FLG
    KAISEN_ADDR --> PUT_SHS_FLG
    PUT_SHS_FLG --> COND_DELIVERY
    KOJI_ADDR --> PUT_SHS_FLG
    COND_DELIVERY -->|equals 2| PUT_DELIVERY
    COND_DELIVERY -->|other| PUT_AD_FIX
    PUT_DELIVERY --> PUT_KIKI_STS
    PUT_KIKI_STS --> PUT_AD_FIX
    PUT_AD_FIX --> PUT_UPD_DTM
    PUT_UPD_DTM --> PUT_IDO
    PUT_IDO --> PUT_HAMBAI
    PUT_HAMBAI --> PUT_TK_SBT
    PUT_TK_SBT --> PUT_KIKI_STC
    PUT_KIKI_STC --> PUT_FUKA
    PUT_FUKA --> PUT_MANSION
    PUT_MANSION --> PUT_HAISO_REQ
    PUT_HAISO_REQ --> PUT_MAN_INPUT
    PUT_MAN_INPUT --> END
```

**Processing Summary:**
1. **Function Code Setup** — Sets the function code to `1` (check & register) via `setFuncCode`.
2. **Map Retrieval** — Fetches the request map from `param` using `fixedText` as the key.
3. **Service Code & Type** — Sets the equipment provisioning service code (`KKTK_SVC_CD`), then determines equipment type: `Purchase` (`CD00212_01`) for multi-function routers (`C023`), `Rental` (`CD00212_02`) for all others.
4. **Pricing & Equipment** — Sets pricing course code, pricing plan code, and indoor equipment model code.
5. **Parent Contract Classification** — Branches on whether this is a multi-function router service: `Service contract line item` (`CD00804_02`) vs `Service contract` (`CD00804_01`).
6. **Service Number Normalization** — For multi-function routers, `svcKeiNo` is cleared to empty (since the contract line item number is used instead). For non-multi-function routers, `svcKeiKaisenUcwkNo` is cleared to empty.
7. **Core Registration Fields** — Sets SYSID, delivery division (fixed `CD00020_00`), billing contract number, and order detail number.
8. **Warehouse Code** — Hardcodes `SOKO_CD_MINATO` for equipment assignment designation warehouse code.
9. **Delivery Address Resolution** — **Key branching block**: If no contractor delivery address exists (`kojiHaisoAdr` is null or empty), the method determines whether this is customer direct delivery or contractor ONU exchange work. Within that branch, it checks `isKojiHaiso` on `KU0011_kojiak_no`:
   - If `false` (customer direct): All 11 address fields are sourced from `custMap` (customer profile) using `KEISHA_*` keys.
   - If `true` (contractor ONU exchange): All 11 address fields are sourced from `kaisenUwMap` (line detail) using `KAISEN_PLACE_*` keys.
   - If `kojiHaisoAdr` is populated (new-installation contractor delivery): Address fields come from `kojiHaisoAdr` using `EKK0341B029CBSMsg1List` keys.
   - In all address cases, `KIKI_SHS_KBT_SHITEI_FLG` is set to `1`.
10. **Delivery Method Special Handling** — If `tempData`'s `HAISO_WAY_CD` equals `CD01148_2` (specific delivery method), copies the delivery method code and clears the equipment installation site sorting flag.
11. **Final Registration Metadata** — Sets unconfirmed address flag, update datetime, movement division, sales type code, indoor equipment type code, equipment installation site location details (all from `kaisenUwMap`), additional equipment info, apartment building number, delivery request date, and manual input flag.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `param` | `IRequestParameterReadWrite` | Request parameter object that holds the working map for the SC execution. Provides `getData()` to retrieve the request payload and `setData()` to store results. Acts as the primary data conduit between the screen and the SC. |
| 2 | `fixedText` | `String` | Service message key / prefix used to identify data sections within the request parameter. Serves as the key to retrieve and store the equipment provisioning registration map. |
| 3 | `pcrsCd` | `String` | Pricing course code (料金コースコード) — classifies the customer's pricing tier/course for the equipment provisioning service. Passed directly to the SC's `PCRSCD` field. |
| 4 | `pplanCd` | `String` | Pricing plan code (料金プランコード) — identifies the specific pricing plan associated with the service contract. Passed directly to the SC's `PPLANCd` field. |
| 5 | `taknkikiModelCd` | `String` | Indoor equipment model code (宅内機器型式コード) — identifies the specific model of indoor equipment (e.g., ONT, router) being provisioned. |
| 6 | `svcKeiNo` | `String` | Service contract number (サービス契約番号) — the unique identifier for the service contract. Cleared to empty if this is a multi-function router service (since the line item number is used instead). |
| 7 | `svcKeiKaisenUcwkNo` | `String` | Service contract line item detail number (サービス契約回線内訳番号) — identifies the specific line item within a service contract. Cleared to empty for non-multi-function router services. |
| 8 | `sysId` | `String` | System ID (SYSID) — identifies which system is processing this registration. |
| 9 | `seikyKeiNo` | `String` | Billing contract number (請求契約番号) — the contract number associated with billing for this service. |
| 10 | `mskmDtlNo` | `String` | Order detail number (申込明細番号) — identifies the specific line item in the customer order that triggers this equipment provisioning registration. |
| 11 | `kaisenUwMap` | `HashMap` | Service contract line item detail information map (サービス契約回線内訳情報マップ) — contains line-level data including installation site address fields (`KAISEN_PLACE_*`), apartment building number, and contractor-different-from-customer flag. Sourced from the SC response of a prior query. |
| 12 | `updDtmSvcKei` | `String` | Update datetime for service contract (更新年月日時分秒サービス契約) — timestamp of the last update to the service contract, stored in `UPD_DTM_BF` for optimistic concurrency control. |
| 13 | `idoDiv` | `String` | Movement/transaction division (異動区分) — classifies the type of operation: new registration, transfer, modification, cancellation, etc. |
| 14 | `taknkikiSbtCd` | `String` | Indoor equipment type code (宅内機器種別コード) — identifies the type of indoor equipment (e.g., ONT, router, STB). |
| 15 | `kikiHkatShiteiSkdnCd` | `String` | Equipment assignment designation warehouse shelf code (機器引当指定倉庫棚コード) — identifies the specific shelf within the warehouse where equipment is assigned. |
| 16 | `kktkSvcCd` | `String` | Equipment provisioning service code (機器提供サービスコード) — classifies the type of equipment provisioning service. Value `C023` indicates a multi-function router service. Drives branching logic for equipment type (purchase vs. rental), parent contract classification, and service number normalization. |
| 17 | `custMap` | `HashMap` | Customer information map (お客様情報マップ) — contains customer profile data including name, kana name, and full address (prefecture, city, town, lot number, building name, room number, phone number). Used as the delivery address source when customer-direct delivery applies. |
| 18 | `kikiSoryoUm` | `String` | Equipment delivery charge flag (機器送料有無) — indicates whether delivery charges apply for the equipment (e.g., `1` = charge applies, `0` = no charge). |
| 19 | `tempData` | `HashMap<String, String>` | In-function work data (当機能内の連携ワーク) — temporary work map carrying data between processing steps within the same screen operation. Contains delivery method code (`HAISO_WAY_CD`), equipment additional info code (`KIKI_HUKA_INFO_CD`), and delivery request designated date (`HAISO_REQ_SHITEI_YMD`). |

**Instance Fields / External State:**

| Field | Type | Description |
|-------|------|-------------|
| `IN_KOJI_HAISO_ADR` | `String` constant | Map key for contractor delivery address data (`"koji_haiso_adr"`). Its presence/absence in `inMap` determines whether this is a new-installation or customer-direct/ONU-exchange scenario. |
| `IN_PARAM_KU0011_KOJIAK_NO` | `String` constant | Map key for contractor project number (`"KU0011_kojiak_no"`). Used in `isKojiHaiso()` to determine if the delivery is contractor-handled. |
| `HAISOCC_HAISO_REQ_SHITEI_YMD` | `String` constant | Reference to delivery request designated date key (`EKK0341D010CBSMsg.HAISO_REQ_SHITEI_YMD`). Read from `tempData`. |
| `isKktkSvcTakino(String)` | helper method | Returns `true` if `kktkSvcCd` indicates a multi-function router service. Drives parent contract classification and service number normalization. |
| `isKojiHaiso(String)` | helper method | Returns `true` if the KOJIAK_NO value indicates contractor-handled delivery (ONU exchange work). Drives delivery address source selection. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JFUBaseCC.setFuncCode` | JFUBase | - | Calls `setFuncCode` to set function code to `1` (check & register mode) |
| - | `JFUBaseUtil.setFuncCode` | JFUBase | - | Calls `setFuncCode` on utility class for function code assignment |
| - | `JFUBPCommon.setFuncCode` | JFUBPCommon | - | Calls `setFuncCode` on BP common utility for function code assignment |
| - | `JFUSetVariTsushinKikiMskmCC.isKktkSvcTakino` | JFUSetVariTsushinKikiMskmCC | - | Calls helper method to determine if `kktkSvcCd` is a multi-function router service |
| - | `JFUSetVariTsushinKikiMskmCC.isKojiHaiso` | JFUSetVariTsushinKikiMskmCC | - | Calls helper method to determine if delivery is contractor-handled (ONU exchange) |

**Analysis:** This method is purely a **data mapping/assembly** method — it does not perform any database CRUD operations itself. It reads input parameters, helper maps (`custMap`, `kaisenUwMap`, `tempData`), and invokes helper methods to classify data. The actual CRUD is performed by the **caller** which invokes `executeSC()` with the populated `inMap` after `setInMapKktkRegist` returns. The SC code responsible for the actual database operation is `EKK0341D010CBS` (Equipment Provisioning Service Contract Registration SC).

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `EKK0341D010CBS` | `EKK0341D010CBS` | `KK_T_OPSVKEI_ISP` (Equipment provisioning service contract table) | Creates a new equipment provisioning service contract record. The `inMap` populated by this method is the input to this SC. |
| R | Caller `executeSC` | `EKK0341D010CBS` | `KK_T_OPSVKEI_ISP` | Reads SC response data (update datetime, equipment provisioning service contract number, equipment change number) after registration completes. |

**Note:** The actual CRUD is performed by the SC `EKK0341D010CBS`, invoked by the caller (e.g., `JFUSetVariTsushinKikiMskmCC.doExecute`) via `executeSC(handle, param, fixedText, TEMPLATE_ID_11, ...)`. This method is the data preparation layer that sits between the screen and the SC.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0004 | `KKSV0004Flow.doExecute` -> `JFUSetVariTsushinKikiMskmCC.doExecute` -> `setInMapKktkRegist` | `EKK0341D010CBS [C] KK_T_OPSVKEI_ISP` |
| 2 | Screen:KKSV0009 | `KKSV0009Flow.doExecute` -> `JFUSmartLinkAddCC.doExecute` -> `setInMapKktkRegist` (JFUSmartLinkAddCC own) -> calls `JFUSetVariTsushinKikiMskmCC.setInMapKktkRegist` | `EKK0341D010CBS [C] KK_T_OPSVKEI_ISP` |
| 3 | Screen:KKSV0011 | `KKSV0011Flow.doExecute` -> `JFUAddStkStbCC.doExecute` -> `setInMapKktkRegist` (JFUAddStkStbCC own) -> calls `JFUSetVariTsushinKikiMskmCC.setInMapKktkRegist` | `EKK0341D010CBS [C] KK_T_OPSVKEI_ISP` |
| 4 | Screen:KKSV0015 | `KKSV0015Flow.doExecute` -> `JFUEoMusenRtMskmCC.doExecute` -> `setInMapKktkRegist` (JFUEoMusenRtMskmCC own) -> calls `JFUSetVariTsushinKikiMskmCC.setInMapKktkRegist` | `EKK0341D010CBS [C] KK_T_OPSVKEI_ISP` |
| 5 | Screen:KKSV0025 | `JFUBaseNetChgCommonCC.doExecute` -> `setInMapKktkRegist` (JFUBaseNetChgCommonCC own) -> calls `JFUSetVariTsushinKikiMskmCC.setInMapKktkRegist` | `EKK0341D010CBS [C] KK_T_OPSVKEI_ISP` |

**Terminal operations from this method:** `isKojiHaiso [-]`, `isKktkSvcTakino [-]`, `isKktkSvcTakino [-]`, `isKktkSvcTakino [-]`, `param.getData [R]`, `param.setData [U]`, `setFuncCode [-]`, `setFuncCode [-]`, `setFuncCode [-]`, `setFuncCode [-]`, `setFuncCode [-]`

## 6. Per-Branch Detail Blocks

### Block 1 — Function Code Setup & Map Retrieval (L1824–L1829)

> Sets the function code to `1` (check & register) and retrieves the working map from the request parameter.

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | CALL | `setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1)` | Sets function code for SC execution. `FUNC_CD_1 = "1"` (Check & Register) [-> FUNC_CD_1="1" (JPCModelConstant.java:29)] |
| 2 | EXEC | `HashMap inMap = (HashMap)param.getData(fixedText)` | Retrieves the request map from parameter using `fixedText` as key |
| 3 | SET | `inMap.put(EKK0341D010CBSMsg.KKTK_SVC_CD, kktkSvcCd)` | Sets equipment provisioning service code |

### Block 2 — Equipment Type Classification (L1830–L1839)

> Determines whether the equipment is **Purchase** (multi-function router, `C023`) or **Rental** (all other services).

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | IF | `"C023".equals(kktkSvcCd)` | Checks if the equipment provisioning service is a multi-function router |
| 2 | SET | `inMap.put(EKK0341D010CBSMsg.KKTK_SBT_CD, JFUStrConst.CD00212_01)` | Sets equipment type to `Purchase`. `CD00212_01 = "01"` [-> CD00212_01="01" (JFUStrConst.java:2188)] |
| 3 | ELSE | `"C023".equals(kktkSvcCd)` is false | Equipment provisioning is NOT a multi-function router |
| 4 | SET | `inMap.put(EKK0341D010CBSMsg.KKTK_SBT_CD, JFUStrConst.CD00212_02)` | Sets equipment type to `Rental`. `CD00212_02 = "02"` [-> CD00212_02="02" (JFUStrConst.java:2191)] |

### Block 3 — Pricing, Equipment Model & Parent Contract Classification (L1840–L1856)

> Sets pricing course, pricing plan, equipment model code, and determines parent contract line item classification based on whether this is a multi-function router service.

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | SET | `inMap.put(EKK0341D010CBSMsg.PCRS_CD, pcrsCd)` | Sets pricing course code |
| 2 | SET | `inMap.put(EKK0341D010CBSMsg.PPLAN_CD, pplanCd)` | Sets pricing plan code |
| 3 | SET | `inMap.put(EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD, taknkikiModelCd)` | Sets indoor equipment model code |
| 4 | SET | `String oyaKeiSkbtCd = ""` | Initializes parent contract line item classification |
| 5 | IF | `isKktkSvcTakino(kktkSvcCd)` | Multi-function router check |
| 6 | SET | `oyaKeiSkbtCd = JFUStrConst.CD00804_02` | Multi-function router: "02" (Service contract line item). `CD00804_02 = "02"` [-> CD00804_02="02" (JFUStrConst.java:5388)] |
| 7 | ELSE | `isKktkSvcTakino(kktkSvcCd)` is false | Standard PL/C service |
| 8 | SET | `oyaKeiSkbtCd = JFUStrConst.CD00804_01` | Standard: "01" (Service contract). `CD00804_01 = "01"` [-> CD00804_01="01" (JFUStrConst.java:5385)] |
| 9 | SET | `inMap.put(EKK0341D010CBSMsg.OYA_KEI_SKBT_CD, oyaKeiSkbtCd)` | Sets parent contract line item classification |

### Block 4 — Service Number Normalization (L1857–L1868)

> Normalizes `svcKeiNo` and `svcKeiKaisenUcwkNo` based on service type: multi-function routers use only the line item number; standard services use only the service contract number.

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | IF | `isKktkSvcTakino(kktkSvcCd)` | Multi-function router — clear the service contract number |
| 2 | SET | `svcKeiNo = ""` | Clears service contract number (line item number takes precedence) |
| 3 | SET | `inMap.put(EKK0341D010CBSMsg.SVC_KEI_NO, svcKeiNo)` | Sets service contract number |
| 4 | IF | `!isKktkSvcTakino(kktkSvcCd)` | NOT multi-function router — clear the line item number |
| 5 | SET | `svcKeiKaisenUcwkNo = ""` | Clears line item number (service contract number takes precedence) |
| 6 | SET | `inMap.put(EKK0341D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo)` | Sets service contract line item number |

### Block 5 — Core Registration Fields (L1869–L1890)

> Sets fixed system identifiers and delivery/warehouse classification fields.

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | SET | `inMap.put(EKK0341D010CBSMsg.SYSID, sysId)` | Sets system ID |
| 2 | SET | `inMap.put(EKK0341D010CBSMsg.HAISO_DIV, JFUStrConst.CD00020_00)` | Sets delivery division to fixed value. `CD00020_00 = "00"` [-> CD00020_00="00" (JFUStrConst.java:827)] |
| 3 | SET | `inMap.put(EKK0341D010CBSMsg.SEIKY_KEI_NO, seikyKeiNo)` | Sets billing contract number |
| 4 | SET | `inMap.put(EKK0341D010CBSMsg.MSKM_DTL_NO, mskmDtlNo)` | Sets order detail number |
| 5 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD, SOKO_CD_MINATO)` | Sets equipment assignment warehouse code to fixed value `SOKO_CD_MINATO = "000001"` [-> SOKO_CD_MINATO="000001" (JFUAddStkStbCC.java:99)] |
| 6 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD, kikiHkatShiteiSkdnCd)` | Sets warehouse shelf code |
| 7 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_SORYO_UM, kikiSoryoUm)` | Sets equipment delivery charge flag |

### Block 6 — Delivery Address Resolution (L1891–L1964)

> **Critical branching block**: Determines the source of delivery address information. Branches on whether `kojiHaisoAdr` (contractor delivery address) exists in the working map.

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | SET | `HashMap<String, String> kojiHaisoAdr = (HashMap<String, String>)inMap.get(IN_KOJI_HAISO_ADR)` | Retrieves contractor delivery address from working map. `IN_KOJI_HAISO_ADR = "koji_haiso_adr"` [-> IN_KOJI_HAISO_ADR="koji_haiso_adr" (JFUSetVariTsushinKikiMskmCC.java:183)] |
| 2 | IF | `kojiHaisoAdr == null || kojiHaisoAdr.size() == 0` | No contractor address — this is customer-direct delivery or ONU exchange work |
| 3 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_NM, custMap.get(ECK0011A010CBSMsg1List.CUST_NM))` | Delivery recipient name from customer profile |
| 4 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_KANA, custMap.get(ECK0011A010CBSMsg1List.CUST_KANA))` | Delivery recipient kana name from customer profile |
| 5 | IF | `!isKojiHaiso((String)inMap.get(IN_PARAM_KU0011_KOJIAK_NO))` | NOT contractor-handled (customer direct delivery): address from `custMap` |
| 6 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD, custMap.get(ECK0011A010CBSMsg1List.KEISHA_AD_CD))` | Address code from customer profile |
| 7 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_PCD, custMap.get(ECK0011A010CBSMsg1List.KEISHA_PCD))` | Postal code from customer profile |
| 8 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_STATE_NM))` | Prefecture name from customer profile |
| 9 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_CITY_NM))` | City name from customer profile |
| 10 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_OAZTSU_NM))` | Town name from customer profile |
| 11 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_AZCHO_NM))` | Chome name from customer profile |
| 12 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO, custMap.get(ECK0011A010CBSMsg1List.KEISHA_BNCHIGO))` | Block/lot number from customer profile |
| 13 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_ADRTTM))` | Building name from customer profile |
| 14 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_ADRRM))` | Room number from customer profile |
| 15 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_TELNO, custMap.get(ECK0011A010CBSMsg1List.KEISHA_TELNO))` | Phone number from customer profile |
| 16 | ELSE | `isKojiHaiso((String)inMap.get(IN_PARAM_KU0011_KOJIAK_NO))` | Contractor-handled (ONU exchange work): address from `kaisenUwMap` |
| 17 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_AD_CD))` | Address code from line detail map |
| 18 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_PCD, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_PCD))` | Postal code from line detail map |
| 19 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_STATE_NM))` | Prefecture from line detail map |
| 20 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_CITY_NM))` | City from line detail map |
| 21 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_OAZTSU_NM))` | Town from line detail map |
| 22 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_AZCHO_NM))` | Chome from line detail map |
| 23 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_BNCHIGO))` | Block from line detail map |
| 24 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_ADRTTM))` | Building from line detail map |
| 25 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_ADRRM))` | Room from line detail map |
| 26 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_TELNO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_TELNO))` | Phone from line detail map |
| 27 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1)` | Sets individual delivery designation flag to `1`. `KK0341_KIKI_SHS_KBT_SHITEI_FLG_1 = "1"` [-> KK0341_KIKI_SHS_KBT_SHITEI_FLG_1="1" (JFUStrConst.java:8083)] |
| 28 | ELSE | `kojiHaisoAdr != null && !empty` | New-installation contractor delivery — address from `kojiHaisoAdr` |
| 29 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_NM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_NM))` | Delivery name from contractor address map |
| 30 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_KANA, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_KANA))` | Delivery kana from contractor address map |
| 31 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_AD_CD))` | Address code from contractor address map |
| 32 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_PCD, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_PCD))` | Postal code from contractor address map |
| 33 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_STATE_NM))` | Prefecture from contractor address map |
| 34 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_CITY_NM))` | City from contractor address map |
| 35 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_OAZTSU_NM))` | Town from contractor address map |
| 36 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_AZCHO_NM))` | Chome from contractor address map |
| 37 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_BNCHIGO))` | Block from contractor address map |
| 38 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_ADRTTM))` | Building from contractor address map |
| 39 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_ADRRM))` | Room from contractor address map |
| 40 | SET | `inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_TELNO, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_TELNO))` | Phone from contractor address map |
| 41 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1)` | Sets individual delivery designation flag to `1` |

### Block 7 — Delivery Method Special Handling (L1966–L1971)

> If the delivery method code from `tempData` equals `CD01148_2` (a specific delivery method classification), copies the delivery method code and clears the equipment installation site sorting flag.

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | IF | `JFUStrConst.CD01148_2.equals(tempData.get(EKK0341D010CBSMsg.HAISO_WAY_CD))` | Delivery method equals `CD01148_2 = "2"` [-> CD01148_2="2" (JFUStrConst.java:6333)] |
| 2 | SET | `inMap.put(EKK0341D010CBSMsg.HAISO_WAY_CD, tempData.get(EKK0341D010CBSMsg.HAISO_WAY_CD))` | Copies delivery method code from `tempData` |
| 3 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG, "")` | Clears equipment installation site sorting-in-progress flag |

### Block 8 — Final Registration Metadata (L1974–L2034)

> Sets remaining registration metadata: address determination flag, update timestamp, movement division, sales type, equipment type, installation site address, additional equipment info, apartment building number, delivery request date, and manual input flag.

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | SET | `inMap.put(EKK0341D010CBSMsg.AD_MI_FIX_FLG, JFUStrConst.CD00467_0)` | Sets unconfirmed address flag to `0` (address is confirmed). `CD00467_0 = "0"` [-> CD00467_0="0" (JFUStrConst.java:2719)] |
| 2 | SET | `inMap.put(EKK0341D010CBSMsg.UPD_DTM_BF, updDtmSvcKei)` | Sets previous update datetime for optimistic concurrency |
| 3 | SET | `inMap.put(EKK0341D010CBSMsg.IDO_DIV, idoDiv)` | Sets movement/transaction division |
| 4 | SET | `inMap.put(EKK0341D010CBSMsg.HAMBAI_SBT_CD, JFUStrConst.CD00348_10)` | Sets sales type to fixed value `10`. `CD00348_10 = "10"` [-> CD00348_10="10" (JFUStrConst.java:2551)] |
| 5 | SET | `inMap.put(EKK0341D010CBSMsg.TAKNKIKI_SBT_CD, taknkikiSbtCd)` | Sets indoor equipment type code |
| 6 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_PLACE_NO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_NO))` | Equipment installation site location number from line detail map |
| 7 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_AD_CD, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_AD_CD))` | Installation site address code from line detail map |
| 8 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_PCD, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_PCD))` | Installation site postal code from line detail map |
| 9 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_STATE_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_STATE_NM))` | Installation site prefecture from line detail map |
| 10 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_CITY_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_CITY_NM))` | Installation site city from line detail map |
| 11 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_OAZTSU_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_OAZTSU_NM))` | Installation site town from line detail map |
| 12 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_AZCHO_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_AZCHO_NM))` | Installation site chome from line detail map |
| 13 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_BNCHIGO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_BNCHIGO))` | Installation site block from line detail map |
| 14 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRTTM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_ADRTTM))` | Installation site building name from line detail map |
| 15 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRRM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_ADRRM))` | Installation site room number from line detail map |
| 16 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLC_KSH_AD_SAI_FLG))` | Installation site — contractor vs. customer address difference flag from line detail map |
| 17 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_STC_SK_TELNO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_TELNO))` | Installation site phone number from line detail map |
| 18 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD, tempData.get(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD))` | Additional equipment info code from `tempData` |
| 19 | SET | `inMap.put(EKK0341D010CBSMsg.MANSION_BUKKEN_NO, kaisenUwMap.get(EKK0251A010CBSMsg1List.MANSION_BUKKEN_NO))` | Apartment building number from line detail map |
| 20 | SET | `String haiso_req_shitei_ymd = tempData.get(HAISOCC_HAISO_REQ_SHITEI_YMD)` | Retrieves delivery request designated date from `tempData` |
| 21 | SET | `inMap.put(EKK0341D010CBSMsg.HAISO_REQ_SHITEI_YMD, haiso_req_shitei_ymd)` | Sets delivery request designated date |
| 22 | SET | `inMap.put(EKK0341D010CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG, JFUStrConst.CD01239_0)` | Sets delivery address manual input flag to `0` (not manual). `CD01239_0 = "0"` [-> CD01239_0="0" (JFUStrConst.java:6575)] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `kktkSvcCd` | Field | Equipment Provisioning Service Code (機器提供サービスコード) — classifies the type of equipment provisioning service. Value `C023` indicates a multi-function router service. |
| `pcrsCd` | Field | Pricing Course Code (料金コースコード) — customer's pricing tier classification. |
| `pplanCd` | Field | Pricing Plan Code (料金プランコード) — specific pricing plan for the service contract. |
| `taknkikiModelCd` | Field | Indoor Equipment Model Code (宅内機器型式コード) — identifies the specific model of indoor network equipment (e.g., ONT, router). |
| `svcKeiNo` | Field | Service Contract Number (サービス契約番号) — unique identifier for a service contract. Cleared for multi-function router services. |
| `svcKeiKaisenUcwkNo` | Field | Service Contract Line Item Detail Number (サービス契約回線内訳番号) — identifies a specific line item within a service contract. Cleared for non-multi-function services. |
| `seikyKeiNo` | Field | Billing Contract Number (請求契約番号) — contract number for billing purposes. |
| `mskmDtlNo` | Field | Order Detail Number (申込明細番号) — line item in the customer order triggering this registration. |
| `idoDiv` | Field | Movement/Transaction Division (異動区分) — classifies operation type: new registration, transfer, modification, cancellation. |
| `taknkikiSbtCd` | Field | Indoor Equipment Type Code (宅内機器種別コード) — type of indoor equipment (ONT, router, STB, etc.). |
| `kikiHkatShiteiSkdnCd` | Field | Equipment Assignment Designation Shelf Code (機器引当指定倉庫棚コード) — shelf location within the warehouse for assigned equipment. |
| `kikiSoryoUm` | Field | Equipment Delivery Charge Flag (機器送料有無) — whether delivery charges apply for equipment. |
| `oyaKeiSkbtCd` | Field | Parent Contract Line Item Classification (親契約識別コード) — classifies whether this is a service contract or a service contract line item. |
| `haIsoDiv` | Field | Delivery Division (配送区分) — fixed to `00` (standard delivery) for all registrations. |
| `adMiFixFlg` | Field | Unconfirmed Address Flag (住所未確定フラグ) — indicates whether the delivery address is unconfirmed (`1`) or confirmed (`0`). |
| `kikiHukAInfoCd` | Field | Additional Equipment Info Code (機器付加情報コード) — supplementary equipment classification. |
| `kikiSorysKbtShiteiFlg` | Field | Individual Delivery Designation Flag (機器配送先個別指定フラグ) — set to `1` when a specific delivery address is designated (as opposed to the default customer address). |
| `kikiStsKkkSeiriChuFlg` | Field | Equipment Installation Site Sorting-in-Progress Flag (機器設置先区画整理中フラグ) — cleared when a specific delivery method is in use. |
| `kikiShsAdManInputFlg` | Field | Delivery Address Manual Input Flag (機器配送先住所手入力フラグ) — indicates whether the delivery address was manually entered. |
| `hamBAI_SBT_Cd` | Field | Sales Type Code (販売種別コード) — fixed to `10` for equipment provisioning registrations. |
| `KIKI_HKAT_SHITEI_SOKO_CD` | Field | Equipment Assignment Designation Warehouse Code (機器引当指定倉庫コード) — hardcoded to `000001` (Minato warehouse). |
| `kojiHaisoAdr` | Field | Contractor Delivery Address (工事会社配送) — pre-populated contractor address for new-installation scenarios. |
| `KIKI_SOHUS_NM` | Field | Delivery Recipient Name (機器配送先名前) — name of the person receiving the equipment. |
| `KIKI_SOHUS_KANA` | Field | Delivery Recipient Kana Name (機器配送先カナ名) — phonetic name for the delivery recipient. |
| `KAISEN_PLACE_*` | Fields | Line Item Installation Site Address Fields (回線場所住所系) — composite fields from the line detail map including address code, postal code, prefecture, city, town, chome, block, building, room, and phone. |
| `KEISHA_*` | Fields | Customer Address Fields (会社住所系) — composite fields from the customer profile map including address code, postal code, prefecture, city, town, chome, block, building, room, and phone. |
| C023 | Constant Value | Multi-function router service code (マルチファンクションルーターサービスコード). Triggers purchase-type equipment classification. |
| CD00212_01 | Constant Value | Equipment type: Purchase (買取) — the customer purchases the equipment outright. Value: `"01"` |
| CD00212_02 | Constant Value | Equipment type: Rental (レンタル) — the customer rents the equipment. Value: `"02"` |
| CD00804_01 | Constant Value | Parent contract classification: Service Contract (サービス契約). Value: `"01"` |
| CD00804_02 | Constant Value | Parent contract classification: Service Contract Line Item (サービス契約回線内訳). Value: `"02"` |
| CD00020_00 | Constant Value | Delivery division fixed value: standard delivery. Value: `"00"` |
| CD00467_0 | Constant Value | Address unconfirmed flag: address is confirmed. Value: `"0"` |
| CD00348_10 | Constant Value | Sales type code: equipment provisioning. Value: `"10"` |
| CD01148_2 | Constant Value | Delivery method classification: specific delivery method requiring site sorting. Value: `"2"` |
| CD01239_0 | Constant Value | Manual address input flag: address entered normally (not manually). Value: `"0"` |
| KK0341_KIKI_SHS_KBT_SHITEI_FLG_1 | Constant Value | Individual delivery designation flag: specific delivery address is designated. Value: `"1"` |
| FUNC_CD_1 | Constant Value | Function code: Check & Register (チェック＆登録). Value: `"1"` |
| SOKO_CD_MINATO | Constant Value | Minato warehouse code (港倉庫コード). Hardcoded value: `"000001"` |
| EKK0341D010CBS | SC | Equipment Provisioning Service Contract Registration SC (機器提供サービス契約登録SC) — creates/updates equipment provisioning service contracts in `KK_T_OPSVKEI_ISP`. |
| EKK0251A010CBS | SC | Service Contract Line Item Detail Inquiry SC (サービス契約回線内訳照会SC) — retrieves line item and installation site data used as input maps. |
| KK_T_OPSVKEI_ISP | Entity/DB | Equipment Provisioning Service Contract Table (機器提供サービス契約テーブル) — stores equipment provisioning service contract records. |
| Multi-function Router | Business term | A combined router/modem device that provides internet connectivity, routing, and often VoIP/STB functionality. In this system, identified by service code `C023`. |
| ONU Exchange Work | Business term | Equipment replacement work where an existing Optical Network Unit (ONU) is exchanged for a new device. Distinct from new installations — uses line detail maps instead of contractor address maps for delivery information. |
| Contractor Direct Delivery | Business term | Equipment delivery handled by a contracted installation company (工事会社配送), as opposed to direct-to-customer delivery. New installations use this path. |
| Customer Direct Delivery | Business term | Equipment shipped directly to the customer's registered address (お客様直送). Used for ONU exchange work. |
| KKSV | Screen prefix | Kiki/Kyaku Service Screen (機器/顧客サービス画面) — screen ID pattern for customer equipment service screens in the order management system. |
