# Business Logic — JFUAddSvcKeiTvCC.editErrInfoEKK0101D010() [245 LOC]

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

## 1. Role

### JFUAddSvcKeiTvCC.editErrInfoEKK0101D010()

This method performs error information mapping for the **Service Contract (TV) Registration** business process. Its purpose is to extract error messages returned from the Communication Backbone System (CBS) and store them into the request parameter's HashMap so that the presentation layer can display them on the registration screen. The method implements a **field-by-field error routing pattern**: it iterates through every individual error field that the CBS may return, checks whether each field contains a non-null error message via `template.isNull()`, and if so, transfers the message into the in-map under a dedicated key (only if that key has not already been set, preventing overwrites). At the top level, it also delegates to `setControlMapErrInfo` to handle control-map-level error metadata (such as the overall status code extracted from the CBS response). The method serves as a **shared utility** within the JFUAddSvcKeiTvCC class, consumed by multiple error-handling and return-path methods (`editErrorInfo`, `editRetEKK0101D010`), making it a central hub for error message forwarding in the TV registration subsystem.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["editErrInfoEKK0101D010(params, template, returnCode, fixedText)"])
    START --> STEP1["setControlMapErrInfo(param, template, returnCode)"]
    STEP1 --> GET_MAP["Get HashMap from param.getData(fixedText)"]
    GET_MAP --> FIELD_CHECK{Field Error Check Loop}
    FIELD_CHECK --> SYSID["SYSID_ERR: if not null -> map kk0101_sysid_err"]
    FIELD_CHECK --> SVC_CD["SVC_CD_ERR: if not null -> map kk0101_svc_cd_err"]
    FIELD_CHECK --> MSKM["MSKM_DTL_NO_ERR: if not null -> map kk0101_mskm_dtl_no_err"]
    FIELD_CHECK --> MENKAI["MENKAIHAT_ANKEN_NO_ERR: if not null -> map kk0101_menkaihat_anken_no_err"]
    FIELD_CHECK --> PRC_GRP["PRC_GRP_CD_ERR: if not null -> map kk0101_prc_grp_cd_err"]
    FIELD_CHECK --> PCRS["PCRS_CD_ERR: if not null -> map kk0101_pcrs_cd_err"]
    FIELD_CHECK --> PPLAN["PPPLAN_CD_ERR: if not null -> map kk0101_pplan_cd_err"]
    FIELD_CHECK --> TK_HOS["TK_HOSHIKI_KEI_NO_ERR: if not null -> map kk0101_tk_hoshiki_kei_no_err"]
    FIELD_CHECK --> SVC_USE["SVC_USE_STA_KIBO_YMD_ERR: if not null -> map kk0101_svc_use_sta_kibo_ymd_err"]
    FIELD_CHECK --> RSV_TSTA["RSV_TSTA_KIBO_YMD_ERR: if not null -> map kk0101_rsv_tsta_kibo_ymd_err"]
    FIELD_CHECK --> ID_SOK["ID_SOKHOSHO_OUTPUT_YH_ERR: if not null -> map kk0101_id_sokhosho_output_yh_err"]
    FIELD_CHECK --> PAYWAY["PAYWAY_KEIZOKU_FLG_ERR: if not null -> map kk0101_payway_keizoku_flg_err"]
    FIELD_CHECK --> FTRIAL["FTRIAL_KANYU_YMD_ERR: if not null -> map kk0101_ftrial_kanyu_ymd_err"]
    FIELD_CHECK --> HONKANYU["HONKANYU_YMD_ERR: if not null -> map kk0101_honkanyu_ymd_err"]
    FIELD_CHECK --> HONKANYU_IKO["HONKANYU_IKO_KIGEN_YMD_ERR: if not null -> map kk0101_honkanyu_iko_kigen_ymd_err"]
    FIELD_CHECK --> LETTER_H["LETTER_HASSO_SHIWAKE_DIV_ERR: if not null -> map kk0101_letter_hasso_shiwake_div_err"]
    FIELD_CHECK --> THNX_LET["THNX_LETTER_SHS_CD_ERR: if not null -> map kk0101_thnx_letter_shs_cd_err"]
    FIELD_CHECK --> WEB_OP["WEB_OP_ADD_FAIL_FLG_ERR: if not null -> map kk0101_web_op_add_fail_flg_err"]
    FIELD_CHECK --> CHGE_MT_H["CHGE_MT_HOJINSVKEI_UK_NO_ERR: if not null -> map kk0101_chge_mt_hojinsvkei_uk_no_err"]
    FIELD_CHECK --> CHGE_MT_HPT["CHGE_MT_HOJINSVKEI_UK_NOPT_ERR: if not null -> map kk0101_chge_mt_hojinsvkei_uk_nopt_err"]
    FIELD_CHECK --> PNLTY["PNLTY_HASSEI_CD_ERR: if not null -> map kk0101_pnlty_hassei_cd_err"]
    FIELD_CHECK --> IDO["IDO_DIV_ERR: if not null -> map kk0101_ido_div_err"]
    FIELD_CHECK --> INTR["INTR_CD_ERR: if not null -> map kk0101_intr_cd_err"]
    FIELD_CHECK --> WORK_RRK["WORK_RRK_BIKO_ERR: if not null -> map work_rrk_biko_err"]
    FIELD_CHECK --> AUTO_SHO["AUTO_SHOSA_TRAN_STAT_CD_ERR: if not null -> map kk0101_auto_shosa_tran_stat_cd_err"]
    FIELD_CHECK --> DMPS["DMPS_ANKEN_NO_ERR: if not null -> map kk0101_dmps_anken_no_err"]
    FIELD_CHECK --> RE_SEND["RE_SEND_TK_SVC_SBT_CD_ERR: if not null -> map re_send_tk_svc_sbt_cd"]
    FIELD_CHECK --> TV_BUSI1["TV_BUSINESS_CHIK_CD_ERR: if not null -> map kk0101_tv_business_chik_cd_err"]
    FIELD_CHECK --> TV_BUSI2["TV_BUSINESS_TNT_USER_ID_ERR: if not null -> map kk0101_tv_business_tnt_user_id_err"]
    FIELD_CHECK --> END_NODE["Return param"]
