# Business Logic - JFUAddSvcKeiTvCC.editInEKK0341D010() [978 LOC]

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

## 1. Role

### JFUAddSvcKeiTvCC.editInEKK0341D010()

This method performs the **upward mapping** (uplink data mapping) for **Equipment-Provided Service Contract Registration** in the K-Opticom eo Light TV subscription system. It takes raw input data from the screen's working area -- representing a single line item of a service contract -- and transforms it into a properly structured `CAANMsg` CBS message template (`EKK0341D010CBSMsg`) that will be forwarded to the downstream Service Component for persistence.

The method handles **two distinct address routing scenarios** based on the delivery method type (`MSKM_MNS_TYPE`): when the value is `"1"`, it routes to a **customer address** map for equipment delivery (provisional registration or bulk registration); otherwise, it routes to the **usage location address** map for standard home/meson equipment installation. This conditional branching reflects the telecom domain's need to support different equipment provisioning workflows.

It implements the **builder/template delegation pattern**: a `CAANMsg` template is instantiated, populated field-by-field from the input HashMap using a repetitive conditional-set pattern (check for null/empty, then `template.set()` or `template.setNull()`), and returned to the caller. The method has **no external CRUD operations** -- it is purely a data transformation layer that routes data from the application's working area into the CBS message format.

The method is called by `addTvTrk()` and `getInvokeCBS()`, serving as a **shared utility** used across multiple screen flows for TV service contract data preparation. It processes a single service contract line item identified by the `index` parameter within the `EKK0341D010TvList` array, extracting approximately 60+ fields and mapping them to corresponding CBS message fields.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["editInEKK0341D010 params"])
    INIT["Initialize CAANMsg template<br/>Set template ID, function code<br/>Set operator, date, time"]
    FETCH_DATA["Fetch inMap from param<br/>Fetch useplaceAddressMap<br/>FUSV015211CC or FUSV016102CC"]
    FETCH_ADDRESS["Fetch kikiSohusAddressMap<br/>Branch on MSKM_MNS_TYPE"]
    SELECT_ITEM["Select item from EKK0341D010TvList<br/>by index"]
    MAP_START["Begin field mapping<br/>for each field in inMap"]

    INIT --> FETCH_DATA
    FETCH_DATA --> FETCH_ADDRESS
    FETCH_ADDRESS --> SELECT_ITEM
    SELECT_ITEM --> MAP_START

    MAP_START --> CHECK_NULL{Field value<br/>present}
    CHECK_NULL -->|Yes| SET_FIELD["template.set fieldCode,<br/>fieldValue"]
    CHECK_NULL -->|No| SET_NULL["template.setNull fieldCode"]

    SET_FIELD --> REST_FIELDS["Map remaining fields<br/>kktk_svc_cd, pcrs_cd, pplan_cd,<br/>kktk_sbt_cd, hdd_capa_cd,<br/>svc_use_sta_kibo_ymd, rsv_tsta_kibo_ymd,<br/>kibo_maker_cd, hambai_sbt_cd,<br/>tsushin_kiki_set_cd, taknkiki_sbt_cd,<br/>taknkiki_model_cd, taknkiki_sethin_model_cd,<br/>huzokuhin_sbt_cd, kiki_stc_saki_place_no,<br/>oya_kei_skbt_cd"]

    REST_FIELDS --> SVC_KEI{"svc_kei_no<br/>present"}
    SET_NULL --> SVC_KEI

    SVC_KEI -->|Yes| SVC_KEI_N["template.set SVC_KEI_NO<br/>from inMap"]
    SVC_KEI -->|No| SVC_KEI_W["getWorkMapValue<br/>svc_kei_no from work area"]
    SVC_KEI_W --> SVC_KEI_WF{workMap<br/>found}
    SVC_KEI_WF -->|Yes| SVC_KEI_WS["template.set SVC_KEI_NO<br/>from workMap"]
    SVC_KEI_WF -->|No| SVC_KEI_WN["template.setNull SVC_KEI_NO"]

    SVC_KEI_N --> SVC_UCWK{"svc_kei_ucwk_no<br/>present"}
    SVC_KEI_WS --> SVC_UCWK
    SVC_KEI_WN --> SVC_UCWK

    SVC_UCWK -->|Yes| SVC_UCWK_N["template.set SVC_KEI_UCWK_NO<br/>from inMap"]
    SVC_UCWK -->|No| SVC_UCWK_W["post = index / 3<br/>getWorkMapValue<br/>svc_kei_ucwk_no_post"]
    SVC_UCWK_W --> SVC_UCWK_WF{workMap<br/>found}
    SVC_UCWK_WF -->|Yes| SVC_UCWK_WS["template.set SVC_KEI_UCWK_NO<br/>from workMap"]
    SVC_UCWK_WF -->|No| SVC_UCWK_WN["template.setNull SVC_KEI_UCWK_NO"]

    SVC_UCWK_N --> SYSID{"sysid<br/>present"}
    SVC_UCWK_WS --> SYSID
    SVC_UCWK_WN --> SYSID

    SYSID -->|Yes| SYSID_N["template.set SYSID<br/>from inMap"]
    SYSID -->|No| SYSID_W["getWorkMapValue<br/>sysid from KEISHA area"]
    SYSID_W --> SYSID_WF{workMap<br/>found}
    SYSID_WF -->|Yes| SYSID_WS["template.set SYSID<br/>from workMap"]
    SYSID_WF -->|No| SYSID_WN["template.setNull SYSID"]

    SYSID_N --> MSKM_DTL{"mskm_dtl_no<br/>present"}
    SYSID_WS --> MSKM_DTL
    SYSID_WN --> MSKM_DTL

    MSKM_DTL -->|Yes| MSKM_DTL_N["template.set MSKM_DTL_NO<br/>from inMap"]
    MSKM_DTL -->|No| MSKM_DTL_W["getWorkMapValue<br/>ekk0101_mskm_dtl_no from MSKM area"]
    MSKM_DTL_W --> MSKM_DTL_WF{workMap<br/>found}
    MSKM_DTL_WF -->|Yes| MSKM_DTL_WS["template.set MSKM_DTL_NO<br/>from workMap"]
    MSKM_DTL_WF -->|No| MSKM_DTL_WN["template.setNull MSKM_DTL_NO"]

    MSKM_DTL_N --> LINK_STB["Map link_stb_flg"]
    MSKM_DTL_WS --> LINK_STB
    MSKM_DTL_WN --> LINK_STB

    LINK_STB --> STORAGE["Map storage codes<br/>kiki_hkat_shitei_soko_cd,<br/>kiki_hkat_shitei_skdn_cd"]
    STORAGE --> DELIVERY["Map delivery info<br/>kiki_soryo_um, kiki_soryo_saksei_ymd,<br/>kiki_sohus_nm, kiki_sohus_kana"]
    DELIVERY --> KIKI_ADDR["Map kikiSohusAddressMap fields<br/>ad_cd, state_nm, city_nm,<br/>oaztsu_nm, azcho_nm, after_bnchi"]
    KIKI_ADDR --> KIKI_ADDR2["Map additional kiki_sohus fields<br/>pcd, adrttm, adrrm, telno,<br/>mansion_bukken_no,<br/>kiki_sohus_ksh_ad_sai_flg,<br/>kiki_shs_kbt_shitei_flg,<br/>kiki_shs_hsk_cd_1, kiki_shs_hsk_cd_2,<br/>kiki_shs_hsk_memo"]
    KIKI_ADDR2 --> SETC_ADDR["Map useplaceAddressMap fields<br/>ad_cd, state_nm, city_nm,<br/>oaztsu_nm, azcho_nm, after_bnchi,<br/>kiki_stc_saki_pcd,<br/>kiki_stc_saki_adrttm, kiki_stc_saki_adrrm,<br/>kiki_stc_sk_ksh_ad_sai_flg,<br/>kiki_stc_sk_telno,<br/>kiki_sts_kkk_seiri_chu_flg,<br/>ad_mi_fix_flg, kiki_sts_hsk_cd_1,<br/>kiki_sts_hsk_cd_2, kiki_sts_hsk_memo"]
    SETC_ADDR --> DATES["Map date fields<br/>ftrial_kanyu_ymd, ftrial_prd_endymd,<br/>honkanyu_ymd, honkanyu_iko_kigen_ymd"]
    DATES --> GUARANTEE["Map guarantee fields<br/>hosho_cd, hosho_staymd,<br/>pnlty_hassei_cd, ido_div,<br/>taknkiki_ido_cd, cas_card_use_kyodak_ymd"]
    GUARANTEE --> EXTRA["Map extra fields<br/>kiki_huka_info_cd, haiso_way_cd,<br/>haiso_req_shitei_ymd"]
    EXTRA --> SEIKY{"seiky_kei_no<br/>present"}

    SEIKY -->|Yes| SEIKY_N["template.set SEIKY_KEI_NO<br/>from inMap"]
    SEIKY -->|No| SEIKY_W["getWorkMapValue<br/>seiky_kei_no from SKK area"]
    SEIKY_W --> SEIKY_WF{workMap<br/>found}
    SEIKY_WF -->|Yes| SEIKY_WS["template.set SEIKY_KEI_NO<br/>from workMap"]
    SEIKY_WF -->|No| SEIKY_WN["template.setNull SEIKY_KEI_NO"]

    SEIKY_N --> PRCKMK["Map prc_kmk_cd"]
    SEIKY_WS --> PRCKMK
    SEIKY_WN --> PRCKMK

    PRCKMK --> SEIZO["Map kiki_seizo_no"]
    SEIZO --> V1ADD["Map v1.00.00 fields<br/>upd_dtm_bf from EKK0101D010<br/>kiki_shs_ad_man_input_flg"]
    V1ADD --> END(["Return template CAANMsg"])

    SEIKY_WS --> PRCKMK
    SEIKY_WN --> PRCKMK
