# Business Logic — JFUAddKktSvcKeiCC.editInEKK0341D010() [991 LOC]

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

## 1. Role

### JFUAddKktSvcKeiCC.editInEKK0341D010()

This method performs the **upper-level mapping** (上りマッピング処理) for machine-provided service contract registration — it takes the raw input data collected by lower-level screens (e.g., equipment delivery address screens, installation address screens, customer info screens) and transforms it into a structured message envelope (`EKK0341D010CBSMsg`) for downstream CBS (Core Business System) processing. The method acts as a **data routing and aggregation** component: it reads field data from the main input map (`inMap`) and from separate address maps (`useplaceAddressMap` and `kikiSohusAddressMap`), applies null-safety checks, and writes each field to the output template using `set()` or `setNull()` calls depending on whether the source value is present.

It handles **three service categories** based on the `mapName` parameter: NET (Fiber-to-the-Home internet), TV (cable television), and TEL (telephone) — which affects the fallback key used when the main delivery detail number (`mskm_dtl_no`) is missing. It also handles two **address resolution strategies** based on the `MSKM_MNS_TYPE` flag: type `"1"` resolves to a dedicated delivery address map (`FUSV015212CC` / `FUSV016007CC`) for equipment delivery scenarios (apartment/mansion), while other types resolve to the standard usage-place address map (`FUSV015211CC` / `FUSV016102CC`) for home/meson (戸・メゾン) scenarios.

The method implements a **builder + delegation pattern**: it creates a `CAANMsg` template, delegates to `getWorkMapValue()` for cross-work-area fallback lookups (e.g., sysid, seiky_kei_no, mskm_dtl_no), and populates over 60 individual output fields without invoking any external SC or CBS calls. Its role in the larger system is a **shared in-out mapping utility** called by the screen controller `addKktSvcKei()` and the CBS invocation method `getInvokeCBS()`, serving as the central data transformation hub between screen-level input and CBS-level processing.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["editInEKK0341D010"])

    START --> SETUP["Setup templateID, operatorId, dates"]

    SETUP --> GET_DATA["Get inMap from param data"]

    GET_DATA --> CHECK_MNS{"MSKM_MNS_TYPE<br/>== 1?"}

    CHECK_MNS --> Yes["Yes"]
    CHECK_MNS --> No["No"]

    Yes --> DELIVERY_MAP["Set kikiSohusAddressMap from<br/>FUSV015212CC or FUSV016007CC"]
    No --> USEPLACE_MAP["Set kikiSohusAddressMap from<br/>FUSV015211CC or FUSV016102CC"]

    DELIVERY_MAP --> MAP_BODY["Map service fields"]
    USEPLACE_MAP --> MAP_BODY

    MAP_BODY --> MAP_INSTALL["Map installation and contract info"]

    MAP_INSTALL --> MAP_ADDR["Map delivery address from<br/>kikiSohusAddressMap"]

    MAP_ADDR --> MAP_USEPLACE["Map installation address from<br/>useplaceAddressMap"]

    MAP_USEPLACE --> MAP_EXTRA["Map additional fields:<br/>flags, codes, dates"]

    MAP_EXTRA --> END_NODE(["Return template"])

    style START fill:#e1f5e1
    style END_NODE fill:#e1f5e1
```

**CRITICAL — Constant Resolution:**

| Constant | Value | Business Meaning |
|----------|-------|-----------------|
| `FUNC_1` | `"1"` | Default function code |
| `OYA_KEI_SKBT_CD_02` | `"02"` | Parent contract classification code — service contract wiring internal detail |
| `NET` | `"NET"` | Network service category |
| `TV` | `"TV"` | Television service category |
| `TEL` | `"TEL"` | Telephone service category |
| `CC_WORK_AREA_NAME_KEISHA` | `"JFUAddKeishaServiceCCWork"` | Work area name for enterprise (company) data |
| `CC_WORK_AREA_NAME_MSKM` | `"JFUAddMskmSCWork"` | Work area name for delivery detail number data |
| `CC_WORK_AREA_NAME_SKK` | `"JFUAddSkkSCWork"` | Work area name for billing contract data |
| `CC_WORK_AREA_NAME_USE` | `"JFUAddUsePlaceInfoCCWork"` | Work area name for usage-place information |
| `CC_WORK_AREA_NAME` | `"JFUAddSvcKeiTelCCWork"` | Work area name for service contract telephone |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `param` | `IRequestParameterReadWrite` | The request parameter object carrying all screen-collected input data. It holds the main input map (retrieved via `getData(fixedText)`), control map data (operator ID, operation date/time), and work area mappings (cross-scenario fallback data). |
| 2 | `fixedText` | `String` | The template ID and data retrieval key. Used as both the template ID for the output `CAANMsg` and the key to extract the main input data map (`inMap`) from `param`. Represents the screen's data context (e.g., the specific service registration screen identifier). |
| 3 | `mapName` | `String` | The service category classifier. Determines which fallback key is used for the delivery detail number (`mskm_dtl_no`) lookup: `"NET"` uses `"ekk0091_mskm_dtl_no"`, `"TV"` uses `"ekk0101_mskm_dtl_no"`, `"TEL"` uses `"ekk0111_mskm_dtl_no"`. Values: `NET`, `TV`, `TEL`. |

**Instance fields / external state read by this method:**

| Field | Type | Usage |
|-------|------|-------|
| `CC_WORK_AREA_NAME_KEISHA` | `String` (constant) | Work area name for enterprise sysid fallback lookup |
| `CC_WORK_AREA_NAME_MSKM` | `String` (constant) | Work area name for delivery detail number fallback lookup |
| `CC_WORK_AREA_NAME_SKK` | `String` (constant) | Work area name for billing contract number fallback lookup |
| `CC_WORK_AREA_NAME_USE` | `String` (constant) | Work area name for wiring internal detail number fallback lookup |
| `OYA_KEI_SKBT_CD_02` | `String` (constant) | Parent contract code `"02"` — used to check if the service is a wiring internal detail type |
| `FUNC_1` | `String` (constant) | Default function code `"1"` for template |
| `getWorkMapValue()` | method | Helper method that retrieves data from cross-work-area maps (enterprise, billing, delivery, usage-place) |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JFUAddKktSvcKeiCC.getWorkMapValue` | - | - | Reads data from cross-work-area maps (enterprise sysid, delivery detail number, billing contract number, wiring detail number) |
| R | `IRequestParameterReadWrite.getData` | - | - | Reads main input data map from the request parameter by template key |
| R | `IRequestParameterReadWrite.getControlMapData` | - | - | Reads control data (operator ID, operation date/time) from control map |
| R | `IRequestParameterReadWrite.getMappingWorkArea` | - | - | Reads work area maps from cross-screen state (called within getWorkMapValue) |