```

**Processing steps:**

1. **Control-map error handling** — Delegates to `setControlMapErrInfo` with the status code extracted from the CBS template and the return code. This sets up the base control-map error metadata on the parameter.
2. **Retrieve working map** — Calls `param.getData(fixedText)` to obtain the HashMap that holds request-scoped data keyed by `fixedText`.
3. **Error field routing** — For each of the 28 error fields defined on the Service Contract (TV) Registration map, the method performs a two-level check:
   - **Outer check**: `!template.isNull(EKK0101D010CBSMsg.XXX_ERR)` — Is there an error message from CBS for this field?
   - **Inner check**: `!inMap.containsKey("kk0101_xxx_err")` — Has this field's error already been mapped (idempotency guard)?
   - **Action**: If both pass, call `template.getString(EKK0101D010CBSMsg.XXX_ERR)` to extract the error message string and store it in the HashMap with the corresponding key.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `param` | `IRequestParameterReadWrite` | The request parameter object carrying business data for the Service Contract (TV) Registration screen. It holds the working HashMap (keyed by `fixedText`) that accumulates error messages to be displayed. Modified in-place via `param.setData()` calls and returned at the end. |
| 2 | `template` | `CAANMsg` | The CBS response message template containing error codes and messages returned from the communication backbone. Each `XXX_ERR` field on this template holds the error string for a specific registration field. Accessed via `template.isNull()` and `template.getString()`. |
| 3 | `returnCode` | `int` | The return code from the CBS invocation, indicating success or the type of error encountered. Passed through to `setControlMapErrInfo` for control-map-level error tracking. |
| 4 | `fixedText` | `String` | The HashMap key used to retrieve the correct working data map from `param.getData()`. This text acts as a namespace discriminator for which data set within the parameter should receive the error mappings. |

**External state accessed:**
- `setControlMapErrInfo(param, status, returnCode)` — Internal method of the same class that manages control-map error metadata.

## 4. CRUD Operations / Called Services

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

The pre-computed evidence lists external data access operations from broader code analysis. However, in this specific method, **no direct data access (CRUD) operations are performed**. All method calls are either internal delegation or template message accessors. The called methods listed in the evidence (e.g., `JBSbatDKNyukaFinAdd.getData`, `JFUeoTelOpTransferCC.getData`, etc.) are called from other methods in the class or its callers, not from within `editErrInfoEKK0101D010`.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `setControlMapErrInfo` | JFUAddSvcKeiTvCC | - | Internal delegation: sets control-map error metadata on param using status code and return code |
| R | `template.getInt` | EKK0101D010CBSMsg | - | Reads STATUS field from CBS response template |
| R | `template.isNull` | EKK0101D010CBSMsg | - | Checks if error message exists for each of 28 CBS error fields |
| R | `template.getString` | EKK0101D010CBSMsg | - | Retrieves error message string from CBS template for fields that have errors |
| R | `param.getData` | IRequestParameterReadWrite | - | Retrieves working HashMap from request parameter by fixedText key |

**Note:** This method performs no direct Create/Read/Update/Delete operations on entities or database tables. It is a pure **data-mapping/transformer** that bridges the CBS response message to the request parameter HashMap. The pre-computed evidence from the code analysis graph reflects broader class-level call chains, not the direct calls within this method body.

## 5. Dependency Trace

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

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Class: JFUAddSvcKeiTvCC | `editErrorInfo` -> `editErrInfoEKK0101D010` | `template.getString [R] CBS error fields` |
| 2 | Class: JFUAddSvcKeiTvCC | `editRetEKK0101D010` -> `editErrInfoEKK0101D010` | `template.getString [R] CBS error fields` |

**Details:**
- Both callers (`editErrorInfo` and `editRetEKK0101D010`) reside in the same `JFUAddSvcKeiTvCC` class, meaning they are part of the same service contract registration workflow.
- No external screen (KKSV) or batch (KKBA) entry points were found within 8 hops of this method.
- This method is a **leaf-level error mapping utility** — it does not initiate further CBS calls or database operations. Its terminal operations are all template field reads (`isNull`, `getString`) from the CBS response message.

## 6. Per-Branch Detail Blocks

**Block 1** — SET `(initialization)` (L3216)

> Calls setControlMapErrInfo to set control-map error metadata, then retrieves the working HashMap.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `param = setControlMapErrInfo(param, template.getInt(EKK0101D010CBSMsg.STATUS), returnCode);` |
| 2 | SET | `HashMap inMap = (HashMap) param.getData(fixedText);` // Retrieve working data map by fixedText key |

**Block 2** — IF [SYSID error check] (L3219)

> ユーザデーター情報 (User data information) — SYSID error field

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.SYSID_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_sysid_err")` |
| 3 | SET | `inMap.put("kk0101_sysid_err", template.getString(EKK0101D010CBSMsg.SYSID_ERR));` |

