# Business Logic — JKKSeikySakiHeigoCC.editInMsg_EKU0031C010() [1459 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKSeikySakiHeigoCC` |
| Layer | Common Component (CC) — Shared message builder used by multiple screens |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKSeikySakiHeigoCC.editInMsg_EKU0031C010()

This method constructs the inbound message template (CAANMsg) for the EKU0031C010 business process — **工事案件<eo光テレビ>諸変更のメッセージを作成します。 (Create message for Construction Case <eo Hikari TV> Various Changes)**. It serves as the central message-building entry point when a user initiates any modification to an existing eo Hikari TV service contract, including address changes, device changes, construction scheduling, customer information updates, and service content modifications.

The method uses a **builder pattern** — it creates a CAANMsg instance typed to `EKU0031C010CBSMsg`, configures a set of standard header fields (template ID, function code, operator ID, operate date/time), then populates approximately 200+ fields by copying values from the `childMap` parameter. Each field is transferred with null-safety: if the source value in `childMap` is an empty string, the template field is set to null; otherwise the actual value is copied. After field population, a large block of fields (home devices, addresses, memos) are explicitly cleared to null to prevent stale data from leaking across operations.

In the larger system, this method is called by `execEKU0031C010()` and `JKKSeikyKeiBunkatsuCC.editInMsg_EKU0031C010()`, and its output `paramMap` is consumed by downstream screens and CBS (business process) handlers that process service contract changes. The method is the **pre-processing step** that prepares all screen data into the CBS input message format.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["editInMsg_EKU0031C010(params)"])
    STEP1["editInMsg(param)"]
    STEP2["Create CAANMsg template with EKU0031C010CBSMsg"]
    STEP3["Set TEMPLATE_ID = EKU0031C010"]
    STEP4["Set FUNC_CODE, OperatorID, Date/Time"]
    STEP5["Read workMap KKSV054601SCWORK"]
    STEP6["workMap == null?"]
    STEP7["Set MSKM_DTL_NO = null"]
    STEP8["workList == null or empty?"]
    STEP9["Set MSKM_DTL_NO = workList[0].mskm_dtl_no"]
    STEP10["Set MSKM_DTL_NO = null"]
    STEP11["Read KKSV0546CCList from param"]
    STEP12["Read FUNC_CODE from dataMap"]
    STEP13["svc_kei_no empty?"]
    STEP14["Read and transfer childMap fields"]
    STEP15["Set setplace_ fields to null"]
    STEP16["Clear tempest_ fields to null"]
    STEP17["Clear device1-20 fields (19 fields x 20) to null"]
    STEP18["Clear memo/other fields to null"]
    STEP19["Wrap template in CAANMsg[]"]
    STEP20["paramMap.put TEMPLATE_LIST_KEY"]
    END(["Return paramMap"])

    START --> STEP1 --> STEP2 --> STEP3 --> STEP4 --> STEP5
    STEP5 --> STEP6
    STEP6 -- "true, map == null" --> STEP7 --> STEP11
    STEP6 -- "false, has map" --> STEP8
    STEP8 -- "true, empty/null" --> STEP10 --> STEP11
    STEP8 -- "false, has data" --> STEP9 --> STEP11
    STEP11 --> STEP12 --> STEP13
    STEP13 -- "svc_kei_no empty" --> STEP14 --> STEP15 --> STEP16 --> STEP17 --> STEP18 --> STEP19 --> STEP20 --> END
    STEP13 -- "svc_kei_no has value" --> STEP14