**Analysis notes:**

This method is purely a **data transformation / mapping** method — it does not perform any direct Create, Read, Update, or Delete operations against database tables. Instead, it reads input data from the request parameter (`param`), resolves fallback values from work area maps, and writes output fields to the `CAANMsg` template. All "reads" are in-memory data lookups via HashMap operations.

The `getWorkMapValue()` internal method reads from `param.getMappingWorkArea()` — this accesses work area data that was previously populated by other screen controllers during the same request lifecycle (cross-work-area pattern for multi-screen data flow).

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `JFUAddKktSvcKeiCC.addKktSvcKei` | `addKktSvcKei(param, fixedText)` -> `editInEKK0341D010(param, fixedText, mapName)` | `template.set* [-]` (no DB, pure mapping) |
| 2 | `JFUAddKktSvcKeiCC.getInvokeCBS` | `getInvokeCBS(param, fixedText, mapName)` -> `editInEKK0341D010(param, fixedText, mapName)` | `template.set* [-]` (no DB, pure mapping) |

**How this method is used:**

- **`addKktSvcKei()`**: Called during the main service contract registration flow (下り mapping) to map lower-level screen data into the template before CBS invocation.
- **`getInvokeCBS()`**: Called to prepare the CBS invocation message — this method transforms screen input data into the CBS message format for downstream core business system processing.

No direct screen or batch entry points were found within 8 hops. This method is a shared CC (Common Component) utility called internally by other methods within `JFUAddKktSvcKeiCC`.

## 6. Per-Branch Detail Blocks

**Block 1** — [PROCESS] Template Setup and Data Retrieval (L542)

> Creates the output message template and retrieves input data maps.

| # | Type | Code |
|---|------|------|
| 1 | SET | `template = new CAANMsg(EKK0341D010CBSMsg.class.getName())` // Create output template |
| 2 | SET | `inMap = (HashMap)param.getData(fixedText)` // Get main input data |
| 3 | SET | `useplaceAddressMap = (HashMap)param.getData("FUSV015211CC")` // Get usage-place address |
| 4 | EXEC | `template.set(EKK0341D010CBSMsg.TEMPLATEID, fixedText)` // Set template ID |
| 5 | EXEC | `template.set(EKK0341D010CBSMsg.FUNC_CODE, FUNC_1)` // Set function code |
| 6 | SET | `operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID)` // Get operator |
| 7 | EXEC | `template.set(JCMConstants.OPERATOR_ID_KEY, operatorId)` // Set operator |
| 8 | SET | `operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE)` // Get date |
| 9 | EXEC | `template.set(JCMConstants.OPERATE_DATE_KEY, operateDate)` // Set date |
| 10 | SET | `operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME)` // Get time |
| 11 | EXEC | `template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime)` // Set time |

**Block 2** — [IF] Address Map Resolution: MSKM_MNS_TYPE (L572)

> Determines which address map to use based on the mansion/ delivery type. "1" means equipment delivery address (apartment/mansion), otherwise standard usage-place address (home/meson).

| # | Type | Code |
|---|------|------|
| 1 | IF | `"1".equals(inMap.get("MSKM_MNS_TYPE"))` // Mansion/delivery type check |

**Block 2.1** — [IF-TRUE] Equipment Delivery Address (Mansion) (L575)

> For mansion-type delivery: resolve from delivery-specific address maps.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kikiSohusAddressMap = (HashMap)param.getData("FUSV015212CC")` // Apartment contract |
| 2 | IF | `kikiSohusAddressMap == null` // Fallback to provisional registration |
| 2.1 | SET | `kikiSohusAddressMap = (HashMap)param.getData("FUSV016007CC")` // Provisional delivery |

**Block 2.2** — [IF-FALSE] Home/Meson Address (Standard) (L584)

> For standard usage-place: resolve from standard address maps.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kikiSohusAddressMap = (HashMap)param.getData("FUSV015211CC")` // Usage-place address |
| 2 | IF | `kikiSohusAddressMap == null` // Fallback to provisional registration |
| 2.1 | SET | `kikiSohusAddressMap = (HashMap)param.getData("FUSV016102CC")` // Provisional usage-place |

**Block 3** — [SET] Override Function Code (L595)

> Overwrites the default function code with the one from the input map.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `template.set(EKK0341D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY))` |

**Block 4** — [IF chain] Service Code and Pricing Field Mapping (L598–L642)

> Maps the first batch of service-level fields: service code, pricing code, pricing plan, service type, HDD capacity, service start date, reservation start date, manufacturer, sales type. Each field follows the same null-check-then-set pattern.