**Block 3** — IF [SVC_CD error check] (L3227)

> サービスコードのエラー情報返却 — Service Code error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.SVC_CD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_svc_cd_err")` |
| 3 | SET | `inMap.put("kk0101_svc_cd_err", template.getString(EKK0101D010CBSMsg.SVC_CD_ERR));` |

**Block 4** — IF [MSKM_DTL_NO error check] (L3235)

> 申込明細番号のエラー情報返却 — Application detail number error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.MSKM_DTL_NO_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_mskm_dtl_no_err")` |
| 3 | SET | `inMap.put("kk0101_mskm_dtl_no_err", template.getString(EKK0101D010CBSMsg.MSKM_DTL_NO_ERR));` |

**Block 5** — IF [MENKAIHAT_ANKEN_NO error check] (L3243)

> 面開発案件番号のエラー情報返却 — Surface development case number error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.MENKAIHAT_ANKEN_NO_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_menkaihat_anken_no_err")` |
| 3 | SET | `inMap.put("kk0101_menkaihat_anken_no_err", template.getString(EKK0101D010CBSMsg.MENKAIHAT_ANKEN_NO_ERR));` |

**Block 6** — IF [PRC_GRP_CD error check] (L3251)

> 料金グループコードのエラー情報返却 — Pricing group code error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.PRC_GRP_CD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_prc_grp_cd_err")` |
| 3 | SET | `inMap.put("kk0101_prc_grp_cd_err", template.getString(EKK0101D010CBSMsg.PRC_GRP_CD_ERR));` |

**Block 7** — IF [PCRS_CD error check] (L3259)

