# Business Logic — JBSbatKKCampaignIktAdd.executeKK_T_MSKM_DTL_PKINSERT() [83 LOC]

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

## 1. Role

### JBSbatKKCampaignIktAdd.executeKK_T_MSKM_DTL_PKINSERT()

This method performs the primary database registration (insert) operation for the **Application Detail (Shinmu Meisai)** entity `KK_T_MSKM_DTL` using a primary key-based bulk insert. In the subscription campaign system, an application detail record captures the full lifecycle state of a customer's service subscription line item — including ordering details, contact information, cancellation tracking, inspection scheduling, and email notification preferences. The method accepts a flat `Object[]` array containing 75 positional fields and maps them into a structured database interface before delegating to the SQL access layer's `insertByPrimaryKeys` method. It implements a **delegation pattern**, building an in-memory parameter map and handing it off to the persistent data access layer without any conditional branching or business transformation logic. It is a private utility called exclusively by `insertMskmDtl()`, which in turn is invoked during campaign subscription detail registration.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["executeKK_T_MSKM_DTL_PKINSERT(setParam)"]) --> MAP["Create JBSbatCommonDBInterface setMap"]

    MAP --> SET0["Set index 0: MSKM_DTL_NO
(Application Detail Number)"]
    SET0 --> SET1["Set index 1: GENE_ADD_DTM
(Generation Registration DateTime)"]
    SET1 --> SET2["Set index 2: MSKM_DTL_STAT
(Application Detail Status)"]
    SET2 --> SET3["Set index 3: MSKM_NO
(Application Number)"]
    SET3 --> SET4["Set index 4: MSKMSHO_NO
(Application Form Number)"]
    SET4 --> SET5["Set index 5: MSKMSHO_DTL_NO
(Application Form Detail Number)"]
    SET5 --> SET6["Set index 6: MSKM_YMD
(Application Date)"]
    SET6 --> SET7["Set index 7: SYSID
(System ID)"]
    SET7 --> SET8["Set index 8: WEB_UK_NO
(Web Receipt Number)"]
    SET8 --> SET9["Set index 9: MSKM_FORM_CD
(Application Form Code)"]
    SET9 --> SET10["Set index 10: MSKM_DTL_SBT_CD
(Application Detail Type Code)"]
    SET10 --> SET11["Set index 11: RRKS_KTAI_TELNO
(Contact Mobile Phone Number)"]
    SET11 --> SET12["Set index 12: RRKS_OFFC_NM
(Contact Employer Name)"]
    SET12 --> SET13["Set index 13: DT_RRKS_TELNO
(Weekday Contact Phone Number)"]
    SET13 --> SET14["Set index 14: NEW_MSKM_SBT_CD
(New Application Type Code)"]
    SET14 --> SET15["Set index 15: MSKM_OPTNTY_CD
(Application Opportunity Code)"]
    SET15 --> SET16["Set index 16: TAKCHO_KIBO_APO_KIGEN_YMD
(Home Inspection Preferred Appointment Deadline)"]
    SET16 --> SET17["Set index 17: KOJI_APO_RRKS_SHITEI_CD
(Construction Appointment Contact Designation Code)"]
    SET17 --> SET18["Set index 18: KOJI_APO_RRKS_TELNO
(Construction Appointment Contact Phone Number)"]
    SET18 --> SET19["Set index 19: RRK_JIKO_ADD_DTM
(Contact Item Registration DateTime)"]
    SET19 --> SET20["Set index 20: MSKM_DTL_SHOSA_DTM
(Application Detail Review DateTime)"]
    SET20 --> SET21["Set index 21: MSKM_DTL_SHOSA_CL_YMD
(Application Detail Review Cancellation Date)"]
    SET21 --> SET22["Set index 22: KZKWRK_REQYMD
(Subsequent Work Request Date)"]
    SET22 --> SET23["Set index 23: MSKM_DTL_CANCEL_YMD
(Application Detail Cancellation Date)"]
    SET23 --> SET24["Set index 24: MSKM_DTL_CANCEL_RSN_CD
(Application Detail Cancellation Reason Code)"]
    SET24 --> SET25["Set index 25: MSKM_DTL_CANCEL_RSN_MEMO
(Application Detail Cancellation Reason Memo)"]
    SET25 --> SET26["Set index 26: MSKM_DTL_CANCEL_CL_YMD
(Application Detail Cancellation Reversal Date)"]
    SET26 --> SET27["Set index 27: MSKM_RRKS_MLAD
(Application Contact Email Address)"]
    SET27 --> SET28["Set index 28: KOJI_PRG_TCHI_MLAD
(Construction Progress Notification Email Address)"]
    SET28 --> SET29["Set index 29: RRK_JIKO
(Contact Notes)"]
    SET29 --> SET30["Set index 30: RCNT_SHOKAI_YMD
(Last Inquiry Date)"]
    SET30 --> SET31["Set index 31: WEB_SHOKAI_CNT
(Web Inquiry Count)"]
    SET31 --> SET32["Set index 32: PC_SHOKAI_CNT
(PC Inquiry Count)"]
    SET32 --> SET33["Set index 33: KTAI_SHOKAI_CNT
(Mobile Inquiry Count)"]
    SET33 --> SET34["Set index 34: KJSC_TCH_KTAI_MLAD
(Construction Progress Mobile Email)"]
    SET34 --> SET35["Set index 35: KJSC_TCH_PC_MLAD_CHG_YMD
(PC Email Change Date)"]
    SET35 --> SET36["Set index 36: KJSC_TCH_KTAI_MLAD_CHG_YMD
(Mobile Email Change Date)"]
    SET36 --> SET37["Set index 37: PRG_ML_LAST_SEND_DTM
(Last Progress Email Send DateTime)"]
    SET37 --> SET38["Set index 38: ML_SEND_JGI_FLG
(Email Send Exclusion Flag)"]
    SET38 --> SET39["Set index 39: ML_SEND_JGI_RSN_MEMO
(Email Send Exclusion Reason Memo)"]
    SET39 --> SET40["Set index 40: BMP_MSKM_RRKS_TLN
(Banpo Application Contact Phone Number)"]
    SET40 --> SET41["Set index 41: OP_SVC_HKTGI_UM
(Option Service Carryover Presence)"]
    SET41 --> SET42["Set index 42: DSL_ATICLE_SOHU_KIBO_UM
(Cancellation Document Delivery Desire)"]
    SET42 --> SET43["Set index 43: RRK_WAY_HOKI
(Contact Method Supplementary Notes)"]
    SET43 --> SET44["Set index 44: NEWCONST_BUKKEN_CD
(New Construction Property Code)"]
    SET44 --> SET45["Set index 45: HUKKAT_ANKEN_FLG
(Revival Case Flag)"]
    SET45 --> SET46["Set index 46: SAME_EQUIP_RE_MSKM_CD
(Same Equipment Reapplication Code)"]
    SET46 --> SET47["Set index 47: HNIN_CFM_ATICLE_SBT_CD
(ID Verification Document Type Code)"]
    SET47 --> SET48["Set index 48: HNIN_CFM_ATICLE_NM
(ID Verification Document Name)"]
    SET48 --> SET49["Set index 49: MSKMSHO_SBT_CD
(Application Form Type Code)"]
    SET49 --> SET50["Set index 50: KEI_HUKA_CD
(Contract Additional Code)"]
    SET50 --> SET51["Set index 51: MAP_TEMP_UM
(Map Attachment Presence)"]
    SET51 --> SET52["Set index 52: KCN_STB_MSKM_CNT
(KCN STB Application Count)"]
    SET52 --> SET53["Set index 53: KCN_STB_KIND_CD
(KCN STB Type Code)"]
    SET53 --> SET54["Set index 54: MANSSBSYS_RNKI_YO_KIJIRAN
(Manション System Integration Remarks)"]
    SET54 --> SET55["Set index 55: MANSION_ID
(Manション ID)"]
    SET55 --> SET56["Set index 56: CATID
(CAT-ID)"]
    SET56 --> SET57["Set index 57: MKM_UK_SBT_CD
(Application Receipt Type Code)"]
    SET57 --> SET58["Set index 58: MSKMSHO_TRAT_IF_TNTSHA_NM
(Application Form Handling Operator Name)"]
    SET58 --> SET59["Set index 59: MSKMSHO_TRAT_IF_TELNO
(Application Form Handling Phone Number)"]
    SET59 --> SET60["Set index 60: WRIB_AUTO_APLY_TG_GAI_FLG
(Discount Auto-Apply Target Exclusion Flag)"]
    SET60 --> SET61["Set index 61: ADD_DTM
(Registration DateTime)"]
    SET61 --> SET62["Set index 62: ADD_OPEACNT
(Registration Operator Account)"]
    SET62 --> SET63["Set index 63: UPD_DTM
(Update DateTime)"]
    SET63 --> SET64["Set index 64: UPD_OPEACNT
(Update Operator Account)"]
    SET64 --> SET65["Set index 65: DEL_DTM
(Deletion DateTime)"]
    SET65 --> SET66["Set index 66: DEL_OPEACNT
(Deletion Operator Account)"]
    SET66 --> SET67["Set index 67: MK_FLG
(Invalid Flag)"]
    SET67 --> SET68["Set index 68: ADD_UNYO_YMD
(Registration Business Date)"]
    SET68 --> SET69["Set index 69: ADD_TRN_ID
(Registration Transaction ID)"]
    SET69 --> SET70["Set index 70: UPD_UNYO_YMD
(Update Business Date)"]
    SET70 --> SET71["Set index 71: UPD_TRN_ID
(Update Transaction ID)"]
    SET71 --> SET72["Set index 72: DEL_UNYO_YMD
(Deletion Business Date)"]
    SET72 --> SET73["Set index 73: DEL_TRN_ID
(Deletion Transaction ID)"]
    SET73 --> SET74["Set index 74: TAKINORT_KKN_KIBO_UM
(Advanced Router Replacement Desire)"]
    SET74 --> DBINSERT["db_KK_T_MSKM_DTL.insertByPrimaryKeys(setMap)"]
    DBINSERT --> END_NODE(["Return / Next"])
```

The method follows a linear, sequential pipeline with no conditional branches:
1. Instantiate a `JBSbatCommonDBInterface` parameter map.
2. Populate all 75 fields by calling `setValue()` for each column name mapped to the corresponding index in `setParam[0]` through `setParam[74]`.
3. Delegate to the SQL access layer to perform a primary-key-based insert into the `KK_T_MSKM_DTL` table.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `setParam` | `Object[]` | A 75-element array containing all fields required to register a complete Application Detail (Shinmu Meisai) record into the `KK_T_MSKM_DTL` table. Index 0 holds the Application Detail Number, index 1 holds the Generation Registration Timestamp, and indices 2–74 hold subsequent columns including status codes, timestamps, contact information, cancellation tracking, email notification settings, property codes, audit fields, and miscellaneous campaign-specific flags. The array order is rigidly fixed — callers (e.g., `setMskmDtlParam()`) must produce the array in the exact same sequence. Values may be `null` for fields not yet applicable (e.g., initial registration before inspection scheduling). |

**Instance fields read by this method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `db_KK_T_MSKM_DTL` | `JBSbatSQLAccess` | SQL access instance wired to the `KK_T_MSKM_DTL` database table; initialized in the class's `setInit` method |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `insertByPrimaryKeys` | `-` | `KK_T_MSKM_DTL` | Inserts a new Application Detail record into the `KK_T_MSKM_DTL` table using primary key-based insertion. The entity represents a customer subscription detail line item in the campaign system. |
| - | `setValue` | `-` | `-` | Sets each of the 75 field values (index 0–74) into the `JBSbatCommonDBInterface` parameter map before the database insert. |

**CRUD Classification Rationale:**
- `insertByPrimaryKeys` is classified as **Create (C)** because it inserts a new row into `KK_T_MSKM_DTL` with all fields populated from the parameter map.
- All `setValue` calls are classified as **data preparation** (`-`) rather than CRUD, as they operate on the in-memory map, not the database.

## 5. Dependency Trace

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

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

### Caller Analysis

The method is called by `insertMskmDtl()`, which itself is invoked by `executeKK_T_SVC_KEI()` (a batch service entry point) and other campaign detail registration methods within `JBSbatKKCampaignIktAdd`. No direct screen/batch entry point was found in the call graph.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CBS: JBSbatKKCampaignIktAdd.insertMskmDtl | `JBSbatKKCampaignIktAdd.insertMskmDtl` -> `executeKK_T_MSKM_DTL_PKINSERT` | `insertByPrimaryKeys [C] KK_T_MSKM_DTL` |

### Downstream Trace

| # | Called Method | Entity / DB | Terminal Operation |
|---|--------------|-------------|-------------------|
| 1 | `db_KK_T_MSKM_DTL.insertByPrimaryKeys` | `KK_T_MSKM_DTL` | **Create** — Inserts a new Application Detail record with all 75 fields populated from the `setParam` array |

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(create parameter map)` (L1546)

> Instantiates the database interface parameter map that holds all 75 field values before the insert.

| # | Type | Code |
|---|------|------|
| 1 | SET | `JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface()` |

**Block 2** — [EXEC] `(set field 0 — MSKM_DTL_NO)` (L1547)

> Maps the Application Detail Number (primary key field).

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MSKM_DTL_NO", setParam[0])` // Application Detail Number — Shinmu Meisai Bangou |

**Block 3** — [EXEC] `(set field 1 — GENE_ADD_DTM)` (L1548)

> Maps the Generation Registration DateTime (unique incremental timestamp).

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("GENE_ADD_DTM", setParam[1])` // Generation Registration Date/Time/Second — Setai Touroku Nengetsunichijifunbyou |

**Block 4** — [EXEC] `(set field 2 — MSKM_DTL_STAT)` (L1549)

> Maps the Application Detail Status code (e.g., "awaiting acceptance", "under review", "completed").

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MSKM_DTL_STAT", setParam[2])` // Application Detail Status — Shinmu Meisai Suteetosu |

**Block 5** — [EXEC] `(set field 3 — MSKM_NO)` (L1550)

> Maps the parent Application Number linking this detail to its top-level subscription.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MSKM_NO", setParam[3])` // Application Number — Shinmu Bangou |

**Block 6** — [EXEC] `(set field 4 — MSKMSHO_NO)` (L1551)

> Maps the Application Form Number.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MSKMSHO_NO", setParam[4])` // Application Form Number — Shinmusho Bangou |

**Block 7** — [EXEC] `(set field 5 — MSKMSHO_DTL_NO)` (L1552)

> Maps the Application Form Detail Number.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MSKMSHO_DTL_NO", setParam[5])` // Application Form Detail Number — Shinmusho Meisai Bangou |

**Block 8** — [EXEC] `(set field 6 — MSKM_YMD)` (L1553)

> Maps the Application Date.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MSKM_YMD", setParam[6])` // Application Date — Shinmu Nengetsunichi |

**Block 9** — [EXEC] `(set field 7 — SYSID)` (L1554)

> Maps the System ID for cross-system identification.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("SYSID", setParam[7])` // SYSID |

**Block 10** — [EXEC] `(set field 8 — WEB_UK_NO)` (L1555)

> Maps the Web Receipt Number.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("WEB_UK_NO", setParam[8])` // Web Receipt Number — Web Uketsuke Bangou |

**Block 11** — [EXEC] `(set field 9 — MSKM_FORM_CD)` (L1556)

> Maps the Application Form Code.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MSKM_FORM_CD", setParam[9])` // Application Form Code — Shinmu Keitai Code |

**Block 12** — [EXEC] `(set field 10 — MSKM_DTL_SBT_CD)` (L1557)

> Maps the Application Detail Type Code.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MSKM_DTL_SBT_CD", setParam[10])` // Application Detail Type Code — Shinmu Meisai Shutsubetsu Code |

**Block 13** — [EXEC] `(set fields 11–15 — contact and application info)` (L1558–L1562)

> Maps contact telephone numbers, application type, and opportunity codes.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("RRKS_KTAI_TELNO", setParam[11])` // Contact Mobile Phone Number — Renrakusaki Keitai Denwa Bangou |
| 2 | EXEC | `setMap.setValue("RRKS_OFFC_NM", setParam[12])` // Contact Employer Name — Renrakusaki Kinmusaki Mei |
| 3 | EXEC | `setMap.setValue("DT_RRKS_TELNO", setParam[13])` // Weekday Contact Phone Number — Hirugama Renrakusaki Denwa Bangou |
| 4 | EXEC | `setMap.setValue("NEW_MSKM_SBT_CD", setParam[14])` // New Application Type Code — Shinshin Shinmu Shutsubetsu Code |
| 5 | EXEC | `setMap.setValue("MSKM_OPTNTY_CD", setParam[15])` // Application Opportunity Code — Shinmu Keiki Code |

**Block 14** — [EXEC] `(set fields 16–18 — inspection and construction appointment)` (L1563–L1565)

> Maps home inspection scheduling and construction appointment contact information.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("TAKCHO_KIBO_APO_KIGEN_YMD", setParam[16])` // Home Inspection Preferred Appointment Deadline — Takai Chosa Kibou APO Kigen YMD |
| 2 | EXEC | `setMap.setValue("KOJI_APO_RRKS_SHITEI_CD", setParam[17])` // Construction Appointment Contact Designation Code — Koushu APO Renrakusaki Shitei Code |
| 3 | EXEC | `setMap.setValue("KOJI_APO_RRKS_TELNO", setParam[18])` // Construction Appointment Contact Phone Number — Koushu APO Renrakusaki Denwa Bangou |

**Block 15** — [EXEC] `(set fields 19–22 — review, subsequent work, cancellation)` (L1566–L1569)

> Maps operational tracking fields for review, work requests, and cancellation.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("RRK_JIKO_ADD_DTM", setParam[19])` // Contact Item Registration DateTime — Renrakujiko Setai Nengetsunichijifunbyou |
| 2 | EXEC | `setMap.setValue("MSKM_DTL_SHOSA_DTM", setParam[20])` // Application Detail Review DateTime — Shinmu Meisai Shouza Nengetsunichijifunbyou |
| 3 | EXEC | `setMap.setValue("MSKM_DTL_SHOSA_CL_YMD", setParam[21])` // Application Detail Review Cancellation Date — Shinmu Meisai Shouza Torikesu Nichi |
| 4 | EXEC | `setMap.setValue("KZKWRK_REQYMD", setParam[22])` // Subsequent Work Request Date — Koso Work Youkyuu Nengappi |

**Block 16** — [EXEC] `(set fields 23–26 — cancellation details)` (L1570–L1573)

> Maps cancellation tracking: date, reason code, memo, and cancellation reversal date.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MSKM_DTL_CANCEL_YMD", setParam[23])` // Application Detail Cancellation Date — Shinmu Meisai Kyanselsu Nengappi |
| 2 | EXEC | `setMap.setValue("MSKM_DTL_CANCEL_RSN_CD", setParam[24])` // Application Detail Cancellation Reason Code — Shinmu Meisai Kyanselsu Riyuu Code |
| 3 | EXEC | `setMap.setValue("MSKM_DTL_CANCEL_RSN_MEMO", setParam[25])` // Application Detail Cancellation Reason Memo — Shinmu Meisai Kyanselsu Riyuu Memo |
| 4 | EXEC | `setMap.setValue("MSKM_DTL_CANCEL_CL_YMD", setParam[26])` // Application Detail Cancellation Reversal Date — Shinmu Meisai Kyanselsu Torikesu Nengappi |

**Block 17** — [EXEC] `(set fields 27–29 — email and contact notes)` (L1574–L1576)

> Maps email addresses for the applicant and construction progress notifications, plus general contact notes.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MSKM_RRKS_MLAD", setParam[27])` // Application Contact Email Address — Shinmu Renrakusaki Meeru Adoresu |
| 2 | EXEC | `setMap.setValue("KOJI_PRG_TCHI_MLAD", setParam[28])` // Construction Progress Notification Email Address — Koushu Shinctoku Tsuchi Meeru Adoresu |
| 3 | EXEC | `setMap.setValue("RRK_JIKO", setParam[29])` // Contact Notes — Renrakujiko |

**Block 18** — [EXEC] `(set fields 30–33 — inquiry tracking)` (L1577–L1580)

> Maps inquiry tracking counts by channel (web, PC, mobile) and last inquiry date.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("RCNT_SHOKAI_YMD", setParam[30])` // Last Inquiry Date — Saishin Shouhai Nengappi |
| 2 | EXEC | `setMap.setValue("WEB_SHOKAI_CNT", setParam[31])` // Web Inquiry Count — Web Shouhai Kai-suu |
| 3 | EXEC | `setMap.setValue("PC_SHOKAI_CNT", setParam[32])` // PC Inquiry Count — PC Shouhai Kai-suu |
| 4 | EXEC | `setMap.setValue("KTAI_SHOKAI_CNT", setParam[33])` // Mobile Inquiry Count — Keitai Shouhai Kai-suu |

**Block 19** — [EXEC] `(set fields 34–39 — construction progress email management)` (L1581–L1586)

> Maps construction progress notification email addresses (mobile, PC change dates, last send timestamp) and email send exclusion flags.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("KJSC_TCH_KTAI_MLAD", setParam[34])` // Construction Progress Mobile Email — Koushu Shinctoku Tsuchi Keitai Meeru Adoresu |
| 2 | EXEC | `setMap.setValue("KJSC_TCH_PC_MLAD_CHG_YMD", setParam[35])` // PC Email Change Date — PC Meeru Adoresu Henkou Nengappi |
| 3 | EXEC | `setMap.setValue("KJSC_TCH_KTAI_MLAD_CHG_YMD", setParam[36])` // Mobile Email Change Date — Keitai Meeru Adoresu Henkou Nengappi |
| 4 | EXEC | `setMap.setValue("PRG_ML_LAST_SEND_DTM", setParam[37])` // Last Progress Email Send DateTime — Shinctoku Meeru Saishu Housou Nengetsunichijifunbyou |
| 5 | EXEC | `setMap.setValue("ML_SEND_JGI_FLG", setParam[38])` // Email Send Exclusion Flag — Meeru Housou Higaifuru — |
| 6 | EXEC | `setMap.setValue("ML_SEND_JGI_RSN_MEMO", setParam[39])` // Email Send Exclusion Reason Memo — Meeru Housou Higan Riyuu Memo |

**Block 20** — [EXEC] `(set fields 40–46 — miscellaneous campaign fields)` (L1587–L1593)

> Maps campaign-specific fields: Banpo (number-posting) application phone, optional services, document delivery preferences, new construction codes, revival flags, and equipment reapplication codes.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("BMP_MSKM_RRKS_TLN", setParam[40])` // Banpo Application Contact Phone Number — Banpo Shinmu Renrakusaki Denwa Bangou |
| 2 | EXEC | `setMap.setValue("OP_SVC_HKTGI_UM", setParam[41])` // Option Service Carryover Presence — Opushon Saabisu Hikitsugi Ari/Nashi |
| 3 | EXEC | `setMap.setValue("DSL_ATICLE_SOHU_KIBO_UM", setParam[42])` // Cancellation Document Delivery Desire — Kaishaku Shorui Sosshi Kibou Ari/Nashi |
| 4 | EXEC | `setMap.setValue("RRK_WAY_HOKI", setParam[43])` // Contact Method Supplementary Notes — Renrakushu Hokki |
| 5 | EXEC | `setMap.setValue("NEWCONST_BUKKEN_CD", setParam[44])` // New Construction Property Code — Shinkenchuu Bukken Code |
| 6 | EXEC | `setMap.setValue("HUKKAT_ANKEN_FLG", setParam[45])` // Revival Case Flag — Fukkatsu Anken Furuaggu |
| 7 | EXEC | `setMap.setValue("SAME_EQUIP_RE_MSKM_CD", setParam[46])` // Same Equipment Reapplication Code — Onna Setsubi Sai-Shinmu Code |

**Block 21** — [EXEC] `(set fields 47–53 — identity, contract, and equipment details)` (L1594–L1600)

> Maps ID verification document info, application form type, contract codes, map attachment flag, and KCNSTB (set-top box) data.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("HNIN_CFM_ATICLE_SBT_CD", setParam[47])` // ID Verification Document Type Code — Hinkaku Kakunin Shomeisho Shutsubetsu Code |
| 2 | EXEC | `setMap.setValue("HNIN_CFM_ATICLE_NM", setParam[48])` // ID Verification Document Name — Hinkaku Kakunin Shomeisho Mei |
| 3 | EXEC | `setMap.setValue("MSKMSHO_SBT_CD", setParam[49])` // Application Form Type Code — Shinmusho Shutsubetsu Code |
| 4 | EXEC | `setMap.setValue("KEI_HUKA_CD", setParam[50])` // Contract Additional Code — Keiyaku Fuka Code |
| 5 | EXEC | `setMap.setValue("MAP_TEMP_UM", setParam[51])` // Map Attachment Presence — Chizu Tenpushu Ari/Nashi |
| 6 | EXEC | `setMap.setValue("KCN_STB_MSKM_CNT", setParam[52])` // KCNSTB Application Count — KCNSTB Shinmu Dai-suu |
| 7 | EXEC | `setMap.setValue("KCN_STB_KIND_CD", setParam[53])` // KCNSTB Type Code — KCNSTB Shuru Code |

**Block 22** — [EXEC] `(set fields 54–59 — integration, receipt, and handling info)` (L1601–L1606)

> Maps Manション system integration remarks, Manション ID, CAT-ID, application receipt type, and handling operator info.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("MANSSBSYS_RNKI_YO_KIJIRAN", setParam[54])` // Manション System Integration Remarks — Man-chan Sh备 System Renraku You Kijirano |
| 2 | EXEC | `setMap.setValue("MANSION_ID", setParam[55])` // Manション ID — Man-chan ID |
| 3 | EXEC | `setMap.setValue("CATID", setParam[56])` // CAT-ID |
| 4 | EXEC | `setMap.setValue("MKM_UK_SBT_CD", setParam[57])` // Application Receipt Type Code — Shinmu Uketsuke Shutsubetsu Code |
| 5 | EXEC | `setMap.setValue("MSKMSHO_TRAT_IF_TNTSHA_NM", setParam[58])` // Application Form Handling Operator Name — Shinmusho Toriatori Tanka Me |
| 6 | EXEC | `setMap.setValue("MSKMSHO_TRAT_IF_TELNO", setParam[59])` // Application Form Handling Phone Number — Shinmusho Toriatori Denwa Bangou |

**Block 23** — [EXEC] `(set field 60 — discount auto-apply flag)` (L1607)

> Maps whether the discount auto-apply target is excluded.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("WRIB_AUTO_APLY_TG_GAI_FLG", setParam[60])` // Discount Auto-Apply Target Exclusion Flag — Waribiki Jidou Tekiyou Taigai Furuaggu |

**Block 24** — [EXEC] `(set fields 61–67 — audit trail fields)` (L1608–L1614)

> Maps the audit trail fields for registration, update, and deletion timestamps, operator accounts, and invalidation flag.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("ADD_DTM", setParam[61])` // Registration DateTime — Setai Nengetsunichijifunbyou |
| 2 | EXEC | `setMap.setValue("ADD_OPEACNT", setParam[62])` // Registration Operator Account — Setai Operate Account |
| 3 | EXEC | `setMap.setValue("UPD_DTM", setParam[63])` // Update DateTime — Koushin Nengetsunichijifunbyou |
| 4 | EXEC | `setMap.setValue("UPD_OPEACNT", setParam[64])` // Update Operator Account — Koushin Operate Account |
| 5 | EXEC | `setMap.setValue("DEL_DTM", setParam[65])` // Deletion DateTime — Shoujo Nengetsunichijifunbyou |
| 6 | EXEC | `setMap.setValue("DEL_OPEACNT", setParam[66])` // Deletion Operator Account — Shoujo Operate Account |
| 7 | EXEC | `setMap.setValue("MK_FLG", setParam[67])` // Invalid Flag — Mukou Furuaggu |

**Block 25** — [EXEC] `(set fields 68–73 — business audit transaction fields)` (L1615–L1619)

> Maps the business date and transaction ID for registration, update, and deletion (audit trail).

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("ADD_UNYO_YMD", setParam[68])` // Registration Business Date — Setai Un'you Nengappi |
| 2 | EXEC | `setMap.setValue("ADD_TRN_ID", setParam[69])` // Registration Transaction ID — Setai Shori ID |
| 3 | EXEC | `setMap.setValue("UPD_UNYO_YMD", setParam[70])` // Update Business Date — Koushin Un'you Nengappi |
| 4 | EXEC | `setMap.setValue("UPD_TRN_ID", setParam[71])` // Update Transaction ID — Koushin Shori ID |
| 5 | EXEC | `setMap.setValue("DEL_UNYO_YMD", setParam[72])` // Deletion Business Date — Shoujo Un'you Nengappi |
| 6 | EXEC | `setMap.setValue("DEL_TRN_ID", setParam[73])` // Deletion Transaction ID — Shoujo Shori ID |

**Block 26** — [EXEC] `(set field 74 — last field: advanced router replacement)` (L1620)

> Maps the final campaign-specific field: desire for advanced router replacement.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setMap.setValue("TAKINORT_KKN_KIBO_UM", setParam[74])` // Advanced Router Replacement Desire — Tafun Routaa Koukan Kibou Ari/Nashi |

**Block 27** — [CALL] `(execute DB insert)` (L1624)

> Delegates to the SQL access layer to perform the primary-key-based insert into `KK_T_MSKM_DTL`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `db_KK_T_MSKM_DTL.insertByPrimaryKeys(setMap)` // Performs primary-key-based insert into KK_T_MSKM_DTL table |

There are **no conditional branches** (if/else/switch), **no loops**, and **no exception handling blocks** within this method. The method is a pure sequential data-passthrough: all 75 positional fields from `setParam` are mapped 1:1 to database columns, then inserted atomically via `insertByPrimaryKeys`.

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `KK_T_MSKM_DTL` | Table | Application Detail Table — the core database table storing subscription detail line items in the campaign system |
| `MSKM_DTL_NO` | Field | Application Detail Number — unique identifier for each application detail record |
| `GENE_ADD_DTM` | Field | Generation Registration DateTime — unique incremental timestamp used to differentiate records with the same detail number (supports versioned registrations) |
| `MSKM_DTL_STAT` | Field | Application Detail Status — current state of the detail record (e.g., "application received", "under review", "completed") |
| `MSKM_NO` | Field | Application Number — parent key linking this detail to the top-level subscription/application |
| `MSKMSHO_NO` | Field | Application Form Number — identifier for the application form associated with this detail |
| `MSKMSHO_DTL_NO` | Field | Application Form Detail Number — identifier for the application form detail line |
| `MSKM_YMD` | Field | Application Date — the date the application was submitted |
| `SYSID` | Field | System ID — system identifier for cross-system correlation |
| `WEB_UK_NO` | Field | Web Receipt Number — unique receipt number for web-based applications |
| `MSKM_FORM_CD` | Field | Application Form Code — classification code for the application form type |
| `MSKM_DTL_SBT_CD` | Field | Application Detail Type Code — classifies the type of application detail |
| `RRKS_KTAI_TELNO` | Field | Contact Mobile Phone Number — applicant's mobile phone number |
| `RRKS_OFFC_NM` | Field | Contact Employer Name — applicant's employer/company name |
| `DT_RRKS_TELNO` | Field | Weekday Contact Phone Number — daytime phone number for contact |
| `NEW_MSKM_SBT_CD` | Field | New Application Type Code — classifies the type of new application |
| `MSKM_OPTNTY_CD` | Field | Application Opportunity Code — classifies the marketing opportunity/source of the application |
| `TAKCHO_KIBO_APO_KIGEN_YMD` | Field | Home Inspection Preferred Appointment Deadline — deadline for scheduling the preferred home inspection appointment |
| `KOJI_APO_RRKS_SHITEI_CD` | Field | Construction Appointment Contact Designation Code — specifies which party should be contacted for construction appointment scheduling |
| `KOJI_APO_RRKS_TELNO` | Field | Construction Appointment Contact Phone Number — phone number to contact for construction appointment scheduling |
| `RRK_JIKO_ADD_DTM` | Field | Contact Item Registration DateTime — timestamp when contact notes were registered |
| `MSKM_DTL_SHOSA_DTM` | Field | Application Detail Review DateTime — timestamp when the application detail was reviewed |
| `MSKM_DTL_SHOSA_CL_YMD` | Field | Application Detail Review Cancellation Date — date when the review was cancelled/revoked |
| `KZKWRK_REQYMD` | Field | Subsequent Work Request Date — date when follow-up work was requested |
| `MSKM_DTL_CANCEL_YMD` | Field | Application Detail Cancellation Date — date when the application detail was cancelled |
| `MSKM_DTL_CANCEL_RSN_CD` | Field | Application Detail Cancellation Reason Code — code indicating the reason for cancellation |
| `MSKM_DTL_CANCEL_RSN_MEMO` | Field | Application Detail Cancellation Reason Memo — free-text memo describing the cancellation reason |
| `MSKM_DTL_CANCEL_CL_YMD` | Field | Application Detail Cancellation Reversal Date — date when the cancellation was reversed (undone) |
| `MSKM_RRKS_MLAD` | Field | Application Contact Email Address — email address for the applicant |
| `KOJI_PRG_TCHI_MLAD` | Field | Construction Progress Notification Email Address — email for sending construction progress updates |
| `RRK_JIKO` | Field | Contact Notes — free-text notes related to contact information |
| `RCNT_SHOKAI_YMD` | Field | Last Inquiry Date — date of the most recent inquiry |
| `WEB_SHOKAI_CNT` | Field | Web Inquiry Count — number of times the record was viewed via web |
| `PC_SHOKAI_CNT` | Field | PC Inquiry Count — number of times the record was viewed via PC |
| `KTAI_SHOKAI_CNT` | Field | Mobile Inquiry Count — number of times the record was viewed via mobile |
| `KJSC_TCH_KTAI_MLAD` | Field | Construction Progress Mobile Email — mobile email address for construction progress notifications |
| `KJSC_TCH_PC_MLAD_CHG_YMD` | Field | PC Email Change Date — date when the PC email address was changed |
| `KJSC_TCH_KTAI_MLAD_CHG_YMD` | Field | Mobile Email Change Date — date when the mobile email address was changed |
| `PRG_ML_LAST_SEND_DTM` | Field | Last Progress Email Send DateTime — timestamp of the last progress notification email sent |
| `ML_SEND_JGI_FLG` | Field | Email Send Exclusion Flag — indicates whether email notifications are excluded for this record |
| `ML_SEND_JGI_RSN_MEMO` | Field | Email Send Exclusion Reason Memo — free-text reason why email notifications are excluded |
| `BMP_MSKM_RRKS_TLN` | Field | Banpo Application Contact Phone Number — phone number for banpo (number-posting) applications |
| `OP_SVC_HKTGI_UM` | Field | Option Service Carryover Presence — indicates whether optional services are carried over from a previous contract |
| `DSL_ATICLE_SOHU_KIBO_UM` | Field | Cancellation Document Delivery Desire — indicates whether the customer wants cancellation documents mailed |
| `RRK_WAY_HOKI` | Field | Contact Method Supplementary Notes — additional notes about the contact method |
| `NEWCONST_BUKKEN_CD` | Field | New Construction Property Code — code identifying the new construction property/property |
| `HUKKAT_ANKEN_FLG` | Field | Revival Case Flag — indicates if this is a revived/retaken case |
| `SAME_EQUIP_RE_MSKM_CD` | Field | Same Equipment Reapplication Code — code for reapplying for the same equipment |
| `HNIN_CFM_ATICLE_SBT_CD` | Field | ID Verification Document Type Code — type of document used for identity verification |
| `HNIN_CFM_ATICLE_NM` | Field | ID Verification Document Name — name of the document used for identity verification |
| `MSKMSHO_SBT_CD` | Field | Application Form Type Code — type of application form |
| `KEI_HUKA_CD` | Field | Contract Additional Code — additional codes associated with the contract |
| `MAP_TEMP_UM` | Field | Map Attachment Presence — indicates whether a map is attached |
| `KCN_STB_MSKM_CNT` | Field | KCNSTB Application Count — number of KCNSTB (set-top box) applications |
| `KCN_STB_KIND_CD` | Field | KCNSTB Type Code — type code for KCNSTB (set-top box) |
| `MANSSBSYS_RNKI_YO_KIJIRAN` | Field | Manション System Integration Remarks — remarks for Manション (apartment/condo) system integration |
| `MANSION_ID` | Field | Manション ID — unique identifier for the Manション (apartment/condo) |
| `CATID` | Field | CAT-ID — identifier used in the CAT system (Customer Administration Terminal) |
| `MKM_UK_SBT_CD` | Field | Application Receipt Type Code — type of application receipt |
| `MSKMSHO_TRAT_IF_TNTSHA_NM` | Field | Application Form Handling Operator Name — name of the operator handling the application form |
| `MSKMSHO_TRAT_IF_TELNO` | Field | Application Form Handling Phone Number — phone number of the operator handling the application form |
| `WRIB_AUTO_APLY_TG_GAI_FLG` | Field | Discount Auto-Apply Target Exclusion Flag — indicates whether the record is excluded from automatic discount application |
| `ADD_DTM` | Field | Registration DateTime — timestamp when the record was created |
| `ADD_OPEACNT` | Field | Registration Operator Account — operator account that created the record |
| `UPD_DTM` | Field | Update DateTime — timestamp when the record was last updated |
| `UPD_OPEACNT` | Field | Update Operator Account — operator account that last updated the record |
| `DEL_DTM` | Field | Deletion DateTime — timestamp when the record was deleted |
| `DEL_OPEACNT` | Field | Deletion Operator Account — operator account that deleted the record |
| `MK_FLG` | Field | Invalid Flag — indicates whether the record is marked as invalid (soft delete marker) |
| `ADD_UNYO_YMD` | Field | Registration Business Date — business date when the record was created |
| `ADD_TRN_ID` | Field | Registration Transaction ID — transaction ID for the registration operation |
| `UPD_UNYO_YMD` | Field | Update Business Date — business date when the record was last updated |
| `UPD_TRN_ID` | Field | Update Transaction ID — transaction ID for the update operation |
| `DEL_UNYO_YMD` | Field | Deletion Business Date — business date when the record was deleted |
| `DEL_TRN_ID` | Field | Deletion Transaction ID — transaction ID for the deletion operation |
| `TAKINORT_KKN_KIBO_UM` | Field | Advanced Router Replacement Desire — indicates whether the customer desires advanced router replacement |
| `JBSbatCommonDBInterface` | Class | Parameter map interface — in-memory key-value store used to pass structured data to SQL access methods |
| `JBSbatSQLAccess` | Class | SQL access base class — provides `insertByPrimaryKeys` and other CRUD operations against a configured database table |
| `insertByPrimaryKeys` | Method | Primary-key-based insert — performs an INSERT INTO using the provided parameter map where the columns form the primary key |
| `JBSbatKKCampaignIktAdd` | Class | Campaign Subscription Addition service — batch service class handling subscription campaign detail registration operations |
| `KK_T_MSKM_DTL` | Table | Application Detail (Shinmu Meisai) Table — core database table storing subscription detail line items for the campaign system |
| Shinmu (申込) | Term | Application/Order — refers to a customer's subscription application in the telecom/service domain |
| Meisai (明細) | Term | Detail/Line Item — a sub-record within a parent application, representing a specific service line |
| Setai (設定) | Term | Registration/Setting — the act of recording data into the database |
| Shouza (照査) | Term | Review/Verification — the process of checking and validating application data |
| Kyanselsu (キャンセル) | Term | Cancellation — the act of cancelling an application or detail record |
| Fukkatsu (復活) | Term | Revival — a previously cancelled or expired case being reactivated |
| Koushu (工事) | Term | Construction — physical installation work at the customer's premises |
