# Business Logic — JKKCancelSvcKeiMapperCC.mappingEKK0341C230InMsg() [241 LOC]

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

## 1. Role

### JKKCancelSvcKeiMapperCC.mappingEKK0341C230InMsg()

This method is the inbound message mapper for the EKK0341C230 service component interface (SIF). Its business purpose is to construct a fully-populated CAANMsg request payload for cancelling or updating a service contract line item (サービス契約) within the machine-provisioned broadband service cancellation workflow (機器提供サービス解約). It takes a pre-existing inquiry result (`EKK0341A010Msg`) -- which holds the current machine-provision service contract details retrieved from the database -- and copies all 55+ relevant fields into the output `template` message that will be sent to the EKK0341C230 SC (Service Component).

The method implements the **mapper/delegate design pattern**: it is a pure data-transformation utility with no conditional branching, no database access, and no business-rule logic. It serially null-maps the template, sets structural metadata (template ID, function code), then copies every field from the inquiry result into the target message in a deterministic linear sequence.

Its role in the larger system is as a shared mapping utility invoked by `JKKCancelSvcKeiCC.callEKK0341C230SC()` during the tablet-end / tablet-craddle equipment delivery-stop cancellation flow (配送中止取消 -- "Delivery Cancellation"). The caller builds the `EKK0341A010Msg` by querying the contract database, then passes it to this mapper to produce the SC input, which triggers a downstream SC invocation that updates the service contract line item.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["mappingEKK0341C230InMsg start"])
    S1["fillCAANMSGNullMapping<br/>Null-map template with EKK0341C230CBSMsg defaults"]
    S2["set TEMPLATEID<br/>TEMPLATE_ID_EKK0341C230 = EKK0341C230"]
    S3["set FUNC_CODE<br/>'1' (Check & Register)"]
    S4["Copy fields from EKK0341A010Msg to template<br/>(machine contract no, type code, sales type, model, serial, HDD, STB, delivery addr, install addr, trial, billing, etc.)"]
    S5["set UPD_DTM_BF<br/>updDtm parameter"]
    S6["set KIKI_SHS_AD_MAN_INPUT_FLG<br/>from EKK0341A010Msg"]
    S7["set KAISHU_KIKI_UM<br/>from EKK0341A010Msg"]
    S8["set SVC_STA_JI_HIS_JOKYO_SKCD<br/>svcStaJiHsjksbCd parameter"]
    END_NODE(["Return void / Next"])

    START --> S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7 --> S8 --> END_NODE