> 料金コースコードのエラー情報返却 — Pricing course code error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.PCRS_CD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_pcrs_cd_err")` |
| 3 | SET | `inMap.put("kk0101_pcrs_cd_err", template.getString(EKK0101D010CBSMsg.PCRS_CD_ERR));` |

**Block 8** — IF [PPPLAN_CD error check] (L3267)

> 料金プランコードのエラー情報返却 — Pricing plan code error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.PPLAN_CD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_pplan_cd_err")` |
| 3 | SET | `inMap.put("kk0101_pplan_cd_err", template.getString(EKK0101D010CBSMsg.PPLAN_CD_ERR));` |

**Block 9** — IF [TK_HOSHIKI_KEI_NO error check] (L3275)

> 提供方式契約番号のエラー情報返却 — Provision method contract number error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_tk_hoshiki_kei_no_err")` |
| 3 | SET | `inMap.put("kk0101_tk_hoshiki_kei_no_err", template.getString(EKK0101D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR));` |

**Block 10** — IF [SVC_USE_STA_KIBO_YMD error check] (L3283)

> サービス利用開始希望年月日のエラー情報返却 — Service usage start desired date (year/month/day) error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_svc_use_sta_kibo_ymd_err")` |
| 3 | SET | `inMap.put("kk0101_svc_use_sta_kibo_ymd_err", template.getString(EKK0101D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));` |

**Block 11** — IF [RSV_TSTA_KIBO_YMD error check] (L3291)

> 予約適用開始希望年月日のエラー情報返却 — Reservation application start desired date (year/month/day) error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_rsv_tsta_kibo_ymd_err")` |
| 3 | SET | `inMap.put("kk0101_rsv_tsta_kibo_ymd_err", template.getString(EKK0101D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR));` |

**Block 12** — IF [ID_SOKHOSHO_OUTPUT_YH error check] (L3299)

> ID速報書出力要否のエラー情報返却 — ID report output necessity flag error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.ID_SOKHOSHO_OUTPUT_YH_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_id_sokhosho_output_yh_err")` |
| 3 | SET | `inMap.put("kk0101_id_sokhosho_output_yh_err", template.getString(EKK0101D010CBSMsg.ID_SOKHOSHO_OUTPUT_YH_ERR));` |

**Block 13** — IF [PAYWAY_KEIZOKU_FLG error check] (L3307)

> 支払方法継続フラグのエラー情報返却 — Payment method continuation flag error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_payway_keizoku_flg_err")` |
| 3 | SET | `inMap.put("kk0101_payway_keizoku_flg_err", template.getString(EKK0101D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR));` |

**Block 14** — IF [FTRIAL_KANYU_YMD error check] (L3315)

> 試査加入年月日のエラー情報返却 — Trial inspection addition date (year/month/day) error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.FTRIAL_KANYU_YMD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_ftrial_kanyu_ymd_err")` |
| 3 | SET | `inMap.put("kk0101_ftrial_kanyu_ymd_err", template.getString(EKK0101D010CBSMsg.FTRIAL_KANYU_YMD_ERR));` |

**Block 15** — IF [HONKANYU_YMD error check] (L3323)

> 本加入年月日のエラー情報返却 — Full addition date (year/month/day) error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.HONKANYU_YMD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_honkanyu_ymd_err")` |
| 3 | SET | `inMap.put("kk0101_honkanyu_ymd_err", template.getString(EKK0101D010CBSMsg.HONKANYU_YMD_ERR));` |

**Block 16** — IF [HONKANYU_IKO_KIGEN_YMD error check] (L3331)

> 本加入移行期限年月日のエラー情報返却 — Full addition transition deadline date (year/month/day) error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_honkanyu_iko_kigen_ymd_err")` |
| 3 | SET | `inMap.put("kk0101_honkanyu_iko_kigen_ymd_err", template.getString(EKK0101D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));` |

**Block 17** — IF [LETTER_HASSO_SHIWAKE_DIV error check] (L3339)

> レター発送仕区分けのエラー情報返却 — Letter dispatch classification error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.LETTER_HASSO_SHIWAKE_DIV_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_letter_hasso_shiwake_div_err")` |
| 3 | SET | `inMap.put("kk0101_letter_hasso_shiwake_div_err", template.getString(EKK0101D010CBSMsg.LETTER_HASSO_SHIWAKE_DIV_ERR));` |

