# Business Logic — JBSbatKKAdHenkoHoyuDataUpd.executeCK_T_CUST_PKINSERT() [143 LOC]

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

## 1. Role

### JBSbatKKAdHenkoHoyuDataUpd.executeCK_T_CUST_PKINSERT()

This method performs a **primary-key-based insert** of a customer master record (`KK_T_CUST` / `CK_T_CUST`) into the database. It is a batch-level data persistence service that maps 118 fields from an `Object[]` array parameter to a `JBSbatCommonDBInterface` map and delegates the actual database insertion to `db_CK_T_CUST.insertByPrimaryKeys()`. The table `CK_T_CUST` is the core customer master table in the e-Client Base system (eo customer foundation system), and this method serves as the unified creation entry point — both new customer registrations and re-registrations of previously deleted or lapsed accounts flow through this same code path.

The method implements a **straightforward mapper-delegator pattern**: it accepts a flat array of values ordered by column position, maps each position to its corresponding column name, and passes the assembled map to the SQL access layer for primary-key insert. There are no conditional branches — every call inserts all 118 columns regardless of the values they contain. The caller (`createCustRec`) is responsible for populating the array with the correct values, including the `ADD_FLG` flag at index 116 which distinguishes new registration from update operations upstream.

This method is a **batch-service component** called exclusively by `createCustRec()` within the same class, which orchestrates customer record creation as part of a larger batch processing workflow for customer data updates from residence work (変更住所ワーク).

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["executeCK_T_CUST_PKINSERT(setParam)"])
    STEP1["Create setMap: JBSbatCommonDBInterface()"]
    STEP2["Map setParam[0] -> SYSID"]
    STEP3["Map setParam[1] -> GENE_ADD_DTM"]
    STEP4["Map setParam[2] -> CUST_STAT"]
    STEP5["Map setParam[3] -> KEISHA_TYPE_CD"]
    STEP6["Map setParam[4] -> CUST_NM"]
    STEP7["Map setParam[5] -> CUST_KANA"]
    STEP8["Map setParam[6] -> CUST_SEX_CD"]
    STEP9["Map setParam[7] -> CUST_BIRTHD"]
    STEP10["Map setParam[8] -> NM_KISHO"]
    STEP11["Map setParam[9] -> CUST_CFM_BIKO"]
    STEP12["Map setParam[10] -> KEISHA_AD_CD"]
    STEP13["Map setParam[11] -> KEISHA_PCD"]
    STEP14["Map setParam[12] -> KEISHA_STATE_NM"]
    STEP15["Map setParam[13] -> KEISHA_CITY_NM"]
    STEP16["Map setParam[14] -> KEISHA_OAZTSU_NM"]
    STEP17["Map setParam[15] -> KEISHA_AZCHO_NM"]
    STEP18["Map setParam[16] -> KEISHA_BNCHIGO"]
    STEP19["Map setParam[17] -> KEISHA_ADRTTM"]
    STEP20["Map setParam[18] -> KEISHA_ADRRM"]
    STEP21["Map setParam[19] -> KEISHA_AD_MAN_INPUT_FLG"]
    STEP22["Map setParam[20] -> KEISHA_TELNO"]
    STEP23["Map setParam[21] -> CSSTI_SHS_AD_CD"]
    STEP24["Map setParam[22] -> CSSTI_SHS_PCD"]
    STEP25["Map setParam[23] -> CSSTI_SHS_STATE_NM"]
    STEP26["Map setParam[24] -> CSSTI_SHS_CITY_NM"]
    STEP27["Map setParam[25] -> CSSTI_SHS_OAZTSU_NM"]
    STEP28["Map setParam[26] -> CSSTI_SHS_AZCHO_NM"]
    STEP29["Map setParam[27] -> CSSTI_SHS_BNCHIGO"]
    STEP30["Map setParam[28] -> CSSTI_SHS_ADRTTM"]
    STEP31["Map setParam[29] -> CSSTI_SHS_ADRRM"]
    STEP32["Map setParam[30] -> CSSTI_SHS_AD_MAN_INPUT_FLG"]
    STEP33["Map setParam[31] -> CUST_RANK_CD"]
    STEP34["Map setParam[32] -> RRK_WAY_CD"]
    STEP35["Map setParam[33] -> RRK_WAY_HOKI"]
    STEP36["Map setParam[34] -> EOID"]
    STEP37["Map setParam[35] -> EOID_CHGE_YMD"]
    STEP38["Map setParam[36] -> CONT_CUST_NM"]
    STEP39["Map setParam[37] -> CONT_CUST_KANA"]
    STEP40["Map setParam[38] -> CONT_CUST_SEX_CD"]
    STEP41["Map setParam[39] -> CONT_CUST_BIRTHD"]
    STEP42["Map setParam[40] -> CONT_AD_CD"]
    STEP43["Map setParam[41] -> CONT_PCD"]
    STEP44["Map setParam[42] -> CONT_STATE_NM"]
    STEP45["Map setParam[43] -> CONT_CITY_NM"]
    STEP46["Map setParam[44] -> CONT_OAZTSU_NM"]
    STEP47["Map setParam[45] -> CONT_AZCHO_NM"]
    STEP48["Map setParam[46] -> CONT_BNCHIGO"]
    STEP49["Map setParam[47] -> CONT_ADRTTM"]
    STEP50["Map setParam[48] -> CONT_ADRRM"]
    STEP51["Map setParam[49] -> CONT_AD_BNKT_STA_PST"]
    STEP52["Map setParam[50] -> MEMBER_SBT_CD"]
    STEP53["Map setParam[51] -> CONT_ISP_USE_FAIL_FLG"]
    STEP54["Map setParam[52] -> CONT_ISP_USE_STP_YMD"]
    STEP55["Map setParam[53] -> KARI_ADD_YMD"]
    STEP56["Map setParam[54] -> JOIN_YMD"]
    STEP57["Map setParam[55] -> RSV_APLY_YMD"]
    STEP58["Map setParam[56] -> RSV_CL_YMD"]
    STEP59["Map setParam[57] -> RSV_APLY_CD"]
    STEP60["Map setParam[58] -> PWD_REMINDER_QS_CD"]
    STEP61["Map setParam[59] -> PWD_REMINDER_QS_NAIYO"]
    STEP62["Map setParam[60] -> PWD_REMINDER_ANS"]
    STEP63["Map setParam[61] -> NKNAME"]
    STEP64["Map setParam[62] -> NKNAME_CHGE_YMD"]
    STEP65["Map setParam[63] -> NAIHAN_GAIHAN_CD"]
    STEP66["Map setParam[64] -> NAIHAN_COMP_SKBT_CD"]
    STEP67["Map setParam[65] -> NECESSARY_HOJO_CD"]
    STEP68["Map setParam[66] -> EONETID_MI_IKO_FLG"]
    STEP69["Map setParam[67] -> LOGIN_NINSHO_KH"]
    STEP70["Map setParam[68] -> CUST_TKJK_CD"]
    STEP71["Map setParam[69] -> CUST_NTAIKAI_CD"]
    STEP72["Map setParam[70] -> CUST_TAIKAI_YMD"]
    STEP73["Map setParam[71] -> CUST_TAIKAI_RSN_CD"]
    STEP74["Map setParam[72] -> CUST_KAIHK_YMD"]
    STEP75["Map setParam[73] -> LOGIN_NINSHO_STP_YMD"]
    STEP76["Map setParam[74] -> SHK_EOID"]
    STEP77["Map setParam[75] -> SHK_EOID_PWD"]
    STEP78["Map setParam[76] -> EOID_KNRN_INF_CHG_SKCD"]
    STEP79["Map setParam[77] -> EOID_KNRN_INF_CHG_DTM"]
    STEP80["Map setParam[78] -> MMB_SBT_TOKUT_FLG"]
    STEP81["Map setParam[79] -> NAYOSE_SAKI_SYSID"]
    STEP82["Map setParam[80] -> NAYOSE_YMD"]
    STEP83["Map setParam[81] -> EOID_TCHISHO_HAKKOJSKI_CD"]
    STEP84["Map setParam[82] -> OLD_EONETMB_NINSHO_ID"]
    STEP85["Map setParam[83] -> MMB_ISP_KSSAI_STAT_CD"]
    STEP86["Map setParam[84] -> CUST_MK_YMD"]
    STEP87["Map setParam[85] -> DEL_TRGT_GAI_FLG"]
    STEP88["Map setParam[86] -> KYUMIN_FLG"]
    STEP89["Map setParam[87] -> KYUMIN_YMD"]
    STEP90["Map setParam[88] -> SVCTK_BUT_DEL_TRN_JSSI_DTM"]
    STEP91["Map setParam[89] -> ADD_DTM"]
    STEP92["Map setParam[90] -> ADD_OPEACNT"]
    STEP93["Map setParam[91] -> UPD_DTM"]
    STEP94["Map setParam[92] -> UPD_OPEACNT"]
    STEP95["Map setParam[93] -> DEL_DTM"]
    STEP96["Map setParam[94] -> DEL_OPEACNT"]
    STEP97["Map setParam[95] -> MK_FLG"]
    STEP98["Map setParam[96] -> ADD_UNYO_YMD"]
    STEP99["Map setParam[97] -> ADD_TRN_ID"]
    STEP100["Map setParam[98] -> UPD_UNYO_YMD"]
    STEP101["Map setParam[99] -> UPD_TRN_ID"]
    STEP102["Map setParam[100] -> DEL_UNYO_YMD"]
    STEP103["Map setParam[101] -> DEL_TRN_ID"]
    STEP104["Map setParam[102] -> KEPG_KJNIF_TRAT_DOI_UM"]
    STEP105["Map setParam[103] -> KEPG_KJNIF_TRAT_DOI_YMD"]
    STEP106["Map setParam[104] -> KEPG_KJNIFT_FFG"]
    STEP107["Map setParam[105] -> KEPG_KJNIFT_FFG_CHG_YMD"]
    STEP108["Map setParam[106] -> KEPG_KJNIFT_FFG_CHG_UWY_CD"]
    STEP109["Map setParam[107] -> KEPG_KJNIFT_JOKYO_CD"]
    STEP110["Map setParam[108] -> KEPG_KJNIFT_STAYMD"]
    STEP111["Map setParam[109] -> KEPG_KJNIFT_RSCD"]
    STEP112["Map setParam[110] -> KEPG_KJNIFT_RSCD_CHG_YMD"]
    STEP113["Map setParam[111] -> MMB_ISP_KSSAI_USE_JDG_CD"]
    STEP114["Map setParam[112] -> ORSJGS_CD"]
    STEP115["Map setParam[113] -> PAYWAY_CHG_TS_MSG_YOKSI_UM"]
    STEP116["Map setParam[114] -> SCM_TYPE_CD"]
    STEP117["Map setParam[115] -> SCM_JGS_CD"]
    STEP118["Map setParam[116] -> ADD_FLG"]
    STEP119["Map setParam[117] -> DSL_AF_SKSSNS_KH"]
    STEP120["db_CK_T_CUST.insertByPrimaryKeys(setMap)"]
    END_NODE(["Return / Next"])

    START --> STEP1
    STEP1 --> STEP2
    STEP2 --> STEP3
    STEP3 --> STEP4
    STEP4 --> STEP5
    STEP5 --> STEP6
    STEP6 --> STEP7
    STEP7 --> STEP8
    STEP8 --> STEP9
    STEP9 --> STEP10
    STEP10 --> STEP11
    STEP11 --> STEP12
    STEP12 --> STEP13
    STEP13 --> STEP14
    STEP14 --> STEP15
    STEP15 --> STEP16
    STEP16 --> STEP17
    STEP17 --> STEP18
    STEP18 --> STEP19
    STEP19 --> STEP20
    STEP20 --> STEP21
    STEP21 --> STEP22
    STEP22 --> STEP23
    STEP23 --> STEP24
    STEP24 --> STEP25
    STEP25 --> STEP26
    STEP26 --> STEP27
    STEP27 --> STEP28
    STEP28 --> STEP29
    STEP29 --> STEP30
    STEP30 --> STEP31
    STEP31 --> STEP32
    STEP32 --> STEP33
    STEP33 --> STEP34
    STEP34 --> STEP35
    STEP35 --> STEP36
    STEP36 --> STEP37
    STEP37 --> STEP38
    STEP38 --> STEP39
    STEP39 --> STEP40
    STEP40 --> STEP41
    STEP41 --> STEP42
    STEP42 --> STEP43
    STEP43 --> STEP44
    STEP44 --> STEP45
    STEP45 --> STEP46
    STEP46 --> STEP47
    STEP47 --> STEP48
    STEP48 --> STEP49
    STEP49 --> STEP50
    STEP50 --> STEP51
    STEP51 --> STEP52
    STEP52 --> STEP53
    STEP53 --> STEP54
    STEP54 --> STEP55
    STEP55 --> STEP56
    STEP56 --> STEP57
    STEP57 --> STEP58
    STEP58 --> STEP59
    STEP59 --> STEP60
    STEP60 --> STEP61
    STEP61 --> STEP62
    STEP62 --> STEP63
    STEP63 --> STEP64
    STEP64 --> STEP65
    STEP65 --> STEP66
    STEP66 --> STEP67
    STEP67 --> STEP68
    STEP68 --> STEP69
    STEP69 --> STEP70
    STEP70 --> STEP71
    STEP71 --> STEP72
    STEP72 --> STEP73
    STEP73 --> STEP74
    STEP74 --> STEP75
    STEP75 --> STEP76
    STEP76 --> STEP77
    STEP77 --> STEP78
    STEP78 --> STEP79
    STEP79 --> STEP80
    STEP80 --> STEP81
    STEP81 --> STEP82
    STEP82 --> STEP83
    STEP83 --> STEP84
    STEP84 --> STEP85
    STEP85 --> STEP86
    STEP86 --> STEP87
    STEP87 --> STEP88
    STEP88 --> STEP89
    STEP89 --> STEP90
    STEP90 --> STEP91
    STEP91 --> STEP92
    STEP92 --> STEP93
    STEP93 --> STEP94
    STEP94 --> STEP95
    STEP95 --> STEP96
    STEP96 --> STEP97
    STEP97 --> STEP98
    STEP98 --> STEP99
    STEP99 --> STEP100
    STEP100 --> STEP101
    STEP101 --> STEP102
    STEP102 --> STEP103
    STEP103 --> STEP104
    STEP104 --> STEP105
    STEP105 --> STEP106
    STEP106 --> STEP107
    STEP107 --> STEP108
    STEP108 --> STEP109
    STEP109 --> STEP110
    STEP110 --> STEP111
    STEP111 --> STEP112
    STEP112 --> STEP113
    STEP113 --> STEP114
    STEP114 --> STEP115
    STEP115 --> STEP116
    STEP116 --> STEP117
    STEP117 --> STEP118
    STEP118 --> STEP119
    STEP119 --> STEP120
    STEP120 --> END_NODE