```

**CRITICAL -- Constant Resolution:**

The method uses two key constants that resolve conditional branches:

| Constant | Value | Business Meaning |
|----------|-------|-----------------|
| `MSKM_MNS_TYPE` = "1" | "1" | When the MNS (Mansion) type equals "1", equipment delivery uses the customer address map (provisional/bulk registration); otherwise uses the standard usage location address |
| `EKK0341D010TvList` | List key | The inMap key that holds the ArrayList of service contract line items; the `index` parameter selects a specific item from this list |
| `CC_WORK_AREA_NAME` = "JFUAddSvcKeiTvCCWork" | "JFUAddSvcKeiTvCCWork" | Work map area name for svc_kei_no lookup when not in inMap |
| `CC_WORK_AREA_NAME_KEISHA` = "JFUAddKeishaServiceCCWork" | "JFUAddKeishaServiceCCWork" | Work map area name for sysid lookup |
| `CC_WORK_AREA_NAME_MSKM` = "JFUAddMskmSCWork" | "JFUAddMskmSCWork" | Work map area name for mskm_dtl_no lookup |
| `CC_WORK_AREA_NAME_SKK` = "JFUAddSkkSCWork" | "JFUAddSkkSCWork" | Work map area name for seiky_kei_no lookup |
| `FUNC_CODE` default | "1" | Default function code set on the template |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `param` | `IRequestParameterReadWrite` | The request parameter object containing the screen's input data, control map (operator ID, operational date/time), and working area maps. It holds the source data HashMaps under keys like "FUSV015211CC" (post-split usage location address) and "EKK0341D010TvList" (service contract line item list). Also used for `getMappingWorkArea()` to access shared work maps for special fields like svc_kei_no, sysid, etc. |
| 2 | `fixedText` | `String` | The template ID string used to initialize the CAANMsg. This identifies which CBS message template to use (maps to EKK0341D010CBSMsg.TEMPLATEID). It also serves as the HashMap key for retrieving the input data via `param.getData(fixedText)`. |
| 3 | `index` | `int` | The index within the EKK0341D010TvList ArrayList that identifies which service contract line item to process. Used with `post = index / 3` to derive a suffix for svc_kei_ucwk_no lookup in the work map, suggesting that every 3 line items share a single contract work number. |

**Instance fields / external state read:**

| Name | Type | Description |
|------|------|-------------|
| `CC_WORK_AREA_NAME` | static final String | Work area map name: "JFUAddSvcKeiTvCCWork" -- used when svc_kei_no is absent from inMap |
| `CC_WORK_AREA_NAME_KEISHA` | static final String | Work area map name: "JFUAddKeishaServiceCCWork" -- used when sysid is absent from inMap |
| `CC_WORK_AREA_NAME_MSKM` | static final String | Work area map name: "JFUAddMskmSCWork" -- used when mskm_dtl_no is absent from inMap |
| `CC_WORK_AREA_NAME_SKK` | static final String | Work area map name: "JFUAddSkkSCWork" -- used when seiky_kei_no is absent from inMap |
| `EKK0101D010CBSMsg` | class reference | Used to read upd_dtm (update datetime before) from data key "EKK0101D010" for v1.00.00 upgrade field |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JFUAddSvcKeiTvCC.getData` | - | - | Calls `getData` in `JFUAddSvcKeiTvCC` to retrieve data maps by key (FUSV015211CC, FUSV016102CC, FUSV015212CC, FUSV016007CC, EKK0101D010) |
| R | `JFUAddSvcKeiTvCC.getWorkMapValue` | - | - | Calls `getWorkMapValue` in `JFUAddSvcKeiTvCC` to retrieve values from the shared work map area |