```

### Key Processing Steps

**Step 1-4 (Common area setup):** Calls parent `editInMsg(param)` to initialize the parameter map, then creates a `CAANMsg` template typed to `EKU0031C010CBSMsg`. Sets the template ID to `"EKU0031C010"`, function code to `"1"`, and copies the operator ID, operate date, and operate date/time from the control map data on `param`.

**Step 5-10 (Work area detailed number extraction):** Reads the work area map keyed by `"KKSV054601SCWORK"`. If the map exists, extracts the nested `"KKSV054601SCWORKLIST"` list and reads the first element's `mskm_dtl_no` (作業項目.申請明細番号 -> 申請明細番号 / Work Item Application Detail Number). If the map is missing or the list is empty, sets the detail number to null.

**Step 11-12 (Function code update):** Reads `"KKSV0546CCList"` from param (unused in current scope but performed) and overwrites `FUNC_CODE` from `dataMap.get(JCMConstants.FUNC_CODE_KEY)` using the screen-provided function code.

**Step 13-14 (childMap field transfer):** For every field in `childMap`, checks if the value is an empty string. If empty, calls `template.setNull()` for the corresponding CBS message field. If non-empty, casts the value to String and calls `template.set()`. This covers approximately 70+ fields including service contract number, construction case number, service code, pricing info, customer info, postal addresses, GPS coordinates, construction schedules, contact preferences, and remarks.

**Step 15 (Address child fields nullify):** Sets the `setplace_*` fields (工事先住所未確定フラグ -> 工事先住所関連 / Construction Site Address Unconfirmed Flag and related address sub-fields) to null.

**Step 16-18 (Stale data clearing):** Clears all fields that may have been left over from a previous operation — tempest (electromagnetic interference) case fields, home device fields (20 devices x 19 fields = 380 `setNull` calls covering device type, device change code, service contract number, model, serial number, STB-ID, HDD capacity, BS passthrough, STB contract TV course code, and pre-change variants for each of 20 devices), and memo fields (20 memo fields plus equipment change numbers and original case numbers).

**Step 19-20 (Return preparation):** Wraps the single template in a `CAANMsg[]` array and stores it in `paramMap` under `JCMConstants.TEMPLATE_LIST_KEY`, then returns the populated parameter map.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `param` | `IRequestParameterReadWrite` | Request parameter I/F holding the operator context (operator ID, operate date/time) and the work area mapping (`KKSV054601SCWORK` / `KKSV054601SCWORKLIST`). Used to retrieve common configuration data and work item detail numbers. |
| 2 | `dataMap` | `Map<String, Object>` | Function code container — provides the active screen's function code (`JCMConstants.FUNC_CODE_KEY`) which determines the specific operation being performed (e.g., registration, modification, cancellation). |
| 3 | `childMap` | `HashMap<String, Object>` | The primary data carrier containing all screen-input field values for the eo Hikari TV service change case. Each key corresponds to a business field (e.g., `svc_kei_no`, `kojiak_no`, `cust_nm`, `keisha_city_nm`, `hdd_capa_cd_1`). Values are Strings; empty strings indicate "no value provided" which maps to SQL null in the CBS layer. |

### External State / Instance Fields Read

None — this method is fully self-contained and does not read any instance fields of `JKKSeikySakiHeigoCC`. All state is derived from the three parameters and the `editInMsg` parent call.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `JKKSeikySakiHeigoCC.editInMsg` | - | - | Updates `param` by setting common fields (operator ID, operate date/time, etc.) into the parameter map. |

### Additional method calls from source analysis:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `JKKSeikySakiHeigoCC.editInMsg_EKU0031C010` | - | - | Builds and populates CAANMsg template with ~400 field assignments. No database access — pure message construction. |

### Terminal Operations Summary

This method performs **no database or SC calls**. Its terminal operations are all internal to the method:
- `paramMap.put()` — writes the template list into the parameter map
- `template.set()` / `template.setNull()` — ~400 field assignments on the CAANMsg template object
- `param.getMappingWorkArea()` — reads work area mapping
- `param.getControlMapData()` — reads control map data (operator ID, operate date/time)
- `param.getData()` — reads KKSV0546CCList from param
- `dataMap.get()` — reads function code from dataMap
- `childMap.get()` — reads ~70+ field values from childMap

## 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` [-], `setNull` [-], `setNull` [-], `setNull` [-], `setNull` [-], `setNull` [-], `setNull` [-], `setNull` [-], `setNull` [-]  # NOSONAR

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `JKKSeikySakiHeigoCC.execEKU0031C010` | `execEKU0031C010()` -> `editInMsg_EKU0031C010(param, dataMap, childMap)` | `editInMsg [U] -` , `paramMap.put [U] TEMPLATE_LIST_KEY` |
| 2 | `JKKSeikyKeiBunkatsuCC.editInMsg_EKU0031C010` | `JKKSeikyKeiBunkatsuCC.editInMsg_EKU0031C010()` -> `editInMsg_EKU0031C010(param, dataMap, childMap)` | `editInMsg [U] -` , `paramMap.put [U] TEMPLATE_LIST_KEY` |