```

**Processing Summary:**

This method performs a linear, sequential mapping of all 118 elements from `setParam` (indices 0–117) into the `setMap` using `JBSbatCommonDBInterface.setValue(String key, Object value)`. Each element maps to a specific database column. There are no conditional branches, loops, or error-handling paths — the method is purely a data mapper.

The field mapping is organized into logical groups:
- **Identity (indices 0–2):** System ID, generation timestamp, customer status
- **Contractor address (indices 3–20):** Full Japanese address fields, phone number
- **Designated delivery address (indices 21–30):** Separate address for mailing (CSSTI prefix)
- **Customer attributes (indices 31–33):** Rank, communication preference
- **e-Id authentication (indices 34–35):** e-Id (electronic identity) and last change date
- **Content customer data (indices 36–49):** Secondary customer identity for content services
- **ISP/consumer membership (indices 50–52):** Membership type, ISP usage flags
- **Registration lifecycle (indices 53–57):** Provisional registration, join dates, reservation data
- **Authentication (indices 58–62):** Password reminder question/answer, nickname
- **Internal/wholesale flags (indices 63–66):** Naihann Gaihan code, enterprise ID, support flags
- **Login/customer management (indices 67–75):** Login auth, withdrawal/recovery dates, initial e-Id
- **Cross-reference (indices 76–83):** e-Id info change tracking, consolidation (nayose) data, old e-Net ID
- **ISP billing (indices 83–84):** ISP payment status, customer invalidation date
- **Soft-delete/lifecycle flags (indices 85–88):** Deletion target exclusion, dormancy flags
- **Privacy/PII consent (indices 102–110):** K-Opticom Group PII consent flags and status
- **Audit timestamps (indices 89–101):** Add/update/delete dates and operator accounts
- **New fields (v19.00.02+ / v2022+):** MMB_ISP_KSSAI_USE_JDG_CD (index 111), ORSJGS_CD (112), PAYWAY_CHG_TS_MSG_YOKSI_UM (113), SCM_TYPE_CD / SCM_JGS_CD (114–115), ADD_FLG (116), DSL_AF_SKSSNS_KH (117)

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `setParam` | `Object[]` | A flat array of 118 elements (indices 0–117) containing customer master record data. Each position corresponds to a specific column in the `CK_T_CUST` table. The array is populated by the caller (`createCustRec`) with values in the exact order defined by the column mapping: system ID, timestamps, customer demographics, contractor address, delivery address, e-Id info, content service data, ISP/membership fields, lifecycle dates, authentication data, privacy/PII consent fields, and audit metadata. Index 116 (`ADD_FLG`) distinguishes new registration from update operations upstream. |

**Instance fields read by this method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `db_CK_T_CUST` | `JBSbatSQLAccess` | SQL access handler for the `CK_T_CUST` customer master table. Initialized in the class constructor with the table name `"CK_T_CUST"`. Responsible for primary-key-based insert operations. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `JBSbatSQLAccess.insertByPrimaryKeys` | - | `CK_T_CUST` | Performs a primary-key-based INSERT into the customer master table `CK_T_CUST` using the assembled map of 118 columns. |
| - | `JBSbatCommonDBInterface.setValue` | - | - | Sets each of the 118 column key-value pairs in the data map. No database access — purely in-memory data population. |

**Full CRUD classification:**

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `JBSbatSQLAccess.insertByPrimaryKeys(Object[])` | - | `CK_T_CUST` | Inserts a new customer master record into the `CK_T_CUST` table using primary-key values from the assembled map. The primary key typically includes `SYSID` (index 0) along with other key columns defined in the table's primary key constraint. |

**Entity/DB table detail:**

| Table | Description |
|-------|-------------|
| `CK_T_CUST` | Customer Master Table — the core customer base entity in the e-Client Foundation System. Stores comprehensive customer profile data including identity, address, authentication (e-Id), ISP/membership status, lifecycle (registration/withdrawal/dormancy), and privacy/PII consent. This is the primary customer master for both individual (KOJIN) and corporate (HOJIN) customers. |

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 1 method.
Terminal operations from this method: `insertByPrimaryKeys` [C], `setValue` [-]... (118 setValue calls)

Trace who calls this method and what this method ultimately calls.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Class: `JBSbatKKAdHenkoHoyuDataUpd.createCustRec()` | `createCustRec()` -> `executeCK_T_CUST_PKINSERT(setParam)` | `insertByPrimaryKeys [C] CK_T_CUST` |

**Call direction:**

- **Caller:** `createCustRec()` (private method in the same class `JBSbatKKAdHenkoHoyuDataUpd`) — builds the `Object[] setParam` array with all 118 fields and invokes `executeCK_T_CUST_PKINSERT` to persist the record.
- **Called by this method:** None directly besides `JBSbatSQLAccess` delegate. All data population is done via `setValue()` on the map object before the single `insertByPrimaryKeys()` call.

## 6. Per-Branch Detail Blocks

This method has **no conditional branches**, loops, or exception handling. The entire flow is a single linear sequence of 118 `setValue` assignments followed by one `insertByPrimaryKeys` call. The control flow blocks below reflect the sequential structure.

> The following blocks group the 118 assignments by their logical business domain.

**Block 1** — [IDENTITY FIELDS] (L3269)

Populates the core identity fields that uniquely identify the customer record in the system.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("SYSID", setParam[0])` // System ID — unique system identifier for the customer [-> L3270] |
| 2 | SET | `setMap.setValue("GENE_ADD_DTM", setParam[1])` // Generation registration date/time — timestamp of this generation's record creation [-> L3271] |
| 3 | SET | `setMap.setValue("CUST_STAT", setParam[2])` // Customer status — current standing of the customer [-> L3272] |

