# Business Logic — JBSbatKKMiStcKikiCncl.insertKktkKaihk() [188 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.business.service.JBSbatKKMiStcKikiCncl` |
| Layer | Batch Service (inferred from package `eo.business.service` and class name containing "Bat" for batch processing) |
| Module | `service` (Package: `eo.business.service`) |

## 1. Role

### JBSbatKKMiStcKikiCncl.insertKktkKaihk()

This method performs a **recovery registration** (回復登録) of an equipment provision service contract (機器提供サービス契約). In the context of K-Opticom's customer core system, "equipment provision" refers to the lending/renting of customer premises equipment (CPE) — such as STBs, routers, and set-top boxes — to subscribers as part of their broadband service bundle. The method receives a service contract number (`kktk_svc_no`) and a database map (`db_map`) that already contains all the pre-fetched service contract data from the `KK_T_KKTK_SVC_KEI` table. It assembles all 168 fields of the equipment provision service contract record into a parameter array, populates computed/system values (system datetime stamps, operator account, status codes, and application codes), and delegates the actual database insert to `executeKK_T_KKTK_SVC_KEI_PKINSERT`. The method operates as a **data assembly and dispatch** pattern — it does not contain conditional branching logic; all 168 array slots are assigned unconditionally before the single insert call.

The recovery registration is called as part of the `motoKikiKaihk()` (元機器回復登録 — original equipment recovery registration) batch process, which runs when a subscriber is undergoing equipment replacement: the original (returned) equipment's contract record is re-registered (recovered) into the system with a fresh active status so it can be tracked as a returned unit. This method is a **shared batch utility** called exclusively from the equipment replacement batch flow.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["insertKktkKaihk kktk_svc_no, db_map"])
    INIT["Initialize String array kktk_param 168"]
    P0["kktk_param[0] = kktk_svc_no"]
    P1["kktk_param[1] = getSysDateTimeStamp"]
    P2["kktk_param[2] = 100 Active"]
    P3["kktk_param[3-108] = db_map.getString fields"]
    P98["kktk_param[98] = opeDate"]
    P100["kktk_param[100] = 2 Fixed"]
    P131["kktk_param[131] = opeDate"]
    P130["kktk_param[130] = 0 Not Completed"]
    P103["kktk_param[103] = 20991231 MAX_DATE"]
    P105["kktk_param[105] = 20991231 MAX_DATE"]
    P124["kktk_param[124] = 20991231 MAX_DATE"]
    P125["kktk_param[125] = 20991231 MAX_DATE"]
    P126["kktk_param[126] = empty"]
    P127["kktk_param[127] = empty"]
    P155["kktk_param[155] = getSysDateTimeStamp"]
    P156["kktk_param[156] = batchUserId"]
    P157["kktk_param[157] = getSysDateTimeStamp"]
    P158["kktk_param[158] = batchUserId"]
    P159["kktk_param[159] = empty"]
    P160["kktk_param[160] = empty"]
    P161["kktk_param[161] = 0 Invalid"]
    P62_66["kktk_param[162-167] = empty"]
    CALL["executeKK_T_KKTK_SVC_KEI_PKINSERT"]
    END(["Return"])

    START --> INIT
    INIT --> P0
    P0 --> P1
    P1 --> P2
    P2 --> P3
    P3 --> P98
    P98 --> P100
    P100 --> P131
    P131 --> P130
    P130 --> P103
    P103 --> P105
    P105 --> P124
    P124 --> P125
    P125 --> P126
    P126 --> P127
    P127 --> P155
    P155 --> P156
    P156 --> P157
    P157 --> P158
    P158 --> P159
    P159 --> P160
    P160 --> P161
    P161 --> P62_66
    P62_66 --> CALL
    CALL --> END
```

This method has no conditional branching — it is a pure linear assembly-and-insert operation. The flow is:

1. Allocate a 168-element `String[]` parameter array
2. Populate each slot sequentially with business data sourced from `db_map.getString()` calls, system constants, or instance fields
3. Call `executeKK_T_KKTK_SVC_KEI_PKINSERT(kktk_param)` to perform the database INSERT
4. Return

Key constant-resolved values:
- **`CD00056_KKTK_SVC_KEI_STAT_100 = "100"`** — Sets the service contract status to "Active" upon recovery registration
- **`RSV_APLY_CD_FIX = "2"`** — Reservation application code set to "Fixed" (予約適用コード：確定)
- **`CD01359_FIN_FLG_0 = "0"`** — Service cancellation procedure completion flag set to "Not Completed" (サービス解約手続完了フラグ：未完了)
- **`MK_FLG_YK = "0"`** — Invalid flag set to "Invalid" (無効フラグ：無効)
- **`MAX_DATE = "20991231"`** — Used as a sentinel value for "no end date" on plan end date, plan charge end date, service end date, and service charge end date

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `kktk_svc_no` | `String` | Equipment Provision Service Contract Number (機器提供サービス契約番号) — the unique identifier of the service contract record being recovered/registered. Used as the primary key value inserted into the `KK_T_KKTK_SVC_KEI` table. |
| 2 | `db_map` | `JBSbatCommonDBInterface` | A database map interface containing pre-fetched field values from the `KK_T_KKTK_SVC_KEI` table. The method extracts 106 string fields from this map via `getString()` calls, covering all service contract attributes (service codes, pricing codes, customer addresses, delivery schedules, equipment details, cancellation dates, etc.). |

**Instance fields read by this method:**

| No | Field Name | Type | Business Description |
|----|-----------|------|---------------------|
| 1 | `this.opeDate` | `String` | Operation date (オペレータ日) — used as the reservation application date (予約適用年月日, param[98]) and restoration date (回復年月日, param[131]) |
| 2 | `batchUserId` | `String` | Batch user ID — used as the registration operator account (登録オペレータアカウント, param[156]) and update operator account (更新オペレータアカウント, param[158]) |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JCCBatCommon.getSysDateTimeStamp` | JCCBatCommon | - | Retrieves the current system date-time stamp for registration and update timestamps |
| R | `db_map.getString(...)` | JBSbatKK_T_KKTK_SVC_KEI | - | Extracts individual field values from the pre-loaded service contract data map (106 field extractions) |
| C | `executeKK_T_KKTK_SVC_KEI_PKINSERT` | JBSbatKKMiStcKikiCncl | `KK_T_KKTK_SVC_KEI` | Performs a CREATE (INSERT) of the full 168-field equipment provision service contract record into the database table |