```

**Processing steps:**

| Step | Type | Description |
|------|------|-------------|
| S1 | EXEC | `fillCAANMSGNullMapping(template, ...)` -- Null-map all fields in the template against the default structure of `EKK0341C230CBSMsg`. This ensures every field defined in the CBS message schema exists in the template, even if set to `null`. (まずは全条件のNullマッピング -- "First, null-map all conditions") |
| S2 | SET | `template.set(TEMPLATEID, "EKK0341C230")` -- Set the template/SIF ID to identify this message as an EKK0341C230 request. (テンプレートID -- "Template ID (SIF ID)") |
| S3 | SET | `template.set(FUNC_CODE, "1")` -- Set function code to "1" which means "Check & Register" (チェック＆登録). (機能コード -- チェック＆登録 -- "Function code -- Check & Register") |
| S4 | SET x50 | Copy ~50 fields from `EKK0341A010Msg` into `template`: `KKTK_SVC_KEI_NO` (machine provision service contract no.), `KKTK_SBT_CD` (machine provision type code), `HAMBAI_SBT_CD` (sales type code), `TAKNKIKI_MODEL_CD` (indoor device model code), `KIKI_SEIZO_NO` (device serial number), `HDD_CAPA_CD` (HDD capacity code), `TSUSHIN_KIKI_SET_CD` (communication device set code), `LINK_STB_FLG` (link STB flag), `KIKI_HKAT_SHITEI_SOKO_CD` / `SKDN_CD` (device assignment designated warehouse), `KIKI_SORYO_UM` (device delivery fee yes/no), delivery sender address fields (`KIKI_SOHUS_NM` through `KIKI_SOHUS_ADRTTM`), delivery sender phone, contract-addr discrepancy flag, individual delivery sender flag, install sender name/address/phone fields (`KIKI_STC_SAKI_*`), install sender sorting flag, `AD_MI_FIX_FLG` (address undecided flag), `HAISO_DIV` (delivery division), trial fields (`FTRIAL_KANYU_YMD`, `FTRIAL_PRD_ENDYMD`), installation fields (`HONKANYU_YMD`, `HONKANYU_IKO_KIGEN_YMD`), `HOSHO_CD` (guarantee code), `PNLTY_HASSEI_CD` (penalty occurrence code), `IDO_DIV` (displacement division), `CAS_CARD_USE_KYODAK_YMD` (CAS card usage contract date), `KIKI_HUKA_INFO_CD` (device additional info code), `HAISO_WAY_CD` (delivery method code), `KIKI_ITENS_MV_JSSIS_SKCD` (device transfer mobile operator ID), `HAISO_REQ_SHITEI_YMD` (delivery request date). |
| S5 | SET | `template.set(UPD_DTM_BF, updDtm)` -- Set the pre-update timestamp. (更新年月日时分秒(更新前) -- "Update date/time/seconds (before update)") |
| S6 | SET | `template.set(KIKI_SHS_AD_MAN_INPUT_FLG, ...)` -- Copy from `EKK0341A010Msg`: delivery sender address manual input flag. (機器送付先住所手入力フラグ -- "Device delivery sender address manual input flag") |
| S7 | SET | `template.set(KAISHU_KIKI_UM, ...)` -- Copy from `EKK0341A010Msg`: returned device yes/no. (回収機器有無 -- "Returned device presence") |
| S8 | SET | `template.set(SVC_STA_JI_HIS_JOKYO_SKCD, svcStaJiHsjksbCd)` -- Set the service-start delivery-status identification code from parameter. (サービス開始時配送状況識別コード -- "Service start delivery status identification code") |

**No conditional branches exist.** This is a fully sequential, linear mapping with exactly 55 `template.set()` operations executed in fixed order.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `template` | `CAANMsg` | The outbound message object (SIF request payload) for EKK0341C230. This is the target message that gets populated and subsequently sent to the SC. Created by the caller as `new CAANMsg(EKK0341C230CBSMsg.class.getName())`. |
| 2 | `svcStaJiHsjksbCd` | `String` | Service start delivery status identification code (サービス開始時配送状況識別コード). Indicates the delivery status context at service start, e.g., `SVC_STA_JI_HIS_TG_SKCD_TG` (target), `SVC_STA_JI_HIS_JOKYO_SKCD_1`, or empty string. Value depends on the caller's scenario (tablet-end cancellation, credit card update, etc.). |
| 3 | `updDtm` | `String` | Update date/time (更新日時). The timestamp BEFORE the current update -- the "last update datetime" of the contract record. Passed as `UPD_DTM_BF` (pre-update timestamp) in the output. Used by the SC for optimistic locking or audit trail purposes. |
| 4 | `EKK0341A010Msg` | `CAANMsg` | Machine provision service contract single inquiry result data (機器提供サービス契約一意照会結果データ). This is the query result from `EKK0341A010SC` -- it contains the current state of the machine-provisioned service contract record (contract number, device info, delivery/install addresses, billing info, etc.) that will be copied field-by-field into the cancel/update request. |

**External state / instance fields read:** None. This method is entirely stateless -- it does not read any instance fields, static state, or environment context beyond its parameters.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JKKCancelSvcKeiMapperCC.fillCAANMSGNullMapping` | - | - | Null-maps all fields of the template message against the EKK0341C230CBSMsg schema. Internal mapping utility. |
| R | `JKKCancelSvcKeiMapperCC.getContents` | - | - | Called via `new EKK0341C230CBSMsg().getContents()` to retrieve the default field structure (Object[][]) for null-mapping. |
| R | `EKK0341A010CBSMsg1List.getString` | EKK0341A010SC (inquiry) | Contract data | 50+ `getString` calls to read fields from the inquiry result message `EKK0341A010Msg`. |