| # | Type | Code |
|---|------|------|
| 1 | IF | `inMap == null \|\| inMap.get("kktk_svc_cd") == null \|\| "".equals(inMap.get("kktk_svc_cd"))` |
| 1.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KKTK_SVC_CD)` // Machine-provided service code |
| 1.2 | ELSE | |
| 1.3 | EXEC | `template.set(EKK0341D010CBSMsg.KKTK_SVC_CD, (String)inMap.get("kktk_svc_cd"))` |
| 2 | IF | `inMap == null \|\| inMap.get("pcrs_cd") == null \|\| "".equals(inMap.get("pcrs_cd"))` |
| 2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.PCRS_CD)` // Pricing code |
| 2.2 | ELSE | |
| 2.3 | EXEC | `template.set(EKK0341D010CBSMsg.PCRS_CD, (String)inMap.get("pcrs_cd"))` |
| 3 | IF | `inMap == null \|\| inMap.get("pplan_cd") == null \|\| "".equals(inMap.get("pplan_cd"))` |
| 3.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.PPLAN_CD)` // Pricing plan |
| 3.2 | ELSE | |
| 3.3 | EXEC | `template.set(EKK0341D010CBSMsg.PPLAN_CD, (String)inMap.get("pplan_cd"))` |
| 4 | IF | `"".equals(inMap.get("kktk_sbt_cd"))` |
| 4.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KKTK_SBT_CD)` // Machine-provided service type |
| 4.2 | ELSE | |
| 4.3 | EXEC | `template.set(EKK0341D010CBSMsg.KKTK_SBT_CD, (String)inMap.get("kktk_sbt_cd"))` |
| 5 | IF | `"".equals(inMap.get("hdd_capa_cd"))` |
| 5.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HDD_CAPA_CD)` // HDD capacity |
| 5.2 | ELSE | |
| 5.3 | EXEC | `template.set(EKK0341D010CBSMsg.HDD_CAPA_CD, (String)inMap.get("hdd_capa_cd"))` |
| 6 | IF | `"".equals(inMap.get("svc_use_sta_kibo_ymd"))` |
| 6.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.SVC_USE_STA_KIBO_YMD)` // Desired service start date |
| 6.2 | ELSE | |
| 6.3 | EXEC | `template.set(EKK0341D010CBSMsg.SVC_USE_STA_KIBO_YMD, (String)inMap.get("svc_use_sta_kibo_ymd"))` |
| 7 | IF | `"".equals(inMap.get("rsv_tsta_kibo_ymd"))` |
| 7.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.RSV_TSTA_KIBO_YMD)` // Desired reservation application start date |
| 7.2 | ELSE | |
| 7.3 | EXEC | `template.set(EKK0341D010CBSMsg.RSV_TSTA_KIBO_YMD, (String)inMap.get("rsv_tsta_kibo_ymd"))` |
| 8 | IF | `"".equals(inMap.get("kibo_maker_cd"))` |
| 8.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIBO_MAKER_CD)` // Desired manufacturer |
| 8.2 | ELSE | |
| 8.3 | EXEC | `template.set(EKK0341D010CBSMsg.KIBO_MAKER_CD, (String)inMap.get("kibo_maker_cd"))` |
| 9 | IF | `"".equals(inMap.get("hambai_sbt_cd"))` |
| 9.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HAMBAI_SBT_CD)` // Sales type |
| 9.2 | ELSE | |
| 9.3 | EXEC | `template.set(EKK0341D010CBSMsg.HAMBAI_SBT_CD, (String)inMap.get("hambai_sbt_cd"))` |
| 10 | IF | `"".equals(inMap.get("tsushin_kiki_set_cd"))` |
| 10.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.TSUSHIN_KIKI_SET_CD)` // Communication equipment set |
| 10.2 | ELSE | |
| 10.3 | EXEC | `template.set(EKK0341D010CBSMsg.TSUSHIN_KIKI_SET_CD, (String)inMap.get("tsushin_kiki_set_cd"))` |
| 11 | IF | `"".equals(inMap.get("taknkiki_sbt_cd"))` |
| 11.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.TAKNKIKI_SBT_CD)` // Indoor equipment type |
| 11.2 | ELSE | |
| 11.3 | EXEC | `template.set(EKK0341D010CBSMsg.TAKNKIKI_SBT_CD, (String)inMap.get("taknkiki_sbt_cd"))` |
| 12 | IF | `"".equals(inMap.get("taknkiki_model_cd"))` |
| 12.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD)` // Indoor equipment model |
| 12.2 | ELSE | |
| 12.3 | EXEC | `template.set(EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD, (String)inMap.get("taknkiki_model_cd"))` |
| 13 | IF | `"".equals(inMap.get("taknkiki_sethin_model_cd"))` |
| 13.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.TAKNKIKI_SETHIN_MODEL_CD)` // Indoor equipment set model |
| 13.2 | ELSE | |
| 13.3 | EXEC | `template.set(EKK0341D010CBSMsg.TAKNKIKI_SETHIN_MODEL_CD, (String)inMap.get("taknkiki_sethin_model_cd"))` |
| 14 | IF | `"".equals(inMap.get("huzokuhin_sbt_cd"))` |
| 14.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HUZOKUHIN_SBT_CD)` // Accessory type |
| 14.2 | ELSE | |
| 14.3 | EXEC | `template.set(EKK0341D010CBSMsg.HUZOKUHIN_SBT_CD, (String)inMap.get("huzokuhin_sbt_cd"))` |

**Block 5** — [IF chain] Installation and Contract Information Mapping (L652–L720)