**CRUD Analysis:**

This method is purely a **data transformation / upward mapping** method. It performs **no database operations, no Create/Read/Update/Delete operations** against entities. It reads data from:

1. `param.getControlMapData()` -- system control data (operator ID, operational date/time)
2. `param.getMappingWorkArea()` -- shared work area map
3. `param.getData(key)` -- input data maps (6 distinct keys)
4. The local `inMap` HashMap -- the service contract line item data

All operations on the output template are **SET** (field assignment) or **SET_NULL** (null field assignment). No calls are made to Service Components (SC) or Corporate Business Services (CBS).

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R (memory) | `param.getData(key)` | - | - | Retrieves data maps from param for address and input data |
| R (memory) | `param.getControlMapData(key)` | - | - | Retrieves system control data (operator, date, time) |
| R (memory) | `param.getMappingWorkArea()` | - | - | Retrieves the shared work area map |
| R (memory) | `getWorkMapValue(param, key, area)` | - | - | Retrieves values from the work area map (6 call sites) |
| SET | `template.set(field, value)` | - | - | Sets ~60 field values on the CAANMsg template |
| SET | `template.setNull(field)` | - | - | Sets ~60 fields to null when values are missing |
| R (memory) | `(param.getData("EKK0101D010")).get(UPD_DTM)` | - | - | Retrieves update datetime before from EKK0101D010 map |

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 2 methods.
Terminal operations from this method: `setNull` [-], `setNull` [-] (repeated ~60 times), `set` [-] (repeated ~60 times), `getData` [R] (6 calls), `getWorkMapValue` [R] (6 calls), `getMappingWorkArea` [R], `getControlMapData` [R] (3 calls).

**Caller Analysis:**

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Caller: JFUAddSvcKeiTvCC.addTvTrk() | `addTvTrk()` -> `editInEKK0341D010()` | `template.set/setNull` x60+ fields |
| 2 | Caller: JFUAddSvcKeiTvCC.getInvokeCBS() | `getInvokeCBS()` -> `editInEKK0341D010()` | `template.set/setNull` x60+ fields |

**Downstream chain:**
This method returns a `CAANMsg` template (`EKK0341D010CBSMsg`) that is consumed by the caller (`addTvTrk()` or `getInvokeCBS()`), which then forwards it to a Service Component for actual persistence. The method itself does not invoke any SC/CBS methods.

## 6. Per-Branch Detail Blocks

**Block 1** -- [SET] `Initialize CAANMsg template and set header fields` (L1110)

> Creates the CBS message template and sets system-level header fields from control map data.

| # | Type | Code |
|---|------|------|
| 1 | SET | `template = new CAANMsg(EKK0341D010CBSMsg.class.getName())` |
| 2 | SET | `inMap = null, useplaceAddressMap = null, kikiSohusAddressMap = null, post = null` |
| 3 | SET | `template.set(EKK0341D010CBSMsg.TEMPLATEID, fixedText)` // テンプレートID (Template ID) |
| 4 | SET | `template.set(EKK0341D010CBSMsg.FUNC_CODE, "1")` // 機能コード（デフォルト：1）(Function code default: 1) |
| 5 | SET | `operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID)` // 作業者ID取得 (Retrieve operator ID) |
| 6 | SET | `template.set(JCMConstants.OPERATOR_ID_KEY, operatorId)` |
| 7 | SET | `operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE)` // 運用日付 (Operational date) |
| 8 | SET | `template.set(JCMConstants.OPERATE_DATE_KEY, operateDate)` |
| 9 | SET | `operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME)` // 運用日時 (Operational datetime) |
| 10 | SET | `template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime)` |

**Block 2** -- [SET] `Fetch data maps from param` (L1134)

> Retrieves the working area map and input data maps.

| # | Type | Code |
|---|------|------|
| 1 | SET | `workMap = (Map)param.getMappingWorkArea()` // 作業領域の取得 (Retrieve work area) |
| 2 | SET | `inMap = (HashMap)param.getData(fixedText)` // ユーザーデータ情報 (User data info) |
| 3 | SET | `useplaceAddressMap = (HashMap)param.getData("FUSV015211CC")` // 分割後の利用所住所情報 (Post-split usage location address info) |

**Block 3** -- [IF] `useplaceAddressMap is null -- fallback to bulk registration key` (L1140)

> If the usage location address map is null (post-split data not found), try the bulk registration key FUSV016102CC.

| # | Type | Code |
|---|------|------|
| 1 | SET | `useplaceAddressMap = (HashMap)param.getData("FUSV016102CC")` // 分割後利用場所住所情報 一括登録 (Post-split usage location address info -- bulk registration) |

**Block 4** -- [IF] `MSKM_MNS_TYPE == "1" -- Equipment delivery with customer address` (L1145)

> ANK-4498-00-00: When MSKM_MNS_TYPE equals "1", the equipment delivery uses the customer address map instead of the usage location address map. This handles mansion/meson equipment delivery scenarios.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kikiSohusAddressMap = (HashMap)param.getData("FUSV015212CC")` // 分割後契約者住所情報 仮登録 一括登録 (Post-split subscriber address info -- provisional registration, bulk registration) |
| 2 | SET | `// 分割後契約者住所登録 本登録` (Post-split subscriber address registration -- actual registration) |
| 3 | IF | `kikiSohusAddressMap == null` (L1153) |
| 4 | SET | `kikiSohusAddressMap = (HashMap)param.getData("FUSV016007CC")` // 分割後契約者住所登録 本登録 (Post-split subscriber address registration -- actual registration) |
| 5 | ELSE-ELSEIF | (L1159) // ホーム・メゾンの場合 (For home/meson cases) |
| 6 | SET | `kikiSohusAddressMap = (HashMap)param.getData("FUSV015211CC")` // 分割後利用所住所情報 本登録 (Post-split usage location address info -- actual registration) |
| 7 | IF | `kikiSohusAddressMap == null` (L1164) |
| 8 | SET | `kikiSohusAddressMap = (HashMap)param.getData("FUSV016102CC")` // 分割後利用場所住所情報 一括登録 (Post-split usage location address info -- bulk registration) |

**Block 5** -- [SET] `Select service contract line item by index` (L1172)