This method performs **zero direct database operations**. It is a pure message mapper that copies data between two in-memory `CAANMsg` objects and writes to the template parameter. The underlying data originates from the `EKK0341A010SC` (service inquiry SC) which is called by the caller (`callEKK0341C230SC`) before this method is invoked.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `fillCAANMSGNullMapping` | - | - | Sets all fields of template to null based on CBS message default schema |
| R | `EKK0341A010CBSMsg1List.getString` (x50+) | EKK0341A010SC | In-memory CAANMsg data | Reads ~50 fields from the inquiry result message |
| R | `EKK0341C230CBSMsg.getContents` | - | - | Retrieves the default field definitions for null-mapping |

## 5. Dependency Trace

No screen/batch entry points found within 8 hops. Direct callers found: 1 method.
Terminal operations from this method: `getString` [R], `getString` [R], `getString` [R]... (50+ `getString` reads from `EKK0341A010Msg`).

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CBS: `JKKCancelSvcKeiCC.callEKK0341C230SC` | `callEKK0341C230SC(param, handle, EKK0341A010Msg, svcStaJiHisJkSkCd, updDtm, resultHash)` -> `cancelSvcKeiMapper.mappingEKK0341C230InMsg(template, svcStaJiHisJkSkCd, updDtm, EKK0341A010Msg)` | `getString [R] CAANMsg(EKK0341A010Msg)` |

**Caller context:** `JKKCancelSvcKeiCC.callEKK0341C230SC()` is a private CBS method invoked during the tablet-end / tablet-craddle equipment delivery-stop cancellation flow. It is itself called from `updKktkSvcTblt()` (L10570), which handles "配送中止取消 (タブレット端末、タブレット用クレードル機器)" -- "Delivery Stop Cancellation (tablet terminal, tablet craddle device)". The caller builds the inquiry result `EKK0341A010Msg` by calling `JKKBpCommon.searchKktkSvcKei()`, which queries the database for the current machine-provision service contract.

## 6. Per-Branch Detail Blocks

This method has **no conditional branches** (no `if`, `else`, `switch`, `for`, `while`, `try/catch`). It is a fully sequential, linear mapping method with a fixed order of operations. The entire body is a single linear block.

**Block 1** — [SEQUENCE] (L5229)