> Maps installation address, parent contract code, service contract number, service contract internal detail number, wiring internal detail number, option service contract number, and sysid fields.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(inMap.get("kiki_stc_saki_place_no"))` |
| 1.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_PLACE_NO)` // Installation location number |
| 1.2 | ELSE | `template.set(...)` |
| 2 | IF | `"".equals(inMap.get("oya_kei_skbt_cd"))` |
| 2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.OYA_KEI_SKBT_CD)` // Parent contract classification code |
| 2.2 | ELSE | `template.set(...)` |
| 3 | IF | `inMap == null \|\| inMap.get("svc_kei_no") == null \|\| "".equals(inMap.get("svc_kei_no"))` |
| 3.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.SVC_KEI_NO)` // Service contract number (removed input, 2011/11/7) |
| 3.2 | ELSE | `template.set(...)` |
| 4 | IF | `inMap == null \|\| inMap.get("svc_kei_ucwk_no") == null \|\| "".equals(inMap.get("svc_kei_ucwk_no"))` |
| 4.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.SVC_KEI_UCWK_NO)` // Service contract internal detail number |
| 4.2 | ELSE | `template.set(...)` |

**Block 5.1** — [NESTED IF] Wiring Internal Detail Number — Parent Contract Check (L700–L710)

> When wiring internal detail number is empty AND parent contract code equals "02" (service contract wiring internal detail), perform a work-area fallback lookup.

| # | Type | Code |
|---|------|------|
| 1 | IF | `inMap.get("oya_kei_skbt_cd").equals(OYA_KEI_SKBT_CD_02)` [-> `OYA_KEI_SKBT_CD_02 = "02"`] |
| 1.1 | SET | `svc_kei_kaisen_ucwk_no = getWorkMapValue(param, "svc_kei_kaisen_ucwk_no", CC_WORK_AREA_NAME_USE)` |
| 1.2 | IF | `svc_kei_kaisen_ucwk_no == null` |
| 1.2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO)` |
| 1.2.2 | ELSE | `template.set(EKK0341D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, svc_kei_kaisen_ucwk_no)` |

**Block 5.2** — [NESTED IF] Sysid Fallback — Enterprise Work Area (L728–L738)

> When sysid is empty, fall back to the enterprise work area map for system ID.

| # | Type | Code |
|---|------|------|
| 1 | SET | `sysid = getWorkMapValue(param, "sysid", CC_WORK_AREA_NAME_KEISHA)` |
| 2 | IF | `sysid == null` |
| 2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.SYSID)` |
| 2.2 | ELSE | `template.set(EKK0341D010CBSMsg.SYSID, sysid)` |

**Block 6** — [NESTED IF] Delivery Detail Number — Service Category Routing (L744–L763)

> When delivery detail number is empty, resolve via work area map using the service category (NET/TV/TEL) to select the correct fallback key.

| # | Type | Code |
|---|------|------|
| 1 | IF | `NET.equals(mapName)` [-> `NET = "NET"`] |
| 1.1 | SET | `wrkKeyName = "ekk0091_mskm_dtl_no"` |
| 2 | IF | `TV.equals(mapName)` [-> `TV = "TV"`] |
| 2.1 | SET | `wrkKeyName = "ekk0101_mskm_dtl_no"` |
| 3 | IF | `TEL.equals(mapName)` [-> `TEL = "TEL"`] |
| 3.1 | SET | `wrkKeyName = "ekk0111_mskm_dtl_no"` |
| 4 | SET | `mskm_dtl_no = getWorkMapValue(param, wrkKeyName, CC_WORK_AREA_NAME_MSKM)` |
| 5 | IF | `mskm_dtl_no == null` |
| 5.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.MSKM_DTL_NO)` |
| 5.2 | ELSE | `template.set(EKK0341D010CBSMsg.MSKM_DTL_NO, mskm_dtl_no)` |

**Block 7** — [IF chain] STB, Equipment Routing, and Shipping Fields (L767–L827)

> Maps link STB flag, equipment routing specification storage code, equipment routing specification stack code, equipment shipping present/absent, equipment shipping creation date, equipment delivery name, equipment delivery kana name.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(inMap.get("link_stb_flg"))` |
| 1.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.LINK_STB_FLG)` // Link STB flag |
| 1.2 | ELSE | `template.set(...)` |
| 2 | IF | `"".equals(inMap.get("kiki_hkat_shitei_soko_cd"))` |
| 2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD)` // Equipment routing specification storage code |
| 2.2 | ELSE | `template.set(...)` |
| 3 | IF | `"".equals(inMap.get("kiki_hkat_shitei_skdn_cd"))` |
| 3.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD)` // Equipment routing specification stack code |
| 3.2 | ELSE | `template.set(...)` |
| 4 | IF | `"".equals(inMap.get("kiki_soryo_um"))` |
| 4.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SORYO_UM)` // Equipment shipping present/absent |
| 4.2 | ELSE | `template.set(...)` |
| 5 | IF | `"".equals(inMap.get("kiki_soryo_saksei_ymd"))` |
| 5.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SORYO_SAKSEI_YMD)` // Equipment shipping creation date |
| 5.2 | ELSE | `template.set(...)` |
| 6 | IF | `"".equals(inMap.get("kiki_sohus_nm"))` |
| 6.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_NM)` // Equipment delivery name |
| 6.2 | ELSE | `template.set(...)` |
| 7 | IF | `"".equals(inMap.get("kiki_sohus_kana"))` |
| 7.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_KANA)` // Equipment delivery kana name |
| 7.2 | ELSE | `template.set(...)` |

**Block 8** — [IF chain] Delivery Address from kikiSohusAddressMap (L835–L891)

> Maps delivery address fields from the resolved `kikiSohusAddressMap` — this is the address map selected in Block 2 based on MSKM_MNS_TYPE.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(kikiSohusAddressMap.get("ad_cd"))` |
| 1.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_AD_CD)` // Delivery address code |
| 1.2 | ELSE | `template.set(EKK0341D010CBSMsg.KIKI_SOHUS_AD_CD, (String)kikiSohusAddressMap.get("ad_cd"))` |
| 2 | IF | `"".equals(inMap.get("kiki_sohus_pcd"))` |
| 2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_PCD)` // Delivery postal code |
| 2.2 | ELSE | `template.set(...)` |
| 3 | IF | `"".equals(kikiSohusAddressMap.get("state_nm"))` |
| 3.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_STATE_NM)` // Delivery prefecture name |
| 3.2 | ELSE | `template.set(...)` |
| 4 | IF | `"".equals(kikiSohusAddressMap.get("city_nm"))` |
| 4.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_CITY_NM)` // Delivery city/town/village name |
| 4.2 | ELSE | `template.set(...)` |
| 5 | IF | `"".equals(kikiSohusAddressMap.get("oaztsu_nm"))` |
| 5.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_OAZTSU_NM)` // Delivery district name |
| 5.2 | ELSE | `template.set(...)` |
| 6 | IF | `"".equals(kikiSohusAddressMap.get("azcho_nm"))` |
| 6.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_AZCHO_NM)` // Delivery block name |
| 6.2 | ELSE | `template.set(...)` |
| 7 | IF | `"".equals(kikiSohusAddressMap.get("after_bnchi"))` |
| 7.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_BNCHIGO)` // Delivery lot number |
| 7.2 | ELSE | `template.set(...)` |