**Block 2** — [CONTRACTOR ADDRESS FIELDS] (L3273)

Populates the contractor's primary address information including Japanese address components and phone number.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("KEISHA_TYPE_CD", setParam[3])` // Contractor type code [-> L3273] |
| 2 | SET | `setMap.setValue("CUST_NM", setParam[4])` // Customer name (kanji/kanji) [-> L3274] |
| 3 | SET | `setMap.setValue("CUST_KANA", setParam[5])` // Customer name (katakana reading) [-> L3275] |
| 4 | SET | `setMap.setValue("CUST_SEX_CD", setParam[6])` // Customer gender code [-> L3276] |
| 5 | SET | `setMap.setValue("CUST_BIRTHD", setParam[7])` // Customer date of birth [-> L3277] |
| 6 | SET | `setMap.setValue("NM_KISHO", setParam[8])` // Name honorific — title/honorific appended to name [-> L3278] |
| 7 | SET | `setMap.setValue("CUST_CFM_BIKO", setParam[9])` // Customer confirmation remarks [-> L3279] |
| 8 | SET | `setMap.setValue("KEISHA_AD_CD", setParam[10])` // Contractor address code [-> L3280] |
| 9 | SET | `setMap.setValue("KEISHA_PCD", setParam[11])` // Contractor postal code [-> L3281] |
| 10 | SET | `setMap.setValue("KEISHA_STATE_NM", setParam[12])` // Contractor prefecture name [-> L3282] |
| 11 | SET | `setMap.setValue("KEISHA_CITY_NM", setParam[13])` // Contractor city/town name [-> L3283] |
| 12 | SET | `setMap.setValue("KEISHA_OAZTSU_NM", setParam[14])` // Contractor大字 (oazutsu — large district name) [-> L3284] |
| 13 | SET | `setMap.setValue("KEISHA_AZCHO_NM", setParam[15])` // Contractor字丁目 (azcho — block/cho name) [-> L3285] |
| 14 | SET | `setMap.setValue("KEISHA_BNCHIGO", setParam[16])` // Contractor lot/parcel number [-> L3286] |
| 15 | SET | `setMap.setValue("KEISHA_ADRTTM", setParam[17])` // Contractor address building supplement — building name [-> L3287] |
| 16 | SET | `setMap.setValue("KEISHA_ADRRM", setParam[18])` // Contractor address building supplement — room number [-> L3288] |
| 17 | SET | `setMap.setValue("KEISHA_AD_MAN_INPUT_FLG", setParam[19])` // Contractor address manual input flag [-> L3289] |
| 18 | SET | `setMap.setValue("KEISHA_TELNO", setParam[20])` // Contractor phone number [-> L3290] |