## 6. Per-Branch Detail Blocks

### Block 1 — COMMON AREA SETUP (L5722)

> Initialize common parameter map and create the CAANMsg template with header fields.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `paramMap = editInMsg(param)` |
| 2 | SET | `template = new CAANMsg(EKU0031C010CBSMsg.class.getName())` |
| 3 | SET | `template.set(TEMPLATEID, TEMPLATE_ID_EKU0031C010)` [-> TEMPLATE_ID_EKU0031C010 = "EKU0031C010"] |
| 4 | SET | `template.set(FUNC_CODE, "1")` |
| 5 | SET | `operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID)` |
| 6 | SET | `operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE)` |
| 7 | SET | `operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME)` |
| 8 | EXEC | `template.set(OPERATOR_ID_KEY, operatorId)` |
| 9 | EXEC | `template.set(OPERATE_DATE_KEY, operateDate)` |
| 10 | EXEC | `template.set(OPERATE_DATETIME_KEY, operateDateTime)` |

### Block 2 — WORK AREA DETAIL NUMBER EXTRACTION (L5744)

> Extract the application detail number from the work area mapping.

| # | Type | Code |
|---|------|------|
| 1 | SET | `workMap = param.getMappingWorkArea()` |
| 2 | SET | `meisai = ""` |
| 3 | SET | `map = (HashMap)workMap.get("KKSV054601SCWORK")` |

#### Block 2.1 — workMap check (L5747)

| # | Type | Code |
|---|------|------|
| 1 | SET | `template.setNull(MSKM_DTL_NO)` |

#### Block 2.2 — workMap exists (L5749)

| # | Type | Code |
|---|------|------|
| 1 | SET | `workList = (ArrayList<HashMap<String,String>>)map.get("KKSV054601SCWORKLIST")` |

##### Block 2.2.1 — workList check (L5750)

| # | Type | Code |
|---|------|------|
| 1 | IF | `workList != null && workList.size() != 0` |

###### Block 2.2.1.1 — workList has data (L5753)

| # | Type | Code |
|---|------|------|
| 1 | SET | `reMap = (HashMap)workList.get(0)` |
| 2 | SET | `meisai = (String)reMap.get("mskm_dtl_no")` |
| 3 | IF | `meisai == null || "".equals(meisai)` |

####### Block 2.2.1.1.1 — meisai empty (L5755)

| # | Type | Code |
|---|------|------|
| 1 | SET | `template.setNull(MSKM_DTL_NO)` |

####### Block 2.2.1.1.2 — meisai has value (L5757)

| # | Type | Code |
|---|------|------|
| 1 | SET | `template.set(MSKM_DTL_NO, meisai)` |

###### Block 2.2.1.2 — workList empty/null (L5760)

| # | Type | Code |
|---|------|------|
| 1 | SET | `template.setNull(MSKM_DTL_NO)` |

### Block 3 — FUNCTION CODE UPDATE (L5765)

> Read the function code from dataMap, overwriting the initial "1".

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap = (HashMap)param.getData("KKSV0546CCList")` |
| 2 | SET | `template.set(FUNC_CODE, dataMap.get(JCMConstants.FUNC_CODE_KEY))` |

### Block 4 — CHILD MAP FIELD TRANSFER (L5769-7003)

> Transfer ~70+ fields from childMap to the template, one at a time. Each field follows the same pattern: check for empty string, call setNull if empty or set with value.

#### Block 4.1 — Service Contract Fields (L5769)

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(childMap.get("svc_kei_no"))` |
| 2 | SET | `template.setNull(SVC_KEI_NO)` [else: `template.set(SVC_KEI_NO, (String) childMap.get("svc_kei_no"))`] |