**Block 9** — [IF chain] Delivery Supplementary Fields (L893–L924)

> Maps delivery address supplementary fields: building name, room number, phone number, mansion property number, delivery-contractant address discrepancy flag, delivery individual specification flag, delivery supplementary codes 1/2, delivery supplementary memo.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(inMap.get("kiki_sohus_adrttm"))` |
| 1.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_ADRTTM)` // Delivery supplementary - building name |
| 1.2 | ELSE | `template.set(...)` |
| 2 | IF | `"".equals(inMap.get("kiki_sohus_adrrm"))` |
| 2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_ADRRM)` // Delivery supplementary - room number |
| 2.2 | ELSE | `template.set(...)` |
| 3 | IF | `"".equals(inMap.get("kiki_sohus_telno"))` |
| 3.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_TELNO)` // Delivery phone number |
| 3.2 | ELSE | `template.set(...)` |
| 4 | IF | `"".equals(inMap.get("mansion_bukken_no"))` |
| 4.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.MANSION_BUKKEN_NO)` // Mansion property number |
| 4.2 | ELSE | `template.set(...)` |
| 5 | IF | `"".equals(inMap.get("kiki_sohus_ksh_ad_sai_flg"))` |
| 5.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG)` // Delivery-contractant address discrepancy flag |
| 5.2 | ELSE | `template.set(...)` |
| 6 | IF | `"".equals(inMap.get("kiki_shs_kbt_shitei_flg"))` |
| 6.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG)` // Delivery individual specification flag |
| 6.2 | ELSE | `template.set(...)` |
| 7 | IF | `"".equals(inMap.get("kiki_shs_hsk_cd_1"))` |
| 7.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_1)` // Delivery supplementary code 1 |
| 7.2 | ELSE | `template.set(...)` |
| 8 | IF | `"".equals(inMap.get("kiki_shs_hsk_cd_2"))` |
| 8.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_2)` // Delivery supplementary code 2 |
| 8.2 | ELSE | `template.set(...)` |
| 9 | IF | `"".equals(inMap.get("kiki_shs_hsk_memo"))` |
| 9.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SHS_HSK_MEMO)` // Delivery supplementary memo |
| 9.2 | ELSE | `template.set(...)` |

**Block 10** — [IF] Delivery Division (L928–L934)

> Maps the delivery division field with null-safety check.