**Block 3** — [DESIGNATED DELIVERY ADDRESS FIELDS] (L3291)

Populates a separate address used for mail delivery — the customer's designated mailing address (CSSTI prefix = Customer Specified Shipping).

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("CSSTI_SHS_AD_CD", setParam[21])` // Customer specified delivery address code [-> L3291] |
| 2 | SET | `setMap.setValue("CSSTI_SHS_PCD", setParam[22])` // Customer specified delivery postal code [-> L3292] |
| 3 | SET | `setMap.setValue("CSSTI_SHS_STATE_NM", setParam[23])` // Customer specified delivery prefecture name [-> L3293] |
| 4 | SET | `setMap.setValue("CSSTI_SHS_CITY_NM", setParam[24])` // Customer specified delivery city name [-> L3294] |
| 5 | SET | `setMap.setValue("CSSTI_SHS_OAZTSU_NM", setParam[25])` // Customer specified delivery大字 name [-> L3295] |
| 6 | SET | `setMap.setValue("CSSTI_SHS_AZCHO_NM", setParam[26])` // Customer specified delivery字丁目 name [-> L3296] |
| 7 | SET | `setMap.setValue("CSSTI_SHS_BNCHIGO", setParam[27])` // Customer specified delivery lot number [-> L3297] |
| 8 | SET | `setMap.setValue("CSSTI_SHS_ADRTTM", setParam[28])` // Customer specified delivery building supplement [-> L3298] |
| 9 | SET | `setMap.setValue("CSSTI_SHS_ADRRM", setParam[29])` // Customer specified delivery room number [-> L3299] |
| 10 | SET | `setMap.setValue("CSSTI_SHS_AD_MAN_INPUT_FLG", setParam[30])` // Customer specified delivery manual input flag [-> L3300] |

**Block 4** — [CUSTOMER ATTRIBUTES & E-Id] (L3301)

Customer rank, communication preferences, and e-Id (electronic identity) authentication fields.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("CUST_RANK_CD", setParam[31])` // Customer rank code [-> L3301] |
| 2 | SET | `setMap.setValue("RRK_WAY_CD", setParam[32])` // Communication method code — preferred contact channel [-> L3302] |
| 3 | SET | `setMap.setValue("RRK_WAY_HOKI", setParam[33])` // Communication method supplement [-> L3303] |
| 4 | SET | `setMap.setValue("EOID", setParam[34])` // e-Id (electronic identity credential) [-> L3304] |
| 5 | SET | `setMap.setValue("EOID_CHGE_YMD", setParam[35])` // e-Id change date [-> L3305] |

