# Business Logic — JKKKisnUwHmdkAddCC.editInMsgEKK0251C030() [88 LOC]

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

## 1. Role

### JKKKisnUwHmdkAddCC.editInMsgEKK0251C030()

This method is a dedicated message builder for the Service Contract Withdrawal Internal Content Change (EKK0251C030) CBS (CBS = Core Business System) interface. It constructs the input message payload (`Object[][]`) required to invoke the withdrawal internal content change service. The method operates in a business merger/migration context: two service contracts — a pre-merger contract (合併元 `mtEkk0251Msg`) and a post-merger contract (合併先 `skEkk0251Msg`) — have already been fetched separately, and this method merges their data into a single outgoing request. It uses a merge-fallback strategy: for each business field, it prefers the post-merger value if present, and falls back to the pre-merger value when the post-merger side has no data. This ensures that merger-related field updates are preserved while defaulting to the original contract's values where no merger-side data exists. The method also hardcodes structural metadata fields such as template ID (`EKK0251C030`) and function code (`"1"` for update mode). It implements a builder pattern with a delegation-based value resolution strategy, and its output is consumed directly by `callSC` to invoke the CBS.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["editInMsgEKK0251C030(ccMsg, mtEkk0251Msg, skEkk0251Msg, mtMskmDtlNo)"]) --> INIT["Initialize Object[][] inList"]
    INIT --> FIXED["Set fixed/mandatory fields:"]
    FIXED --> F1["TEMPLATEID = \"EKK0251C030\""]
    FIXED --> F2["FUNC_CODE = \"1\" (Update mode)"]
    FIXED --> F3["SVC_KEI_KAISEN_UCWK_NO = ccMsg.heigo_sk_svc_kei_kaisen_ucwk_no"]
    FIXED --> F4["MSKM_DTL_NO = mtMskmDtlNo"]
    FIXED --> F5["UPD_DTM_BF = skEkk0251Msg.getString(LAST_UPD_DTM)"]
    F5 --> COMMENT["// 以下の項目は合併先に値がない場合のみ合併元の値を設定"]
    COMMENT --> LOOP["Iterate ~50 field entries"]
    LOOP --> GETUPD["Call getUpdValue(key, skEkk0251Msg, mtEkk0251Msg)"]
    GETUPD --> GUPD_CHECK{"skEkk0251Msg has value?"}
    GUPD_CHECK -- Yes --> GUPD_SK["Use skEkk0251Msg value"]
    GUPD_CHECK -- No --> GUPD_MT["Use mtEkk0251Msg value (fallback)"]
    GUPD_SK --> FIELD_SET["Set field in inList[row]"]
    GUPD_MT --> FIELD_SET
    FIELD_SET --> ANK_CHK{"Is ANK-4038 field?"}
    ANK_CHK -- Standard fields (~44 fields) --> LOOP
    ANK_CHK -- ANK-4038 fields (~10 fields) --> GETRZT["Call getUpdValueRzt(key, skEkk0251Msg, mtEkk0251Msg)"]
    GETRZT --> RZT_CHECK{"sk ROZETT!=1 AND mt ROZETT=1?"}
    RZT_CHECK -- Yes --> RZT_USE_MT["Use mtEkk0251Msg value"]
    RZT_CHECK -- No --> RZT_USE_SK["Use skEkk0251Msg value"]
    RZT_USE_MT --> ANK_SET["Set ANK-4038 field in inList[row]"]
    RZT_USE_SK --> ANK_SET
    ANK_SET --> LOOP
    LOOP --> RETURN["Return inList"]
    RETURN --> END(["end"])
