# Business Logic — JBSbatKKKjClDataInTrn.insertKktkSvcKeiTakinoRouterKaihkAdd() [195 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.business.service.JBSbatKKKjClDataInTrn` |
| Layer | Service (extends `JBSbatBusinessService`) |
| Module | `service` (Package: `eo.business.service`) |

## 1. Role

### JBSbatKKKjClDataInTrn.insertKktkSvcKeiTakinoRouterKaihkAdd()

This method performs the registration (insertion) of an equipment provision service contract with "in service" status for **multi-function router** scenarios during service recovery (復旧). It is invoked as part of the broader equipment provision service contract recovery flow, specifically when restoring service after an interruption or cancellation event where a multi-function router is the provisioned equipment. The method extracts approximately 150 fields from the input `JBSbatCommonDBInterface` map, applies standard data transformations (string right-trimming), assigns default values for status codes, date fields, and flags, and then delegates to `executeKK_T_KKTK_SVC_KEI_PKINSERT()` to persist the record into the database. The design pattern employed is **data assembly followed by delegation**: the method acts as a data mapper/adapter that collects, transforms, and packages business data from a flat interface into an ordered parameter array that the underlying insert method expects. It is a **private utility method** called by `insertKktkSvcKeiKaihk()` within the same class and is also referenced in `JBSbatKKEponSwchKjClFix` (which has its own local copy of an identically-named method, suggesting possible code duplication or inheritance-related duplication). The method is specific to multi-function router equipment provision, as indicated by the "Takino Router" (タキノルーター) name.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["insertKktkSvcKeiTakinoRouterKaihkAdd(kktkSvcKei_map)"])
    START --> GET_SYS_DATE["Get sysDate = JCCBatCommon.getSysDateTimeStamp()"]
    GET_SYS_DATE --> INIT_ARRAY["Initialize setParam array"]
    INIT_ARRAY --> EXTRACT_FIELDS["Extract and trim fields from kktkSvcKei_map via JBSbatKK_T_KKTK_SVC_KEI constants"]
    EXTRACT_FIELDS --> SET_SYSTEM_DATE["setParam[1] = sysDate"]
    SET_SYSTEM_DATE --> SET_STATUS["setParam[2] = CD00056_KKTK_SVC_KEI_STAT_100 = 100 - Service status In service"]
    SET_STATUS --> EXTRACT_REMAINING["Extract remaining fields from kktkSvcKei_map"]
    EXTRACT_REMAINING --> SET_MK_FLAG["setParam[~137] = MK_FLG_YK = 0 - Invalid flag"]
    SET_MK_FLAG --> SET_DEFAULT_DATES["Set default dates for plan end and service end fields"]
    SET_DEFAULT_DATES --> SET_DEFAULTS["Set empty defaults for trailing fields"]
    SET_DEFAULTS --> SET_OPE_DATE["setParam[~148] = super.opeDate - Operation date"]
    SET_OPE_DATE --> CALL_INSERT["CALL executeKK_T_KKTK_SVC_KEI_PKINSERT setParam"]
    CALL_INSERT --> END_NODE(["Return void"])