#### Block 4.2 — Service Change Work Number (L5781)

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(childMap.get("svc_kei_kaisen_ucwk_no"))` |
| 2 | SET | `template.setNull(SVC_KEI_KAISEN_UCWK_NO)` [else: `template.set(SVC_KEI_KAISEN_UCWK_NO, (String) childMap.get("svc_kei_kaisen_ucwk_no"))`] |

#### Block 4.3 — Construction Case Fields (L5793)

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(childMap.get("kojiak_no"))` |
| 2 | SET | `template.setNull(KOJIAK_NO)` [else: `template.set(KOJIAK_NO, (String) childMap.get("kojiak_no"))`] |

#### Block 4.4 — Construction Acceptance Fields (L5805)

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(childMap.get("koji_uk_cd"))` |
| 2 | SET | `template.setNull(KOJI_UK_CD)` [else: `template.set(KOJI_UK_CD, (String) childMap.get("koji_uk_cd"))`] |

#### Block 4.5 — Construction Acceptance Detail Fields (L5817)

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(childMap.get("koji_uk_dtail_cd"))` |
| 2 | SET | `template.setNull(KOJI_UK_DTAIL_CD)` [else: `template.set(KOJI_UK_DTAIL_CD, (String) childMap.get("koji_uk_dtail_cd"))`] |

#### Block 4.6 — Construction Acceptance Optional Fields (L5829)

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(childMap.get("koji_uk_optnty_ido_dtm"))` |
| 2 | SET | `template.setNull(KOJI_UK_OPTNTY_IDO_DTM)` [else: `template.set(KOJI_UK_OPTNTY_IDO_DTM, (String) childMap.get("koji_uk_optnty_ido_dtm"))`] |

#### Block 4.7 — Service Code / Pricing Fields (L5841)

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(childMap.get("svc_cd"))` |
| 2 | SET | `template.setNull(SVC_CD)` [else: `template.set(SVC_CD, (String) childMap.get("svc_cd"))`] |