> v1.00.00: Narrow inMap from the parent HashMap to the specific line item within the EKK0341D010TvList ArrayList.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap = (HashMap)((ArrayList)inMap.get("EKK0341D010TvList")).get(index)` // v1.00.00 追加開始 (v1.00.00 addition) |
| 2 | SET | `template.set(EKK0341D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY))` // Overwrite with inMap's function code |

**Block 6** -- [Field Mapping: kktk_svc_cd through oya_kei_skbt_cd] (L1180-L1340)

> Maps basic service contract fields from inMap to the template. Each field follows the same pattern: check for null/empty, set value or setNull.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | IF | `inMap == null OR kktk_svc_cd == null OR empty` | 機器提供サービスコード (Equipment-provided service code) |
| 2 | SET | `template.setNull(EKK0341D010CBSMsg.KKTK_SVC_CD)` | OR |
| 3 | SET | `template.set(EKK0341D010CBSMsg.KKTK_SVC_CD, inMap.get("kktk_svc_cd"))` | |
| 4 | IF | `inMap == null OR pcrs_cd == null OR empty` | 料金コースコード (Pricing course code) |
| 5 | SET | `template.setNull(EKK0341D010CBSMsg.PCRS_CD)` | OR |
| 6 | SET | `template.set(EKK0341D010CBSMsg.PCRS_CD, inMap.get("pcrs_cd"))` | |
| 7 | IF | `inMap == null OR pplan_cd == null OR empty` | 料金プランコード (Pricing plan code) |
| 8 | SET | `template.setNull(EKK0341D010CBSMsg.PPLAN_CD)` | OR |
| 9 | SET | `template.set(EKK0341D010CBSMsg.PPLAN_CD, inMap.get("pplan_cd"))` | |
| 10 | IF | `inMap == null OR kktk_sbt_cd == null OR empty` | 機器提供種別コード (Equipment-provided subtype code) |
| 11 | SET | `template.setNull(EKK0341D010CBSMsg.KKTK_SBT_CD)` | OR |
| 12 | SET | `template.set(EKK0341D010CBSMsg.KKTK_SBT_CD, inMap.get("kktk_sbt_cd"))` | |
| 13 | IF | `inMap == null OR hdd_capa_cd == null OR empty` | HDD容量コード (HDD capacity code) |
| 14 | SET | `template.setNull(EKK0341D010CBSMsg.HDD_CAPA_CD)` | OR |
| 15 | SET | `template.set(EKK0341D010CBSMsg.HDD_CAPA_CD, inMap.get("hdd_capa_cd"))` | |
| 16 | IF | `inMap == null OR svc_use_sta_kibo_ymd == null OR empty` | サービス利用開始希望年月日 (Desired service start date) |
| 17 | SET | `template.setNull(EKK0341D010CBSMsg.SVC_USE_STA_KIBO_YMD)` | OR |
| 18 | SET | `template.set(EKK0341D010CBSMsg.SVC_USE_STA_KIBO_YMD, inMap.get("svc_use_sta_kibo_ymd"))` | |
| 19 | IF | `inMap == null OR rsv_tsta_kibo_ymd == null OR empty` | 予約適用開始希望年月日 (Desired reservation application start date) |
| 20 | SET | `template.setNull(EKK0341D010CBSMsg.RSV_TSTA_KIBO_YMD)` | OR |
| 21 | SET | `template.set(EKK0341D010CBSMsg.RSV_TSTA_KIBO_YMD, inMap.get("rsv_tsta_kibo_ymd"))` | |
| 22 | IF | `inMap == null OR kibo_maker_cd == null OR empty` | 希望メーカーコード (Desired manufacturer code) |
| 23 | SET | `template.setNull(EKK0341D010CBSMsg.KIBO_MAKER_CD)` | OR |
| 24 | SET | `template.set(EKK0341D010CBSMsg.KIBO_MAKER_CD, inMap.get("kibo_maker_cd"))` | |
| 25 | IF | `inMap == null OR hambai_sbt_cd == null OR empty` | 販売種別コード (Sales subtype code) |
| 26 | SET | `template.setNull(EKK0341D010CBSMsg.HAMBAI_SBT_CD)` | OR |
| 27 | SET | `template.set(EKK0341D010CBSMsg.HAMBAI_SBT_CD, inMap.get("hambai_sbt_cd"))` | |
| 28 | IF | `inMap == null OR tsushin_kiki_set_cd == null OR empty` | 通信機器セットコード (Communication equipment set code) |
| 29 | SET | `template.setNull(EKK0341D010CBSMsg.TSUSHIN_KIKI_SET_CD)` | OR |
| 30 | SET | `template.set(EKK0341D010CBSMsg.TSUSHIN_KIKI_SET_CD, inMap.get("tsushin_kiki_set_cd"))` | |
| 31 | IF | `inMap == null OR taknkiki_sbt_cd == null OR empty` | 屋内機器種別コード (Indoor equipment subtype code) |
| 32 | SET | `template.setNull(EKK0341D010CBSMsg.TAKNKIKI_SBT_CD)` | OR |
| 33 | SET | `template.set(EKK0341D010CBSMsg.TAKNKIKI_SBT_CD, inMap.get("taknkiki_sbt_cd"))` | |
| 34 | IF | `inMap == null OR taknkiki_model_cd == null OR empty` | 屋内機器型式コード (Indoor equipment model code) |
| 35 | SET | `template.setNull(EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD)` | OR |
| 36 | SET | `template.set(EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD, inMap.get("taknkiki_model_cd"))` | |
| 37 | IF | `inMap == null OR taknkiki_sethin_model_cd == null OR empty` | 屋内機器セット品型コード (Indoor equipment set product model code) |
| 38 | SET | `template.setNull(EKK0341D010CBSMsg.TAKNKIKI_SETHIN_MODEL_CD)` | OR |
| 39 | SET | `template.set(EKK0341D010CBSMsg.TAKNKIKI_SETHIN_MODEL_CD, inMap.get("taknkiki_sethin_model_cd"))` | |
| 40 | IF | `inMap == null OR huzokuhin_sbt_cd == null OR empty` | 附属品種別コード (Accessory subtype code) |
| 41 | SET | `template.setNull(EKK0341D010CBSMsg.HUZOKUHIN_SBT_CD)` | OR |
| 42 | SET | `template.set(EKK0341D010CBSMsg.HUZOKUHIN_SBT_CD, inMap.get("huzokuhin_sbt_cd"))` | |
| 43 | IF | `inMap == null OR kiki_stc_saki_place_no == null OR empty` | 機器設置先場所番号 (Equipment installation location number) |
| 44 | SET | `template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_PLACE_NO)` | OR |
| 45 | SET | `template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_PLACE_NO, inMap.get("kiki_stc_saki_place_no"))` | |
| 46 | IF | `inMap == null OR oya_kei_skbt_cd == null OR empty` | 親契約識別コード (Parent contract identification code) |
| 47 | SET | `template.setNull(EKK0341D010CBSMsg.OYA_KEI_SKBT_CD)` | OR |
| 48 | SET | `template.set(EKK0341D010CBSMsg.OYA_KEI_SKBT_CD, inMap.get("oya_kei_skbt_cd"))` | |

**Block 7** -- [IF] `svc_kei_no -- conditional work map fallback` (L1346)

> 契約番号 (Contract number). If svc_kei_no is absent from inMap, falls back to getWorkMapValue using CC_WORK_AREA_NAME. This was added in v1.00.00.

| # | Type | Code |
|---|------|------|
| 1 | IF | `inMap == null OR svc_kei_no == null OR empty` |
| 2 | SET | `svc_kei_no = getWorkMapValue(param, "svc_kei_no", CC_WORK_AREA_NAME)` // CC_WORK_AREA_NAME = "JFUAddSvcKeiTvCCWork" |
| 3 | IF | `svc_kei_no == null` |
| 4 | SET | `template.setNull(EKK0341D010CBSMsg.SVC_KEI_NO)` |
| 5 | ELSE | `template.set(EKK0341D010CBSMsg.SVC_KEI_NO, svc_kei_no)` |
| 6 | ELSE | `template.set(EKK0341D010CBSMsg.SVC_KEI_NO, (String)inMap.get("svc_kei_no"))` |

**Block 8** -- [IF] `svc_kei_ucwk_no -- conditional work map fallback with post calculation` (L1365)

> 契約内容番号 (Contract detail number). If absent from inMap, computes `post = index / 3` and looks up `svc_kei_ucwk_no_post` from the work map. This was added in v1.00.00. The index/3 pattern suggests every 3 line items share a single contract detail number.

| # | Type | Code |
|---|------|------|
| 1 | IF | `inMap == null OR svc_kei_ucwk_no == null OR empty` |
| 2 | SET | `post = String.valueOf(index / 3)` // 内涵インデックス取得 (Retrieve detail index) |
| 3 | SET | `svc_kei_ucwk_no = getWorkMapValue(param, "svc_kei_ucwk_no_" + post, CC_WORK_AREA_NAME)` |
| 4 | IF | `svc_kei_ucwk_no == null` |
| 5 | SET | `template.setNull(EKK0341D010CBSMsg.SVC_KEI_UCWK_NO)` |
| 6 | ELSE | `template.set(EKK0341D010CBSMsg.SVC_KEI_UCWK_NO, svc_kei_ucwk_no)` |
| 7 | ELSE | `template.set(EKK0341D010CBSMsg.SVC_KEI_UCWK_NO, (String)inMap.get("svc_kei_ucwk_no"))` |

**Block 9** -- [Field mapping: svc_kei_kaisen_ucwk_no through op_svc_kei_no] (L1390)

> Simple null-check-and-set fields.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | IF | `svc_kei_kaisen_ucwk_no` | サービス契約回線内涵番号 (Service contract line detail number) |
| 2 | IF | `op_svc_kei_no` | オプションサービス契約番号 (Option service contract number) |

**Block 10** -- [IF] `sysid -- conditional work map fallback` (L1406)

> SYSID (System ID). If absent from inMap, falls back to getWorkMapValue using CC_WORK_AREA_NAME_KEISHA. Added in v1.00.00.

| # | Type | Code |
|---|------|------|
| 1 | IF | `inMap == null OR sysid == null OR empty` |
| 2 | SET | `sysid = getWorkMapValue(param, "sysid", CC_WORK_AREA_NAME_KEISHA)` |
| 3 | IF | `sysid == null` |
| 4 | SET | `template.setNull(EKK0341D010CBSMsg.SYSID)` |
| 5 | ELSE | `template.set(EKK0341D010CBSMsg.SYSID, sysid)` |
| 6 | ELSE | `template.set(EKK0341D010CBSMsg.SYSID, (String)inMap.get("sysid"))` |

**Block 11** -- [IF] `mskm_dtl_no -- conditional work map fallback` (L1425)

> 請求明細番号 (Billing detail number). If absent from inMap, falls back to getWorkMapValue using "ekk0101_mskm_dtl_no" key and CC_WORK_AREA_NAME_MSKM. Added in v1.00.00.

| # | Type | Code |
|---|------|------|
| 1 | IF | `inMap == null OR mskm_dtl_no == null OR empty` |
| 2 | SET | `mskm_dtl_no = getWorkMapValue(param, "ekk0101_mskm_dtl_no", CC_WORK_AREA_NAME_MSKM)` |
| 3 | IF | `mskm_dtl_no == null` |
| 4 | SET | `template.setNull(EKK0341D010CBSMsg.MSKM_DTL_NO)` |
| 5 | ELSE | `template.set(EKK0341D010CBSMsg.MSKM_DTL_NO, mskm_dtl_no)` |
| 6 | ELSE | `template.set(EKK0341D010CBSMsg.MSKM_DTL_NO, (String)inMap.get("mskm_dtl_no"))` |

**Block 12** -- [Field mapping: link_stb_flg, storage codes, delivery info] (L1444)

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | IF | `link_stb_flg` | リンクSTBフラグ (Link STB flag) |
| 2 | IF | `kiki_hkat_shitei_soko_cd` (empty check only) | 機器引当指定倉庫コード (Equipment allocation designated warehouse code) [2011/10/15 added] |
| 3 | IF | `kiki_hkat_shitei_skdn_cd` (empty check only) | 機器引当指定倉庫棟コード (Equipment allocation designated warehouse building code) [2011/10/15 added] |
| 4 | IF | `kiki_soryo_um` | 機器送料有無 (Equipment delivery fee existence) |
| 5 | IF | `kiki_soryo_saksei_ymd` | 機器送料作成年月日 (Equipment delivery creation date) |
| 6 | IF | `kiki_sohus_nm` | 機器送付先名 (Equipment delivery destination name) |
| 7 | IF | `kiki_sohus_kana` | 機器送付先カナ名 (Equipment delivery destination kana name) |

**Block 13** -- [ANK-4498-00-00 MOD] `kikiSohusAddressMap field mapping` (L1484)

> 機器提供サービス契約登録マップ. Maps address fields from the kikiSohusAddressMap (populated earlier based on MSKM_MNS_TYPE branch). This block was corrected on 2011/10/8 to use the post-split address map.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | IF | `kikiSohusAddressMap == null OR ad_cd == null OR empty` | 機器送付先住所コード (Equipment delivery destination address code) |
| 2 | IF | `kiki_sohus_pcd` | 機器送付先郵便番号 (Equipment delivery destination postal code) |
| 3 | IF | `kikiSohusAddressMap == null OR state_nm == null OR empty` | 機器送付先都道府県名 (Equipment delivery destination prefecture name) |
| 4 | IF | `kikiSohusAddressMap == null OR city_nm == null OR empty` | 機器送付先市区町村名 (Equipment delivery destination city/town/village name) |
| 5 | IF | `kikiSohusAddressMap == null OR oaztsu_nm == null OR empty` | 機器送付先大字通名称 (Equipment delivery destination oaztsu name) |
| 6 | IF | `kikiSohusAddressMap == null OR azcho_nm == null OR empty` | 機器送付先字町名 (Equipment delivery destination azcho name) |
| 7 | IF | `kikiSohusAddressMap == null OR after_bnchi == null OR empty` | 機器送付先番地号 (Equipment delivery destination lot number) |

**Block 14** -- [Field mapping: additional kiki_sohus fields] (L1526)

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | IF | `kiki_sohus_adrttm` | 機器送付先住所補足・建物名 (Equipment delivery destination address supplement/building name) |
| 2 | IF | `kiki_sohus_adrrm` | 機器送付先住所補足・部屋番号 (Equipment delivery destination address supplement/room number) |
| 3 | IF | `kiki_sohus_telno` | 機器送付先電話番号 (Equipment delivery destination phone number) |
| 4 | IF | `mansion_bukken_no` | マンション物件番号 (Mansion property number) |
| 5 | IF | `kiki_sohus_ksh_ad_sai_flg` | 機器送付先_契約者住所差異フラグ (Equipment delivery destination_contractor address difference flag) |
| 6 | IF | `kiki_shs_kbt_shitei_flg` | 機器送付先個別指定フラグ (Equipment delivery destination individual designation flag) |
| 7 | IF | `kiki_shs_hsk_cd_1` | 機器送付先補足コード1 (Equipment delivery destination supplement code 1) |
| 8 | IF | `kiki_shs_hsk_cd_2` | 機器送付先補足コード2 (Equipment delivery destination supplement code 2) |
| 9 | IF | `kiki_shs_hsk_memo` | 機器送付先補足メモ (Equipment delivery destination supplement memo) |

**Block 15** -- [Field mapping: kiki_stc_saki_* fields] (L1554)

> 機器設置先 (Equipment installation destination) fields.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | IF | `kiki_stc_saki_nm` | 機器設置先名 (Equipment installation destination name) |
| 2 | IF | `kiki_stc_saki_kana` | 機器設置先カナ名 (Equipment installation destination kana name) |

**Block 16** -- [2011/10/8 correction] `useplaceAddressMap field mapping` (L1576)

> 機器設置先住所 (Equipment installation destination address). This block was corrected on 2011/10/8 to use the post-split address map. Uses the useplaceAddressMap populated in Block 2/3.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | IF | `useplaceAddressMap == null OR ad_cd == null OR empty` | 機器設置先住所コード (Equipment installation destination address code) |
| 2 | IF | `kiki_stc_saki_pcd` | 機器設置先郵便番号 (Equipment installation destination postal code) |
| 3 | IF | `useplaceAddressMap == null OR state_nm == null OR empty` | 機器設置先都道府県名 (Equipment installation destination prefecture name) |
| 4 | IF | `useplaceAddressMap == null OR city_nm == null OR empty` | 機器設置先市区町村名 (Equipment installation destination city/town/village name) |
| 5 | IF | `useplaceAddressMap == null OR oaztsu_nm == null OR empty` | 機器設置先大字通名称 (Equipment installation destination oaztsu name) |
| 6 | IF | `useplaceAddressMap == null OR azcho_nm == null OR empty` | 機器設置先字町名 (Equipment installation destination azcho name) |
| 7 | IF | `useplaceAddressMap == null OR after_bnchi == null OR empty` | 機器設置先番地号 (Equipment installation destination lot number) |
| 8 | IF | `kiki_stc_saki_adrttm` | 機器設置先住所補足・建物名 (Equipment installation destination address supplement/building name) |
| 9 | IF | `kiki_stc_saki_adrrm` | 機器設置先住所補足・部屋番号 (Equipment installation destination address supplement/room number) |
| 10 | IF | `kiki_stc_sk_ksh_ad_sai_flg` | 機器設置先_契約者住所差異フラグ (Equipment installation destination_contractor address difference flag) |
| 11 | IF | `kiki_stc_sk_telno` | 機器設置先電話番号 (Equipment installation destination phone number) |
| 12 | IF | `kiki_sts_kkk_seiri_chu_flg` | 機器設置先区画整理中フラグ (Equipment installation destination parcel rearrangement in-progress flag) |
| 13 | IF | `ad_mi_fix_flg` (empty check only) | 住所未確定フラグ (Address undetermined flag) [2011/10/15 added] |
| 14 | IF | `kiki_sts_hsk_cd_1` | 機器設置先補足コード1 (Equipment installation destination supplement code 1) |
| 15 | IF | `kiki_sts_hsk_cd_2` | 機器設置先補足コード2 (Equipment installation destination supplement code 2) |
| 16 | IF | `kiki_sts_hsk_memo` | 機器設置先補足メモ (Equipment installation destination supplement memo) |

**Block 17** -- [Field mapping: date fields, guarantee, CAS, extras] (L1658)

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | IF | `ftrial_kanyu_ymd` | 試検加入年月日 (Trial addition date) [IT1-2012-0001150 reference] |
| 2 | IF | `ftrial_prd_endymd` | 試検期間終了年月日 (Trial period end date) [IT1-2012-0001150 correction 2012/10/16] |
| 3 | IF | `honkanyu_ymd` | 本加入年月日 (Actual addition date) |
| 4 | IF | `honkanyu_iko_kigen_ymd` | 本加入移行期限年月日 (Actual addition migration deadline date) |
| 5 | IF | `hosho_cd` | 保証コード (Guarantee code) |
| 6 | IF | `hosho_staymd` | 保証開始年月日 (Guarantee start date) |
| 7 | IF | `pnlty_hassei_cd` | 違約金発生コード (Penalty occurrence code) |
| 8 | IF | `ido_div` | 異動区分 (Transfer classification) |
| 9 | IF | `taknkiki_ido_cd` (empty check only) | 屋内機器異動コード (Indoor equipment transfer code) [2011/10/15 added] |
| 10 | IF | `cas_card_use_kyodak_ymd` | CASカード使用許諾年月日 (CAS card usage permission date) |
| 11 | IF | `kiki_huka_info_cd` (empty check only) | 機器付加情報コード (Equipment additional info code) [2011/10/15 added] |
| 12 | IF | `haiso_way_cd` (empty check only) | 配送方法コード (Delivery method code) |
| 13 | IF | `haiso_req_shitei_ymd` | 配送依頼指定年月日 (Delivery request designated date) [2012/2/22 add] |

**Block 18** -- [IF] `seiky_kei_no -- conditional work map fallback` (L1706)

> 請求契約番号 (Billing contract number). If absent from inMap, falls back to getWorkMapValue using CC_WORK_AREA_NAME_SKK. Added in v1.00.00.

| # | Type | Code |
|---|------|------|
| 1 | IF | `inMap == null OR seiky_kei_no == null OR empty` |
| 2 | IF | `getWorkMapValue(param, "seiky_kei_no", CC_WORK_AREA_NAME_SKK) == null` |
| 3 | SET | `template.setNull(EKK0341D010CBSMsg.SEIKY_KEI_NO)` |
| 4 | ELSE | `template.set(EKK0341D010CBSMsg.SEIKY_KEI_NO, workMapValue)` |
| 5 | ELSE | `template.set(EKK0341D010CBSMsg.SEIKY_KEI_NO, (String)inMap.get("seiky_kei_no"))` |

**Block 19** -- [Field mapping: prc_kmk_cd, kiki_seizo_no] (L1723)

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | IF | `prc_kmk_cd` | 料金項目コード (Pricing item code) |
| 2 | IF | `kiki_seizo_no` | 機器製造番号 (Equipment serial number) |

**Block 20** -- [v1.00.00 2012/2/22 add] `Additional fields` (L1733)

> 2012/2/22 橋山 追加 START. Retrieves upd_dtm_bf from the EKK0101D010 data map.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `upd_dtm_bf = (String)((HashMap)(param.getData("EKK0101D010"))).get(EKK0101D010CBSMsg.UPD_DTM)` // 更新年月日時分秒(更新前) (Update datetime before update) |
| 2 | IF | `upd_dtm_bf == null` | OR |
| 3 | SET | `template.set(EKK0341D010CBSMsg.UPD_DTM_BF, upd_dtm_bf)` | |
| 4 | IF | `kiki_shs_ad_man_input_flg` | 機器送付先住所手動入力フラグ (Equipment delivery destination address manual input flag) |

**Block 21** -- [RETURN] `Return template` (L1758)

> Returns the fully populated CAANMsg template.

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

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `kktk_svc_cd` | Field | Equipment-provided service code -- identifies the type of equipment-provided telecom service |
| `pcrs_cd` | Field | Pricing course code -- defines the pricing plan tier for the service |
| `pplan_cd` | Field | Pricing plan code -- specifies the detailed pricing plan |
| `kktk_sbt_cd` | Field | Equipment-provided subtype code -- classifies the subtype of equipment-provided service |
| `hdd_capa_cd` | Field | HDD capacity code -- indicates the hard disk drive capacity tier |
| `svc_use_sta_kibo_ymd` | Field | Desired service start date (year/month/day) -- when the customer wants the service to begin |
| `rsv_tsta_kibo_ymd` | Field | Desired reservation application start date (year/month/day) -- when reserved features should activate |
| `kibo_maker_cd` | Field | Desired manufacturer code -- customer's preferred equipment manufacturer |
| `hambai_sbt_cd` | Field | Sales subtype code -- classifies the sales channel/method |
| `tsushin_kiki_set_cd` | Field | Communication equipment set code -- identifies bundled communication equipment sets |
| `taknkiki_sbt_cd` | Field | Indoor equipment subtype code -- classifies indoor equipment types |
| `taknkiki_model_cd` | Field | Indoor equipment model code -- specific model identifier for indoor equipment |
| `taknkiki_sethin_model_cd` | Field | Indoor equipment set product model code -- model code for bundled indoor equipment sets |
| `huzokuhin_sbt_cd` | Field | Accessory subtype code -- classifies accessory types |
| `kiki_stc_saki_place_no` | Field | Equipment installation location number -- identifies where the equipment will be installed |
| `oya_kei_skbt_cd` | Field | Parent contract identification code -- links to the parent/master contract |
| `svc_kei_no` | Field | Service contract number -- the primary contract identifier for the service |
| `svc_kei_ucwk_no` | Field | Service contract detail number -- internal tracking ID for service contract line items |
| `svc_kei_kaisen_ucwk_no` | Field | Service contract line detail number -- tracks line-level contract modifications |
| `op_svc_kei_no` | Field | Option service contract number -- identifies optional/add-on service contracts |
| `sysid` | Field | System ID -- system-level identifier for the entity |
| `mskm_dtl_no` | Field | Billing detail number -- identifies a specific billing line item |
| `link_stb_flg` | Field | Link STB flag -- indicates whether an STB (Set-Top Box) is linked |
| `kiki_hkat_shitei_soko_cd` | Field | Equipment allocation designated warehouse code -- identifies the warehouse for equipment allocation [2011/10/15 added] |
| `kiki_hkat_shitei_skdn_cd` | Field | Equipment allocation designated warehouse building code -- identifies the specific warehouse building [2011/10/15 added] |
| `kiki_soryo_um` | Field | Equipment delivery fee existence flag -- whether delivery fees apply |
| `kiki_soryo_saksei_ymd` | Field | Equipment delivery creation date (year/month/day) -- when the delivery was created |
| `kiki_sohus_nm` | Field | Equipment delivery destination name -- the name of the delivery recipient |
| `kiki_sohus_kana` | Field | Equipment delivery destination kana name -- katakana/hiragana reading of the delivery recipient name |
| `ad_cd` | Field | Address code -- standardized postal address code |
| `state_nm` | Field | Prefecture name -- the prefecture portion of the address |
| `city_nm` | Field | City/town/village name -- the municipal portion of the address |
| `oaztsu_nm` | Field | Oaztsu name -- district/road name within the address (大字通名称) |
| `azcho_nm` | Field | Azcho name -- block/name portion of the address (字町名) |
| `after_bnchi` | Field | Lot number -- the specific lot/plot number in the address |
| `kiki_sohus_pcd` | Field | Equipment delivery destination postal code |
| `kiki_sohus_adrttm` | Field | Equipment delivery destination address supplement/building name |
| `kiki_sohus_adrrm` | Field | Equipment delivery destination address supplement/room number |
| `kiki_sohus_telno` | Field | Equipment delivery destination phone number |
| `mansion_bukken_no` | Field | Mansion property number -- identifies a specific apartment/mansion building |
| `kiki_sohus_ksh_ad_sai_flg` | Field | Equipment delivery destination -- contractor address difference flag -- indicates if delivery address differs from contract address |
| `kiki_shs_kbt_shitei_flg` | Field | Equipment delivery destination -- individual designation flag -- whether the delivery address is individually specified |
| `kiki_shs_hsk_cd_1` / `kiki_shs_hsk_cd_2` | Field | Equipment delivery destination supplement codes 1 and 2 -- additional address codes |
| `kiki_shs_hsk_memo` | Field | Equipment delivery destination supplement memo -- free-form address note |
| `kiki_stc_saki_nm` | Field | Equipment installation destination name -- name at the installation location |
| `kiki_stc_saki_kana` | Field | Equipment installation destination kana name -- reading of the installation location name |
| `kiki_stc_saki_pcd` | Field | Equipment installation destination postal code |
| `kiki_stc_saki_adrttm` | Field | Equipment installation destination address supplement/building name |
| `kiki_stc_saki_adrrm` | Field | Equipment installation destination address supplement/room number |
| `kiki_stc_sk_ksh_ad_sai_flg` | Field | Equipment installation destination -- contractor address difference flag |
| `kiki_stc_sk_telno` | Field | Equipment installation destination phone number |
| `kiki_sts_kkk_seiri_chu_flg` | Field | Equipment installation destination -- parcel rearrangement in-progress flag |
| `ad_mi_fix_flg` | Field | Address undetermined flag -- indicates the address is not yet finalized [2011/10/15 added] |
| `kiki_sts_hsk_cd_1` / `kiki_sts_hsk_cd_2` | Field | Equipment installation destination supplement codes 1 and 2 |
| `kiki_sts_hsk_memo` | Field | Equipment installation destination supplement memo |
| `ftrial_kanyu_ymd` | Field | Trial addition date (year/month/day) -- when trial service begins [IT1-2012-0001150] |
| `ftrial_prd_endymd` | Field | Trial period end date (year/month/day) -- when trial service ends [IT1-2012-0001150 correction] |
| `honkanyu_ymd` | Field | Actual addition date (year/month/day) -- when full service begins |
| `honkanyu_iko_kigen_ymd` | Field | Actual addition migration deadline date (year/month/day) -- deadline for transitioning to full service |
| `hosho_cd` | Field | Guarantee code -- identifies the type of guarantee/collateral |
| `hosho_staymd` | Field | Guarantee start date (year/month/day) |
| `pnlty_hassei_cd` | Field | Penalty occurrence code -- identifies penalty conditions |
| `ido_div` | Field | Transfer classification -- classifies the type of service transfer/migration |
| `taknkiki_ido_cd` | Field | Indoor equipment transfer code -- classifies indoor equipment transfers [2011/10/15 added] |
| `cas_card_use_kyodak_ymd` | Field | CAS card usage permission date (year/month/day) -- when the CAS (Common Authentication Service) card is authorized |
| `kiki_huka_info_cd` | Field | Equipment additional information code -- extra equipment attributes [2011/10/15 added] |
| `haiso_way_cd` | Field | Delivery method code -- identifies the shipping method |
| `haiso_req_shitei_ymd` | Field | Delivery request designated date (year/month/day) -- specified delivery date [2012/2/22 add] |
| `seiky_kei_no` | Field | Billing contract number -- the contract number associated with billing |
| `prc_kmk_cd` | Field | Pricing item code -- classifies the billing item |
| `kiki_seizo_no` | Field | Equipment serial number -- unique manufacturing serial number |
| `upd_dtm_bf` | Field | Update datetime before -- the timestamp before the last update [v1.00.00 2012/2/22] |
| `kiki_shs_ad_man_input_flg` | Field | Equipment delivery destination address manual input flag -- whether the address was manually entered [v1.00.00 2012/2/22] |
| `MSKM_MNS_TYPE` | Field | Mansion/Meson type code -- when equal to "1", indicates equipment delivery to a customer address (provisional/bulk registration); otherwise uses the standard usage location address |
| EKK0341D010TvList | Data key | ArrayList of service contract line item HashMaps within the input data |
| CAANMsg | Type | Fujitsu message template class used for CBS (Corporate Business Service) communication |
| EKK0341D010CBSMsg | Type | CBS message class for Equipment-Provided Service Contract Registration message fields |
| EKK0101D010CBSMsg | Type | CBS message class for the base service contract registration (used to read upd_dtm) |
| CC_WORK_AREA_NAME | Constant | "JFUAddSvcKeiTvCCWork" -- work area map name for svc_kei_no fallback |
| CC_WORK_AREA_NAME_KEISHA | Constant | "JFUAddKeishaServiceCCWork" -- work area map name for sysid fallback |
| CC_WORK_AREA_NAME_MSKM | Constant | "JFUAddMskmSCWork" -- work area map name for mskm_dtl_no fallback |
| CC_WORK_AREA_NAME_SKK | Constant | "JFUAddSkkSCWork" -- work area map name for seiky_kei_no fallback |
| FUSV015211CC | Data key | Post-split usage location address info (actual registration) |
| FUSV016102CC | Data key | Post-split usage location address info (bulk registration) |
| FUSV015212CC | Data key | Post-split subscriber address info (provisional registration, bulk registration) |
| FUSV016007CC | Data key | Post-split subscriber address info (actual registration) |
| FUSV015229CC | Constant | "FUSV015229CC" -- restart channel set map name (class constant, not used in this method) |
| 機器提供サービス | Business term | Equipment-provided service -- telecom services where the provider supplies the equipment (set-top boxes, modems, etc.) |
| 上りマッピング処理 | Business term | Upward mapping processing -- transforming screen-level input data into CBS message format for backend processing |
| 分割後 | Business term | Post-split -- after customer data has been split (e.g., for mansion/meson shared-line scenarios) |
| 仮登録 | Business term | Provisional registration -- temporary contract registration |
| 一括登録 | Business term | Bulk registration -- registering multiple records in a single operation |
| 本登録 | Business term | Actual registration -- finalizing a previously provisional registration |
| ホーム・メゾン | Business term | Home/Meson -- residential types; "home" for standalone houses, "meson" for apartment-style buildings |
| STB | Acronym | Set-Top Box -- television signal decoding equipment |
| CAS | Acronym | Common Authentication Service -- authentication card system used in Japanese telecom |