```

**CRITICAL — Constant Resolution:**

| Constant | Resolved Value | Business Meaning |
|----------|---------------|------------------|
| `TEMPLATE_ID_EKK0251C030` | `"EKK0251C030"` | Service interface template ID for withdrawal internal content change |
| `FUNC_CODE = "1"` | `"1"` | Update mode (function code distinguishing read vs. write operations) |
| `ROZETT_STC_STAT_CD_ST_ZM` | `"1"` | Socket installation status = "Installed" — used in getUpdValueRzt conditional logic |
| `EKK0251A010CBSMsg1List.LAST_UPD_DTM` | `LAST_UPD_DTM` | Last update datetime — used as pre-update timestamp for optimistic concurrency control |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `ccMsg` | `HashMap<String, Object>` | Context map carrying merger metadata, specifically the post-merger service contract withdrawal work number (`heigo_sk_svc_kei_kaisen_ucwk_no`). This map is populated by the caller and provides the business key linking the merged contract to the withdrawal change request. |
| 2 | `mtEkk0251Msg` | `CAANMsg` | Pre-merger (merged-to) service contract withdrawal agreement data. Contains original contract fields that serve as fallback values. Corresponds to the original contract before merger consolidation. |
| 3 | `skEkk0251Msg` | `CAANMsg` | Post-merger (merged-from) service contract withdrawal agreement data. Contains the current/updated contract fields that are preferred during the merge. Represents the target contract after merger consolidation. |
| 4 | `mtMskmDtlNo` | `String` | Application detail number (申込明细番 — the detail line number identifying a specific application line item within the service contract). Used as a key to associate the withdrawal change request with the correct application record. |

**Internal helper methods used:**

| Name | Description |
|------|-------------|
| `getUpdValue(key, skMsg, mtMsg)` | Standard merge-fallback: returns `skMsg` value if non-null, otherwise returns `mtMsg` value. Used for ~44 standard fields (address, telephone, coordinates, scheduling, etc.). |
| `getUpdValueRzt(key, skMsg, mtMsg)` | Special merge-fallback for ANK-4038 fields (socket/concentrator/end device status codes). Only uses `mtMsg` value when `sk` ROZETT status != "1" AND `mt` ROZETT status = "1" (socket installed in pre-merger but not post-merger). Otherwise falls back to `sk` value. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `skEkk0251Msg.getString` | EKK0251A010CBSMsg1List | - | Reads LAST_UPD_DTM (last update datetime) from the post-merger CAANMsg for optimistic concurrency |
| R | `getUpdValue` | JKKKisnUwHmdkAddCC | - | Reads values from skEkk0251Msg (post-merger) with fallback to mtEkk0251Msg (pre-merger) for standard fields |
| R | `getUpdValueRzt` | JKKKisnUwHmdkAddCC | - | Reads ANK-4038 fields with socket status conditional logic — checks ROZETT_STC_STAT_CD from both messages |

### Called CBS:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `callSC(handle, scCall, param, fixedText, ekk0251c030In)` (invoked by caller `execUpdSvcKeiKaisenUcwk`) | EKK0251C030SC | KK_T_SVC_KEI_KAISEN_UCWK, KK_T_SVC_KEI_KAISEN_UCWK_DTL (inferred from CBSMsg schema) | Service Contract Withdrawal Internal Content Change — called by the parent method `execUpdSvcKeiKaisenUcwk` with the built `inList` payload to execute the CBS update operation |

**Note:** This method itself is a pure message builder — it performs no direct database operations. All reads are from in-memory `CAANMsg` objects. The CBS invocation is handled by the caller `execUpdSvcKeiKaisenUcwk`, which calls `callSC` with the returned `Object[][]` payload.

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 2 methods.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CBS: `JKKKisnUwHmdkAddCC.execUpdSvcKeiKaisenUcwk` | `execUpdSvcKeiKaisenUcwk` -> `editInMsgEKK0251C030(ccMsg, mtEkk0251a010Out[0], skEkk0251a010Out[0], mskmDtlNo)` -> `callSC(EKK0251C030)` | `callSC [C/U] EKK0251C030CBS (Service Contract Withdrawal Internal Content Change)` |
| 2 | CBS: `JKKSvkeiShosaCC.editUpdPlaceNo` | `editUpdPlaceNo(place_no, ...)` -> `shosaOkMapper.editInMsgEKK0251C030(param, childTemplate, place_no, workEKK0251A010)` -> `editInMsgCmn` | `editInMsgCmn [R] EKK0251C030CBSMSG1LIST` |

**Caller 1 — `execUpdSvcKeiKaisenUcwk`:** This private method fetches both pre-merger and post-merger service contract withdrawal agreement data via `EKK0251A010CBS`, then builds the withdrawal internal content change input message via `editInMsgEKK0251C030`, and finally executes the `EKK0251C030` CBS via `callSC`.

**Caller 2 — `JKKSvkeiShosaCC.editUpdPlaceNo`:** This CBS handler is invoked during place number update processing in screen EKK0251. It iterates over place records and calls `editInMsgEKK0251C030` (via `shosaOkMapper` mapping) for each unique place number to build update payloads, which are then processed by `editInMsgCmn`.

## 6. Per-Branch Detail Blocks

### Block 1 — INIT (L1508)

Initialize the `Object[][] inList` array to hold field key-value pairs for the CBS input message.

| # | Type | Code |
|---|------|------|
| 1 | SET | `Object[][] inList = {...}` // Initialize 2D array for CBS input message |

### Block 2 — Fixed/ Mandatory Fields (L1509–L1513)

Set structural metadata fields that are always the same regardless of merger state.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `{TEMPLATEID, "EKK0251C030"}` // [-> TEMPLATE_ID_EKK0251C030 = "EKK0251C030"] | Template ID for CBS interface identification |
| 2 | SET | `{FUNC_CODE, "1"}` | Function code = "1" indicating update/modify mode |
| 3 | SET | `{SVC_KEI_KAISEN_UCWK_NO, ccMsg.get("heigo_sk_svc_kei_kaisen_ucwk_no")}` | Post-merger service contract withdrawal work number from context map |
| 4 | SET | `{MSKM_DTL_NO, mtMskmDtlNo}` | Application detail number passed as method parameter |
| 5 | SET | `{UPD_DTM_BF, skEkk0251Msg.getString(LAST_UPD_DTM)}` | Last update datetime from post-merger msg — used for optimistic concurrency control in CBS |

### Block 3 — Standard Fields Merge via getUpdValue (L1514–L1572)

> // 以下の項目は合併先に値がない場合のみ合併元の値を設定
> // The following fields: set the pre-merger value only if the post-merger side has no value

For each of ~44 standard fields, call `getUpdValue(key, skEkk0251Msg, mtEkk0251Msg)` which implements: if `sk` (post-merger) value is non-null, use it; otherwise fall back to `mt` (pre-merger) value.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `KISN_PLC_AD_MI_FIX_FLG` | Line location address undecided flag |
| 2 | SET | `KISN_PLC_AD_MI_FIX_RLS_YMD` | Line location address undecided release date |
| 3 | SET | `KAISEN_PLC_KSH_AD_SAI_FLG` | Withdrawal location - contract address difference flag |
| 4 | SET | `CUST_SKK_AD_MI_FIX_FLG` | Customer report address undecided flag |
| 5 | SET | `CUST_SOS_USE_UM` | Customer SOS usage flag |
| 6 | SET | `MANSION_BUKKEN_NO` | Mansion property number |
| 7 | SET | `KAISEN_PLACE_TELNO` | Withdrawal location telephone number |
| 8 | SET | `KAISEN_PLC_KANA` | Withdrawal location Kana name |
| 9 | SET | `KAISEN_PLACE_AD_CD` | Withdrawal location address code |
| 10 | SET | `KAISEN_PLACE_PCD` | Withdrawal location postal code |
| 11 | SET | `KAISEN_PLACE_STATE_NM` | Withdrawal location prefecture name |
| 12 | SET | `KAISEN_PLACE_CITY_NM` | Withdrawal location city/town/village name |
| 13 | SET | `KAISEN_PLACE_OAZTSU_NM` | Withdrawal location oaza (large district) name |
| 14 | SET | `KAISEN_PLACE_AZCHO_NM` | Withdrawal location azacho (small district) name |
| 15 | SET | `KAISEN_PLACE_BNCHIGO` | Withdrawal location banchi (lot number) |
| 16 | SET | `KAISEN_PLACE_ADRTTM` | Withdrawal location address note / building name |
| 17 | SET | `KAISEN_PLACE_ADRRM` | Withdrawal location address note / room number |
| 18 | SET | `KAISEN_PLACE_NO` | Withdrawal location number |
| 19 | SET | `KISN_PLC_KKK_SEIRI_CHU_FLG` | Line location area sorting in-progress flag |
| 20 | SET | `KISN_PLC_HSK_CD_1` | Line location supplementary code 1 |
| 21 | SET | `KISN_PLC_HSK_CD_2` | Line location supplementary code 2 |
| 22 | SET | `KISN_PLC_HSK_MEMO` | Line location supplementary memo |
| 23 | SET | `AD_FORM_CD` | Address form code |
| 24 | SET | `SHUNKO_RSV_YMD` | Construction schedule estimated date |
| 25 | SET | `EPOWER_SODEN_RSV_YMD` | Power supply estimated date |
| 26 | SET | `NYUKYO_RSV_YMD` | Move-in estimated date |
| 27 | SET | `HIKIWATASHI_RSV_YMD` | Handover estimated date |
| 28 | SET | `HIKKOSHI_RSV_YMD` | Moving estimated date |
| 29 | SET | `XZAHYO` | X coordinate |
| 30 | SET | `YZAHYO` | Y coordinate |
| 31 | SET | `LGTD` | Longitude |
| 32 | SET | `LTTD` | Latitude |
| 33 | SET | `ZAHYO_HOSEI_UM` | Coordinate correction flag |
| 34 | SET | `TV_KOBET_TAIO_CD` | TV individual correspondence code |
| 35 | SET | `TV_ANTENNA_UM` | TV antenna presence flag |
| 36 | SET | `DIRECTION_CD_1` | Direction code 1 |
| 37 | SET | `DIRECTION_CD_2` | Direction code 2 |
| 38 | SET | `KODATE_KCKU_FLR_CNT_CD` | House building floor count code |
| 39 | SET | `SHUGJ_NYUKYO_FLR_CNT_CD` | Residential building move-in floor count code |
| 40 | SET | `PON_SBT_CD` | PON service type code |
| 41 | SET | `KAISEN_TK_COMP_CD` | Withdrawal service provider code |
| 42 | SET | `VDSL_USE_TEL_KISN_SBT_CD` | VDSL usage telephone line type code |
| 43 | SET | `VDSL_USE_DKSN_SWCH_RSV_YMD` | VDSL usage telephone line switch estimated date |
| 44 | SET | `VDSL_USE_TG_DBKSN_SBT_CD` | VDSL usage target telephone line type code |
| 45 | SET | `VDSL_USE_TG_TELNO` | VDSL usage target telephone number |
| 46 | SET | `HIKKOSHI_YMD` | Moving date |
| 47 | SET | `GAITO_AREA_SVC_STAYMD` | Applicable area service start date |
| 48 | SET | `TEKKYO_KOJI_KIBO_YMD` | Tower removal work requested date |
| 49 | SET | `KITEN_HDSHO_CD` | Starting transformer code |
| 50 | SET | `SHYAKK_CD` | Contract office code |
| 51 | SET | `KEPCO_BUSIOFFICE_CD` | KEPCO business office code |
| 52 | SET | `SKS_YO_KISN_PLACE_AD_RM_NO` | Invoice usage withdrawal location room number |
| 53 | SET | `TEL_BAS_HOST_ID` | Telephone BAS host ID |
| 54 | SET | `TEL_VLAN_ID` | Telephone VLAN-ID |
| 55 | SET | `VLAN_ID_FIX_FLG` | VLAN-ID fixed flag |
| 56 | SET | `TEL_VLAN_ID_TRKM_YMD` | Telephone VLAN-ID adoption date |
| 57 | SET | `SKS_SHS_AD_CHG_UM` | Invoice destination address change flag |
| 58 | SET | `SKS_SHS_AD_CHG_KIBO_YMD` | Invoice destination address change requested date |
| 59 | SET | `KSHAD_CHG_UM` | Contract address change flag |
| 60 | SET | `KSHAD_CHG_KIBO_YMD` | Contract address change requested date |

### Block 4 — ANK-4038 Modified Fields: getUpdValue (L1574–L1575)

> // ANK-4038-00-00 MOD START

Two additional fields added under ANK-4038 modification ticket, still using standard `getUpdValue`:

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `KISN_AD_CHK_LV` | Line location address check level |
| 2 | SET | (no action — comment line `ANK-4038-00-00 MOD START`) | Modification marker comment |

### Block 5 — ANK-4038 Special Fields: getUpdValueRzt (L1576–L1590)

> // ANK-4038-00-00 MOD END

Ten fields with special merge logic via `getUpdValueRzt`. These handle socket/concentrator/end device installation status codes that require conditional resolution based on `ROZETT_STC_STAT_CD`.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `{ROZETT_STC_STAT_CD, getUpdValueRzt(..., ROZETT_STC_STAT_CD, ...)}` | Socket installation status code |
| 2 | SET | `{CONSNT_STC_NYO_CD, getUpdValueRzt(..., CONSNT_STC_NYO_CD, ...)}` | Concentrator installation content code |
| 3 | SET | `{TNMT_STC_FLR_CD, getUpdValueRzt(..., TNMT_STC_FLR_CD, ...)}` | Terminal installation floor code |
| 4 | SET | `{KISN_TD_SETPLC_1_CD, getUpdValueRzt(..., KISN_TD_SETPLC_1_CD, ...)}` | Line terminal installation location code 1 |
| 5 | SET | `{KISN_TD_SETPLC_2_CD, getUpdValueRzt(..., KISN_TD_SETPLC_2_CD, ...)}` | Line terminal installation location code 2 |
| 6 | SET | `{KISN_TD_STC_KASHO_CD, getUpdValueRzt(..., KISN_TD_STC_KASHO_CD, ...)}` | Line terminal installation place code |
| 7 | SET | `{KISN_TD_SETPLC_1_OTR, getUpdValueRzt(..., KISN_TD_SETPLC_1_OTR, ...)}` | Line terminal installation location 1 other |
| 8 | SET | `{KISN_TD_SETPLC_2_OTR, getUpdValueRzt(..., KISN_TD_SETPLC_2_OTR, ...)}` | Line terminal installation location 2 other |
| 9 | SET | `{KISN_TD_STC_KASHO_OTR, getUpdValueRzt(..., KISN_TD_STC_KASHO_OTR, ...)}` | Line terminal installation place other |
| 10 | SET | `{TANMT_STC_MEN_CD, getUpdValueRzt(..., TANMT_STC_MEN_CD, ...)}` | Terminal installation face code |

#### Block 5.1 — getUpdValueRzt Conditional Logic (L1619–L1628)

For each ANK-4038 field, the `getUpdValueRzt` method evaluates:

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | IF | `!ROZETT_STC_STAT_CD_ST_ZM.equals(skEkk0251Msg.getString(ROZETT_STC_STAT_CD)) && ROZETT_STC_STAT_CD_ST_ZM.equals(mtEkk0251Msg.getString(ROZETT_STC_STAT_CD))` | [-> ROZETT_STC_STAT_CD_ST_ZM = "1"] Check: post-merger socket status != "1" AND pre-merger socket status = "1" |
| 2 | THEN (true) | `return mtEkk0251Msg.getString(content);` // 合併元の値を設定 — Set the pre-merger value | Pre-merger has socket installed but post-merger does not — carry forward the pre-merger value |
| 3 | ELSE (false) | `return skEkk0251Msg.getString(content);` | Use post-merger value (socket status consistent between both sides) |

### Block 6 — RETURN (L1593–L1595)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return inList;` // Return the fully assembled CBS input message |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_kaisen_ucwk_no` | Field | Service contract withdrawal work number — internal tracking ID for service contract line items undergoing withdrawal or merger |
| `mskm_dtl_no` | Field | Application detail number (申込明细番) — identifies a specific application line item within a service contract |
| `heigo_sk_svc_kei_kaisen_ucwk_no` | Field | Post-merger (合併先) service contract withdrawal work number — the target contract ID after merger consolidation |
| `heigo_mt_svc_kei_kaisen_ucwk_no` | Field | Pre-merger (合併元) service contract withdrawal work number — the original contract ID before merger consolidation |
| `heigo` | Field | Merger/consolidation (併合) — the business process of combining multiple service contracts into one |
| `kaisen` | Field | Withdrawal (回線) — refers to telecom line/service withdrawal or modification |
| `kisn_plc_ad_mi_fix_flg` | Field | Line location address undecided flag — indicates whether the service location address has been finalized |
| `kisn_plc_ad_mi_fix_rls_ymd` | Field | Line location address undecided release date — when the undecided flag was cleared |
| `kaisen_plc_ksh_ad_sai_flg` | Field | Withdrawal location - contract address difference flag — signals address discrepancy between location and contract |
| `cust_skk_ad_mi_fix_flg` | Field | Customer report address undecided flag |
| `cust_sos_use_um` | Field | Customer SOS usage flag — whether the customer uses SOS emergency service |
| `mansion_bukken_no` | Field | Mansion property number — building/property identifier for apartment-style residences |
| `kaisen_place_telno` | Field | Withdrawal location telephone number |
| `kaisen_plc_kana` | Field | Withdrawal location Kana name — phonetic name of the service location |
| `kaisen_place_ad_cd` through `kaisen_place_adrrm` | Fields | Withdrawal location address components (address code, postal code, prefecture, city, district, lot, building name, room number) |
| `kisn_plc_kkk_seiri_chu_flg` | Field | Line location area sorting in-progress flag — indicates if the location area is undergoing administrative reorganization |
| `kisn_plc_hsk_cd_1/2` | Fields | Line location supplementary codes 1 and 2 |
| `kisn_plc_hsk_memo` | Field | Line location supplementary memo |
| `ad_form_cd` | Field | Address form code — structural type of the address (e.g., mansion, house) |
| `shunko_rsv_ymd` | Field | Construction schedule estimated date (立工予定年月日) |
| `epower_soden_rsv_ymd` | Field | Power supply estimated date (電力送電予定年月日) |
| `nyukyo_rsv_ymd` | Field | Move-in estimated date (入居予定年月日) |
| `hikiwatashi_rsv_ymd` | Field | Handover estimated date (引渡し予定年月日) |
| `hikkoshi_rsv_ymd` | Field | Moving estimated date (引越し予定年月日) |
| `xzahyo` / `yzahyo` | Fields | X and Y coordinates of the service location |
| `lgtd` / `lttd` | Fields | Longitude (経度) and Latitude (緯度) |
| `zahyo_hosei_um` | Field | Coordinate correction flag (座標補正有無) |
| `tv_kobet_taio_cd` | Field | TV individual correspondence code — TV service compatibility by location |
| `tv_antenna_um` | Field | TV antenna presence flag |
| `direction_cd_1` / `direction_cd_2` | Fields | Direction codes (方角コード) — compass direction of the service location |
| `kodate_kcku_flr_cnt_cd` | Field | House building floor count code (戸建建築物階数コード) |
| `shugj_nyukyo_flr_cnt_cd` | Field | Residential building move-in floor count code (集合住宅入居階数コード) |
| `pon_sbt_cd` | Field | PON service type code (PON種別コード) — type of Passive Optical Network service |
| `kaisen_tk_comp_cd` | Field | Withdrawal service provider code (回線提供会社コード) |
| `vdsl_use_tel_kisn_sbt_cd` | Field | VDSL usage telephone line type code |
| `vdsl_use_dksn_swch_rsv_ymd` | Field | VDSL usage telephone line switch estimated date |
| `vdsl_use_tg_dbksn_sbt_cd` | Field | VDSL usage target telephone line type code |
| `vdsl_use_tg_telno` | Field | VDSL usage target telephone number |
| `hikkoshi_ymd` | Field | Moving date (引越年月日) |
| `gaito_area_svc_staymd` | Field | Applicable area service start date (該当地域サービス開始年月日) |
| `tekkyo_koji_kibo_ymd` | Field | Tower removal work requested date (撤去工事希望年月日) |
| `kiten_hdsho_cd` | Field | Starting transformer code (起点変電所コード) |
| `shyakk_cd` | Field | Contract office code (契約局コード) |
| `kepco_busioffice_cd` | Field | KEPCO business office code (関西営業所コード) — Kansai Electric Power Company regional office |
| `upd_dtm_bf` | Field | Last update datetime before update (更新年月日时分秒(更新前)) — used for optimistic concurrency |
| `sks_yo_kisn_place_ad_rm_no` | Field | Invoice usage withdrawal location room number (請求書用回線場所部屋番号) |
| `tel_bas_host_id` | Field | Telephone BAS host ID |
| `tel_vlan_id` | Field | Telephone VLAN-ID |
| `vlan_id_fix_flg` | Field | VLAN-ID fixed flag |
| `tel_vlan_id_trkm_ymd` | Field | Telephone VLAN-ID adoption date |
| `sks_shs_ad_chg_um` | Field | Invoice destination address change flag (請求書送付先住所変更有無) |
| `sks_shs_ad_chg_kibo_ymd` | Field | Invoice destination address change requested date |
| `kshad_chg_um` | Field | Contract address change flag (契約者住所変更有無) |
| `kshad_chg_kibo_ymd` | Field | Contract address change requested date |
| `kisn_ad_chk_lv` | Field | Line location address check level (回線場所住所チェックレベル) — added by ANK-4038 |
| `rozett_stc_stat_cd` | Field | Socket installation status code (ロセット設置状態コード) — "1" = installed |
| `consnt_stc_nyo_cd` | Field | Concentrator installation content code (コンセント設置内容コード) — added by ANK-4038 |
| `tnmt_stc_flr_cd` | Field | Terminal installation floor code (端末設置フロアコード) — added by ANK-4038 |
| `kisn_td_setplc_1_cd` / `kisn_td_setplc_2_cd` | Fields | Line terminal installation location codes 1 and 2 (回線終端装置設置場所コード) — added by ANK-4038 |
| `kisn_td_stc_kasho_cd` | Field | Line terminal installation place code (回線終端装置設置箇所コード) — added by ANK-4038 |
| `kisn_td_setplc_1_otr` / `kisn_td_setplc_2_otr` | Fields | Line terminal installation location 1/2 other (回線終端装置設置場所1/2その他) — added by ANK-4038 |
| `kisn_td_stc_kasho_otr` | Field | Line terminal installation place other (回線終端装置設置箇所その他) — added by ANK-4038 |
| `tanmt_stc_men_cd` | Field | Terminal installation face code (端末設置面コード) — added by ANK-4038 |
| `TEMPLATE_ID_EKK0251C030` | Constant | `"EKK0251C030"` — Service interface template ID for withdrawal internal content change CBS |
| `FUNC_CODE = "1"` | Constant | `"1"` — Update mode function code (vs. "2" for read/query) |
| `ROZETT_STC_STAT_CD_ST_ZM` | Constant | `"1"` — Socket installation status = "Installed" threshold value |
| CAANMsg | Technical | Fujitsu CAAN message object — typed message container for CBS request/response data |
| Object[][] | Technical | 2D array of key-value pairs — standard Fujitsu CBS input message format |
| CBS | Technical | Core Business System — enterprise service layer |
| SC Code | Technical | Service Component code — e.g., `EKK0251C030SC` |
| EKK0251C030 | Business | Service Contract Withdrawal Internal Content Change — CBS for modifying withdrawal-related fields within an active service contract |
| EKK0251A010 | Business | Service Contract Withdrawal Agreement Inquiry — CBS for fetching merger agreement data (pre- and post-merger) |
| ANK-4038 | Change ticket | Modification ticket adding socket/concentrator/end device status fields with special merge logic |