**Analysis details:**
- The method calls `getSysDateTimeStamp()` four times (params[1], [155], [157]) to populate registration datetime, and update datetime fields.
- The method calls `db_map.getString()` 106 times to extract all service contract fields from the pre-fetched data map. These cover the entire `KK_T_KKTK_SVC_KEI` entity including service codes, pricing info, delivery schedules, customer address fields (both delivery destination and installation destination), cancellation and suspension data, plan information, equipment details, and audit fields.
- The terminal operation is `executeKK_T_KKTK_SVC_KEI_PKINSERT(kktk_param)` which performs a CREATE (INSERT) operation on the `KK_T_KKTK_SVC_KEI` table. This method maps all 168 parameter elements into a `JBSbatCommonDBInterface` map keyed by column names and issues the database INSERT.

## 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 | Batch: `motoKikiKaihk()` | `JBSbatKKMiStcKikiCncl.motoKikiKaihk()` → `JBSbatKKMiStcKikiCncl.insertKktkKaihk(kktkSvcKeiNo, kkopSvcKeiMap_008)` | `executeKK_T_KKTK_SVC_KEI_PKINSERT [C] KK_T_KKTK_SVC_KEI` |

**Call Chain Details (caller: `motoKikiKaihk()`):**

In `motoKikiKaihk()`:
1. The method retrieves the equipment provision service contract number from the `KK_T_KKOP_SVC_KEI` data map: `String kktkSvcKeiNo = db_map.getString(KKTK_SVC_KEI_NO)`
2. Calls `insertKktkKaihk(kktkSvcKeiNo, kkopSvcKeiMap_008)` to recover-register the original (returned) equipment's service contract
3. After the insert returns, it retrieves the `KIKI_CHG_NO` and calls `updateHmpinKiki()` to update the returned equipment record
4. Finally, it calls `insertPrgTknrt()` with status code `CD00647_PRG_STAT_3D00` to record the progress of the procedure ticket

## 6. Per-Branch Detail Blocks

This method has **no conditional branches** — it executes all 168 array assignments unconditionally. The following block represents the entire method body as a single sequential block.

### Block 1 — [ASSIGNMENT SEQUENCE] (L4829)

> Initialize the 168-element parameter array and populate all fields. This is a linear sequence with no branching — every line executes in order.