**Block 5** — [CONTENT CUSTOMER DATA] (L3306)

Secondary customer data used for content services — a parallel identity for subscribed content offerings.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("CONT_CUST_NM", setParam[36])` // Content customer name [-> L3306] |
| 2 | SET | `setMap.setValue("CONT_CUST_KANA", setParam[37])` // Content customer name (kana) [-> L3307] |
| 3 | SET | `setMap.setValue("CONT_CUST_SEX_CD", setParam[38])` // Content customer gender code [-> L3308] |
| 4 | SET | `setMap.setValue("CONT_CUST_BIRTHD", setParam[39])` // Content customer date of birth [-> L3309] |
| 5 | SET | `setMap.setValue("CONT_AD_CD", setParam[40])` // Content address code [-> L3310] |
| 6 | SET | `setMap.setValue("CONT_PCD", setParam[41])` // Content postal code [-> L3311] |
| 7 | SET | `setMap.setValue("CONT_STATE_NM", setParam[42])` // Content prefecture name [-> L3312] |
| 8 | SET | `setMap.setValue("CONT_CITY_NM", setParam[43])` // Content city name [-> L3313] |
| 9 | SET | `setMap.setValue("CONT_OAZTSU_NM", setParam[44])` // Content大字 name [-> L3314] |
| 10 | SET | `setMap.setValue("CONT_AZCHO_NM", setParam[45])` // Content字丁目 name [-> L3315] |
| 11 | SET | `setMap.setValue("CONT_BNCHIGO", setParam[46])` // Content lot number [-> L3316] |
| 12 | SET | `setMap.setValue("CONT_ADRTTM", setParam[47])` // Content building supplement [-> L3317] |
| 13 | SET | `setMap.setValue("CONT_ADRRM", setParam[48])` // Content room number [-> L3318] |
| 14 | SET | `setMap.setValue("CONT_AD_BNKT_STA_PST", setParam[49])` // Content address split start position [-> L3319] |

**Block 6** — [ISP/MEMBERSHIP & LIFECYCLE] (L3320)

Membership type, ISP usage restrictions, and registration lifecycle dates.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("MEMBER_SBT_CD", setParam[50])` // Member subtype code [-> L3320] |
| 2 | SET | `setMap.setValue("CONT_ISP_USE_FAIL_FLG", setParam[51])` // Content ISP usage failure flag [-> L3321] |
| 3 | SET | `setMap.setValue("CONT_ISP_USE_STP_YMD", setParam[52])` // Content ISP usage suspension date [-> L3322] |
| 4 | SET | `setMap.setValue("KARI_ADD_YMD", setParam[53])` // Provisional registration date [-> L3323] |
| 5 | SET | `setMap.setValue("JOIN_YMD", setParam[54])` // Membership join date [-> L3324] |
| 6 | SET | `setMap.setValue("RSV_APLY_YMD", setParam[55])` // Reservation apply date [-> L3325] |
| 7 | SET | `setMap.setValue("RSV_CL_YMD", setParam[56])` // Reservation cancel date [-> L3326] |
| 8 | SET | `setMap.setValue("RSV_APLY_CD", setParam[57])` // Reservation apply code [-> L3327] |

**Block 7** — [AUTHENTICATION & NICKNAME] (L3328)