**Block 18** — IF [THNX_LETTER_SHS_CD error check] (L3347)

> サンプルレター送付先コードのエラー情報返却 — Thank-you letter delivery destination code error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.THNX_LETTER_SHS_CD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_thnx_letter_shs_cd_err")` |
| 3 | SET | `inMap.put("kk0101_thnx_letter_shs_cd_err", template.getString(EKK0101D010CBSMsg.THNX_LETTER_SHS_CD_ERR));` |

**Block 19** — IF [WEB_OP_ADD_FAIL_FLG error check] (L3355)

> WEBオプション追加不可フラグのエラー情報返却 — Web option addition impossible flag error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_web_op_add_fail_flg_err")` |
| 3 | SET | `inMap.put("kk0101_web_op_add_fail_flg_err", template.getString(EKK0101D010CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR));` |

**Block 20** — IF [CHGE_MT_HOJINSVKEI_UK_NO error check] (L3363)

> 変更元法人サービス契約受付番号のエラー情報返却 — Change-source corporation service contract receipt number error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NO_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_chge_mt_hojinsvkei_uk_no_err")` |
| 3 | SET | `inMap.put("kk0101_chge_mt_hojinsvkei_uk_no_err", template.getString(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NO_ERR));` |

**Block 21** — IF [CHGE_MT_HOJINSVKEI_UK_NOPT error check] (L3371)

> 変更元法人サービス契約受付番号子 エラー情報返却 — Change-source corporation service contract receipt number suffix error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NOPT_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_chge_mt_hojinsvkei_uk_nopt_err")` |
| 3 | SET | `inMap.put("kk0101_chge_mt_hojinsvkei_uk_nopt_err", template.getString(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NOPT_ERR));` |

**Block 22** — IF [PNLTY_HASSEI_CD error check] (L3379)

> 違約金発生コードのエラー情報返却 — Penalty occurrence code error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.PNLTY_HASSEI_CD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_pnlty_hassei_cd_err")` |
| 3 | SET | `inMap.put("kk0101_pnlty_hassei_cd_err", template.getString(EKK0101D010CBSMsg.PNLTY_HASSEI_CD_ERR));` |

**Block 23** — IF [IDO_DIV error check] (L3387)

> 異動区分のエラー情報返却 — Movement classification error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.IDO_DIV_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_ido_div_err")` |
| 3 | SET | `inMap.put("kk0101_ido_div_err", template.getString(EKK0101D010CBSMsg.IDO_DIV_ERR));` |

**Block 24** — IF [INTR_CD error check] (L3395)

> 紹介コードのエラー情報返却 — Referral code error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.INTR_CD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_intr_cd_err")` |
| 3 | SET | `inMap.put("kk0101_intr_cd_err", template.getString(EKK0101D010CBSMsg.INTR_CD_ERR));` |

**Block 25** — IF [WORK_RRK_BIKO error check] (L3403)

> 業務連絡備考のエラー情報返却 — Business correspondence remarks error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.WORK_RRK_BIKO_ERR)` |
| 2 | IF | `!inMap.containsKey("work_rrk_biko_err")` |
| 3 | SET | `inMap.put("work_rrk_biko_err", template.getString(EKK0101D010CBSMsg.WORK_RRK_BIKO_ERR));` |

**Block 26** — IF [AUTO_SHOSA_TRAN_STAT_CD error check] (L3411)

> 自動照会処理状態コードのエラー情報返却 — Automatic inquiry processing status code error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.AUTO_SHOSA_TRAN_STAT_CD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_auto_shosa_tran_stat_cd_err")` |
| 3 | SET | `inMap.put("kk0101_auto_shosa_tran_stat_cd_err", template.getString(EKK0101D010CBSMsg.AUTO_SHOSA_TRAN_STAT_CD_ERR));` |

**Block 27** — IF [DMPS_ANKEN_NO error check] (L3419)

> 電波障害案件番号のエラー情報返却 — Radio wave disaster case number error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.DMPS_ANKEN_NO_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_dmps_anken_no_err")` |
| 3 | SET | `inMap.put("kk0101_dmps_anken_no_err", template.getString(EKK0101D010CBSMsg.DMPS_ANKEN_NO_ERR));` |