| # | Type | Code |
|---|------|------|
| 1 | IF | `inMap == null \|\| inMap.get("haiso_div") == null \|\| "".equals(inMap.get("haiso_div"))` |
| 1.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HAISO_DIV)` // Delivery division |
| 1.2 | ELSE | `template.set(EKK0341D010CBSMsg.HAISO_DIV, (String)inMap.get("haiso_div"))` |

**Block 11** — [IF chain] Installation Location Fields (L936–L1029)

> Maps installation location name, kana name, address fields (from useplaceAddressMap), postal code, prefecture, city, district, block, lot, supplementary building, supplementary room, contractant address discrepancy flag, phone, division sort flag, address undecided flag, supplementary codes 1/2, supplementary memo, delivery division (duplicate from kiki_sts_hsk_memo check).

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(inMap.get("kiki_stc_saki_nm"))` |
| 1.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_NM)` // Installation location name |
| 1.2 | ELSE | `template.set(...)` |
| 2 | IF | `"".equals(inMap.get("kiki_stc_saki_kana"))` |
| 2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_KANA)` // Installation location kana |
| 2.2 | ELSE | `template.set(...)` |
| 3 | IF | `"".equals(useplaceAddressMap.get("ad_cd"))` |
| 3.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_AD_CD)` // Installation address code |
| 3.2 | ELSE | `template.set(...)` |
| 4 | IF | `"".equals(inMap.get("kiki_stc_saki_pcd"))` |
| 4.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_PCD)` // Installation postal code |
| 4.2 | ELSE | `template.set(...)` |
| 5 | IF | `"".equals(useplaceAddressMap.get("state_nm"))` |
| 5.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_STATE_NM)` // Installation prefecture |
| 5.2 | ELSE | `template.set(...)` |
| 6 | IF | `"".equals(useplaceAddressMap.get("city_nm"))` |
| 6.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_CITY_NM)` // Installation city/town |
| 6.2 | ELSE | `template.set(...)` |
| 7 | IF | `"".equals(useplaceAddressMap.get("oaztsu_nm"))` |
| 7.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_OAZTSU_NM)` // Installation district |
| 7.2 | ELSE | `template.set(...)` |
| 8 | IF | `"".equals(useplaceAddressMap.get("azcho_nm"))` |
| 8.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_AZCHO_NM)` // Installation block |
| 8.2 | ELSE | `template.set(...)` |
| 9 | IF | `"".equals(useplaceAddressMap.get("after_bnchi"))` |
| 9.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_BNCHIGO)` // Installation lot number |
| 9.2 | ELSE | `template.set(...)` |
| 10 | IF | `"".equals(inMap.get("kiki_stc_saki_adrttm"))` |
| 10.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRTTM)` // Installation supplementary - building |
| 10.2 | ELSE | `template.set(...)` |
| 11 | IF | `"".equals(inMap.get("kiki_stc_saki_adrrm"))` |
| 11.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRRM)` // Installation supplementary - room |
| 11.2 | ELSE | `template.set(...)` |
| 12 | IF | `"".equals(inMap.get("kiki_stc_sk_ksh_ad_sai_flg"))` |
| 12.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG)` // Contractant address discrepancy |
| 12.2 | ELSE | `template.set(...)` |
| 13 | IF | `"".equals(inMap.get("kiki_stc_sk_telno"))` |
| 13.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SK_TELNO)` // Installation phone |
| 13.2 | ELSE | `template.set(...)` |
| 14 | IF | `"".equals(inMap.get("kiki_sts_kkk_seiri_chu_flg"))` |
| 14.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG)` // Installation division sort flag |
| 14.2 | ELSE | `template.set(...)` |
| 15 | IF | `"".equals(inMap.get("ad_mi_fix_flg"))` |
| 15.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.AD_MI_FIX_FLG)` // Address undecided flag |
| 15.2 | ELSE | `template.set(...)` |
| 16 | IF | `"".equals(inMap.get("kiki_sts_hsk_cd_1"))` |
| 16.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STS_HSK_CD_1)` // Installation supplementary code 1 |
| 16.2 | ELSE | `template.set(...)` |
| 17 | IF | `"".equals(inMap.get("kiki_sts_hsk_cd_2"))` |
| 17.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STS_HSK_CD_2)` // Installation supplementary code 2 |
| 17.2 | ELSE | `template.set(...)` |
| 18 | IF | `"".equals(inMap.get("kiki_sts_hsk_memo"))` |
| 18.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_STS_HSK_MEMO)` // Installation supplementary memo |
| 18.2 | ELSE | `template.set(...)` |
| 19 | IF | `"".equals(inMap.get("kiki_sts_hsk_memo"))` (duplicate check) |
| 19.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HAISO_DIV)` // Delivery division (note: checks kiki_sts_hsk_memo but sets HAISO_DIV) |
| 19.2 | ELSE | `template.set(EKK0341D010CBSMsg.HAISO_DIV, (String)inMap.get("haiso_div"))` |

**Block 12** — [IF chain] Trial, Activation, Guarantee, and Move Fields (L1035–L1118)

> Maps trial activation date, trial period end date, activation date, activation transfer deadline, guarantee code, guarantee start date, penalty occurrence code, move division, indoor equipment move code, CAS card usage permission date, additional equipment info code, delivery method code.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(inMap.get("ftrial_kanyu_ymd"))` |
| 1.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.FTRIAL_KANYU_YMD)` // Trial activation date |
| 1.2 | ELSE | `template.set(...)` |
| 2 | IF | `"".equals(inMap.get("ftrial_prd_endymd"))` |
| 2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.FTRIAL_PRD_ENDYMD)` // Trial period end date |
| 2.2 | ELSE | `template.set(...)` |
| 3 | IF | `"".equals(inMap.get("honkanyu_ymd"))` |
| 3.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HONKANYU_YMD)` // Activation date |
| 3.2 | ELSE | `template.set(...)` |
| 4 | IF | `"".equals(inMap.get("honkanyu_iko_kigen_ymd"))` |
| 4.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HONKANYU_IKO_KIGEN_YMD)` // Activation transfer deadline |
| 4.2 | ELSE | `template.set(...)` |
| 5 | IF | `"".equals(inMap.get("hosho_cd"))` |
| 5.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HOSHO_CD)` // Guarantee code |
| 5.2 | ELSE | `template.set(...)` |
| 6 | IF | `"".equals(inMap.get("hosho_staymd"))` |
| 6.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HOSHO_STAYMD)` // Guarantee start date |
| 6.2 | ELSE | `template.set(...)` |
| 7 | IF | `"".equals(inMap.get("pnlty_hassei_cd"))` |
| 7.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.PNLTY_HASSEI_CD)` // Penalty occurrence code |
| 7.2 | ELSE | `template.set(...)` |
| 8 | IF | `"".equals(inMap.get("ido_div"))` |
| 8.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.IDO_DIV)` // Move division |
| 8.2 | ELSE | `template.set(...)` |
| 9 | IF | `"".equals(inMap.get("taknkiki_ido_cd"))` |
| 9.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.TAKNKIKI_IDO_CD)` // Indoor equipment move code |
| 9.2 | ELSE | `template.set(...)` |
| 10 | IF | `"".equals(inMap.get("cas_card_use_kyodak_ymd"))` |
| 10.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.CAS_CARD_USE_KYODAK_YMD)` // CAS card usage permission date |
| 10.2 | ELSE | `template.set(...)` |
| 11 | IF | `"".equals(inMap.get("kiki_huka_info_cd"))` |
| 11.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD)` // Additional equipment info code |
| 11.2 | ELSE | `template.set(...)` |
| 12 | IF | `"".equals(inMap.get("haiso_way_cd"))` |
| 12.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HAISO_WAY_CD)` // Delivery method code |
| 12.2 | ELSE | `template.set(...)` |

**Block 13** — [IF] Delivery Request Specified Date (L1136–L1146)

> Maps the delivery request specified date (added 2012/2/22).