| # | Type | Code | Description |
|---|------|------|-------------|
| 1 | SET | `kktk_param = new String[168]` | Allocate 168-element String array |
| 2 | SET | `kktk_param[0] = kktk_svc_no` | Equipment Provision Service Contract Number |
| 3 | SET | `kktk_param[1] = JCCBatCommon.getSysDateTimeStamp()` | System registration datetime stamp |
| 4 | SET | `kktk_param[2] = JBSbatKKConst.CD00056_KKTK_SVC_KEI_STAT_100 ("100")` | [-> CD00056_KKTK_SVC_KEI_STAT_100="100"] Service contract status: Active (機器提供サービス契約ステータス) |
| 5 | SET | `kktk_param[3] = db_map.getString(KKTK_SVC_CD)` | Equipment provision service code |
| 6 | SET | `kktk_param[4] = db_map.getString(PCRS_CD)` | Pricing code (料金コードコード) |
| 7 | SET | `kktk_param[5] = db_map.getString(PPLAN_CD)` | Pricing plan code (料金プランコード) |
| 8 | SET | `kktk_param[6] = db_map.getString(TK_HOSHIKI_KEI_NO)` | Provision method contract number (提供方式契約番号) |
| 9 | SET | `kktk_param[7] = db_map.getString(KKTK_SBT_CD)` | Equipment provision type code (機器提供種別コード) |
| 10 | SET | `kktk_param[8] = db_map.getString(HAMBAI_SBT_CD)` | Sales type code (販売種別コード) |
| 11 | SET | `kktk_param[9] = db_map.getString(SVC_USE_STA_KIBO_YMD)` | Service use start desired date (サービス利用開始希望年月日) |
| 12 | SET | `kktk_param[10] = db_map.getString(RSV_TSTA_KIBO_YMD)` | Reservation application start desired date (予約適用開始希望年月日) |
| 13 | SET | `kktk_param[11] = db_map.getString(KIBO_MAKER_CD)` | Desired maker code (希望メーカーコード) |
| 14 | SET | `kktk_param[12] = db_map.getString(KIKI_SHITEI_SBT_CD)` | Equipment designation type code (機器指定種別コード) |
| 15 | SET | `kktk_param[13] = db_map.getString(TAKNKIKI_SBT_CD)` | Home equipment type code (宅内機器種別コード) |
| 16 | SET | `kktk_param[14] = db_map.getString(TAKNKIKI_MODEL_CD)` | Home equipment model code (宅内機器型式コード) |
| 17 | SET | `kktk_param[15] = db_map.getString(KIKI_SEIZO_NO)` | Equipment serial number (機器製造番号) |
| 18 | SET | `kktk_param[16] = db_map.getString(HUZOKUHIN_SBT_CD)` | Accessory type code (付属品種別コード) |
| 19 | SET | `kktk_param[17] = db_map.getString(HUZOKUHIN_MODEL_CD)` | Accessory model code (付属品型式コード) |
| 20 | SET | `kktk_param[18] = db_map.getString(TAKNKIKI_SETHIN_MODEL_CD)` | Home equipment set product model code (宅内機器セット品型式コード) |
| 21 | SET | `kktk_param[19] = db_map.getString(KIKI_CHG_NO)` | Equipment change number (機器変更番号) |
| 22 | SET | `kktk_param[20] = db_map.getString(KIKI_CHG_RSN_CD)` | Equipment change reason code (機器変更理由コード) |
| 23 | SET | `kktk_param[21] = db_map.getString(TSUSHIN_KIKI_SET_CD)` | Communication equipment set code (通信機器セットコード) |
| 24 | SET | `kktk_param[22] = db_map.getString(HDD_CAPA_CD)` | HDD capacity code (HDD容量コード) |
| 25 | SET | `kktk_param[23] = db_map.getString(KIKI_STC_SAKI_PLACE_NO)` | Equipment installation site place number (機器設置先場所番号) |
| 26 | SET | `kktk_param[24] = db_map.getString(OYA_KEI_SKBT_CD)` | Parent contract identification code (親契約識別コード) |
| 27 | SET | `kktk_param[25] = db_map.getString(SVC_KEI_NO)` | Service contract number (サービス契約番号) |
| 28 | SET | `kktk_param[26] = db_map.getString(SVC_KEI_UCWK_NO)` | Service contract detail number (サービス契約内訳番号) |
| 29 | SET | `kktk_param[27] = db_map.getString(SVC_KEI_KAISEN_UCWK_NO)` | Service contract improvement detail number (サービス契約回線内訳番号) |
| 30 | SET | `kktk_param[28] = db_map.getString(OP_SVC_KEI_NO)` | Option service contract number (オプションサービス契約番号) |
| 31 | SET | `kktk_param[29] = db_map.getString(SYSID)` | System ID |
| 32 | SET | `kktk_param[30] = db_map.getString(MSKM_DTL_NO)` | Billing detail number (申込明細番号) |
| 33 | SET | `kktk_param[31] = db_map.getString(LINK_STB_FLG)` | Link STB flag (リンクSTBフラグ) |
| 34 | SET | `kktk_param[32] = db_map.getString(KIKI_HKAT_SHITEI_SOKO_CD)` | Equipment return designation inventory code (機器引当指定在庫コード) |
| 35 | SET | `kktk_param[33] = db_map.getString(KIKI_HKAT_SHITEI_SKDN_CD)` | Equipment return designation inventory shelf code (機器引当指定在庫柱コード) |
| 36 | SET | `kktk_param[34] = db_map.getString(KIKI_STI_JI_KRIPLACE_SKCD)` | Equipment designation management site identification code (機器指定時管理場所識別コード) |
| 37 | SET | `kktk_param[35] = db_map.getString(KIKI_STI_JI_KOCOMP_CD)` | Equipment designation work company code (機器指定時工事会社コード) |
| 38 | SET | `kktk_param[36] = db_map.getString(KIKI_STI_JI_KOCOMP_SLF_CD)` | Equipment designation work company shelf code (機器指定時工事会社柱コード) |
| 39 | SET | `kktk_param[37] = db_map.getString(KIKI_STI_JI_YTKSKOF_CD)` | Equipment designation advance payment office code (機器指定時前払先オフィスコード) |
| 40 | SET | `kktk_param[38] = db_map.getString(KIKI_STI_JI_YTKSKOF_SLF_CD)` | Equipment designation advance payment office shelf code (機器指定時前払先オフィス柱コード) |
| 41 | SET | `kktk_param[39] = db_map.getString(KKTK_SVC_KEI_HKHASYMD)` | Equipment provision service contract occurrence date (機器提供サービス契約発生年月日) |
| 42 | SET | `kktk_param[40] = db_map.getString(KIKI_SORYO_UM)` | Equipment shipping charge presence/absence (機器送料有無) |
| 43 | SET | `kktk_param[41] = db_map.getString(KIKI_SORYO_SAKSEI_YMD)` | Equipment shipping charge creation date (機器送料作成年月日) |
| 44 | SET | `kktk_param[42] = db_map.getString(KIKI_SOHUS_NM)` | Equipment delivery recipient name (機器配送先名) |
| 45 | SET | `kktk_param[43] = db_map.getString(KIKI_SOHUS_KANA)` | Equipment delivery recipient kana name (機器配送先カナ名) |
| 46 | SET | `kktk_param[44] = db_map.getString(KIKI_SOHUS_AD_CD)` | Equipment delivery recipient address code (機器配送先住所コード) |
| 47 | SET | `kktk_param[45] = db_map.getString(KIKI_SOHUS_PCD)` | Equipment delivery recipient postal code (機器配送先郵便番号) |
| 48 | SET | `kktk_param[46] = db_map.getString(KIKI_SOHUS_STATE_NM)` | Equipment delivery recipient prefecture name (機器配送先都道府県名) |
| 49 | SET | `kktk_param[47] = db_map.getString(KIKI_SOHUS_CITY_NM)` | Equipment delivery recipient city name (機器配送先市区町村名) |
| 50 | SET | `kktk_param[48] = db_map.getString(KIKI_SOHUS_OAZTSU_NM)` | Equipment delivery recipient town name (機器配送先大字通称名) |
| 51 | SET | `kktk_param[49] = db_map.getString(KIKI_SOHUS_AZCHO_NM)` | Equipment delivery recipient district name (機器配送先字丁目名) |
| 52 | SET | `kktk_param[50] = db_map.getString(KIKI_SOHUS_BNCHIGO)` | Equipment delivery recipient lot number (機器配送先番地番号) |
| 53 | SET | `kktk_param[51] = db_map.getString(KIKI_SOHUS_ADRTTM)` | Equipment delivery recipient address note/building name (機器配送先住所補記・建物名) |
| 54 | SET | `kktk_param[52] = db_map.getString(KIKI_SOHUS_ADRRM)` | Equipment delivery recipient address note/room number (機器配送先住所補記・部屋番号) |
| 55 | SET | `kktk_param[53] = db_map.getString(KIKI_SHS_AD_MAN_INPUT_FLG)` | Equipment delivery recipient address manual input flag (機器配送先住所手入力フラグ) |
| 56 | SET | `kktk_param[54] = db_map.getString(KIKI_SOHUS_TELNO)` | Equipment delivery recipient telephone number (機器配送先電話番号) |
| 57 | SET | `kktk_param[55] = db_map.getString(MANSION_BUKKEN_NO)` | Mansion property number (マンション物件番号) |
| 58 | SET | `kktk_param[56] = db_map.getString(KIKI_SOHUS_KSH_AD_SAI_FLG)` | Equipment delivery recipient P-contract address difference flag (機器配送先P契約者住所差異フラグ) |
| 59 | SET | `kktk_param[57] = db_map.getString(KIKI_SHS_KBT_SHITEI_FLG)` | Equipment delivery recipient individual designation flag (機器配送先個別指定フラグ) |
| 60 | SET | `kktk_param[58] = db_map.getString(KIKI_SHS_HSK_CD_1)` | Equipment delivery recipient supplement code 1 (機器配送先補足コード1) |
| 61 | SET | `kktk_param[59] = db_map.getString(KIKI_SHS_HSK_CD_2)` | Equipment delivery recipient supplement code 2 (機器配送先補足コード2) |
| 62 | SET | `kktk_param[60] = db_map.getString(KIKI_SHS_HSK_MEMO)` | Equipment delivery recipient supplement memo (機器配送先補足メモ) |
| 63 | SET | `kktk_param[61] = db_map.getString(KIKI_STC_SAKI_NM)` | Equipment installation site name (機器設置先名) |
| 64 | SET | `kktk_param[62] = db_map.getString(KIKI_STC_SAKI_KANA)` | Equipment installation site kana name (機器設置先カナ名) |
| 65 | SET | `kktk_param[63] = db_map.getString(KIKI_STC_SAKI_AD_CD)` | Equipment installation site address code (機器設置先住所コード) |
| 66 | SET | `kktk_param[64] = db_map.getString(KIKI_STC_SAKI_PCD)` | Equipment installation site postal code (機器設置先郵便番号) |
| 67 | SET | `kktk_param[65] = db_map.getString(KIKI_STC_SAKI_STATE_NM)` | Equipment installation site prefecture name (機器設置先都道府県名) |
| 68 | SET | `kktk_param[66] = db_map.getString(KIKI_STC_SAKI_CITY_NM)` | Equipment installation site city name (機器設置先市区町村名) |
| 69 | SET | `kktk_param[67] = db_map.getString(KIKI_STC_SAKI_OAZTSU_NM)` | Equipment installation site town name (機器設置先大字通称名) |
| 70 | SET | `kktk_param[68] = db_map.getString(KIKI_STC_SAKI_AZCHO_NM)` | Equipment installation site district name (機器設置先字丁目名) |
| 71 | SET | `kktk_param[69] = db_map.getString(KIKI_STC_SAKI_BNCHIGO)` | Equipment installation site lot number (機器設置先番地番号) |
| 72 | SET | `kktk_param[70] = db_map.getString(KIKI_STC_SAKI_ADRTTM)` | Equipment installation site address note/building name (機器設置先住所補記・建物名) |
| 73 | SET | `kktk_param[71] = db_map.getString(KIKI_STC_SAKI_ADRRM)` | Equipment installation site address note/room number (機器設置先住所補記・部屋番号) |
| 74 | SET | `kktk_param[72] = db_map.getString(KIKI_STC_SK_KSH_AD_SAI_FLG)` | Equipment installation site P-contract address difference flag (機器設置先P契約者住所差異フラグ) |
| 75 | SET | `kktk_param[73] = db_map.getString(KIKI_STC_SK_TELNO)` | Equipment installation site telephone number (機器設置先電話番号) |
| 76 | SET | `kktk_param[74] = db_map.getString(KIKI_STS_KKK_SEIRI_CHU_FLG)` | Equipment installation site distinction sorting flag (機器設置先区分整理中フラグ) |
| 77 | SET | `kktk_param[75] = db_map.getString(AD_MI_FIX_FLG)` | Address undecided flag (住所未確定フラグ) |
| 78 | SET | `kktk_param[76] = db_map.getString(AUTO_ADD_CD)` | Auto registration code (自動登録コード) |
| 79 | SET | `kktk_param[77] = db_map.getString(AD_MI_FIX_RLS_YMD)` | Address undecided release date (住所未確定解除年月日) |
| 80 | SET | `kktk_param[78] = db_map.getString(CHRG_STA_YMD_HOSEI_UM)` | Charge start date correction presence/absence (課金開始年月日補正有無) |
| 81 | SET | `kktk_param[79] = db_map.getString(KIKI_STS_HSK_CD_1)` | Equipment installation site supplement code 1 (機器設置先補足コード1) |
| 82 | SET | `kktk_param[80] = db_map.getString(KIKI_STS_HSK_CD_2)` | Equipment installation site supplement code 2 (機器設置先補足コード2) |
| 83 | SET | `kktk_param[81] = db_map.getString(KIKI_STS_HSK_MEMO)` | Equipment installation site supplement memo (機器設置先補足メモ) |
| 84 | SET | `kktk_param[82] = db_map.getString(KKTK_SVC_KEI_KZKWRK_REQYMD)` | Equipment provision service contract follow-up work request date (機器提供サービス契約後続業務依頼年月日) |
| 85 | SET | `kktk_param[83] = db_map.getString(SHOSA_YMD)` | Verification date (照会年月日) |
| 86 | SET | `kktk_param[84] = db_map.getString(SHOSA_CL_YMD)` | Verification cancellation date (照会取消年月日) |
| 87 | SET | `kktk_param[85] = db_map.getString(HAISO_DIV)` | Delivery division (配送区分) |
| 88 | SET | `kktk_param[86] = db_map.getString(HAISO_KIGEN_YMD)` | Delivery deadline date (配送期限年月日) |
| 89 | SET | `kktk_param[87] = db_map.getString(HAISO_ARIV_SHITEI_YMD)` | Delivery arrival designated date (配送到着指定年月日) |
| 90 | SET | `kktk_param[88] = db_map.getString(FTRIAL_KANYU_YMD)` | Trial entry date (試試加入年月日) |
| 91 | SET | `kktk_param[89] = db_map.getString(FTRIAL_PRD_ENDYMD)` | Trial period end date (試期間終了年月日) |
| 92 | SET | `kktk_param[90] = db_map.getString(HONKANYU_YMD)` | Actual entry date (本加入年月日) |
| 93 | SET | `kktk_param[91] = db_map.getString(HONKANYU_IKO_KIGEN_YMD)` | Actual entry move deadline date (本加入移行期限年月日) |
| 94 | SET | `kktk_param[92] = db_map.getString(KEI_CNC_YMD)` | Contract conclusion date (契約終了年月日) |
| 95 | SET | `kktk_param[93] = db_map.getString(JCCC_KANYU_BUNSHO_YMD)` | JCCC entry written entry date (JCCC加入書記入年月日) |
| 96 | SET | `kktk_param[94] = db_map.getString(HOSHO_CD)` | Guarantee code (保証コード) |
| 97 | SET | `kktk_param[95] = db_map.getString(KKTK_SVKEI_HOKI)` | Equipment provision service contract supplement (機器提供サービス契約補足) |
| 98 | SET | `kktk_param[96] = db_map.getString(HOSHO_STAYMD)` | Guarantee start date (保証開始年月日) |
| 99 | SET | `kktk_param[97] = db_map.getString(HOSHO_END_YMD)` | Guarantee end date (保証終了年月日) |
| 100 | SET | `kktk_param[98] = this.opeDate` | Reservation application date (予約適用年月日) |
| 101 | SET | `kktk_param[99] = db_map.getString(RSV_CL_YMD)` | Reservation cancellation date (予約取消年月日) |
| 102 | SET | `kktk_param[100] = JBSbatKKConst.RSV_APLY_CD_FIX ("2")` | [-> RSV_APLY_CD_FIX="2"] Reservation application code: Fixed (予約適用コード) |
| 103 | SET | `kktk_param[101] = db_map.getString(KIKI_CHG_YMD)` | Equipment change date (機器変更年月日) |
| 104 | SET | `kktk_param[102] = db_map.getString(PLAN_STAYMD)` | Plan start date (プラン開始年月日) |
| 105 | SET | `kktk_param[103] = MAX_DATE ("20991231")` | [-> MAX_DATE="20991231"] Plan end date: sentinel for no end date |
| 106 | SET | `kktk_param[104] = db_map.getString(PLAN_CHRG_STAYMD)` | Plan charge start date (プラン課金開始年月日) |
| 107 | SET | `kktk_param[105] = MAX_DATE ("20991231")` | [-> MAX_DATE="20991231"] Plan charge end date: sentinel for no end date |
| 108 | SET | `kktk_param[106] = db_map.getString(PLAN_END_SBT_CD)` | Plan end type code (プラン終了種別コード) |
| 109 | SET | `kktk_param[107] = db_map.getString(SVC_CANCEL_YMD)` | Service cancellation date (サービスキャンセル年月日) |
| 110 | SET | `kktk_param[108] = db_map.getString(SVC_CANCEL_RSN_CD)` | Service cancellation reason code (サービスキャンセル理由コード) |
| 111 | SET | `kktk_param[109] = db_map.getString(SVC_STA_KISAN_YMD)` | Service start billing date (サービス開始起算年月日) |
| 112 | SET | `kktk_param[110] = db_map.getString(SVC_STA_YMD)` | Service start date (サービス開始年月日) |
| 113 | SET | `kktk_param[111] = db_map.getString(SVC_CHRG_STAYMD)` | Service charge start date (サービス課金開始年月日) |
| 114 | SET | `kktk_param[112] = db_map.getString(SVC_STP_YMD)` | Service stop date (サービス停止年月日) |
| 115 | SET | `kktk_param[113] = db_map.getString(SVCTK_CHU_USE_FAIL_SBT_CD)` | Service provision in-use failure type code (サービス提供中使用不可種別コード) |
| 116 | SET | `kktk_param[114] = db_map.getString(SVC_STP_RSN_CD)` | Service stop reason code (サービス停止理由コード) |
| 117 | SET | `kktk_param[115] = db_map.getString(SVC_STP_RLS_YMD)` | Service stop release date (サービス停止解除年月日) |
| 118 | SET | `kktk_param[116] = db_map.getString(SVC_STP_RLS_RSN_CD)` | Service stop release reason code (サービス停止解除理由コード) |
| 119 | SET | `kktk_param[117] = db_map.getString(PAUSE_STP_CD)` | Pause stop code (休止中断コード) |
| 120 | SET | `kktk_param[118] = db_map.getString(SVC_PAUSE_YMD)` | Service suspension date (サービス休止年月日) |
| 121 | SET | `kktk_param[119] = db_map.getString(SVC_PAUSE_RSN_CD)` | Service suspension reason code (サービス休止理由コード) |
| 122 | SET | `kktk_param[120] = db_map.getString(SVC_PAUSE_RSN_MEMO)` | Service suspension reason memo (サービス休止理由メモ) |
| 123 | SET | `kktk_param[121] = db_map.getString(SVC_PAUSE_RLS_YMD)` | Service suspension release date (サービス休止解除年月日) |
| 124 | SET | `kktk_param[122] = db_map.getString(SVC_PAUSE_RLS_RSN_CD)` | Service suspension release reason code (サービス休止解除理由コード) |
| 125 | SET | `kktk_param[123] = db_map.getString(SVC_PAUSE_RLS_RSN_MEMO)` | Service suspension release reason memo (サービス休止解除理由メモ) |
| 126 | SET | `kktk_param[124] = MAX_DATE ("20991231")` | [-> MAX_DATE="20991231"] Service end date: sentinel for no end date |
| 127 | SET | `kktk_param[125] = MAX_DATE ("20991231")` | [-> MAX_DATE="20991231"] Service charge end date: sentinel for no end date |
| 128 | SET | `kktk_param[126] = ""` | Service cancellation date (empty) (サービス解約年月日) |
| 129 | SET | `kktk_param[127] = ""` | Service cancellation reason code (empty) (サービス解約理由コード) |
| 130 | SET | `kktk_param[128] = db_map.getString(SVC_DLRE_MEMO)` | Service cancellation reason memo (サービス解約理由メモ) |
| 131 | SET | `kktk_param[129] = db_map.getString(ZANCHI_FLG)` | Remainder flag (残差フラグ) |
| 132 | SET | `kktk_param[130] = JBSbatKKConst.CD01359_FIN_FLG_0 ("0")` | [-> CD01359_FIN_FLG_0="0"] Service cancellation procedure completion flag: Not completed |
| 133 | SET | `kktk_param[131] = this.opeDate` | Restoration date (回復年月日) |
| 134 | SET | `kktk_param[132] = db_map.getString(SVC_CANCEL_CL_YMD)` | Service cancellation request cancellation date (サービスキャンセル取消年月日) |
| 135 | SET | `kktk_param[133] = db_map.getString(SVC_DSL_CL_YMD)` | Service dissolution cancellation date (サービス解約取消年月日) |
| 136 | SET | `kktk_param[134] = db_map.getString(SKEKKA_SEND_CD)` | Review result transmission code (審査結果送信コード) |
| 137 | SET | `kktk_param[135] = db_map.getString(SVC_PAUSE_CHRG_STA_YMD)` | Service suspension charge start date (サービス休止課金開始年月日) |
| 138 | SET | `kktk_param[136] = db_map.getString(PNLTY_HASSEI_CD)` | Penalty occurrence code (違約金発生コード) |
| 139 | SET | `kktk_param[137] = db_map.getString(KIKI_NINSHO_ID)` | Equipment authentication ID (機器認証ID) |
| 140 | SET | `kktk_param[138] = db_map.getString(KIKI_NINSHO_ID_PWD)` | Equipment authentication ID password (機器認証IDパスワード) |
| 141 | SET | `kktk_param[139] = db_map.getString(IDO_DIV)` | Migration division (異動区分) |
| 142 | SET | `kktk_param[140] = db_map.getString(KKST_JSEKI_UK_YMD)` | Equipment installation achievement receipt date (機器設置実績受領年月日) |
| 143 | SET | `kktk_param[141] = db_map.getString(EO_TV_KKST_SNN_STAT_CD)` | EO TV equipment installation acceptance status code (EOTV機器設置承認状態コード) |
| 144 | SET | `kktk_param[142] = db_map.getString(KKST_SNN_YMD)` | Equipment installation acceptance date (機器設置承認年月日) |
| 145 | SET | `kktk_param[143] = db_map.getString(TAKNKIKI_IDO_CD)` | Home equipment migration code (宅内機器異動コード) |
| 146 | SET | `kktk_param[144] = db_map.getString(CAS_CARD_USE_KYODAK_YMD)` | CAS card use approval date (CASカード使用承諾年月日) |
| 147 | SET | `kktk_param[145] = db_map.getString(KIKI_HUKA_INFO_CD)` | Equipment additional information code (機器付加情報コード) |
| 148 | SET | `kktk_param[146] = db_map.getString(SHOSA_DSL_FIN_CD)` | Verification dissolution completion code (照会解約完了コード) |
| 149 | SET | `kktk_param[147] = db_map.getString(ROUTER_DSL_RSV_TRN_STAT_CD)` | Router dissolution reservation processing status code (ルーター解約予約処理状態コード) |
| 150 | SET | `kktk_param[148] = db_map.getString(ROUTER_DSL_RSV_TRN_RSLT_CD)` | Router dissolution reservation processing result code (ルーター解約予約処理結果コード) |
| 151 | SET | `kktk_param[149] = db_map.getString(HAISO_WAY_CD)` | Delivery method code (配送方法コード) |
| 152 | SET | `kktk_param[150] = db_map.getString(KIKI_ITENS_MV_JSSIS_SKCD)` | Equipment transfer destination migration implementer identification code (機器移転先移動実行者識別コード) |
| 153 | SET | `kktk_param[151] = db_map.getString(KAISHU_KIKI_UM)` | Returned equipment presence/absence (回収機器有無) |
| 154 | SET | `kktk_param[152] = db_map.getString(HAISO_REQ_SHITEI_YMD)` | Delivery request designated date (配送依存指定年月日) |
| 155 | SET | `kktk_param[153] = db_map.getString(SHKA_FIN_JI_SYRZM_FLG)` | Dispatch completion time processing completed flag (出荷完了時処理済フラグ) |
| 156 | SET | `kktk_param[154] = db_map.getString(SVC_STA_JI_HIS_JOKYO_SKCD)` | Service start delivery status identification code (サービス開始時配送状況識別コード) |
| 157 | SET | `kktk_param[155] = JCCBatCommon.getSysDateTimeStamp()` | System registration datetime stamp (登録年月日時刻) |
| 158 | SET | `kktk_param[156] = batchUserId` | Registration operator account (登録オペレータアカウント) |
| 159 | SET | `kktk_param[157] = JCCBatCommon.getSysDateTimeStamp()` | System update datetime stamp (更新年月日時刻) |
| 160 | SET | `kktk_param[158] = batchUserId` | Update operator account (更新オペレータアカウント) |
| 161 | SET | `kktk_param[159] = ""` | Delete datetime stamp (empty) (削除年月日時刻) |
| 162 | SET | `kktk_param[160] = ""` | Delete operator account (empty) (削除オペレータアカウント) |
| 163 | SET | `kktk_param[161] = JBSbatKKConst.MK_FLG_YK ("0")` | [-> MK_FLG_YK="0"] Invalid flag: Invalid (無効フラグ) |
| 164 | SET | `kktk_param[162] = ""` | Registration operation date (empty) (登録運用年月日) |
| 165 | SET | `kktk_param[163] = ""` | Registration processing ID (empty) (登録処理ID) |
| 166 | SET | `kktk_param[164] = ""` | Update operation date (empty) (更新運用年月日) |
| 167 | SET | `kktk_param[165] = ""` | Update processing ID (empty) (更新処理ID) |
| 168 | SET | `kktk_param[166] = ""` | Delete operation date (empty) (削除運用年月日) |
| 169 | SET | `kktk_param[167] = ""` | Delete processing ID (empty) (削除処理ID) |
| 170 | CALL | `executeKK_T_KKTK_SVC_KEI_PKINSERT(kktk_param)` | INSERT the complete 168-field record into `KK_T_KKTK_SVC_KEI` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `kktk_svc_no` | Field | Equipment Provision Service Contract Number — unique identifier of the equipment provision service contract record being recovered/registered |
| KK_T_KKTK_SVC_KEI | Entity | Equipment Provision Service Contract table — main table storing all equipment provision service contract data including codes, dates, addresses, and audit fields |
| KKTK_SVC_CD | Field | Equipment Provision Service Code — identifies the type of equipment provision service |
| PCRS_CD | Field | Pricing Code (料金コードコード) — code identifying the pricing structure for the service |
| PPLAN_CD | Field | Pricing Plan Code (料金プランコード) — code for the specific pricing plan |
| SVC_KEI_NO | Field | Service Contract Number (サービス契約番号) — the primary service contract this equipment provision is tied to |
| SVC_KEI_UCWK_NO | Field | Service Contract Detail Number (サービス契約内訳番号) — sub-division within a service contract |
| SVC_KEI_KAISEN_UCWK_NO | Field | Service Contract Improvement Detail Number (サービス契約回線内訳番号) — line detail number for service contract improvements |
| KKTK_SVC_KEI_STAT | Field | Equipment Provision Service Contract Status (機器提供サービス契約ステータス) — lifecycle status of the contract |
| CD00056_KKTK_SVC_KEI_STAT_100 | Constant | Status value "100" representing Active (有効) — the default status assigned when recovering a contract |
| KKTK_SBT_CD | Field | Equipment Provision Type Code (機器提供種別コード) — type of equipment provisioning method |
| HAMBAI_SBT_CD | Field | Sales Type Code (販売種別コード) — type of sales channel/method |
| KIKI_SHITEI_SBT_CD | Field | Equipment Designation Type Code (機器指定種別コード) — how the equipment was designated (e.g., customer choice vs. operator assigned) |
| TAKNKIKI_SBT_CD | Field | Home Equipment Type Code (宅内機器種別コード) — type of customer premises equipment |
| KIKI_SEIZO_NO | Field | Equipment Serial Number (機器製造番号) — unique serial number of the specific hardware unit |
| KIKI_CHG_NO | Field | Equipment Change Number (機器変更番号) — identifier linking equipment changes within a contract lifecycle |
| KIKI_SOHUS_* | Fields | Equipment Delivery Recipient Address Fields — name, kana, address code, postal code, prefecture, city, town, district, lot number, building name, room number, phone number, manual input flag |
| KIKI_STC_SAKI_* | Fields | Equipment Installation Site Address Fields — same address structure as delivery recipient but for where the equipment is physically installed |
| AD_MI_FIX_FLG | Field | Address Undecided Flag (住所未確定フラグ) — indicates whether the customer's address has been confirmed |
| AUTO_ADD_CD | Field | Auto Registration Code (自動登録コード) — code indicating if the registration was performed automatically |
| RSV_APLY_CD_FIX | Constant | Reservation Application Code value "2" (予約適用コード：確定) — indicates the reservation application is confirmed/fixed |
| SHOSA_* | Fields | Verification (照会) date fields — used for inquiry/verification lifecycle tracking |
| HAISO_* | Fields | Delivery (配送) fields — division, deadline, arrival designation for physical equipment delivery |
| FTRIAL_* | Fields | Trial (試加入) fields — trial entry and trial period end dates for trial service enrollments |
| HONKANYU_YMD | Field | Actual Entry Date (本加入年月日) — date of actual (non-trial) service enrollment |
| KEI_CNC_YMD | Field | Contract Conclusion Date (契約終了年月日) — the date the contract was finalized |
| HOSHO_* | Fields | Guarantee (保証) fields — guarantee code, start/end dates for equipment guarantee coverage |
| SVC_CANCEL_* | Fields | Service Cancellation (サービスキャンセル) fields — dates and reason codes for cancellation |
| SVC_STP_* | Fields | Service Stop (サービス停止) fields — stop date, reason codes, and release information for service suspensions |
| SVC_PAUSE_* | Fields | Service Suspension (サービス休止) fields — suspension dates, reason codes, and release information |
| CD01359_FIN_FLG_0 | Constant | Service Cancellation Procedure Completion Flag value "0" (サービス解約手続完了フラグ：未完了) — indicates the cancellation procedure is not yet complete |
| MK_FLG_YK | Constant | Invalid Flag value "0" (無効フラグ：無効) — indicates the record is marked as invalid |
| MAX_DATE | Constant | Sentinel date "20991231" used as a placeholder for "no end date" on plan and service termination fields |
| KIKI_NINSHO_ID | Field | Equipment Authentication ID (機器認証ID) — ID used for device authentication |
| CAS_CARD_USE_KYODAK_YMD | Field | CAS Card Use Approval Date (CASカード使用承諾年月日) — date when CAS card usage was approved |
| EO_TV | Business term | eo TV — K-Opticom's digital television broadcast service delivered over fiber broadband |
| STB | Acronym | Set-Top Box — set-top box equipment used for digital TV reception |
| JCCC | Acronym | Japan Cable Communications Center — industry body for cable/satellite communications in Japan, handling subscriber registration |
| batchUserId | Field | Batch User ID — the system user account performing the batch operation, used for audit trail |
| opeDate | Field | Operation Date (オペレータ日) — the processing date for the batch operation |
| executeKK_T_KKTK_SVC_KEI_PKINSERT | Method | Private helper method that maps 168 parameter elements to column names and performs the database INSERT on `KK_T_KKTK_SVC_KEI` |
| motoKikiKaihk | Method | Caller method — "Original Equipment Recovery Registration" — the parent batch process that calls this method to re-register returned equipment |