**Block 28** — IF [RE_SEND_TK_SVC_SBT_CD error check] — Internal Affairs Interfacing (2012/05/07 h.iwamoto) (L3428)

> 再送信提供サービス種類コードのエラー情報返却 — Re-sent provision service type code error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.RE_SEND_TK_SVC_SBT_CD_ERR)` |
| 2 | IF | `!inMap.containsKey("re_send_tk_svc_sbt_cd")` |
| 3 | SET | `inMap.put("re_send_tk_svc_sbt_cd", template.getString(EKK0101D010CBSMsg.RE_SEND_TK_SVC_SBT_CD_ERR));` |

**Block 29** — IF [TV_BUSINESS_CHIK_CD error check] (L3437)

> TV営業地区コードのエラー情報返却 — TV business district code error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.TV_BUSINESS_CHIK_CD_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_tv_business_chik_cd_err")` |
| 3 | SET | `inMap.put("kk0101_tv_business_chik_cd_err", template.getString(EKK0101D010CBSMsg.TV_BUSINESS_CHIK_CD_ERR));` |

**Block 30** — IF [TV_BUSINESS_TNT_USER_ID error check] (L3445)

> TV営業担当ユーザーIDのエラー情報返却 — TV business responsible user ID error

| # | Type | Code |
|---|------|------|
| 1 | IF | `!template.isNull(EKK0101D010CBSMsg.TV_BUSINESS_TNT_USER_ID_ERR)` |
| 2 | IF | `!inMap.containsKey("kk0101_tv_business_tnt_user_id_err")` |
| 3 | SET | `inMap.put("kk0101_tv_business_tnt_user_id_err", template.getString(EKK0101D010CBSMsg.TV_BUSINESS_TNT_USER_ID_ERR));` |

**Block 31** — RETURN (L3453)