Password reminder security and nickname fields.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("PWD_REMINDER_QS_CD", setParam[58])` // Password reminder question code [-> L3328] |
| 2 | SET | `setMap.setValue("PWD_REMINDER_QS_NAIYO", setParam[59])` // Password reminder question content [-> L3329] |
| 3 | SET | `setMap.setValue("PWD_REMINDER_ANS", setParam[60])` // Password reminder answer [-> L3330] |
| 4 | SET | `setMap.setValue("NKNAME", setParam[61])` // Nickname (NKNAME) [-> L3331] |
| 5 | SET | `setMap.setValue("NKNAME_CHGE_YMD", setParam[62])` // Nickname change date [-> L3332] |

**Block 8** — [INTERNAL/WHOLESALE & MANAGEMENT FLAGS] (L3333)

Internal sales/wholesale flags and support requirement indicators.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("NAIHAN_GAIHAN_CD", setParam[63])` // Internal/external sales code — distinguishes internal vs wholesale [-> L3333] |
| 2 | SET | `setMap.setValue("NAIHAN_COMP_SKBT_CD", setParam[64])` // Internal enterprise identification code [-> L3334] |
| 3 | SET | `setMap.setValue("NECESSARY_HOJO_CD", setParam[65])` // Assistance required code — needs special support flag [-> L3335] |
| 4 | SET | `setMap.setValue("EONETID_MI_IKO_FLG", setParam[66])` // e-Net ID un-migrated flag [-> L3336] |
| 5 | SET | `setMap.setValue("LOGIN_NINSHO_KH", setParam[67])` // Login authentication permission — whether login is allowed [-> L3337] |

**Block 9** — [CUSTOMER MANAGEMENT & WITHDRAWAL] (L3338)

Customer special records, withdrawal/reactivation tracking, and initial e-Id data.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("CUST_TKJK_CD", setParam[68])` // Customer special record code [-> L3338] |
| 2 | SET | `setMap.setValue("CUST_NTAIKAI_CD", setParam[69])` // Customer withdrawal/inactive code [-> L3339] |
| 3 | SET | `setMap.setValue("CUST_TAIKAI_YMD", setParam[70])` // Customer withdrawal date [-> L3340] |
| 4 | SET | `setMap.setValue("CUST_TAIKAI_RSN_CD", setParam[71])` // Customer withdrawal reason code [-> L3341] |
| 5 | SET | `setMap.setValue("CUST_KAIHK_YMD", setParam[72])` // Customer recovery date (reactivation) [-> L3342] |
| 6 | SET | `setMap.setValue("LOGIN_NINSHO_STP_YMD", setParam[73])` // Login authentication suspension date [-> L3343] |
| 7 | SET | `setMap.setValue("SHK_EOID", setParam[74])` // Initial e-Id (SHK = original/initial) [-> L3344] |
| 8 | SET | `setMap.setValue("SHK_EOID_PWD", setParam[75])` // Initial e-Id password [-> L3345] |
| 9 | SET | `setMap.setValue("EOID_KNRN_INF_CHG_SKCD", setParam[76])` // e-Id related info change classification code [-> L3346] |
| 10 | SET | `setMap.setValue("EOID_KNRN_INF_CHG_DTM", setParam[77])` // e-Id related info change timestamp [-> L3347] |

**Block 10** — [CROSS-REFERENCE & CONSOLIDATION DATA] (L3348)

Member type-specific flag, name consolidation (nayose) cross-references, and old e-Net credentials.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("MMB_SBT_TOKUT_FLG", setParam[78])` // Member type specific flag [-> L3348] |
| 2 | SET | `setMap.setValue("NAYOSE_SAKI_SYSID", setParam[79])` // Name consolidation target SYSID — which record this is consolidated into [-> L3349] |
| 3 | SET | `setMap.setValue("NAYOSE_YMD", setParam[80])` // Name consolidation date — when records were merged [-> L3350] |
| 4 | SET | `setMap.setValue("EOID_TCHISHO_HAKKOJSKI_CD", setParam[81])` // e-Id notification letter issuance record code [-> L3351] |
| 5 | SET | `setMap.setValue("OLD_EONETMB_NINSHO_ID", setParam[82])` // Old e-Net member authentication ID — legacy credential [-> L3352] |
| 6 | SET | `setMap.setValue("MMB_ISP_KSSAI_STAT_CD", setParam[83])` // Member ISP settlement status code [-> L3353] |
| 7 | SET | `setMap.setValue("CUST_MK_YMD", setParam[84])` // Customer invalidation date [-> L3354] |

**Block 11** — [SOFT-DELETE & DORMANCY FLAGS] (L3355)

Lifecycle control flags for soft-delete behavior and dormancy (sleeping account) tracking.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("DEL_TRGT_GAI_FLG", setParam[85])` // Delete target exclusion flag — whether this record is excluded from deletion [-> L3355] |
| 2 | SET | `setMap.setValue("KYUMIN_FLG", setParam[86])` // Dormancy flag (KYUMIN = sleep/hibernation) — whether account is dormant [-> L3356] |
| 3 | SET | `setMap.setValue("KYUMIN_YMD", setParam[87])` // Dormancy date — when account was marked dormant [-> L3357] |
| 4 | SET | `setMap.setValue("SVCTK_BUT_DEL_TRN_JSSI_DTM", setParam[88])` // Service object deletion processing execution timestamp — PII/data deletion timestamp [-> L3358] |

**Block 12** — [AUDIT METADATA] (L3359)

Complete audit trail: add, update, and delete timestamps with operator accounts and transaction IDs.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("ADD_DTM", setParam[89])` // Record creation timestamp [-> L3359] |
| 2 | SET | `setMap.setValue("ADD_OPEACNT", setParam[90])` // Record creation operator account [-> L3360] |
| 3 | SET | `setMap.setValue("UPD_DTM", setParam[91])` // Record update timestamp [-> L3361] |
| 4 | SET | `setMap.setValue("UPD_OPEACNT", setParam[92])` // Record update operator account [-> L3362] |
| 5 | SET | `setMap.setValue("DEL_DTM", setParam[93])` // Record deletion timestamp [-> L3363] |
| 6 | SET | `setMap.setValue("DEL_OPEACNT", setParam[94])` // Record deletion operator account [-> L3364] |
| 7 | SET | `setMap.setValue("MK_FLG", setParam[95])` // Inactive/marker flag — whether record is inactive [-> L3365] |
| 8 | SET | `setMap.setValue("ADD_UNYO_YMD", setParam[96])` // Record creation operation date — business processing date [-> L3366] |
| 9 | SET | `setMap.setValue("ADD_TRN_ID", setParam[97])` // Record creation transaction ID [-> L3367] |
| 10 | SET | `setMap.setValue("UPD_UNYO_YMD", setParam[98])` // Record update operation date [-> L3368] |
| 11 | SET | `setMap.setValue("UPD_TRN_ID", setParam[99])` // Record update transaction ID [-> L3369] |
| 12 | SET | `setMap.setValue("DEL_UNYO_YMD", setParam[100])` // Record deletion operation date [-> L3370] |
| 13 | SET | `setMap.setValue("DEL_TRN_ID", setParam[101])` // Record deletion transaction ID [-> L3371] |