| # | Type | Code |
|---|------|------|
| 1 | IF | `inMap == null \|\| inMap.get("haiso_req_shitei_ymd") == null \|\| "".equals(inMap.get("haiso_req_shitei_ymd"))` |
| 1.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.HAISO_REQ_SHITEI_YMD)` // Delivery request specified date |
| 1.2 | ELSE | `template.set(EKK0341D010CBSMsg.HAISO_REQ_SHITEI_YMD, (String)inMap.get("haiso_req_shitei_ymd"))` |

**Block 14** — [IF chain] Billing Contract and Equipment Info (L1150–L1193)

> Maps billing contract number (with work-area fallback), price item code, equipment serial number, update date-time (before update), equipment transfer implementer code, delivery address manual input flag.

| # | Type | Code |
|---|------|------|
| 1 | IF | `inMap == null \|\| inMap.get("seiky_kei_no") == null \|\| "".equals(inMap.get("seiky_kei_no"))` |
| 1.1 | SET | `seiky_kei_no = getWorkMapValue(param, "seiky_kei_no", CC_WORK_AREA_NAME_SKK)` // Work-area fallback |
| 1.2 | IF | `seiky_kei_no == null` |
| 1.2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.SEIKY_KEI_NO)` // Billing contract number |
| 1.2.2 | ELSE | `template.set(EKK0341D010CBSMsg.SEIKY_KEI_NO, seiky_kei_no)` |
| 1.2.3 | ELSE | `template.set(EKK0341D010CBSMsg.SEIKY_KEI_NO, (String)inMap.get("seiky_kei_no"))` |
| 2 | IF | `"".equals(inMap.get("prc_kmk_cd"))` |
| 2.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.PRC_KMK_CD)` // Price item code |
| 2.2 | ELSE | `template.set(...)` |
| 3 | IF | `"".equals(inMap.get("kiki_seizo_no"))` |
| 3.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SEIZO_NO)` // Equipment serial number |
| 3.2 | ELSE | `template.set(...)` |
| 4 | IF | `"".equals(inMap.get("upd_dtm_bf"))` |
| 4.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.UPD_DTM_BF)` // Update date-time (before update) |
| 4.2 | ELSE | `template.set(...)` |
| 5 | IF | `"".equals(inMap.get("kiki_itens_mv_jssis_skcd"))` |
| 5.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_ITENS_MV_JSSIS_SKCD)` // Equipment transfer implementer code |
| 5.2 | ELSE | `template.set(...)` |
| 6 | IF | `"".equals(inMap.get("kiki_shs_ad_man_input_flg"))` |
| 6.1 | EXEC | `template.setNull(EKK0341D010CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG)` // Delivery address manual input flag |
| 6.2 | ELSE | `template.set(...)` |