> param を返却して処理終了 — Return param and end processing

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

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `SYSID_ERR` | Field | System ID error — error message for the system identifier field on the service contract registration |
| `SVC_CD_ERR` | Field | Service code error — error message for the service code (e.g., FTTH, Mail) |
| `MSKM_DTL_NO_ERR` | Field | Application detail number error — error message for the application line item/detail number |
| `MENKAIHAT_ANKEN_NO_ERR` | Field | Surface development case number error — error message for the surface development case number |
| `PRC_GRP_CD_ERR` | Field | Pricing group code error — error message for the pricing/grouping code |
| `PCRS_CD_ERR` | Field | Pricing course code error — error message for the pricing course code |
| `PPPLAN_CD_ERR` | Field | Pricing plan code error — error message for the pricing plan code |
| `TK_HOSHIKI_KEI_NO_ERR` | Field | Provision method contract number error — error message for the provision method contract number |
| `SVC_USE_STA_KIBO_YMD_ERR` | Field | Service usage start desired date error — error message for the desired service start date (year/month/day) |
| `RSV_TSTA_KIBO_YMD_ERR` | Field | Reservation application start desired date error — error message for the reservation application start date |
| `ID_SOKHOSHO_OUTPUT_YH_ERR` | Field | ID report output necessity flag error — error message for the ID report output requirement flag |
| `PAYWAY_KEIZOKU_FLG_ERR` | Field | Payment method continuation flag error — error message for whether the payment method continues |
| `FTRIAL_KANYU_YMD_ERR` | Field | Trial inspection addition date error — error message for the trial addition date |
| `HONKANYU_YMD_ERR` | Field | Full addition date error — error message for the full (official) service addition date |
| `HONKANYU_IKO_KIGEN_YMD_ERR` | Field | Full addition transition deadline date error — error message for the transition deadline to full service |
| `LETTER_HASSO_SHIWAKE_DIV_ERR` | Field | Letter dispatch classification error — error message for the letter dispatch classification |
| `THNX_LETTER_SHS_CD_ERR` | Field | Thank-you letter delivery destination code error — error message for the thank-you letter delivery code |
| `WEB_OP_ADD_FAIL_FLG_ERR` | Field | Web option addition impossible flag error — error message for the flag indicating web option addition is not possible |
| `CHGE_MT_HOJINSVKEI_UK_NO_ERR` | Field | Change-source corporation service contract receipt number error — error message for the service contract number being changed from |
| `CHGE_MT_HOJINSVKEI_UK_NOPT_ERR` | Field | Change-source corporation service contract receipt number suffix error — error message for the suffix of the change-source contract number |
| `PNLTY_HASSEI_CD_ERR` | Field | Penalty occurrence code error — error message for the penalty/late fee occurrence code |
| `IDO_DIV_ERR` | Field | Movement classification error — error message for the type of service change/movement (new, modify, cancel) |
| `INTR_CD_ERR` | Field | Referral code error — error message for the referral code |
| `WORK_RRK_BIKO_ERR` | Field | Business correspondence remarks error — error message for business correspondence notes |
| `AUTO_SHOSA_TRAN_STAT_CD_ERR` | Field | Automatic inquiry processing status code error — error message for the automatic inquiry processing status |
| `DMPS_ANKEN_NO_ERR` | Field | Radio wave disaster case number error — error message for the radio wave disaster case number |
| `RE_SEND_TK_SVC_SBT_CD_ERR` | Field | Re-sent provision service type code error — error message for the re-transmitted provision service type (added 2012/05/07) |
| `TV_BUSINESS_CHIK_CD_ERR` | Field | TV business district code error — error message for the TV business district code |
| `TV_BUSINESS_TNT_USER_ID_ERR` | Field | TV business responsible user ID error — error message for the TV business responsible user ID |
| EKK0101D010 | CBS ID | Communication Backbone System interface ID for Service Contract (TV) Registration error info |
| CAANMsg | Class | Message class representing CBS request/response data with field accessors (`isNull`, `getString`, `getInt`) |
| IRequestParameterReadWrite | Interface | Request parameter interface holding business data between layers via `getData`/`setData` methods |
| TV | Business term | Television — in this context, refers to the TV service category in NTT's telecom product portfolio (bundled TV + internet services) |
| CBS | Acronym | Communication Backbone System — the middleware/ESB layer that handles asynchronous service calls and responses |
| SVC | Field prefix | Service — short for `svc_kei_ucwk_no` (service detail work number), an internal tracking ID |
| FLG | Suffix | Flag — boolean indicator field (e.g., `PAYWAY_KEIZOKU_FLG` = payment method continuation flag) |
| YMD | Suffix | Year/Month/Date — date field stored as year-month-day (e.g., `SVC_USE_STA_KIBO_YMD` = service start desired date) |
| CD | Suffix | Code — categorical classification code (e.g., `SVC_CD` = service code, `INTR_CD` = referral code) |
| DIV | Suffix | Division — classification or category code (e.g., `IDO_DIV` = movement classification) |
| NO | Suffix | Number — identifier or sequence number (e.g., `MSKM_DTL_NO` = application detail number) |
| 申込明細番号 | Japanese field | Application detail number — unique identifier for each line item in a service application |
| 面開発案件番号 | Japanese field | Surface development case number — case number for surface-level development operations |
| 提供方式契約番号 | Japanese field | Provision method contract number — contract number identifying the method of service provision |
| サービス利用開始希望年月日 | Japanese field | Service usage start desired date — customer's desired service start date |
| 予約適用開始希望年月日 | Japanese field | Reservation application start desired date — date when reservation benefits should start |
| 違約金発生コード | Japanese field | Penalty occurrence code — code indicating whether/why a cancellation penalty was charged |
| 異動区分 | Japanese field | Movement classification — type of service change (e.g., new installation, modification, cancellation) |
| 自動照会処理状態コード | Japanese field | Automatic inquiry processing status code — status of an automated inquiry process |
| 電波障害案件番号 | Japanese field | Radio wave disaster case number — case number associated with radio signal interference/disaster events |
| 再送信提供サービス種類コード | Japanese field | Re-sent provision service type code — code identifying a service that was re-transmitted (internal affairs interfacing) |
| TV営業地区コード | Japanese field | TV business district code — geographic district code for TV business operations |
| TV営業担当ユーザーID | Japanese field | TV business responsible user ID — user ID of the TV business operator responsible for this account |
| setControlMapErrInfo | Method | Internal method that sets control-map level error metadata on the request parameter |