**Block 13** — [K-Opticom GROUP PII/PERSONAL DATA CONSENT] (L3372)

Privacy and personal information handling consent flags specific to K-Opticom Group (KEPG = K-Opticom Group).

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("KEPG_KJNIF_TRAT_DOI_UM", setParam[102])` // K-Opticom Group PII handling agreement existence — whether consent was given [-> L3372] |
| 2 | SET | `setMap.setValue("KEPG_KJNIF_TRAT_DOI_YMD", setParam[103])` // K-Opticom Group PII handling agreement date [-> L3373] |
| 3 | SET | `setMap.setValue("KEPG_KJNIFT_FFG", setParam[104])` // K-Opticom Group PII provision exclusion flag — whether customer opted out of data sharing [-> L3374] |
| 4 | SET | `setMap.setValue("KEPG_KJNIFT_FFG_CHG_YMD", setParam[105])` // K-Opticom Group PII provision exclusion flag change date [-> L3375] |
| 5 | SET | `setMap.setValue("KEPG_KJNIFT_FFG_CHG_UWY_CD", setParam[106])` // K-Opticom Group PII provision exclusion change reception method code [-> L3376] |
| 6 | SET | `setMap.setValue("KEPG_KJNIFT_JOKYO_CD", setParam[107])` // K-Opticom Group PII provision status code [-> L3377] |
| 7 | SET | `setMap.setValue("KEPG_KJNIFT_STAYMD", setParam[108])` // K-Opticom Group PII provision start date [-> L3378] |
| 8 | SET | `setMap.setValue("KEPG_KJNIFT_RSCD", setParam[109])` // K-Opticom Group PII provision linkage status code [-> L3379] |
| 9 | SET | `setMap.setValue("KEPG_KJNIFT_RSCD_CHG_YMD", setParam[110])` // K-Opticom Group PII provision linkage status change date [-> L3380] |

**Block 14** — [ADDITIONAL FIELDS (v19.00.02 / v2022+)] (L3382)

Fields added through OM-2016-0000059, ANK-3366-00-00, ANK-3375-00-00, and OM-2022-0000956 change requests.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setMap.setValue("MMB_ISP_KSSAI_USE_JDG_CD", setParam[111])` // Member ISP settlement usage determination code [OM-2016-0000059] (originally removed in v19.00.02 then re-added) [-> L3384] |
| 2 | SET | `setMap.setValue("ORSJGS_CD", setParam[112])` // Wholesale distributor code — identifies the wholesale business operator [ANK-3366-00-00] [-> L3388] |
| 3 | SET | `setMap.setValue("PAYWAY_CHG_TS_MSG_YOKSI_UM", setParam[113])` // Payment method change collection message suppression existence — whether to suppress notices when payment method changes [ANK-3375-00-00] [-> L3390] |
| 4 | SET | `setMap.setValue("SCM_TYPE_CD", setParam[114])` // Scheme type code — identifies the service scheme type [OM-2022-0000956] [-> L3392] |
| 5 | SET | `setMap.setValue("SCM_JGS_CD", setParam[115])` // Scheme business operator code — identifies the scheme operator [OM-2022-0000956] [-> L3393] |
| 6 | SET | `setMap.setValue("ADD_FLG", setParam[116])` // Add flag — distinguishes new registration (insert) from update operations [OM-2022-0000956] [-> L3394] |
| 7 | SET | `setMap.setValue("DSL_AF_SKSSNS_KH", setParam[117])` // Post-contract billing statement reference permission — whether customer can view post-cancellation billing [#83205] [-> L3397] |

**Block 15** — [DATABASE INSERT] (L3399)