> Set up the EKK0341C230 inbound message: null-map, set metadata, copy all inquiry result fields into the template.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `fillCAANMSGNullMapping(template, new EKK0341C230CBSMsg().getContents())` // Set all fields to null per CBS schema // (まずは全条件のNullマッピング -- "First, null-map all conditions") |
| 2 | SET | `template.set(TEMPLATEID, "EKK0341C230")` // [-> `TEMPLATE_ID_EKK0341C230 = "EKK0341C230"` in JKKAdInfChgConstCC] // テンプレートID(SIFのID) -- "Template ID (SIF ID)" |
| 3 | SET | `template.set(FUNC_CODE, "1")` // 機能コード -- チェック＆登録 -- "Function code -- Check & Register" |
| 4 | SET | `template.set(KKTK_SVC_KEI_NO, EKK0341A010Msg.getString(KKTK_SVC_KEI_NO))` // 機器提供サービス契約番号 -- "Machine provision service contract number" |
| 5 | SET | `template.set(KKTK_SBT_CD, EKK0341A010Msg.getString(KKTK_SBT_CD))` // 機器提供種類コード -- "Machine provision type code" |
| 6 | SET | `template.set(HAMBAI_SBT_CD, EKK0341A010Msg.getString(HAMBAI_SBT_CD))` // 販売種類コード -- "Sales type code" |
| 7 | SET | `template.set(TAKNKIKI_MODEL_CD, EKK0341A010Msg.getString(TAKNKIKI_MODEL_CD))` // 家電機器型番コード -- "Indoor device model code" |
| 8 | SET | `template.set(KIKI_SEIZO_NO, EKK0341A010Msg.getString(KIKI_SEIZO_NO))` // 機器製造番号 -- "Device serial number" |
| 9 | SET | `template.set(HDD_CAPA_CD, EKK0341A010Msg.getString(HDD_CAPA_CD))` // HDD容量コード -- "HDD capacity code" |
| 10 | SET | `template.set(TSUSHIN_KIKI_SET_CD, EKK0341A010Msg.getString(TSUSHIN_KIKI_SET_CD))` // 通信機器セットコード -- "Communication device set code" |
| 11 | SET | `template.set(LINK_STB_FLG, EKK0341A010Msg.getString(LINK_STB_FLG))` // リンクSTBフラグ -- "Link STB flag" |
| 12 | SET | `template.set(KIKI_HKAT_SHITEI_SOKO_CD, EKK0341A010Msg.getString(KIKI_HKAT_SHITEI_SOKO_CD))` // 機器引当指定倉庫コード -- "Device assignment designated warehouse code" |
| 13 | SET | `template.set(KIKI_HKAT_SHITEI_SKDN_CD, EKK0341A010Msg.getString(KIKI_HKAT_SHITEI_SKDN_CD))` // 機器引当指定倉庫棟コード -- "Device assignment designated warehouse building code" |
| 14 | SET | `template.set(KIKI_SORYO_UM, EKK0341A010Msg.getString(KIKI_SORYO_UM))` // 機器送付有無 -- "Device delivery fee yes/no" |
| 15 | SET | `template.set(KIKI_SOHUS_NM, EKK0341A010Msg.getString(KIKI_SOHUS_NM))` // 機器送付先名前 -- "Device delivery sender name" |
| 16 | SET | `template.set(KIKI_SOHUS_KANA, EKK0341A010Msg.getString(KIKI_SOHUS_KANA))` // 機器送付先カナ名 -- "Device delivery sender katakana name" |
| 17 | SET | `template.set(KIKI_SOHUS_AD_CD, EKK0341A010Msg.getString(KIKI_SOHUS_AD_CD))` // 機器送付先住所コード -- "Device delivery sender address code" |
| 18 | SET | `template.set(KIKI_SOHUS_PCD, EKK0341A010Msg.getString(KIKI_SOHUS_PCD))` // 機器送付先郵便番号 -- "Device delivery sender postal code" |
| 19 | SET | `template.set(KIKI_SOHUS_STATE_NM, EKK0341A010Msg.getString(KIKI_SOHUS_STATE_NM))` // 機器送付先都道府県名 -- "Device delivery sender prefecture name" |
| 20 | SET | `template.set(KIKI_SOHUS_CITY_NM, EKK0341A010Msg.getString(KIKI_SOHUS_CITY_NM))` // 機器送付先市区町村名 -- "Device delivery sender city/town name" |
| 21 | SET | `template.set(KIKI_SOHUS_OAZTSU_NM, EKK0341A010Msg.getString(KIKI_SOHUS_OAZTSU_NM))` // 機器送付先大字通名称 -- "Device delivery sender oaza/road name" |
| 22 | SET | `template.set(KIKI_SOHUS_AZCHO_NM, EKK0341A010Msg.getString(KIKI_SOHUS_AZCHO_NM))` // 機器送付先字丁目名 -- "Device delivery sender chome name" |
| 23 | SET | `template.set(KIKI_SOHUS_BNCHIGO, EKK0341A010Msg.getString(KIKI_SOHUS_BNCHIGO))` // 機器送付先番号号 -- "Device delivery sender lot number" |
| 24 | SET | `template.set(KIKI_SOHUS_ADRTTM, EKK0341A010Msg.getString(KIKI_SOHUS_ADRTTM))` // 機器送付先住所補記・建物名 -- "Device delivery sender address supplement/building name" |
| 25 | SET | `template.set(KIKI_SOHUS_ADRRM, EKK0341A010Msg.getString(KIKI_SOHUS_ADRRM))` // 機器送付先住所補記・部屋番号 -- "Device delivery sender address supplement/room number" |
| 26 | SET | `template.set(KIKI_SOHUS_TELNO, EKK0341A010Msg.getString(KIKI_SOHUS_TELNO))` // 機器送付先電話番号 -- "Device delivery sender phone number" |
| 27 | SET | `template.set(KIKI_SOHUS_KSH_AD_SAI_FLG, EKK0341A010Msg.getString(KIKI_SOHUS_KSH_AD_SAI_FLG))` // 機器送付先_契約者住所差異フラグ -- "Device delivery sender -- contract-addr discrepancy flag" |
| 28 | SET | `template.set(KIKI_SHS_KBT_SHITEI_FLG, EKK0341A010Msg.getString(KIKI_SHS_KBT_SHITEI_FLG))` // 機器送付先個別指定フラグ -- "Device delivery sender individual specification flag" |
| 29 | SET | `template.set(KIKI_STC_SAKI_NM, EKK0341A010Msg.getString(KIKI_STC_SAKI_NM))` // 機器設置先名前 -- "Device install location name" |
| 30 | SET | `template.set(KIKI_STC_SAKI_KANA, EKK0341A010Msg.getString(KIKI_STC_SAKI_KANA))` // 機器設置先カナ名 -- "Device install location katakana name" |
| 31 | SET | `template.set(KIKI_STC_SAKI_AD_CD, EKK0341A010Msg.getString(KIKI_STC_SAKI_AD_CD))` // 機器設置先住所コード -- "Device install location address code" |
| 32 | SET | `template.set(KIKI_STC_SAKI_PCD, EKK0341A010Msg.getString(KIKI_STC_SAKI_PCD))` // 機器設置先郵便番号 -- "Device install location postal code" |
| 33 | SET | `template.set(KIKI_STC_SAKI_STATE_NM, EKK0341A010Msg.getString(KIKI_STC_SAKI_STATE_NM))` // 機器設置先都道府県名 -- "Device install location prefecture name" |
| 34 | SET | `template.set(KIKI_STC_SAKI_CITY_NM, EKK0341A010Msg.getString(KIKI_STC_SAKI_CITY_NM))` // 機器設置先市区町村名 -- "Device install location city name" |
| 35 | SET | `template.set(KIKI_STC_SAKI_OAZTSU_NM, EKK0341A010Msg.getString(KIKI_STC_SAKI_OAZTSU_NM))` // 機器設置先大字通名称 -- "Device install location oaza/road name" |
| 36 | SET | `template.set(KIKI_STC_SAKI_AZCHO_NM, EKK0341A010Msg.getString(KIKI_STC_SAKI_AZCHO_NM))` // 機器設置先字丁目名 -- "Device install location chome name" |
| 37 | SET | `template.set(KIKI_STC_SAKI_BNCHIGO, EKK0341A010Msg.getString(KIKI_STC_SAKI_BNCHIGO))` // 機器設置先番号号 -- "Device install location lot number" |
| 38 | SET | `template.set(KIKI_STC_SAKI_ADRTTM, EKK0341A010Msg.getString(KIKI_STC_SAKI_ADRTTM))` // 機器設置先住所補記・建物名 -- "Device install location address supplement/building name" |
| 39 | SET | `template.set(KIKI_STC_SAKI_ADRRM, EKK0341A010Msg.getString(KIKI_STC_SAKI_ADRRM))` // 機器設置先住所補記・部屋番号 -- "Device install location address supplement/room number" |
| 40 | SET | `template.set(KIKI_STC_SK_KSH_AD_SAI_FLG, EKK0341A010Msg.getString(KIKI_STC_SK_KSH_AD_SAI_FLG))` // 機器設置先_契約者住所差異フラグ -- "Device install location -- contract-addr discrepancy flag" |
| 41 | SET | `template.set(KIKI_STC_SK_TELNO, EKK0341A010Msg.getString(KIKI_STC_SK_TELNO))` // 機器設置先電話番号 -- "Device install location phone number" |
| 42 | SET | `template.set(KIKI_STS_KKK_SEIRI_CHU_FLG, EKK0341A010Msg.getString(KIKI_STS_KKK_SEIRI_CHU_FLG))` // 機器設置先区画整理中フラグ -- "Device install location land readjustment flag" |
| 43 | SET | `template.set(AD_MI_FIX_FLG, EKK0341A010Msg.getString(AD_MI_FIX_FLG))` // 住所未確定フラグ -- "Address undecided flag" |
| 44 | SET | `template.set(HAISO_DIV, EKK0341A010Msg.getString(HAISO_DIV))` // 配送区分 -- "Delivery division" |
| 45 | SET | `template.set(FTRIAL_KANYU_YMD, EKK0341A010Msg.getString(FTRIAL_KANYU_YMD))` // 試検加入年月日 -- "Trial service enrollment date" |
| 46 | SET | `template.set(FTRIAL_PRD_ENDYMD, EKK0341A010Msg.getString(FTRIAL_PRD_ENDYMD))` // 試検期間終了年月日 -- "Trial service period end date" |
| 47 | SET | `template.set(HONKANYU_YMD, EKK0341A010Msg.getString(HONKANYU_YMD))` // 本加入年月日 -- "Full service enrollment date" |
| 48 | SET | `template.set(HONKANYU_IKO_KIGEN_YMD, EKK0341A010Msg.getString(HONKANYU_IKO_KIGEN_YMD))` // 本加入移行期限年月日 -- "Full service migration deadline date" |
| 49 | SET | `template.set(HOSHO_CD, EKK0341A010Msg.getString(HOSHO_CD))` // 保証コード -- "Guarantee code" |
| 50 | SET | `template.set(PNLTY_HASSEI_CD, EKK0341A010Msg.getString(PNLTY_HASSEI_CD))` // 違約金発生コード -- "Penalty occurrence code" |
| 51 | SET | `template.set(IDO_DIV, EKK0341A010Msg.getString(IDO_DIV))` // 異動区分 -- "Displacement division (change/move type)" |
| 52 | SET | `template.set(CAS_CARD_USE_KYODAK_YMD, EKK0341A010Msg.getString(CAS_CARD_USE_KYODAK_YMD))` // CASカード使用予約年月日 -- "CAS card usage reservation date" |
| 53 | SET | `template.set(KIKI_HUKA_INFO_CD, EKK0341A010Msg.getString(KIKI_HUKA_INFO_CD))` // 機器付加情報コード -- "Device additional info code" |
| 54 | SET | `template.set(HAISO_WAY_CD, EKK0341A010Msg.getString(HAISO_WAY_CD))` // 配送方法コード -- "Delivery method code" |
| 55 | SET | `template.set(KIKI_ITENS_MV_JSSIS_SKCD, EKK0341A010Msg.getString(KIKI_ITENS_MV_JSSIS_SKCD))` // 機器移転先移動事業者識別コード -- "Device transfer destination mobile operator ID" |
| 56 | SET | `template.set(HAISO_REQ_SHITEI_YMD, EKK0341A010Msg.getString(HAISO_REQ_SHITEI_YMD))` // 配送依存指定年月日 -- "Delivery request date" |
| 57 | SET | `template.set(UPD_DTM_BF, updDtm)` // 更新年月日时分秒(更新前) -- "Update datetime (pre-update)" |
| 58 | SET | `template.set(KIKI_SHS_AD_MAN_INPUT_FLG, EKK0341A010Msg.getString(KIKI_SHS_AD_MAN_INPUT_FLG))` // 機器送付先住所手入力フラグ -- "Device delivery sender address manual input flag" |
| 59 | SET | `template.set(KAISHU_KIKI_UM, EKK0341A010Msg.getString(KAISHU_KIKI_UM))` // 回収機器有無 -- "Returned device presence" |
| 60 | SET | `template.set(SVC_STA_JI_HIS_JOKYO_SKCD, svcStaJiHsjksbCd)` // サービス開始時配送状況識別コード -- "Service start delivery status identification code" |
| 61 | RETURN | `return;` // void -- "Method complete, returns to caller" |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| EKK0341C230 | SC Code | Service Component for machine-provision service contract update/cancellation. Invoked via SIF (Service Interface). |
| EKK0341A010 | SC Code | Machine provision service contract single inquiry SC -- queries a single contract record by key. |
| CAANMsg | Type | Fujitsu application message wrapper used for SIF interface data exchange between CBS and SC layers. |
| TEMPLATE_ID_EKK0341C230 | Constant | `"EKK0341C230"` -- The SIF template identifier for this message type. |
| FUNC_CODE | Field | Function code field in the SIF message. `"1"` means "Check & Register" -- validate data then persist. |
| KKTK_SVC_KEI_NO | Field | Machine provision service contract number -- unique identifier for a service contract line item on a machine-provisioned device. |
| KKTK_SBT_CD | Field | Machine provision type code -- classifies the type of machine provision (e.g., FTTH router, tablet, set-top box). |
| HAMBAI_SBT_CD | Field | Sales type code -- indicates the sales channel or type (direct, partner, etc.). |
| TAKNKIKI_MODEL_CD | Field | Indoor device model code -- hardware model identifier for the indoor unit. |
| KIKI_SEIZO_NO | Field | Device serial number -- unique manufacturing serial for the hardware unit. |
| HDD_CAPA_CD | Field | HDD capacity code -- indicates hard drive capacity tier. |
| TSUSHIN_KIKI_SET_CD | Field | Communication device set code -- identifies a set of communication hardware (e.g., modem+STB bundle). |
| LINK_STB_FLG | Field | Link STB flag -- indicates whether an STB (Set-Top Box) is linked to this contract. |
| KIKI_SORYO_UM | Field | Device delivery fee yes/no -- whether a delivery fee applies. `UM` likely stands for "Uridashi/Noarai" (billing/debit). |
| KIKI_SOHUS_* | Field group | Device delivery sender fields -- the person/entity to whom the device is shipped (name, katakana, address, phone). |
| KIKI_STC_SAKI_* | Field group | Device install location fields -- the location where the device will be installed (name, address, phone). |
| KIKI_SOHUS_KSH_AD_SAI_FLG | Field | Device delivery sender -- contract-addr discrepancy flag. Whether the delivery address differs from the contract address. |
| KIKI_STC_SK_KSH_AD_SAI_FLG | Field | Device install location -- contract-addr discrepancy flag. Whether the install address differs from the contract address. |
| AD_MI_FIX_FLG | Field | Address undecided flag -- indicates the address has not been finalized yet. |
| HAISO_DIV | Field | Delivery division -- classification of delivery type (e.g., standard, express). |
| FTRIAL_KANYU_YMD | Field | Trial service enrollment date (試検加入年月日). |
| FTRIAL_PRD_ENDYMD | Field | Trial service period end date (試検期間終了年月日). |
| HONKANYU_YMD | Field | Full service enrollment date (本加入年月日). |
| HONKANYU_IKO_KIGEN_YMD | Field | Full service migration deadline date (本加入移行期限年月日). |
| HOSHO_CD | Field | Guarantee code (保証コード) -- warranty/guarantee type classification. |
| PNLTY_HASSEI_CD | Field | Penalty occurrence code (違約金発生コード) -- indicates whether early-termination penalty applies. |
| IDO_DIV | Field | Displacement division (異動区分) -- indicates whether this is a new connection, change, transfer, or cancellation. |
| CAS_CARD_USE_KYODAK_YMD | Field | CAS card usage contract/reservation date (CASカード使用予約年月日). CAS = Credit Authorization System card. |
| KIKI_HUKA_INFO_CD | Field | Device additional info code (機器付加情報コード) -- supplementary information about the device. |
| HAISO_WAY_CD | Field | Delivery method code (配送方法コード) -- how the device is delivered (e.g., courier, in-store pickup). |
| KIKI_ITENS_MV_JSSIS_SKCD | Field | Device transfer destination mobile operator ID code (機器移転先移動事業者識別コード). Used for device portability between operators. |
| HAISO_REQ_SHITEI_YMD | Field | Delivery request date (配送依存指定年月日) -- requested delivery date. |
| UPD_DTM_BF | Field | Update date/time before (更新前) -- pre-update timestamp for optimistic locking. |
| KIKI_SHS_AD_MAN_INPUT_FLG | Field | Device delivery sender address manual input flag (機器送付先住所手入力フラグ). |
| KAISHU_KIKI_UM | Field | Returned device presence (回収機器有無) -- whether a device is being returned. |
| SVC_STA_JI_HIS_JOKYO_SKCD | Field | Service start delivery status identification code (サービス開始時配送状況識別コード) -- classifies the delivery context at service start. |
| SIF | Acronym | Service Interface -- Fujitsu's middleware for CBS-to-SC communication using CAANMsg. |
| SC | Acronym | Service Component -- the business logic layer that receives SIF requests and performs CRUD operations on the database. |
| CBS | Acronym | Customer Business System -- the overall customer-facing application system. |
| SOD | Acronym | Service Order Data -- telecom order fulfillment entity (referenced in code comments). |
| FTTH | Business term | Fiber To The Home -- fiber-optic broadband internet service. |
| JSSIS | Acronym | Mobile Service Identification System (移動事業者識別システム) -- operator identification framework for device portability. |
| STB | Acronym | Set-Top Box -- set-top equipment for cable/satellite/FTTH service. |
| CAS | Acronym | Credit Authorization System (クレジットカード認証システム) -- credit card processing system. |