#### Block 4.8 — Pricing Group / Cost Code (L5853, L5865)

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(childMap.get("prc_grp_cd"))` |
| 2 | SET | `template.setNull(PRC_GRP_CD)` [else: `template.set(PRC_GRP_CD, (String) childMap.get("prc_grp_cd"))`] |

#### Block 4.9 — Plan Change / Address Change / MenkaiHAT Fields (L5877-5901)

Fields: `plan_chg_fix_ymd`, `ad_chg_fix_dtm`, `menkaihat_anken_no`, `mnkht_koji_cd`

#### Block 4.10 — Owner / P-ID / SYSID Fields (L5913-5937)

Fields: `ownr_kei_no`, `pid`, `sysid`

#### Block 4.11 — Customer Fields (L5949-5997)

Fields: `cust_nm`, `cust_kana`, `cust_home_tel_no`, `cust_ktai_tel_no`, `cust_rrks_tel_no`

#### Block 4.12 — Contact / Contractor Address Fields (L6009-6081)

Fields: `rrks_offc_nm`, `keisha_ad_cd`, `keisha_pcd`, `keisha_state_nm`, `keisha_city_nm`, `keisha_oaztsu_nm`, `keisha_azcho_nm`, `keisha_ad_bnchigo`, `keisha_adrttm`, `keisha_adrrm`

#### Block 4.13 — Billing Contract Number (L6093)

| # | Type | Code |
|---|------|------|
| 1 | IF | `"".equals(childMap.get("seiky_kei_no"))` |
| 2 | SET | `template.setNull(SEIKY_KEI_NO)` [else: `template.set(SEIKY_KEI_NO, (String) childMap.get("seiky_kei_no"))`] |

#### Block 4.14 — Setplace Fields Nullify (L6101-6111)

| # | Type | Code |
|---|------|------|
| 1 | SET | `template.setNull(SETPLACE_AZCHO_NM)` |
| 2 | SET | `template.setNull(SETPLACE_STATE_NM)` |
| 3 | SET | `template.setNull(SETPLACE_ADRTTM)` |
| 4 | SET | `template.setNull(SETPLACE_ADRRM)` |
| 5 | SET | `template.setNull(SETPLACE_AD_CD)` |
| 6 | SET | `template.setNull(SETPLACE_CITY_NM)` |
| 7 | SET | `template.setNull(SETPLACE_AD_BNCHIGO)` |
| 8 | SET | `template.setNull(PLACE_NO)` |
| 9 | SET | `template.setNull(SETPLACE_PCD)` |
| 10 | SET | `template.setNull(SETPLACE_OAZTSU_NM)` |

#### Block 4.15 — Construction Site Address / Relocation Fields (L6113-6445)

Fields: `koji_saki_ad_mi_fix_flg`, `kaisen_place_telno`, `kepco_busioffice_no`, `lgtd`, `lttd`, `zahyo_hosei_um`, `ad_form_cd`, `nyukyo_flr_cnt_cd`, `kcku_flr_cnt_cd`, `direction_cd_1`, `direction_cd_2`, `tentaku_bf_*` (9 fields), `tentaku_saki_*` (9 fields)

#### Block 4.16 — Additional Construction Fields (L6445-6701)

Fields: `newconst_bukken_cd`, `hukkat_anken_flg`, `same_equip_re_mskm_cd`, `koji_scope_cd`, `isetsu_cd`, `koji_kibo_ymd`, `dsl_kibo_ymd`, `shunko_rsv_ymd`, `nyukyo_rsv_ymd`, `hikiwatashi_rsv_ymd`, `epower_soden_rsv_ymd`, `tel_rrk_kibo_ymd`, `tel_rrk_kibo_time_cd`, `takcho_kibo_apo_kigen_ymd`, `tnkj_kibo_apo_kigen_ymd`, `koji_apo_rrks_shitei_cd`, `rrk_way_cd`, `rrk_way_hoki`, `kojiak_biko`, `kojiak_biko_1`, `kojiak_biko_2`, `manssbsys_rnki_kijiran`

#### Block 4.17 — Tempest Case Nullify (L6701)

| # | Type | Code |
|---|------|------|
| 1 | SET | `template.setNull(DMPS_ANKEN_NO)` |
| 2 | SET | `template.setNull(DMPSANK_SBT_CD)` |
| 3 | SET | `template.setNull(KEPCO_CTINFO_JUJU_DOI_UM)` |

### Block 5 — HOME DEVICE FIELDS NULLIFY (L6707-6919)

> Clear all home device fields for devices 1 through 20. Each device has 19 fields.

| # | Type | Code |
|---|------|------|
| 1 | SET | Device 1 fields: TAKNKIKI_SBT_CD_1 through CHGB_OLD_STB_ID_1 (19 setNull calls) |
| 2 | SET | Device 2 fields: TAKNKIKI_SBT_CD_2 through CHGB_OLD_STB_ID_2 (19 setNull calls) |
| 3 | SET | ... (repeating for devices 3-20, each with 19 setNull calls) |

Fields per device (19 fields each):
- `TAKNKIKI_SBT_CD_n` — Home Device Type Code n
- `TAKNKIKI_IDO_CD_n` — Home Device Change Code n
- `KKTK_SVC_KEI_NO_n` — Equipment Provider Service Contract Number n
- `TAKNKIKI_MODEL_CD_n` — Home Device Model Code n
- `KKSEIZO_NO_n` — Equipment Serial Number n
- `STB_ID_n` — STB-ID n
- `HDD_CAPA_CD_n` — HDD Capacity Code n
- `VONU_BSPT_KH_n` — BS Passthrough Capability n
- `STB_KEI_TV_COURSE_CD_n` — STB Contract TV Course Code n
- `CHGB_TAKNIKK_MODEL_CD_n` — Pre-Change Home Device Model Code n
- `CHGB_KKSEIZO_NO_n` — Pre-Change Equipment Serial Number n
- `CHGB_STB_ID_n` — Pre-Change STB-ID n
- `CHGB_HDD_CAPA_CD_n` — Pre-Change HDD Capacity Code n
- `CHGB_VONU_BSPT_KH_n` — Pre-Change BS Passthrough Capability n
- `CHGB_STB_KEI_TV_COURSE_CD_n` — Pre-Change STB Contract TV Course Code n
- `CHGB_OLD_STB_ID_n` — Pre-Change Old STB-ID n

### Block 6 — OTHER FIELDS NULLIFY (L6919)

| # | Type | Code |
|---|------|------|
| 1 | SET | `template.setNull(MSKMSHA_NM)` |
| 2 | SET | `template.setNull(SVC_STAYMD)` |
| 3 | SET | `template.setNull(KOJI_APO_RRKS_TELNO)` |
| 4 | SET | `template.setNull(CUST_SOS_USE_UM)` |
| 5 | SET | `template.setNull(KKTK_SVC_KEI_CHGE_MEMO_1)` through `KKTK_SVC_KEI_CHGE_MEMO_20` |
| 6 | SET | `template.setNull(KIKI_CHG_NO_1)` through `KIKI_CHG_NO_20` |
| 7 | SET | `template.setNull(MOTO_TCASE_NO_1)` through `MOTO_TCASE_NO_20` |

### Block 7 — RETURN PREPARATION (L6927)

| # | Type | Code |
|---|------|------|
| 1 | SET | `templates = new CAANMsg[1]` |
| 2 | SET | `templates[0] = template` |
| 3 | SET | `paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates)` |
| 4 | RETURN | `return paramMap` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_no` | Field | Service contract number — the unique identifier for a telecom service contract line item |
| `svc_kei_kaisen_ucwk_no` | Field | Service contract change work number — internal tracking ID for service contract modifications |
| `kojiak_no` | Field | Construction case number — unique ID for a construction order/case |
| `koji_uk_cd` | Field | Construction acceptance code — classifies the type of construction acceptance (e.g., CD99991_NAIYO_CHG = Content Change) |
| `koji_uk_dtail_cd` | Field | Construction acceptance detail code — sub-classification of acceptance type (e.g., CD00885_CUST_INFO_CHG = Customer Info Change, CD00885_KISN_CHG = Subscription Change) |
| `koji_uk_optnty_ido_dtm` | Field | Construction acceptance optional move datetime — timestamp for optional movement acceptance |
| `svc_cd` | Field | Service code — identifies the type of service (e.g., FTTH, eo Hikari TV) |
| `prc_grp_cd` | Field | Price group code — pricing tier classification for the service |
| `pcrs_cd` | Field | Price course code — specific pricing course within a price group |
| `plan_chg_fix_ymd` | Field | Plan change fix year-month-day — date when a plan change becomes effective |
| `ad_chg_fix_dtm` | Field | Address change fix datetime — timestamp for when an address change takes effect |
| `menkaihat_anken_no` | Field | Menkaihat (area development) case number — construction planning case ID |
| `mnkht_koji_cd` | Field | Menkaihat construction code — type code for area development construction |
| `ownr_kei_no` | Field | Owner contract number — identifies the property/line owner |
| `pid` | Field | P-ID — product or plan identifier |
| `sysid` | Field | SYSID — system identifier |
| `cust_nm` | Field | Customer name — customer's full name |
| `cust_kana` | Field | Customer kana — phonetic name in Japanese katakana |
| `cust_home_tel_no` | Field | Customer home telephone number |
| `cust_ktai_tel_no` | Field | Customer mobile phone number |
| `cust_rrks_tel_no` | Field | Customer contact telephone number |
| `rrks_offc_nm` | Field | Contact business name — business/hour affiliation of the contact person |
| `keisha_ad_cd` | Field | Contractor address code |
| `keisha_pcd` | Field | Contractor postal code |
| `keisha_state_nm` | Field | Contractor prefecture name |
| `keisha_city_nm` | Field | Contractor city/town/village name |
| `keisha_oaztsu_nm` | Field | Contractor district name |
| `keisha_azcho_nm` | Field | Contractor street name |
| `keisha_ad_bnchigo` | Field | Contractor address reference number |
| `keisha_adrttm` | Field | Contractor address building name |
| `keisha_adrrm` | Field | Contractor address room number |
| `seiky_kei_no` | Field | Billing contract number — the contract number used for billing purposes |
| `koji_saki_ad_mi_fix_flg` | Field | Construction site address unconfirmed flag — indicates whether the construction site address is still pending confirmation |
| `kaisen_place_telno` | Field | Change site telephone number — phone number at the modification location |
| `kepco_busioffice_no` | Field | KEPCO (Kansai Electric Power) business office number — regional utility office reference |
| `lgtd` / `lttd` | Field | Longitude / Latitude — GPS coordinates for the installation site |
| `zahyo_hosei_um` | Field | Coordinate correction flag — whether GPS coordinates have been corrected |
| `ad_form_cd` | Field | Address type code — building type (e.g., apartment, house, office) |
| `nyukyo_flr_cnt_cd` | Field | Move-in floor count code — number of floors where the service will be installed |
| `kcku_flr_cnt_cd` | Field | Building floor count code — total floors of the building |
| `direction_cd_1` / `direction_cd_2` | Field | Direction codes — cardinal direction of the installation (e.g., north-facing) |
| `tentaku_bf_*` | Field group | Pre-relocation address fields — the address at the current/old location |
| `tentaku_saki_*` | Field group | Post-relocation address fields — the address at the new location |
| `newconst_bukken_cd` | Field | New construction case code — type of new construction project |
| `hukkat_anken_flg` | Field | Reactivation case flag — whether this is a reactivation of a previously suspended service |
| `same_equip_re_mskm_cd` | Field | Same equipment re-application code — indicates re-applying for the same equipment |
| `koji_scope_cd` | Field | Construction scope code — defines the boundary of work |
| `isetsu_cd` | Field | Relocation code — type of equipment relocation |
| `koji_kibo_ymd` | Field | Desired construction date — date requested by customer for installation |
| `dsl_kibo_ymd` | Field | Desired cancellation date — date requested for service termination |
| `shunko_rsv_ymd` | Field | Estimated completion date — expected date when construction will be finished |
| `nyukyo_rsv_ymd` | Field | Estimated move-in date — expected date when customer can start using the service |
| `hikiwatashi_rsv_ymd` | Field | Estimated handover date — expected date of service handover |
| `epower_soden_rsv_ymd` | Field | Estimated power supply date — expected date for power restoration/connection |
| `tel_rrk_kibo_ymd` | Field | Desired contact date — date when customer wishes to be contacted |
| `tel_rrk_kibo_time_cd` | Field | Desired contact time slot code — preferred time window for contact |
| `takcho_kibo_apo_kigen_ymd` | Field | Desired indoor survey application deadline — deadline for requesting indoor survey |
| `tnkj_kibo_apo_kigen_ymd` | Field | Desired indoor work application deadline — deadline for requesting indoor work |
| `koji_apo_rrks_shitei_cd` | Field | Construction application contact designation code — who to contact about construction |
| `rrk_way_cd` / `rrk_way_hoki` | Field | Contact method code / Contact method note — how the customer wishes to be contacted |
| `kojiak_biko` / `kojiak_biko_1` / `kojiak_biko_2` | Field | Construction case remarks / remarks 1 / remarks 2 — free-text notes for the construction case |
| `manssbsys_rnki_kijiran` | Field | Mass system linkage remarks — notes for mass/parallel installation system linkage |
| `DMPS_ANKEN_NO` | Field | Electromagnetic interference case number — ID for interference-related cases |
| `DMPSANK_SBT_CD` | Field | Electromagnetic interference case type code |
| `KEPCO_CTINFO_JUJU_DOI_UM` | Field | KEPCO customer information consent flag — whether KEPCO customer consent was obtained |
| `TAKNKIKI_SBT_CD_n` | Field | Home device type code n — type of home equipment at location n (device 1-20) |
| `TAKNKIKI_IDO_CD_n` | Field | Home device change code n — indicates what change is made to device n |
| `KKTK_SVC_KEI_NO_n` | Field | Equipment provider service contract number n — contract number for device n |
| `TAKNKIKI_MODEL_CD_n` | Field | Home device model code n — specific model of device n |
| `KKSEIZO_NO_n` | Field | Equipment serial number n — unique serial number of device n |
| `STB_ID_n` | Field | STB-ID n — set-top box identifier for device n |
| `HDD_CAPA_CD_n` | Field | HDD capacity code n — storage capacity tier of device n |
| `VONU_BSPT_KH_n` | Field | BS passthrough capability n — whether device n supports BS satellite passthrough |
| `STB_KEI_TV_COURSE_CD_n` | Field | STB contract TV course code n — TV subscription plan for device n |
| `CHGB_TAKNIKK_MODEL_CD_n` | Field | Pre-change home device model code n — model before the change for device n |
| `CHGB_KKSEIZO_NO_n` | Field | Pre-change equipment serial number n |
| `CHGB_STB_ID_n` | Field | Pre-change STB-ID n |
| `CHGB_HDD_CAPA_CD_n` | Field | Pre-change HDD capacity code n |
| `CHGB_VONU_BSPT_KH_n` | Field | Pre-change BS passthrough capability n |
| `CHGB_STB_KEI_TV_COURSE_CD_n` | Field | Pre-change STB contract TV course code n |
| `CHGB_OLD_STB_ID_n` | Field | Pre-change old STB-ID n — legacy set-top box identifier |
| `MSKMSHA_NM` | Field | Applicant name |
| `SVC_STAYMD` | Field | Service start date |
| `KOJI_APO_RRKS_TELNO` | Field | Construction application contact telephone number |
| `CUST_SOS_USE_UM` | Field | Customer SOS usage flag — whether the customer uses the SOS service |
| `KKTK_SVC_KEI_CHGE_MEMO_n` | Field | Equipment provider service contract change memo n — free-text notes (20 memo slots) |
| `KIKI_CHG_NO_n` | Field | Equipment change number n — change transaction ID for device n |
| `MOTO_TCASE_NO_n` | Field | Original TOMSON case number n — legacy case reference from TOMSON system |
| `MSKM_DTL_NO` | Field | Work item detail number — the application detail number extracted from the work area |
| CAANMsg | Type | Message wrapper class used for CBS (business process) communication — holds field key-value pairs |
| TEMPLATE_ID_EKU0031C010 | Constant | Template identifier `"EKU0031C010"` — uniquely identifies this CBS message format |
| FUNC_CODE | Field | Function code — identifies the specific operation type (set to "1" initially, then overwritten from dataMap) |
| EDIT_IN_MSG | Pattern | Pre-processing step that transforms screen input parameters into a CBS-ready message template |
| KOJIAK | Acronym | 工事案件 (Construction Case) — a construction order/case in the telecom fulfillment system |
| SOD | Acronym | Service Order Data — telecom order fulfillment entity (inferred from SC class naming patterns) |
| FTTH | Business term | Fiber To The Home — fiber-optic internet service |
| STB | Acronym | Set-Top Box — set-top box device for TV/cable services |
| HDD | Acronym | Hard Disk Drive — storage device in cable/OTT set-top boxes |
| BS | Business term | Broadcasting Satellite — satellite broadcasting service in Japan (BS Digital) |
| KEPCO | Acronym | Kansai Electric Power Company — regional utility, involved in infrastructure coordination |
| TOMSON | Acronym | Legacy Fujitsu billing/account management system — referenced via MOTO_TCASE_NO fields |
| CBS | Acronym | Customer Business System — the business process layer that handles service order transactions |
| EKU0031C010 | Code | Service code for eo Hikari TV various changes (工事案件<eo光テレビ>諸変更) |
| KKSV054601SCWORK | Key | Work area map key — holds work item data from screen KKSV0546 |
| KKSV0546 | Screen | Screen identifier — the input screen for work item detail entry |
| KKSV0546CCList | Key | Data map key — contains list data from screen KKSV0546 cross-component |