**Block 15** — [RETURN] Return Template (L1197)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return template;` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `kktk_svc_cd` | Field | Machine-provided service code — code identifying the type of equipment-provided service (e.g., internet, TV, phone bundled services) |
| `pcrs_cd` | Field | Pricing code — the billing pricing plan associated with the service |
| `pplan_cd` | Field | Pricing plan code — specific pricing plan within a pricing category |
| `kktk_sbt_cd` | Field | Machine-provided service type code — classifies the type of equipment-provided service |
| `hdd_capa_cd` | Field | HDD capacity code — capacity classification of hard disk drive equipment |
| `svc_use_sta_kibo_ymd` | Field | Desired service start date (year-month-day) — customer's requested service activation date |
| `rsv_tsta_kibo_ymd` | Field | Desired reservation application start date — date when reservation-based application starts |
| `kibo_maker_cd` | Field | Desired manufacturer code — customer's preferred equipment manufacturer |
| `hambai_sbt_cd` | Field | Sales type code — classification of the sales channel/method |
| `tsushin_kiki_set_cd` | Field | Communication equipment set code — type of communication equipment bundle |
| `taknkiki_sbt_cd` | Field | Indoor equipment type code — type of indoor/terminal equipment |
| `taknkiki_model_cd` | Field | Indoor equipment model code — specific model of indoor equipment |
| `taknkiki_sethin_model_cd` | Field | Indoor equipment set model code — model of a set of indoor equipment |
| `huzokuhin_sbt_cd` | Field | Accessory type code — type of accessories included with equipment |
| `kiki_stc_saki_place_no` | Field | Equipment installation location number — identifier for the installation site |
| `oya_kei_skbt_cd` | Field | Parent contract classification code — distinguishes whether this is a standalone or wiring-internal-detail contract (value "02" = service contract wiring internal detail) |
| `svc_kei_no` | Field | Service contract number — primary identifier for the service contract |
| `svc_kei_ucwk_no` | Field | Service contract internal detail number — secondary internal tracking ID for contract detail lines |
| `svc_kei_kaisen_ucwk_no` | Field | Service contract wiring internal detail number — tracking ID for wiring-specific contract details |
| `op_svc_kei_no` | Field | Option service contract number — identifier for optional/add-on service contracts |
| `sysid` | Field | System ID — enterprise/system identifier for the service account |
| `mskm_dtl_no` | Field | Mansion delivery detail number — specific delivery detail number for equipment delivery to apartments/mansions |
| `link_stb_flg` | Field | Link STB flag — boolean indicator for linked Set-Top Box service |
| `kiki_hkat_shitei_soko_cd` | Field | Equipment routing specification storage code — storage location code for equipment routing |
| `kiki_hkat_shitei_skdn_cd` | Field | Equipment routing specification stack code — stack/rack code for equipment routing |
| `kiki_soryo_um` | Field | Equipment shipping present/absent flag — whether shipping applies to equipment |
| `kiki_soryo_saksei_ymd` | Field | Equipment shipping creation date (year-month-day) |
| `kiki_sohus_nm` | Field | Equipment delivery name — name of the equipment delivery recipient/location |
| `kiki_sohus_kana` | Field | Equipment delivery kana name — phonetic (kana) representation of delivery name |
| `ad_cd` | Field | Address code — standardized address classification code |
| `state_nm` | Field | Prefecture name — Japanese prefecture where the address is located |
| `city_nm` | Field | City/town/village name |
| `oaztsu_nm` | Field | District name — larger district within a city |
| `azcho_nm` | Field | Block name — neighborhood block within a district |
| `after_bnchi` | Field | Lot number — specific land plot number in the address |
| `kiki_sohus_adrttm` | Field | Equipment delivery supplementary - building name |
| `kiki_sohus_adrrm` | Field | Equipment delivery supplementary - room number |
| `kiki_sohus_telno` | Field | Equipment delivery phone number |
| `mansion_bukken_no` | Field | Mansion property number — property identifier for multi-unit buildings |
| `kiki_sohus_ksh_ad_sai_flg` | Field | Equipment delivery-contractant address discrepancy flag — indicates if delivery address differs from contract address |
| `kiki_shs_kbt_shitei_flg` | Field | Equipment delivery individual specification flag — whether individual specification is applied |
| `kiki_shs_hsk_cd_1` / `kiki_shs_hsk_cd_2` | Field | Equipment delivery supplementary codes 1/2 — additional specification codes |
| `kiki_shs_hsk_memo` | Field | Equipment delivery supplementary memo |
| `kiki_shs_ad_man_input_flg` | Field | Equipment delivery address manual input flag — whether delivery address was manually entered |
| `haiso_div` | Field | Delivery division — classification of delivery type/method |
| `kiki_stc_saki_nm` | Field | Equipment installation location name — name of the installation site |
| `kiki_stc_saki_kana` | Field | Equipment installation location kana name — phonetic representation of installation site name |
| `kiki_stc_saki_adrttm` | Field | Installation location supplementary - building name |
| `kiki_stc_saki_adrrm` | Field | Installation location supplementary - room number |
| `kiki_stc_sk_ksh_ad_sai_flg` | Field | Installation location-contractant address discrepancy flag |
| `kiki_stc_sk_telno` | Field | Installation location phone number |
| `kiki_sts_kkk_seiri_chu_flg` | Field | Installation location division sort processing flag |
| `ad_mi_fix_flg` | Field | Address undecided flag — indicates if the address has not yet been finalized |
| `kiki_sts_hsk_cd_1` / `kiki_sts_hsk_cd_2` | Field | Installation location supplementary codes 1/2 |
| `kiki_sts_hsk_memo` | Field | Installation location supplementary memo |
| `ftrial_kanyu_ymd` | Field | Trial activation date (year-month-day) — when the trial period begins |
| `ftrial_prd_endymd` | Field | Trial period end date (year-month-day) — when the trial period expires |
| `honkanyu_ymd` | Field | Full activation date (year-month-day) — when the service fully activates |
| `honkanyu_iko_kigen_ymd` | Field | Full activation transfer deadline (year-month-day) — deadline for transitioning from trial to full |
| `hosho_cd` | Field | Guarantee code — type of guarantee/guarantor arrangement |
| `hosho_staymd` | Field | Guarantee start date (year-month-day) |
| `pnlty_hassei_cd` | Field | Penalty occurrence code — type of penalty/liquidated damages clause |
| `ido_div` | Field | Move division — classification of service move/relocation type |
| `taknkiki_ido_cd` | Field | Indoor equipment move code — type of indoor equipment relocation |
| `cas_card_use_kyodak_ymd` | Field | CAS card usage permission date (year-month-day) — when the CAS (Conditional Access System) card becomes usable |
| `kiki_huka_info_cd` | Field | Additional equipment info code — codes for additional/extra equipment information |
| `haiso_way_cd` | Field | Delivery method code — how the equipment will be delivered |
| `haiso_req_shitei_ymd` | Field | Delivery request specified date (year-month-day) — customer-specified delivery date (added 2012/2/22) |
| `seiky_kei_no` | Field | Billing contract number — identifier for the billing-specific contract |
| `prc_kmk_cd` | Field | Price item code — classification of price/charges |
| `kiki_seizo_no` | Field | Equipment serial number — unique manufacturing serial number |
| `upd_dtm_bf` | Field | Update date-time before update — timestamp of the last modification before the current update |
| `kiki_itens_mv_jssis_skcd` | Field | Equipment transfer implementer identification code — code identifying who implements the equipment transfer |
| `MSKM_MNS_TYPE` | Field | Mansion type flag — determines address resolution strategy ("1" = equipment delivery to apartment/mansion, other = home/meson) |
| `FUSV015211CC` | Data key | Standard usage-place address map — primary source for installation/usage address data |
| `FUSV015212CC` | Data key | Apartment delivery address map — delivery address for equipment to apartments (MANSION type "1") |
| `FUSV016102CC` | Data key | Provisional usage-place address map — fallback for usage-place data |
| `FUSV016007CC` | Data key | Provisional delivery address map — fallback for delivery address data |
| `JFUAddKeishaServiceCCWork` | Constant | Work area name for enterprise service data — used for sysid fallback lookup |
| `JFUAddMskmSCWork` | Constant | Work area name for delivery detail number data — used for mskm_dtl_no fallback |
| `JFUAddSkkSCWork` | Constant | Work area name for billing contract data — used for seiky_kei_no fallback |
| `JFUAddUsePlaceInfoCCWork` | Constant | Work area name for usage-place information — used for wiring detail number fallback |
| JFUAddKktSvcKeiCC | Class | Machine-provided service contract registration component — the class containing this method |
| CAANMsg | Type | Message envelope class — the output message container for CBS data |
| EKK0341D010CBSMsg | Type | CBS message type — the specific message class that defines the output template fields |
| NET | Constant | Network service category code — used for fiber internet service context |
| TV | Constant | Television service category code — used for cable TV service context |
| TEL | Constant | Telephone service category code — used for telephone service context |
| FUNC_1 | Constant | Default function code `"1"` — function identifier in the template |
| SOD | Acronym | Service Order Data — telecom order fulfillment context |
| CBS | Acronym | Core Business System — the backend business system receiving the mapped data |
| SC | Acronym | Service Component — a modular service layer component |
| STB | Acronym | Set-Top Box — equipment for receiving TV/cable signals |
| CAS | Acronym | Conditional Access System — smart card-based content access control for TV services |
| HDD | Acronym | Hard Disk Drive — storage equipment component |
| HashMap | Type | Java HashMap — used throughout for storing field key-value pairs from screens |
| IRequestParameterReadWrite | Interface | Request parameter interface — carries all data between screens and components |