Executes the primary-key-based insert into the `CK_T_CUST` table.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `db_CK_T_CUST.insertByPrimaryKeys(setMap)` // Inserts the assembled 118-column record into the customer master table CK_T_CUST [-> L3409] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `CK_T_CUST` | Table | Customer Master Table — core entity in the e-Client Foundation System storing comprehensive customer profile data. "CK" = Customer, "T_" = table prefix. |
| `SYSID` | Field | System ID — unique system-level identifier for a customer record |
| `GENE_ADD_DTM` | Field | Generation registration date/time — timestamp when this record generation was created |
| `CUST_STAT` | Field | Customer status — current standing/activation state of the customer |
| `KEISHA` | Field (Japanese) | 契約者 — Contractor / account holder (the person who signed the service contract) |
| `KEISHA_TYPE_CD` | Field | Contractor type code — classifies the type of contractor (individual, corporate, etc.) |
| `CUST_NM` | Field | Customer name — customer's full name in kanji/official characters |
| `CUST_KANA` | Field | Customer name (kana) — customer's name in katakana phonetic reading |
| `CUST_SEX_CD` | Field | Customer gender code — male/female classification |
| `CUST_BIRTHD` | Field | Customer date of birth — birth date for identity verification |
| `NM_KISHO` | Field | Name honorific — honorific/title appended to the customer name (e.g., "Mr.", "Ms.", "Co.") |
| `CUST_CFM_BIKO` | Field | Customer confirmation remarks — additional notes on customer verification |
| `KEISHA_PCD` | Field | Contractor postal code — ZIP code for contractor's address |
| `KEISHA_STATE_NM` | Field | Contractor prefecture name — prefecture (都道府県) of contractor address |
| `KEISHA_CITY_NM` | Field | Contractor city/town name — city (市区町村) of contractor address |
| `KEISHA_OAZTSU_NM` | Field | Contractor大字 name — large district (大字) within the city |
| `KEISHA_AZCHO_NM` | Field | Contractor字丁目 name — block/chome (字丁目) within the district |
| `KEISHA_BNCHIGO` | Field | Contractor lot/parcel number — land lot/banchi (番地) and go (号) |
| `KEISHA_ADRTTM` | Field | Contractor address building supplement — building name |
| `KEISHA_ADRRM` | Field | Contractor address room number — apartment/house room number |
| `KEISHA_TELNO` | Field | Contractor phone number |
| `CSSTI_SHS_` | Field prefix | Customer Specified Shipping — designated delivery address (separate from contractor address for mailing) |
| `CUST_RANK_CD` | Field | Customer rank code — customer tier/classification |
| `RRK_WAY_CD` | Field | Communication method code — preferred contact channel (mail, phone, etc.) |
| `RRK_WAY_HOKI` | Field | Communication method supplement — additional communication details |
| `EOID` | Field | e-Id (electronic identity) — the customer's electronic identity credential for authentication |
| `EOID_CHGE_YMD` | Field | e-Id change date — when the e-Id was last modified |
| `CONT_` | Field prefix | Content — fields related to content services (secondary customer identity for subscriptions) |
| `MEMBER_SBT_CD` | Field | Member subtype code — classifies the type of membership |
| `CONT_ISP_USE_FAIL_FLG` | Field | Content ISP usage failure flag — whether ISP service access is blocked |
| `KARI_ADD_YMD` | Field | Provisional registration date — temporary/preliminary registration timestamp |
| `JOIN_YMD` | Field | Membership join date — date the customer formally joined |
| `RSV_APLY_YMD` / `RSV_CL_YMD` | Field | Reservation apply/cancel date — dates for reserved service applications |
| `RSV_APLY_CD` | Field | Reservation apply code — classification of reservation type |
| `PWD_REMINDER_QS_CD` | Field | Password reminder question code — security question identifier |
| `PWD_REMINDER_ANS` | Field | Password reminder answer — hashed security answer |
| `NKNAME` | Field | Nickname — customer's display alias |
| `NAIHAN_GAIHAN_CD` | Field | Internal/external sales code — distinguishes internal sales (内販) from wholesale (外販) |
| `NECESSARY_HOJO_CD` | Field | Assistance required code — indicates customer needs special support |
| `EONETID_MI_IKO_FLG` | Field | e-Net ID un-migrated flag — whether the customer's old e-Net ID has not been migrated |
| `CUST_TAIKAI_YMD` | Field | Customer withdrawal date — when the customer canceled their service (退会) |
| `CUST_KAIHK_YMD` | Field | Customer recovery date — when a withdrawn customer was reactivated (回復) |
| `LOGIN_NINSHO_KH` | Field | Login authentication permission — whether login is authorized for this account |
| `SHK_EOID` | Field | Initial e-Id (SHK = 初期) — the original/first e-Id assigned to the customer |
| `NAYOSE_SAKI_SYSID` | Field | Name consolidation target SYSID — the record that this one was consolidated into (名寄せ) |
| `NAYOSE_YMD` | Field | Name consolidation date — when duplicate records were merged |
| `KYUMIN_FLG` | Field | Dormancy flag (KYUMIN = 休眠) — whether the account is dormant/inactive |
| `KYUMIN_YMD` | Field | Dormancy date — when the account was marked dormant |
| `SVCTK_BUT_DEL_TRN_JSSI_DTM` | Field | Service object deletion processing timestamp — when customer data was deleted for privacy compliance |
| `KEPG_KJNIF_TRAT_DOI_UM` | Field | K-Opticom Group PII handling agreement existence — whether consent for PII sharing was given |
| `KEPG_KJNIFT_FFG` | Field | K-Opticom Group PII provision exclusion flag — whether customer opted out of data sharing within the group |
| `KEPG_KJNIFT_JOKYO_CD` | Field | K-Opticom Group PII provision status — current state of data sharing consent |
| `ADD_FLG` | Field | Add flag — indicates whether this operation creates a new record (true) vs updates existing (false) |
| `ORSJGS_CD` | Field | Wholesale distributor code — identifies the wholesale business operator (卸先事業者) |
| `PAYWAY_CHG_TS_MSG_YOKSI_UM` | Field | Payment method change collection message suppression — whether to suppress billing notices on payment method change |
| `SCM_TYPE_CD` | Field | Scheme type code — identifies the service scheme type |
| `SCM_JGS_CD` | Field | Scheme business operator code — identifies the entity operating the scheme |
| `DSL_AF_SKSSNS_KH` | Field | Post-contract billing statement reference permission — whether a former customer can view post-cancellation invoices |
| `JBSbatSQLAccess` | Component | SQL access handler — batch-layer class that wraps database operations (insert, update, delete) for specific tables |
| `JBSbatCommonDBInterface` | Component | Common batch database interface — map-based data structure used to pass column values to SQL access methods |
| `insertByPrimaryKeys` | Method | Inserts a record using primary key values — a batch insert operation that creates a new row in the target table |
| e-Id | Business term | Electronic Identity — NTT Group's unified authentication service for accessing multiple online services |
| e-Net | Business term | e-Net — NTT Group's legacy internet service and identity system |
| 名寄せ (Nayose) | Business term | Name consolidation — process of merging duplicate customer records identified by matching names/addresses |
| PII | Acronym | Personally Identifiable Information — sensitive personal data subject to privacy regulations |
| ISP | Acronym | Internet Service Provider |
| KOJIN | Japanese term | 個人 — Individual (as opposed to HOJIN/法人 corporate) |
| HOJIN | Japanese term | 法人 — Corporate/organization entity |
| 退会 (Taikai) | Japanese term | Membership withdrawal — customer cancellation of their service contract |
| 回復 (Kaiko) | Japanese term | Recovery/reactivation — customer reinstatement after withdrawal |
| 休眠 (Kyumin) | Japanese term | Dormancy — account marked inactive due to prolonged non-use |