```

**Constant Resolution:**
- `CD00056_KKTK_SVC_KEI_STAT_100 = "100"`: Service status code meaning "In service" (サービス提供中). This is the default contract status set upon registration, indicating the equipment provision service contract is active and operational.
- `MK_FLG_YK = "0"`: Invalid flag (無効フラグ). A value of "0" indicates the flag is valid/active (not invalid). This flag likely controls whether certain optional features or flags on the service contract are considered valid.
- `"20991231"`: Default future date used for plan end dates (プラン終了年月日) and plan charge end dates (プラン課金終了年月日), meaning the plan has no effective end date (indefinite).
- `""` (empty string): Default for service cancellation date (サービス解約年月日) and other fields that have no value at initial registration time.

**Processing Flow:**
1. The method acquires the current system date-time stamp via `JCCBatCommon.getSysDateTimeStamp()`.
2. It initializes a `setParam` string array that will hold all the fields to be inserted.
3. For each of the ~150+ fields in the `KK_T_KKTK_SVC_KEI` table, it extracts the value from `kktkSvcKei_map` using the corresponding constant key (e.g., `JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO`), right-trims the string, and places it at the correct array index.
4. Special assignments are made for status code (set to "100" = "In service"), the invalid flag (set to "0" = valid), and default dates (set to "20991231" for plan/service end dates).
5. The operation date (`super.opeDate`) is placed in the array to track when the record was created during batch processing.
6. Finally, the assembled parameter array is passed to `executeKK_T_KKTK_SVC_KEI_PKINSERT()` for database insertion.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `kktkSvcKei_map` | `JBSbatCommonDBInterface` | Input message carrying the equipment provision service contract data. This interface acts as a key-value data carrier containing all fields needed for the `KK_T_KKTK_SVC_KEI` table including service contract number, contract codes, plan codes, equipment details, installation addresses, dates, status codes, and administrative flags. It is populated by the calling method `insertKktkSvcKeiKaihk()` which first searches for existing contract records before passing them in for recovery registration. |

**Instance fields read:**
| Field | Type | Business Description |
|-------|------|---------------------|
| `super.opeDate` | `String` | Batch operation date — the date used for recovery operations, inherited from the parent `JBSbatBusinessService` class. This represents the business date of the batch run. |

## 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 current system date-time stamp for the `GENE_ADD_DTM` field |
| R | `JBSbatCommonDBInterface.getString` | - | - | Reads field values from the input map for all ~150 `KK_T_KKTK_SVC_KEI` columns |
| R | `JBSbatStringUtil.Rtrim` | - | - | Trims trailing whitespace from extracted string values |
| C | `JBSbatKKKjClDataInTrn.executeKK_T_KKTK_SVC_KEI_PKINSERT` | JBSbatKKKjClDataInTrn | `KK_T_KKTK_SVC_KEI` | Inserts a new equipment provision service contract record into the database |
| - | `super.opeDate` | JBSbatBusinessService | - | Reads the operation date from the parent class |

**How to classify:**
- The method performs **zero direct DB queries**. All data comes from the input parameter `kktkSvcKei_map`.
- There is **one Create (C) operation**: `executeKK_T_KKTK_SVC_KEI_PKINSERT` inserts a new row into the `KK_T_KKTK_SVC_KEI` (Equipment Provision Service Contract) table with a primary key-based insert strategy.
- The SC Code `JBSbatKKKjClDataInTrn` derives from the containing class name (the Data In Transfer service component).

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 2 methods.
Terminal operations from this method: `executeKK_T_KKTK_SVC_KEI_PKINSERT` [C], `getSysDateTimeStamp` [R], `getString` [R] × many, `Rtrim` [R] × many

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Class: JBSbatKKKjClDataInTrn | `insertKktkSvcKeiKaihk` -> `insertKktkSvcKeiTakinoRouterKaihkAdd` | `executeKK_T_KKTK_SVC_KEI_PKINSERT [C] KK_T_KKTK_SVC_KEI` |
| 2 | Class: JBSbatKKEponSwchKjClFix | `insertKktkSvcKeiTakinoRouterKaihkAdd` (local copy) | `executeKK_T_KKTK_SVC_KEI_PKINSERT [C] KK_T_KKTK_SVC_KEI` |

## 6. Per-Branch Detail Blocks

This method contains **no conditional branches** (no if/else, switch, loops, or exception handlers). It is a linear, sequential data assembly and insert method. All processing is done in a flat top-level block.

**Block 1** — [TOP-LEVEL SEQUENTIAL] `(no condition)` (L10217)

> Acquire system date, assemble a 150+ element parameter array from the input map, and delegate to the insert method.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `sysDate = JCCBatCommon.getSysDateTimeStamp()` | Get system date-time stamp for record creation |
| 2 | SET | `setParam[0] = Rtrim(kktkSvcKei_map.getString(KKTK_SVC_KEI_NO))` | Service contract number |
| 3 | SET | `setParam[1] = sysDate` | System date-time stamp (created timestamp) |
| 4 | SET | `setParam[2] = CD00056_KKTK_SVC_KEI_STAT_100 = "100"` | [-> `CD00056_KKTK_SVC_KEI_STAT_100`="100"] Service status: "In service" (services provisioned) |
| 5 | SET | `setParam[3] = Rtrim(kktkSvcKei_map.getString(KKTK_SVC_CD))` | Equipment provision service code |
| 6 | SET | `setParam[4] = Rtrim(kktkSvcKei_map.getString(PCRS_CD))` | Contract number |
| 7 | SET | `setParam[5] = Rtrim(kktkSvcKei_map.getString(PPLAN_CD))` | Plan code |
| 8 | SET | `setParam[6] = Rtrim(kktkSvcKei_map.getString(TK_HOSHIKI_KEI_NO))` | Overall service number |
| 9 | SET | `setParam[7] = Rtrim(kktkSvcKei_map.getString(KKTK_SBT_CD))` | Equipment provision service type code |
| 10 | SET | `setParam[8] = Rtrim(kktkSvcKei_map.getString(HAMBAI_SBT_CD))` | Sales service type code |
| 11 | SET | `setParam[9] = Rtrim(kktkSvcKei_map.getString(SVC_USE_STA_KIBO_YMD))` | Service use start desired date |
| 12 | SET | `setParam[10] = Rtrim(kktkSvcKei_map.getString(RSV_TSTA_KIBO_YMD))` | Installation desired date reservation |
| 13 | SET | `setParam[11] = Rtrim(kktkSvcKei_map.getString(KIBO_MAKER_CD))` | Desired maker code |
| 14 | SET | `setParam[12] = Rtrim(kktkSvcKei_map.getString(KIKI_SHITEI_SBT_CD))` | Equipment designation service type code |
| 15 | SET | `setParam[13] = Rtrim(kktkSvcKei_map.getString(TAKNKIKI_SBT_CD))` | Customer equipment service type code |
| 16 | SET | `setParam[14] = Rtrim(kktkSvcKei_map.getString(TAKNKIKI_MODEL_CD))` | Customer equipment model code |
| 17 | SET | `setParam[15] = Rtrim(kktkSvcKei_map.getString(KIKI_SEIZO_NO))` | Equipment manufacturing number |
| 18 | SET | `setParam[16] = Rtrim(kktkSvcKei_map.getString(HUZOKUHIN_SBT_CD))` | Attachments service type code |
| 19 | SET | `setParam[17] = Rtrim(kktkSvcKei_map.getString(HUZOKUHIN_MODEL_CD))` | Attachments model code |
| 20 | SET | `setParam[18] = Rtrim(kktkSvcKei_map.getString(TAKNKIKI_SETHIN_MODEL_CD))` | Customer equipment set product model code |
| 21 | SET | `setParam[19] = Rtrim(kktkSvcKei_map.getString(KIKI_CHG_NO))` | Equipment change number |
| 22 | SET | `setParam[20] = Rtrim(kktkSvcKei_map.getString(KIKI_CHG_RSN_CD))` | Equipment change reason code |
| 23 | SET | `setParam[21] = Rtrim(kktkSvcKei_map.getString(TSUSHIN_KIKI_SET_CD))` | Communication equipment set code |
| 24 | SET | `setParam[22] = Rtrim(kktkSvcKei_map.getString(HDD_CAPA_CD))` | HDD capacity code |
| 25 | SET | `setParam[23] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_PLACE_NO))` | Equipment installation location number |
| 26 | SET | `setParam[24] = Rtrim(kktkSvcKei_map.getString(OYA_KEI_SKBT_CD))` | Parent line service type code |
| 27 | SET | `setParam[25] = Rtrim(kktkSvcKei_map.getString(SVC_KEI_NO))` | Service line number |
| 28 | SET | `setParam[26] = Rtrim(kktkSvcKei_map.getString(SVC_KEI_UCWK_NO))` | Service line work number |
| 29 | SET | `setParam[27] = Rtrim(kktkSvcKei_map.getString(SVC_KEI_KAISEN_UCWK_NO))` | Service line improvement work number |
| 30 | SET | `setParam[28] = Rtrim(kktkSvcKei_map.getString(OP_SVC_KEI_NO))` | Operator service line number |
| 31 | SET | `setParam[29] = Rtrim(kktkSvcKei_map.getString(SYSID))` | System ID |
| 32 | SET | `setParam[30] = Rtrim(kktkSvcKei_map.getString(MSKM_DTL_NO))` | Master management detail number |
| 33 | SET | `setParam[31] = Rtrim(kktkSvcKei_map.getString(LINK_STB_FLG))` | Linked STB flag |
| 34 | SET | `setParam[32] = Rtrim(kktkSvcKei_map.getString(KIKI_HKAT_SHITEI_SOKO_CD))` | Equipment return designation source code |
| 35 | SET | `setParam[33] = Rtrim(kktkSvcKei_map.getString(KIKI_HKAT_SHITEI_SKDN_CD))` | Equipment return designation store code |
| 36 | SET | `setParam[34] = Rtrim(kktkSvcKei_map.getString(KIKI_STI_JI_KRIPLACE_SKCD))` | Equipment installation address street code |
| 37 | SET | `setParam[35] = Rtrim(kktkSvcKei_map.getString(KIKI_STI_JI_KOCOMP_CD))` | Equipment installation office company code |
| 38 | SET | `setParam[36] = Rtrim(kktkSvcKei_map.getString(KIKI_STI_JI_KOCOMP_SLF_CD))` | Equipment installation office company self code |
| 39 | SET | `setParam[37] = Rtrim(kktkSvcKei_map.getString(KIKI_STI_JI_YTKSKOF_CD))` | Equipment installation area city/county code |
| 40 | SET | `setParam[38] = Rtrim(kktkSvcKei_map.getString(KIKI_STI_JI_YTKSKOF_SLF_CD))` | Equipment installation area city/county self code |
| 41 | SET | `setParam[39] = Rtrim(kktkSvcKei_map.getString(KKTK_SVC_KEI_HKHASYMD))` | Equipment provision start date |
| 42 | SET | `setParam[40] = Rtrim(kktkSvcKei_map.getString(KIKI_SORYO_UM))` | Equipment total amount |
| 43 | SET | `setParam[41] = Rtrim(kktkSvcKei_map.getString(KIKI_SORYO_SAKSEI_YMD))` | Equipment total amount billing date |
| 44 | SET | `setParam[42] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_NM))` | Equipment owner name |
| 45 | SET | `setParam[43] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_KANA))` | Equipment owner name (kana) |
| 46 | SET | `setParam[44] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_AD_CD))` | Equipment owner address code |
| 47 | SET | `setParam[45] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_PCD))` | Equipment owner postal code |
| 48 | SET | `setParam[46] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_STATE_NM))` | Equipment owner state name |
| 49 | SET | `setParam[47] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_CITY_NM))` | Equipment owner city name |
| 50 | SET | `setParam[48] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_OAZTSU_NM))` | Equipment owner district name |
| 51 | SET | `setParam[49] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_AZCHO_NM))` | Equipment owner block name |
| 52 | SET | `setParam[50] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_BNCHIGO))` | Equipment owner branch code |
| 53 | SET | `setParam[51] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_ADRTTM))` | Equipment address building name |
| 54 | SET | `setParam[52] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_ADRRM))` | Equipment address room name |
| 55 | SET | `setParam[53] = Rtrim(kktkSvcKei_map.getString(KIKI_SHS_AD_MAN_INPUT_FLG))` | Equipment address manual input flag |
| 56 | SET | `setParam[54] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_TELNO))` | Equipment owner telephone number |
| 57 | SET | `setParam[55] = Rtrim(kktkSvcKei_map.getString(MANSION_BUKKEN_NO))` | Mansion property number |
| 58 | SET | `setParam[56] = Rtrim(kktkSvcKei_map.getString(KIKI_SOHUS_KSH_AD_SAI_FLG))` | Equipment owner address rearrangement flag |
| 59 | SET | `setParam[57] = Rtrim(kktkSvcKei_map.getString(KIKI_SHS_KBT_SHITEI_FLG))` | Equipment KBT designation flag |
| 60 | SET | `setParam[58] = Rtrim(kktkSvcKei_map.getString(KIKI_SHS_HSK_CD_1))` | Equipment housing code 1 |
| 61 | SET | `setParam[59] = Rtrim(kktkSvcKei_map.getString(KIKI_SHS_HSK_CD_2))` | Equipment housing code 2 |
| 62 | SET | `setParam[60] = Rtrim(kktkSvcKei_map.getString(KIKI_SHS_HSK_MEMO))` | Equipment housing memo |
| 63 | SET | `setParam[61] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_NM))` | Equipment installation name |
| 64 | SET | `setParam[62] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_KANA))` | Equipment installation name (kana) |
| 65 | SET | `setParam[63] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_AD_CD))` | Equipment installation address code |
| 66 | SET | `setParam[64] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_PCD))` | Equipment installation postal code |
| 67 | SET | `setParam[65] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_STATE_NM))` | Equipment installation state name |
| 68 | SET | `setParam[66] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_CITY_NM))` | Equipment installation city name |
| 69 | SET | `setParam[67] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_OAZTSU_NM))` | Equipment installation district name |
| 70 | SET | `setParam[68] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_AZCHO_NM))` | Equipment installation block name |
| 71 | SET | `setParam[69] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_BNCHIGO))` | Equipment installation branch code |
| 72 | SET | `setParam[70] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_ADRTTM))` | Equipment installation address building |
| 73 | SET | `setParam[71] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SAKI_ADRRM))` | Equipment installation address room |
| 74 | SET | `setParam[72] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SK_KSH_AD_SAI_FLG))` | Equipment installation address rearrangement flag |
| 75 | SET | `setParam[73] = Rtrim(kktkSvcKei_map.getString(KIKI_STC_SK_TELNO))` | Equipment installation telephone |
| 76 | SET | `setParam[74] = Rtrim(kktkSvcKei_map.getString(KIKI_STS_KKK_SEIRI_CHU_FLG))` | Equipment processing processing middle flag |
| 77 | SET | `setParam[75] = Rtrim(kktkSvcKei_map.getString(AD_MI_FIX_FLG))` | Address mail fix flag |
| 78 | SET | `setParam[76] = Rtrim(kktkSvcKei_map.getString(AUTO_ADD_CD))` | Automatic addition code |
| 79 | SET | `setParam[77] = Rtrim(kktkSvcKei_map.getString(AD_MI_FIX_RLS_YMD))` | Address mail fix release date |
| 80 | SET | `setParam[78] = Rtrim(kktkSvcKei_map.getString(CHRG_STA_YMD_HOSEI_UM))` | Charge start date adjustment amount |
| 81 | SET | `setParam[79] = Rtrim(kktkSvcKei_map.getString(KIKI_STS_HSK_CD_1))` | Equipment status housing code 1 |
| 82 | SET | `setParam[80] = Rtrim(kktkSvcKei_map.getString(KIKI_STS_HSK_CD_2))` | Equipment status housing code 2 |
| 83 | SET | `setParam[81] = Rtrim(kktkSvcKei_map.getString(KIKI_STS_HSK_MEMO))` | Equipment status housing memo |
| 84 | SET | `setParam[82] = Rtrim(kktkSvcKei_map.getString(KKTK_SVC_KEI_KZKWRK_REQYMD))` | Equipment provision contract work request date |
| 85 | SET | `setParam[83] = Rtrim(kktkSvcKei_map.getString(SHOSA_YMD))` | Measurement date |
| 86 | SET | `setParam[84] = Rtrim(kktkSvcKei_map.getString(SHOSA_CL_YMD))` | Measurement completion date |
| 87 | SET | `setParam[85] = Rtrim(kktkSvcKei_map.getString(HAISO_DIV))` | Delivery division |
| 88 | SET | `setParam[86] = Rtrim(kktkSvcKei_map.getString(HAISO_KIGEN_YMD))` | Delivery deadline date |
| 89 | SET | `setParam[87] = Rtrim(kktkSvcKei_map.getString(HAISO_ARIV_SHITEI_YMD))` | Delivery arrival designation date |
| 90 | SET | `setParam[88] = Rtrim(kktkSvcKei_map.getString(FTRIAL_KANYU_YMD))` | Free trial entry date |
| 91 | SET | `setParam[89] = Rtrim(kktkSvcKei_map.getString(FTRIAL_PRD_ENDYMD))` | Free trial period end date |
| 92 | SET | `setParam[90] = Rtrim(kktkSvcKei_map.getString(HONKANYU_YMD))` | Full service start date |
| 93 | SET | `setParam[91] = Rtrim(kktkSvcKei_map.getString(HONKANYU_IKO_KIGEN_YMD))` | Full service start after deadline date |
| 94 | SET | `setParam[92] = Rtrim(kktkSvcKei_map.getString(KEI_CNC_YMD))` | Line cancellation date |
| 95 | SET | `setParam[93] = Rtrim(kktkSvcKei_map.getString(JCCC_KANYU_BUNSHO_YMD))` | JCCC entry document date |
| 96 | SET | `setParam[94] = Rtrim(kktkSvcKei_map.getString(HOSHO_CD))` | Guarantee code |
| 97 | SET | `setParam[95] = Rtrim(kktkSvcKei_map.getString(KKTK_SVKEI_HOKI))` | Equipment provision supplement |
| 98 | SET | `setParam[96] = Rtrim(kktkSvcKei_map.getString(HOSHO_STAYMD))` | Guarantee start date |
| 99 | SET | `setParam[97] = Rtrim(kktkSvcKei_map.getString(HOSHO_END_YMD))` | Guarantee end date |
| 100 | SET | `setParam[98] = Rtrim(kktkSvcKei_map.getString(RSV_APLY_YMD))` | Reservation application date |
| 101 | SET | `setParam[99] = Rtrim(kktkSvcKei_map.getString(RSV_CL_YMD))` | Reservation completion date |
| 102 | SET | `setParam[100] = Rtrim(kktkSvcKei_map.getString(RSV_APLY_CD))` | Reservation application code |
| 103 | SET | `setParam[101] = Rtrim(kktkSvcKei_map.getString(KIKI_CHG_YMD))` | Equipment change date |
| 104 | SET | `setParam[102] = Rtrim(kktkSvcKei_map.getString(PLAN_STAYMD))` | Plan stay date |
| 105 | SET | `setParam[103] = "20991231"` | [-> Hardcoded default] Plan end year/month/day |
| 106 | SET | `setParam[104] = Rtrim(kktkSvcKei_map.getString(PLAN_CHRG_STAYMD))` | Plan charge stay date |
| 107 | SET | `setParam[105] = "20991231"` | [-> Hardcoded default] Plan charge end year/month/day |
| 108 | SET | `setParam[106] = Rtrim(kktkSvcKei_map.getString(PLAN_END_SBT_CD))` | Plan end service type code |
| 109 | SET | `setParam[107] = Rtrim(kktkSvcKei_map.getString(SVC_CANCEL_YMD))` | Service cancellation date |
| 110 | SET | `setParam[108] = Rtrim(kktkSvcKei_map.getString(SVC_CANCEL_RSN_CD))` | Service cancellation reason code |
| 111 | SET | `setParam[109] = Rtrim(kktkSvcKei_map.getString(SVC_STA_KISAN_YMD))` | Service start planned date |
| 112 | SET | `setParam[110] = Rtrim(kktkSvcKei_map.getString(SVC_STA_YMD))` | Service start date |
| 113 | SET | `setParam[111] = Rtrim(kktkSvcKei_map.getString(SVC_CHRG_STAYMD))` | Service charge stay date |
| 114 | SET | `setParam[112] = Rtrim(kktkSvcKei_map.getString(SVC_STP_YMD))` | Service stop date |
| 115 | SET | `setParam[113] = Rtrim(kktkSvcKei_map.getString(SVCTK_CHU_USE_FAIL_SBT_CD))` | Service trial usage failure service type code |
| 116 | SET | `setParam[114] = Rtrim(kktkSvcKei_map.getString(SVC_STP_RSN_CD))` | Service stop reason code |
| 117 | SET | `setParam[115] = Rtrim(kktkSvcKei_map.getString(SVC_STP_RLS_YMD))` | Service stop release date |
| 118 | SET | `setParam[116] = Rtrim(kktkSvcKei_map.getString(SVC_STP_RLS_RSN_CD))` | Service stop release reason code |
| 119 | SET | `setParam[117] = Rtrim(kktkSvcKei_map.getString(PAUSE_STP_CD))` | Pause stop code |
| 120 | SET | `setParam[118] = Rtrim(kktkSvcKei_map.getString(SVC_PAUSE_YMD))` | Service pause date |
| 121 | SET | `setParam[119] = Rtrim(kktkSvcKei_map.getString(SVC_PAUSE_RSN_CD))` | Service pause reason code |
| 122 | SET | `setParam[120] = Rtrim(kktkSvcKei_map.getString(SVC_PAUSE_RSN_MEMO))` | Service pause reason memo |
| 123 | SET | `setParam[121] = Rtrim(kktkSvcKei_map.getString(SVC_PAUSE_RLS_YMD))` | Service pause release date |
| 124 | SET | `setParam[122] = Rtrim(kktkSvcKei_map.getString(SVC_PAUSE_RLS_RSN_CD))` | Service pause release reason code |
| 125 | SET | `setParam[123] = Rtrim(kktkSvcKei_map.getString(SVC_PAUSE_RLS_RSN_MEMO))` | Service pause release reason memo |
| 126 | SET | `setParam[124] = "20991231"` | [-> Hardcoded default] Service end year/month/day |
| 127 | SET | `setParam[125] = "20991231"` | [-> Hardcoded default] Service charge end year/month/day |
| 128 | SET | `setParam[126] = ""` | [-> Hardcoded default] Service cancellation year/month/day (empty) |
| 129 | SET | `setParam[127] = ""` | [-> Hardcoded default] Service cancellation reason code (empty) |
| 130 | SET | `setParam[128] = Rtrim(kktkSvcKei_map.getString(SVC_DLRE_MEMO))` | Service dissolution memo |
| 131 | SET | `setParam[129] = Rtrim(kktkSvcKei_map.getString(ZANCHI_FLG))` | Remainder flag |
| 132 | SET | `setParam[130] = Rtrim(kktkSvcKei_map.getString(SVC_DSL_TTDKI_FIN_FLG))` | Service DSL line completion flag |
| 133 | SET | `setParam[131] = super.opeDate` | [-> Instance field] Recovery year/month/day: operation date |
| 134 | SET | `setParam[132] = Rtrim(kktkSvcKei_map.getString(SVC_CANCEL_CL_YMD))` | Service cancellation completion date |
| 135 | SET | `setParam[133] = Rtrim(kktkSvcKei_map.getString(SVC_DSL_CL_YMD))` | Service DSL completion date |
| 136 | SET | `setParam[134] = Rtrim(kktkSvcKei_map.getString(SKEKKA_SEND_CD))` | Settlement send code |
| 137 | SET | `setParam[135] = Rtrim(kktkSvcKei_map.getString(SVC_PAUSE_CHRG_STA_YMD))` | Service pause charge start date |
| 138 | SET | `setParam[136] = Rtrim(kktkSvcKei_map.getString(PNLTY_HASSEI_CD))` | Penalty occurrence code |
| 139 | SET | `setParam[137] = Rtrim(kktkSvcKei_map.getString(KIKI_NINSHO_ID))` | Equipment recognition ID |
| 140 | SET | `setParam[138] = Rtrim(kktkSvcKei_map.getString(KIKI_NINSHO_ID_PWD))` | Equipment recognition ID password |
| 141 | SET | `setParam[139] = Rtrim(kktkSvcKei_map.getString(IDO_DIV))` | Migration division |
| 142 | SET | `setParam[140] = Rtrim(kktkSvcKei_map.getString(KKST_JSEKI_UK_YMD))` | Equipment settlement outstanding date |
| 143 | SET | `setParam[141] = Rtrim(kktkSvcKei_map.getString(EO_TV_KKST_SNN_STAT_CD))` | EO TV equipment settlement subscriber status code |
| 144 | SET | `setParam[142] = Rtrim(kktkSvcKei_map.getString(KKST_SNN_YMD))` | Equipment settlement subscriber date |
| 145 | SET | `setParam[143] = Rtrim(kktkSvcKei_map.getString(TAKNKIKI_IDO_CD))` | Customer equipment migration code |
| 146 | SET | `setParam[144] = Rtrim(kktkSvcKei_map.getString(CAS_CARD_USE_KYODAK_YMD))` | CAS card usage contract date |
| 147 | SET | `setParam[145] = Rtrim(kktkSvcKei_map.getString(KIKI_HUKA_INFO_CD))` | Equipment additional information code |
| 148 | SET | `setParam[146] = Rtrim(kktkSvcKei_map.getString(SHOSA_DSL_FIN_CD))` | Measurement DSL completion code |
| 149 | SET | `setParam[147] = Rtrim(kktkSvcKei_map.getString(ROUTER_DSL_RSV_TRN_STAT_CD))` | Router DSL registration transmission status code |
| 150 | SET | `setParam[148] = Rtrim(kktkSvcKei_map.getString(ROUTER_DSL_RSV_TRN_RSLT_CD))` | Router DSL registration transmission result code |
| 151 | SET | `setParam[149] = Rtrim(kktkSvcKei_map.getString(HAISO_WAY_CD))` | Delivery method code |
| 152 | SET | `setParam[150] = Rtrim(kktkSvcKei_map.getString(KIKI_ITENS_MV_JSSIS_SKCD))` | Equipment items move JSSIS store code |
| 153 | SET | `setParam[151] = Rtrim(kktkSvcKei_map.getString(KAISHU_KIKI_UM))` | Refund equipment amount |
| 154 | SET | `setParam[152] = Rtrim(kktkSvcKei_map.getString(HAISO_REQ_SHITEI_YMD))` | Delivery request designation date |
| 155 | SET | `setParam[153] = Rtrim(kktkSvcKei_map.getString(SHKA_FIN_JI_SYRZM_FLG))` | Settlement completion automatic settlement flag |
| 156 | SET | `setParam[154] = Rtrim(kktkSvcKei_map.getString(SVC_STA_JI_HIS_JOKYO_SKCD))` | Service start site history status store code |
| 157 | SET | `setParam[155] = ""` | [-> Hardcoded default empty] |
| 158 | SET | `setParam[156] = ""` | [-> Hardcoded default empty] |
| 159 | SET | `setParam[157] = ""` | [-> Hardcoded default empty] |
| 160 | SET | `setParam[158] = ""` | [-> Hardcoded default empty] |
| 161 | SET | `setParam[159] = ""` | [-> Hardcoded default empty] |
| 162 | SET | `setParam[160] = ""` | [-> Hardcoded default empty] |
| 163 | SET | `setParam[161] = MK_FLG_YK = "0"` | [-> `MK_FLG_YK`="0"] Invalid flag |
| 164 | SET | `setParam[162] = ""` | [-> Hardcoded default empty] |
| 165 | SET | `setParam[163] = ""` | [-> Hardcoded default empty] |
| 166 | SET | `setParam[164] = ""` | [-> Hardcoded default empty] |
| 167 | SET | `setParam[165] = ""` | [-> Hardcoded default empty] |
| 168 | SET | `setParam[166] = ""` | [-> Hardcoded default empty] |
| 169 | SET | `setParam[167] = ""` | [-> Hardcoded default empty] |
| 170 | SET | `setParam[168] = Rtrim(kktkSvcKei_map.getString(HCPRD_STAD_SNSTSTD_YMD))` | Half contract period standard start date |
| 171 | SET | `setParam[169] = Rtrim(kktkSvcKei_map.getString(HCPRD_STAD_SNSTSTD_YMD_IKF))` | Half contract period standard start date 1st |
| 172 | SET | `setParam[170] = Rtrim(kktkSvcKei_map.getString(HCPRD_STAD_SNSTSTD_YMD_SCD))` | Half contract period standard start date 2nd |
| 173 | CALL | `executeKK_T_KKTK_SVC_KEI_PKINSERT(setParam)` | [-> Create] Insert new equipment provision service contract record |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `KKTK_SVC_KEI_NO` | Field | Equipment provision service contract number — unique identifier for an equipment provision service contract record |
| `KKTK_SVC_CD` | Field | Equipment provision service code — classification code for the type of equipment provision service |
| `PCRS_CD` | Field | Contract number — the overall contract reference number |
| `PPLAN_CD` | Field | Plan code — the service plan under which the contract is registered |
| `KKTK_SVC_KEI_STAT` | Field | Equipment provision service contract status — code indicating the current state of the contract (e.g., "100" = In service) |
| `KKTK_SBT_CD` | Field | Equipment provision service type code — classifies the type of equipment provision service |
| `HAMBAI_SBT_CD` | Field | Sales service type code — classifies the sales channel or type |
| `SVC_USE_STA_KIBO_YMD` | Field | Service use start desired date — date the customer wishes to begin using the service |
| `RSV_TSTA_KIBO_YMD` | Field | Installation desired date (reservation) — the date the customer desires for equipment installation |
| `KIKI_SHITEI_SBT_CD` | Field | Equipment designation service type code — service type for equipment designation |
| `TAKNKIKI_SBT_CD` | Field | Customer equipment service type code — type of customer-owned equipment |
| `TAKNKIKI_MODEL_CD` | Field | Customer equipment model code — model identifier for customer-owned equipment |
| `KIKI_SEIZO_NO` | Field | Equipment manufacturing number — serial number of the manufactured equipment |
| `KIKI_CHG_NO` | Field | Equipment change number — tracking number for equipment changes/replacements |
| `KIKI_CHG_RSN_CD` | Field | Equipment change reason code — reason for the equipment change |
| `TSUSHIN_KIKI_SET_CD` | Field | Communication equipment set code — identifier for a set of communication equipment |
| `HDD_CAPA_CD` | Field | HDD capacity code — classification of hard drive capacity |
| `SVC_KEI_NO` | Field | Service line number — identifier for a specific service line |
| `SVC_KEI_UCWK_NO` | Field | Service line work number — internal work/tracking number for service line modifications |
| `SVC_KEI_KAISEN_UCWK_NO` | Field | Service line improvement work number — tracking number for service line improvements |
| `MSKM_DTL_NO` | Field | Master management detail number — detail-level tracking number from the master management table |
| `LINK_STB_FLG` | Field | Linked STB flag — indicates whether the set-top box (STB) is linked/associated |
| `KIKI_SOHUS_NM` | Field | Equipment owner name — name of the equipment owner |
| `KIKI_SOHUS_KANA` | Field | Equipment owner name (kana) — phonetic reading of the equipment owner name in Japanese kana |
| `KIKI_SOHUS_AD_CD` | Field | Equipment owner address code — postal/address code for the equipment owner |
| `KIKI_SOHUS_TELNO` | Field | Equipment owner telephone number |
| `KIKI_STC_SAKI_NM` | Field | Equipment installation name — name at the installation location |
| `KIKI_STC_SAKI_KANA` | Field | Equipment installation name (kana) — phonetic reading of the installation location name |
| `HAISO_WAY_CD` | Field | Delivery method code — how the equipment is delivered |
| `SVC_CANCEL_YMD` | Field | Service cancellation date — date when the service was cancelled |
| `SVC_CANCEL_RSN_CD` | Field | Service cancellation reason code — reason for service cancellation |
| `SVC_STA_YMD` | Field | Service start date — date when the service became active |
| `SVC_STP_YMD` | Field | Service stop date — date when the service was stopped |
| `SVC_PAUSE_YMD` | Field | Service pause date — date when the service was temporarily paused |
| `SVC_PAUSE_RSN_CD` | Field | Service pause reason code — reason for service pause |
| `SVC_PAUSE_RLS_YMD` | Field | Service pause release date — date when the pause was lifted |
| `SVC_DLRE_MEMO` | Field | Service dissolution memo — notes about service dissolution/cancellation |
| `PLAN_END_YMD` | Field | Plan end date — end date of the service plan (default: 20991231 = no end) |
| `PLAN_CHRG_STAYMD` | Field | Plan charge stay date — date until plan charges apply |
| `HCPRD_STAD_SNSTSTD_YMD` | Field | Half contract period standard start date — for prorated billing calculations |
| `HCPRD_STAD_SNSTSTD_YMD_IKF` | Field | Half contract period standard start date (1st phase) |
| `HCPRD_STAD_SNSTSTD_YMD_SCD` | Field | Half contract period standard start date (2nd phase) |
| `GENE_ADD_DTM` | Field | Generation addition date/time — timestamp of record creation in the database |
| `ZZANCHI_FLG` | Field | Remainder flag — indicates whether there is a remaining balance or obligation |
| `IDO_DIV` | Field | Migration division — classification for service line migration/portability |
| `TAKNKIKI_IDO_CD` | Field | Customer equipment migration code — code for customer equipment portability/migration |
| `KIKI_NINSHO_ID` | Field | Equipment recognition ID — authentication identifier for the equipment |
| `ROUTER_DSL_RSV_TRN_STAT_CD` | Field | Router DSL registration transmission status code — status of router DSL registration data transmission |
| `ROUTER_DSL_RSV_TRN_RSLT_CD` | Field | Router DSL registration transmission result code — result of router DSL registration data transmission |
| `CD00056_KKTK_SVC_KEI_STAT_100` | Constant | Service status code "100" — meaning "In service" (サービス提供中), the active state for equipment provision service contracts |
| `MK_FLG_YK` | Constant | Invalid flag — value "0" means valid/active (無効). When "1", the flag is considered invalid (disabled). |
| `opeDate` | Field | Batch operation date — the business date of the batch run, used as the creation timestamp for recovery operations |
| KK_T_KKTK_SVC_KEI | Table | Equipment Provision Service Contract table — the main database table storing all equipment provision service contract records |
| JBSbatCommonDBInterface | Interface | Data carrier interface — a key-value map used to pass structured data between layers (acts as both input parameter container and data assembly target) |
| Multi-function Router (タキノルーター) | Business term | A combined router/modem equipment that provides multiple services (e.g., DSL, VoIP, WiFi) in a single device. "Takino" refers to a specific equipment model or series used in the telecom service. |
| Equipment Provision (機器提供) | Business term | A service arrangement where the provider supplies customer premises equipment (CPE) — such as routers, modems, STBs — to the subscriber rather than the subscriber purchasing their own equipment. |
| Service Recovery (回復/復旧) | Business term | The process of re-registering service contracts after they have been cancelled or interrupted, restoring the contract to active status. This is distinct from new service registration (新規登録). |
| PK Insert (プライマリキーINSERT) | Technical term | A database insert operation that explicitly provides values for all columns including the primary key, used here for the `KK_T_KKTK_SVC_KEI` table. |
