# Business Logic — JBSbatKKSmtvlMskmInfoTrkm.getKddiWkeiIdtNaiyo() [91 LOC]

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

## 1. Role

### JBSbatKKSmtvlMskmInfoTrkm.getKddiWkeiIdtNaiyo()

This method compiles and formats the **KDDI discount contract change notification content** (KDDI割引契約異動通知内容) into a single comma-delimited string. It serves as a data adapter that serializes business contract and service registration information for transmission to KDDI, a major Japanese telecommunications provider. The method operates as a **branching builder pattern**: when called with non-null `userData`, it extracts 15 fields representing the raw subscription/application data; when called with null `userData` (and a populated `outputFileMap`), it extracts 61 fields from the intake intake result — a richer dataset that includes full customer identity information, contact details, postal addresses, and status for multiple bundled services (Internet, telephone line 1, telephone line 2, and TV). Each field is null-safe via `replaceNulltoBlank`, ensuring that the output string maintains a fixed number of delimiters regardless of whether individual fields are populated. This serialized string is stored in the `KK_T_KDDI_WKEI_IDT` database table as the `KDDI_WKEI_IDT_NAIYO` column and ultimately consumed by downstream batch processes that transmit the notification file to KDDI.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["getKddiWkeiIdtNaiyo(userData, outputFileMap)"])
    CHECK_USER_DATA{"userData is not null?"}
    PATH_USERDATA["userData path: Extract 15 fields from input Map"]
    EXTRACT_15["Extract fields from userData Map"]
    REPLACE_NULL_UD["replaceNulltoBlank(x) x 15"]
    COMMA_JOIN_UD["Join with ',' delimiters"]
    PATH_OUTPUTFILE["outputFileMap path: Extract 61 fields from JBSbatKKIFM249"]
    EXTRACT_61["Extract fields from outputFileMap.getString() x 61"]
    REPLACE_NULL_OM["replaceNulltoBlank(outputFileMap.getString(x)) x 61"]
    COMMA_JOIN_OM["Join with ',' delimiters"]
    RETURN_RESULT["Return kddiWkeiIdtNaiyo (comma-separated string)"]
    END_NODE(["End"])

    START --> CHECK_USER_DATA
    CHECK_USER_DATA -- true --> EXTRACT_15
    EXTRACT_15 --> REPLACE_NULL_UD
    REPLACE_NULL_UD --> COMMA_JOIN_UD
    COMMA_JOIN_UD --> RETURN_RESULT
    CHECK_USER_DATA -- false --> EXTRACT_61
    EXTRACT_61 --> REPLACE_NULL_OM
    REPLACE_NULL_OM --> COMMA_JOIN_OM
    COMMA_JOIN_OM --> RETURN_RESULT
    RETURN_RESULT --> END_NODE
```

**Processing Description:**

The method implements a two-path conditional builder based on whether `userData` is provided:

- **Path 1 — userData path (subscription data):** Extracts 15 fields from the `userData` HashMap, covering record division, transaction division, business operator classification, service contract details, and discount pricing information. Used during the initial registration/application phase before intake results are available.

- **Path 2 — outputFileMap path (intake result data):** Extracts 61 fields from the `JBSbatServiceInterfaceMap` (mapped via `JBSbatKKIFM249` constants), which contains the full intake result including customer name (kanji and kana), address, phone numbers, email, course name, and per-service flags and dates for Internet, telephone line 1, telephone line 2, and TV services. Also includes error/result codes from the KDDI contract intake process. Used after KDDI's intake processing completes.

Every field extraction passes through `replaceNulltoBlank`, converting null values to blank strings. All fields are concatenated with comma delimiters (`','`), producing a CSV-like record suitable for file transmission.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `userData` | `HashMap<String, Object>` | Application/subscription data carrying the raw contract registration details. Contains fields such as record division, transaction division, business operator code, service contract code, and discount pricing info. Non-null when called during the initial submission phase; null when called with intake result data. |
| 2 | `outputFileMap` | `JBSbatServiceInterfaceMap` | Output file data map containing the KDDI discount contract change notification intake result. Used when `userData` is null. Fields are accessed via `getString()` with constants from `JBSbatKKIFM249`. Contains customer identity, contact info, service flags, dates, and error/result codes. |

**Instance/External State:**

| Source | Description |
|--------|-------------|
| `REC_DIV`, `TRAN_DIV`, `JIGYOSHA_DIV`, `JIGYOSHA_CD`, `JIGYOSHA_KEI_KNRI_NO`, `CROSS_SEL_PRC_SBT`, `KEI_CD`, `WRIBPRC_GRP_CD`, `WRIBPRC_GRP_STAT`, `WRIBPRC_ADD_YMD`, `WRIBPRC_UPD_YMD`, `WRIBPRC_RLS_YMD`, `WRIBPRC_HKTGI_NO`, `WRIBPRC_HKTGI_SBT` | Static constants defined in this class, used as Map keys for the userData path. [-> REC_DIV="rec_div" (JBSbatKKSmtvlMskmInfoTrkm.java:360)] [-> TRAN_DIV="tran_div" (JBSbatKKSmtvlMskmInfoTrkm.java:363)] [-> JIGYOSHA_DIV="jigyosha_div" (JBSbatKKSmtvlMskmInfoTrkm.java:366)] [-> JIGYOSHA_CD="jigyosha_cd" (JBSbatKKSmtvlMskmInfoTrkm.java:369)] [-> JIGYOSHA_KEI_KNRI_NO="jigyosha_kei_knri_no" (JBSbatKKSmtvlMskmInfoTrkm.java:372)] [-> CROSS_SEL_PRC_SBT="cross_sel_prc_sbt" (JBSbatKKSmtvlMskmInfoTrkm.java:398)] [-> KEI_CD="kei_cd" (JBSbatKKSmtvlMskmInfoTrkm.java:375)] [-> WRIBPRC_GRP_CD="wribprc_grp_cd" (JBSbatKKSmtvlMskmInfoTrkm.java:378)] [-> WRIBPRC_GRP_STAT="wribprc_grp_stat" (JBSbatKKSmtvlMskmInfoTrkm.java:381)] [-> WRIBPRC_ADD_YMD="wribprc_add_ymd" (JBSbatKKSmtvlMskmInfoTrkm.java:384)] [-> WRIBPRC_UPD_YMD="wribprc_upd_ymd" (JBSbatKKSmtvlMskmInfoTrkm.java:387)] [-> WRIBPRC_RLS_YMD="wribprc_rls_ymd" (JBSbatKKSmtvlMskmInfoTrkm.java:390)] [-> WRIBPRC_HKTGI_NO="wribprc_hktgi_no" (JBSbatKKSmtvlMskmInfoTrkm.java:393)] [-> WRIBPRC_HKTGI_SBT="wribprc_hktgi_sbt" (JBSbatKKSmtvlMskmInfoTrkm.java:396)] |
| `JBSbatKKIFM249.REC_DIV`, `JBSbatKKIFM249.ERR_CD`, etc. | File message format constants. [-> JBSbatKKIFM249.REC_DIV="REC_DIV" (JBSbatKKIFM249.java:35)] [-> JBSbatKKIFM249.ERR_CD="ERR_CD" (JBSbatKKIFM249.java:38)] [-> JBSbatKKIFM249.TRAN_DIV="TRAN_DIV" (JBSbatKKIFM249.java:41)] [-> JBSbatKKIFM249.JIGYOSHA_DIV="JIGYOSHA_DIV" (JBSbatKKIFM249.java:44)] [-> JBSbatKKIFM249.JIGYOSHA_CD="JIGYOSHA_CD" (JBSbatKKIFM249.java:47)] [-> JBSbatKKIFM249.JIGYOSHA_KEI_KNRI_NO="JIGYOSHA_KEI_KNRI_NO" (JBSbatKKIFM249.java:50)] [-> JBSbatKKIFM249.KEI_CD="KEI_CD" (JBSbatKKIFM249.java:53)] [-> JBSbatKKIFM249.KEISHA_SEI_KANJI="KEISHA_SEI_KANJI" (JBSbatKKIFM249.java:56)] [-> JBSbatKKIFM249.KEISHA_NM_KANJI="KEISHA_NM_KANJI" (JBSbatKKIFM249.java:59)] [-> JBSbatKKIFM249.KEISHA_SEI_KANA="KEISHA_SEI_KANA" (JBSbatKKIFM249.java:62)] [-> JBSbatKKIFM249.KEISHA_NM_KANA="KEISHA_NM_KANA" (JBSbatKKIFM249.java:65)] [-> JBSbatKKIFM249.CUST_DIV="CUST_DIV" (JBSbatKKIFM249.java:68)] [-> JBSbatKKIFM249.KEISHA_BIRTHD="KEISHA_BIRTHD" (JBSbatKKIFM249.java:71)] [-> JBSbatKKIFM249.KEISHA_PCD="KEISHA_PCD" (JBSbatKKIFM249.java:74)] [-> JBSbatKKIFM249.KEISHA_ADR="KEISHA_ADR" (JBSbatKKIFM249.java:77)] [-> JBSbatKKIFM249.KEISHA_RRKS_TELNO1="KEISHA_RRKS_TELNO1" (JBSbatKKIFM249.java:80)] [-> JBSbatKKIFM249.KEISHA_RRKS_TELNO2="KEISHA_RRKS_TELNO2" (JBSbatKKIFM249.java:83)] [-> JBSbatKKIFM249.KEISHA_MLAD="KEISHA_MLAD" (JBSbatKKIFM249.java:86)] [-> JBSbatKKIFM249.COURSE_NM_CD="COURSE_NM_CD" (JBSbatKKIFM249.java:89)] [-> JBSbatKKIFM249.KEI_INF_YOBI_KMK="KEI_INF_YOBI_KMK" (JBSbatKKIFM249.java:92)] [-> JBSbatKKIFM249.NET_SVC_KEI_UMU_FLG="NET_SVC_KEI_UMU_FLG" (JBSbatKKIFM249.java:95)] [-> JBSbatKKIFM249.NET_SVC_STP_FLG="NET_SVC_STP_FLG" (JBSbatKKIFM249.java:98)] [-> JBSbatKKIFM249.NET_SVC_SBT="NET_SVC_SBT" (JBSbatKKIFM249.java:101)] [-> JBSbatKKIFM249.NET_SVC_MSKM_YMD="NET_SVC_MSKM_YMD" (JBSbatKKIFM249.java:104)] [-> JBSbatKKIFM249.NET_SVC_CHRG_STAYMD="NET_SVC_CHRG_STAYMD" (JBSbatKKIFM249.java:107)] [-> JBSbatKKIFM249.NET_SVC_DSL_YMD="NET_SVC_DSL_YMD" (JBSbatKKIFM249.java:110)] [-> JBSbatKKIFM249.NET_SVC_DLRE="NET_SVC_DLRE" (JBSbatKKIFM249.java:113)] [-> JBSbatKKIFM249.NET_SVC_YOBI_KMK="NET_SVC_YOBI_KMK" (JBSbatKKIFM249.java:116)] [-> JBSbatKKIFM249.TEL1_SVC_KEI_UMU_FLG="TEL1_SVC_KEI_UMU_FLG" (JBSbatKKIFM249.java:119)] [-> JBSbatKKIFM249.TEL1_SVC_STP_FLG="TEL1_SVC_STP_FLG" (JBSbatKKIFM249.java:122)] [-> JBSbatKKIFM249.TEL1_SVC_SBT="TEL1_SVC_SBT" (JBSbatKKIFM249.java:125)] [-> JBSbatKKIFM249.TELNO1="TELNO1" (JBSbatKKIFM249.java:128)] [-> JBSbatKKIFM249.TEL1_SVC_MSKM_YMD="TEL1_SVC_MSKM_YMD" (JBSbatKKIFM249.java:131)] [-> JBSbatKKIFM249.TEL1_SVC_CHRG_STAYMD="TEL1_SVC_CHRG_STAYMD" (JBSbatKKIFM249.java:134)] [-> JBSbatKKIFM249.TEL1_SVC_DSL_YMD="TEL1_SVC_DSL_YMD" (JBSbatKKIFM249.java:137)] [-> JBSbatKKIFM249.TEL1_SVC_DLRE="TEL1_SVC_DLRE" (JBSbatKKIFM249.java:140)] [-> JBSbatKKIFM249.TEL1_SVC_YOBI_KMK="TEL1_SVC_YOBI_KMK" (JBSbatKKIFM249.java:143)] [-> JBSbatKKIFM249.TEL2_SVC_KEI_UMU_FLG="TEL2_SVC_KEI_UMU_FLG" (JBSbatKKIFM249.java:146)] [-> JBSbatKKIFM249.TEL2_SVC_STP_FLG="TEL2_SVC_STP_FLG" (JBSbatKKIFM249.java:149)] [-> JBSbatKKIFM249.TEL2_SVC_SBT="TEL2_SVC_SBT" (JBSbatKKIFM249.java:152)] [-> JBSbatKKIFM249.TELNO2="TELNO2" (JBSbatKKIFM249.java:155)] [-> JBSbatKKIFM249.TEL2_SVC_MSKM_YMD="TEL2_SVC_MSKM_YMD" (JBSbatKKIFM249.java:158)] [-> JBSbatKKIFM249.TEL2_SVC_CHRG_STAYMD="TEL2_SVC_CHRG_STAYMD" (JBSbatKKIFM249.java:161)] [-> JBSbatKKIFM249.TEL2_SVC_DSL_YMD="TEL2_SVC_DSL_YMD" (JBSbatKKIFM249.java:164)] [-> JBSbatKKIFM249.TEL2_SVC_DLRE="TEL2_SVC_DLRE" (JBSbatKKIFM249.java:167)] [-> JBSbatKKIFM249.TEL2_SVC_YOBI_KMK="TEL2_SVC_YOBI_KMK" (JBSbatKKIFM249.java:170)] [-> JBSbatKKIFM249.TV_SVC_KEI_UMU_FLG="TV_SVC_KEI_UMU_FLG" (JBSbatKKIFM249.java:173)] [-> JBSbatKKIFM249.TV_SVC_STP_FLG="TV_SVC_STP_FLG" (JBSbatKKIFM249.java:176)] [-> JBSbatKKIFM249.TV_SVC_SBT="TV_SVC_SBT" (JBSbatKKIFM249.java:179)] [-> JBSbatKKIFM249.TV__SVC_MSKM_YMD="TV__SVC_MSKM_YMD" (JBSbatKKIFM249.java:182)] [-> JBSbatKKIFM249.TV_SVC_CHRG_STAYMD="TV_SVC_CHRG_STAYMD" (JBSbatKKIFM249.java:185)] [-> JBSbatKKIFM249.TV_SVC_DSL_YMD="TV_SVC_DSL_YMD" (JBSbatKKIFM249.java:188)] [-> JBSbatKKIFM249.TV_SVC_DLRE="TV_SVC_DLRE" (JBSbatKKIFM249.java:191)] [-> JBSbatKKIFM249.TV_SVC_YOBI_KMK="TV_SVC_YOBI_KMK" (JBSbatKKIFM249.java:194)] [-> JBSbatKKIFM249.WRIBPRC_GRP_CD="WRIBPRC_GRP_CD" (JBSbatKKIFM249.java:197)] [-> JBSbatKKIFM249.ADD_RSLT_CD="ADD_RSLT_CD" (JBSbatKKIFM249.java:200)] [-> JBSbatKKIFM249.ADD_RSLT_NG_JIYU="ADD_RSLT_NG_JIYU" (JBSbatKKIFM249.java:203)] [-> JBSbatKKIFM249.KDDI_TRKM_RSLT_CD="KDDI_TRKM_RSLT_CD" (JBSbatKKIFM249.java:206)] [-> JBSbatKKIFM249.KDDI_TRKM_RSLT_NG_JIYU="KDDI_TRKM_RSLT_NG_JIYU" (JBSbatKKIFM249.java:209)] [-> JBSbatKKIFM249.CROSSEL_PRC_HKTGI_NO="CROSSEL_PRC_HKTGI_NO" (JBSbatKKIFM249.java:212)] [-> JBSbatKKIFM249.CROSSEL_PRC_HKTGI_SBT="CROSSEL_PRC_HKTGI_SBT" (JBSbatKKIFM249.java:215)] |

## 4. CRUD Operations / Called Services

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

The method performs **Read** operations on the input data structures via `HashMap.get()` and `JBSbatServiceInterfaceMap.getString()` calls, and **Update** operations via `replaceNulltoBlank()` utility calls (which transform null values to blank strings).

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `HashMap.get()` | — | userData Map (L3991–L4004) | Reads 15 field values from the userData HashMap for the subscription data path. |
| R | `HashMap.get()` | — | userData Map (L3991–L4004) | Reads fields: REC_DIV, TRAN_DIV, JIGYOSHA_DIV, JIGYOSHA_CD, JIGYOSHA_KEI_KNRI_NO, CROSS_SEL_PRC_SBT, KEI_CD, WRIBPRC_GRP_CD, WRIBPRC_GRP_STAT, WRIBPRC_ADD_YMD, WRIBPRC_UPD_YMD, WRIBPRC_RLS_YMD, WRIBPRC_HKTGI_NO, WRIBPRC_HKTGI_SBT. |
| R | `JBSbatServiceInterfaceMap.getString()` | — | outputFileMap (L4008–L4073) | Reads 61 field values from outputFileMap via JBSbatKKIFM249 constants for the intake result data path. |
| U | `JBSbatKKSmtvlMskmInfoTrkm.replaceNulltoBlank` | — | — (String transform) | Null-safe wrapper: converts null Object/String values to blank string "" to maintain delimiter count. [-> replaceNulltoBlank (JBSbatKKSmtvlMskmInfoTrkm.java)] |
| R | `JBSbatKKSmtvlMskmInfoTrkm.replaceNulltoBlank` | — | — | Called 76 times total (15 for userData path, 61 for outputFileMap path). Returns blank string for null inputs. |

**Note:** This method performs no database operations or external service calls. It is a pure data transformation method — reading from in-memory structures and returning a formatted string. The database write (insert into `KK_T_KDDI_WKEI_IDT`) occurs in the caller method `addSmtvlIdoInf()`.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch:JBSbatKKSmtvlMskmInfoTrkm.addSmtvlIdoInf | `addSmtvlIdoInf(userData, outMap, smtvlIdoDtlCd)` → `getKddiWkeiIdtNaiyo(userData, null)` or `getKddiWkeiIdtNaiyo(null, outMap)` → reads userData/outputFileMap → replaceNulltoBlank | `replaceNulltoBlank [U] — (string transform)` |
| 2 | Batch:JBSbatKKSmtvlMskmInfoTrkm.addSmtvlIdoInfSvcStart | `addSmtvlIdoInfSvcStart(userData)` → reads userData fields → `replaceNulltoBlank [U]` | (No direct call to getKddiWkeiIdtNaiyo — shown for context) |
| 3 | Batch:JBSbatKKSmtvlMskmInfoTrkm (legacy caller) | `JKKSmtvlMskmInfoTrkmCC` (legacy EJB module) → `getKddiWkeiIdtNaiyo(userData)` (single-arg overload) | `replaceNulltoBlank [U]` |

**Call Chain Details:**

The primary entry point is `addSmtvlIdoInf()`, which is called from the batch processing entry point at lines 1266 and 1269. This method processes KDDI discount contract change notifications for both the standard KDDI subscription flow (`CD01445_MSKM`) and the telecom-reservation flow (`CD01445_MSKM_TKRT`).

- **Line 3933:** `getKddiWkeiIdtNaiyo(userData, null)` — called during registration, passes userData (null outputFileMap), extracting 15 fields.
- **Line 3968:** `getKddiWkeiIdtNaiyo(null, outMap)` — called during intake result processing, passes outputFileMap (null userData), extracting 61 fields.

The result string is stored into the `KDDI_WKEI_IDT_NAIYO` column of `KK_T_KDDI_WKEI_IDT` via the caller's `db_KK_T_KDDI_WKEI_IDT.insertByPrimaryKeys()` at line 3974.

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] `(null != userData)` Subscription Data Path (L3989)

> When userData is not null, extract 15 fields from the input HashMap. This path is used during the initial subscription registration phase, before KDDI intake results are available. The 15 fields cover record metadata, transaction type, business operator info, service contract details, and discount pricing.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kddiWkeiIdtNaiyo = replaceNulltoBlank(userData.get(REC_DIV)) + ','` // Record division [-> REC_DIV="rec_div" (JBSbatKKSmtvlMskmInfoTrkm.java:360)] |
| 2 | SET | `+ replaceNulltoBlank(userData.get(TRAN_DIV)) + ','` // Transaction division [-> TRAN_DIV="tran_div" (JBSbatKKSmtvlMskmInfoTrkm.java:363)] |
| 3 | SET | `+ replaceNulltoBlank(userData.get(JIGYOSHA_DIV)) + ','` // Business operator division [-> JIGYOSHA_DIV="jigyosha_div" (JBSbatKKSmtvlMskmInfoTrkm.java:366)] |
| 4 | SET | `+ replaceNulltoBlank(userData.get(JIGYOSHA_CD)) + ','` // Business operator code [-> JIGYOSHA_CD="jigyosha_cd" (JBSbatKKSmtvlMskmInfoTrkm.java:369)] |
| 5 | SET | `+ replaceNulltoBlank(userData.get(JIGYOSHA_KEI_KNRI_NO)) + ','` // Business operator contract management number [-> JIGYOSHA_KEI_KNRI_NO="jigyosha_kei_knri_no" (JBSbatKKSmtvlMskmInfoTrkm.java:372)] |
| 6 | SET | `+ replaceNulltoBlank(userData.get(CROSS_SEL_PRC_SBT)) + ','` // Cross-service pricing type [-> CROSS_SEL_PRC_SBT="cross_sel_prc_sbt" (JBSbatKKSmtvlMskmInfoTrkm.java:398)] |
| 7 | SET | `+ replaceNulltoBlank(userData.get(KEI_CD)) + ','` // Contract code [-> KEI_CD="kei_cd" (JBSbatKKSmtvlMskmInfoTrkm.java:375)] |
| 8 | SET | `+ replaceNulltoBlank(userData.get(WRIBPRC_GRP_CD)) + ','` // Discount pricing group code [-> WRIBPRC_GRP_CD="wribprc_grp_cd" (JBSbatKKSmtvlMskmInfoTrkm.java:378)] |
| 9 | SET | `+ replaceNulltoBlank(userData.get(WRIBPRC_GRP_STAT)) + ','` // Discount pricing status [-> WRIBPRC_GRP_STAT="wribprc_grp_stat" (JBSbatKKSmtvlMskmInfoTrkm.java:381)] |
| 10 | SET | `+ replaceNulltoBlank(userData.get(WRIBPRC_ADD_YMD)) + ','` // Discount pricing registration year/month/day [-> WRIBPRC_ADD_YMD="wribprc_add_ymd" (JBSbatKKSmtvlMskmInfoTrkm.java:384)] |
| 11 | SET | `+ replaceNulltoBlank(userData.get(WRIBPRC_UPD_YMD)) + ','` // Discount pricing update year/month/day [-> WRIBPRC_UPD_YMD="wribprc_upd_ymd" (JBSbatKKSmtvlMskmInfoTrkm.java:387)] |
| 12 | SET | `+ replaceNulltoBlank(userData.get(WRIBPRC_RLS_YMD)) + ','` // Discount pricing release year/month/day [-> WRIBPRC_RLS_YMD="wribprc_rls_ymd" (JBSbatKKSmtvlMskmInfoTrkm.java:390)] |
| 13 | SET | `+ replaceNulltoBlank(userData.get(WRIBPRC_HKTGI_NO)) + ','` // Discount pricing inheritance number [-> WRIBPRC_HKTGI_NO="wribprc_hktgi_no" (JBSbatKKSmtvlMskmInfoTrkm.java:393)] |
| 14 | SET | `+ replaceNulltoBlank(userData.get(WRIBPRC_HKTGI_SBT))` // Discount pricing inheritance type [-> WRIBPRC_HKTGI_SBT="wribprc_hktgi_sbt" (JBSbatKKSmtvlMskmInfoTrkm.java:396)] |
| 15 | SET | `kddiWkeiIdtNaiyo` = (comma-delimited result of 15 replaceNulltoBlank calls) (L4004) |

**Block 2** — [ELSE] Intake Result Data Path (L4006)

> When userData is null, extract 61 fields from the outputFileMap (JBSbatKKIFM249). This path is used during KDDI intake result processing, after the subscription has been submitted to KDDI and results (including customer details, error codes, and service status) are available. The comment notes: "※Preparation fields are not output (requirement from ICS)" — (※予備は出力しない（ICSからの仕様）).

| # | Type | Code |
|---|------|------|
| 1 | SET | `kddiWkeiIdtNaiyo = replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.REC_DIV)) + ','` // Record division [-> JBSbatKKIFM249.REC_DIV="REC_DIV" (JBSbatKKIFM249.java:35)] |
| 2 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.ERR_CD)) + ','` // Error code [-> JBSbatKKIFM249.ERR_CD="ERR_CD" (JBSbatKKIFM249.java:38)] |
| 3 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TRAN_DIV)) + ','` // Transaction division [-> JBSbatKKIFM249.TRAN_DIV="TRAN_DIV" (JBSbatKKIFM249.java:41)] |
| 4 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.JIGYOSHA_DIV)) + ','` // Business operator division [-> JBSbatKKIFM249.JIGYOSHA_DIV="JIGYOSHA_DIV" (JBSbatKKIFM249.java:44)] |
| 5 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.JIGYOSHA_CD)) + ','` // Business operator code [-> JBSbatKKIFM249.JIGYOSHA_CD="JIGYOSHA_CD" (JBSbatKKIFM249.java:47)] |
| 6 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.JIGYOSHA_KEI_KNRI_NO)) + ','` // Business operator contract management number [-> JBSbatKKIFM249.JIGYOSHA_KEI_KNRI_NO="JIGYOSHA_KEI_KNRI_NO" (JBSbatKKIFM249.java:50)] |
| 7 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEI_CD)) + ','` // Contract code [-> JBSbatKKIFM249.KEI_CD="KEI_CD" (JBSbatKKIFM249.java:53)] |
| 8 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEISHA_SEI_KANJI)) + ','` // Contractor surname (kanji) [-> JBSbatKKIFM249.KEISHA_SEI_KANJI="KEISHA_SEI_KANJI" (JBSbatKKIFM249.java:56)] |
| 9 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEISHA_NM_KANJI)) + ','` // Contractor given name (kanji) [-> JBSbatKKIFM249.KEISHA_NM_KANJI="KEISHA_NM_KANJI" (JBSbatKKIFM249.java:59)] |
| 10 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEISHA_SEI_KANA)) + ','` // Contractor surname (kana) [-> JBSbatKKIFM249.KEISHA_SEI_KANA="KEISHA_SEI_KANA" (JBSbatKKIFM249.java:62)] |
| 11 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEISHA_NM_KANA)) + ','` // Contractor given name (kana) [-> JBSbatKKIFM249.KEISHA_NM_KANA="KEISHA_NM_KANA" (JBSbatKKIFM249.java:65)] |
| 12 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.CUST_DIV)) + ','` // Customer division [-> JBSbatKKIFM249.CUST_DIV="CUST_DIV" (JBSbatKKIFM249.java:68)] |
| 13 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEISHA_BIRTHD)) + ','` // Contractor date of birth [-> JBSbatKKIFM249.KEISHA_BIRTHD="KEISHA_BIRTHD" (JBSbatKKIFM249.java:71)] |
| 14 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEISHA_PCD)) + ','` // Contractor postal code [-> JBSbatKKIFM249.KEISHA_PCD="KEISHA_PCD" (JBSbatKKIFM249.java:74)] |
| 15 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEISHA_ADR)) + ','` // Contractor address [-> JBSbatKKIFM249.KEISHA_ADR="KEISHA_ADR" (JBSbatKKIFM249.java:77)] |
| 16 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEISHA_RRKS_TELNO1)) + ','` // Contractor contact phone number 1 [-> JBSbatKKIFM249.KEISHA_RRKS_TELNO1="KEISHA_RRKS_TELNO1" (JBSbatKKIFM249.java:80)] |
| 17 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEISHA_RRKS_TELNO2)) + ','` // Contractor contact phone number 2 [-> JBSbatKKIFM249.KEISHA_RRKS_TELNO2="KEISHA_RRKS_TELNO2" (JBSbatKKIFM249.java:83)] |
| 18 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEISHA_MLAD)) + ','` // Contact email address [-> JBSbatKKIFM249.KEISHA_MLAD="KEISHA_MLAD" (JBSbatKKIFM249.java:86)] |
| 19 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.COURSE_NM_CD)) + ','` // Course name code [-> JBSbatKKIFM249.COURSE_NM_CD="COURSE_NM_CD" (JBSbatKKIFM249.java:89)] |
| 20 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KEI_INF_YOBI_KMK)) + ','` // Contract info reserve item [-> JBSbatKKIFM249.KEI_INF_YOBI_KMK="KEI_INF_YOBI_KMK" (JBSbatKKIFM249.java:92)] |
| 21 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.NET_SVC_KEI_UMU_FLG)) + ','` // Net service contract presence flag [-> JBSbatKKIFM249.NET_SVC_KEI_UMU_FLG="NET_SVC_KEI_UMU_FLG" (JBSbatKKIFM249.java:95)] |
| 22 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.NET_SVC_STP_FLG)) + ','` // Net service suspension flag [-> JBSbatKKIFM249.NET_SVC_STP_FLG="NET_SVC_STP_FLG" (JBSbatKKIFM249.java:98)] |
| 23 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.NET_SVC_SBT)) + ','` // Net service type [-> JBSbatKKIFM249.NET_SVC_SBT="NET_SVC_SBT" (JBSbatKKIFM249.java:101)] |
| 24 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.NET_SVC_MSKM_YMD)) + ','` // Net service application YMD [-> JBSbatKKIFM249.NET_SVC_MSKM_YMD="NET_SVC_MSKM_YMD" (JBSbatKKIFM249.java:104)] |
| 25 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.NET_SVC_CHRG_STAYMD)) + ','` // Net service billing start YMD [-> JBSbatKKIFM249.NET_SVC_CHRG_STAYMD="NET_SVC_CHRG_STAYMD" (JBSbatKKIFM249.java:107)] |
| 26 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.NET_SVC_DSL_YMD)) + ','` // Net service cancellation YMD [-> JBSbatKKIFM249.NET_SVC_DSL_YMD="NET_SVC_DSL_YMD" (JBSbatKKIFM249.java:110)] |
| 27 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.NET_SVC_DLRE)) + ','` // Net service cancellation reason [-> JBSbatKKIFM249.NET_SVC_DLRE="NET_SVC_DLRE" (JBSbatKKIFM249.java:113)] |
| 28 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.NET_SVC_YOBI_KMK)) + ','` // Net service reserve item [-> JBSbatKKIFM249.NET_SVC_YOBI_KMK="NET_SVC_YOBI_KMK" (JBSbatKKIFM249.java:116)] |
| 29 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL1_SVC_KEI_UMU_FLG)) + ','` // Telephone service 1 contract presence flag [-> JBSbatKKIFM249.TEL1_SVC_KEI_UMU_FLG="TEL1_SVC_KEI_UMU_FLG" (JBSbatKKIFM249.java:119)] |
| 30 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL1_SVC_STP_FLG)) + ','` // Telephone service 1 suspension flag [-> JBSbatKKIFM249.TEL1_SVC_STP_FLG="TEL1_SVC_STP_FLG" (JBSbatKKIFM249.java:122)] |
| 31 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL1_SVC_SBT)) + ','` // Telephone service 1 type [-> JBSbatKKIFM249.TEL1_SVC_SBT="TEL1_SVC_SBT" (JBSbatKKIFM249.java:125)] |
| 32 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TELNO1)) + ','` // Phone number 1 [-> JBSbatKKIFM249.TELNO1="TELNO1" (JBSbatKKIFM249.java:128)] |
| 33 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL1_SVC_MSKM_YMD)) + ','` // Telephone service 1 application YMD [-> JBSbatKKIFM249.TEL1_SVC_MSKM_YMD="TEL1_SVC_MSKM_YMD" (JBSbatKKIFM249.java:131)] |
| 34 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL1_SVC_CHRG_STAYMD)) + ','` // Telephone service 1 billing start YMD [-> JBSbatKKIFM249.TEL1_SVC_CHRG_STAYMD="TEL1_SVC_CHRG_STAYMD" (JBSbatKKIFM249.java:134)] |
| 35 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL1_SVC_DSL_YMD)) + ','` // Telephone service 1 cancellation YMD [-> JBSbatKKIFM249.TEL1_SVC_DSL_YMD="TEL1_SVC_DSL_YMD" (JBSbatKKIFM249.java:137)] |
| 36 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL1_SVC_DLRE)) + ','` // Telephone service 1 cancellation reason [-> JBSbatKKIFM249.TEL1_SVC_DLRE="TEL1_SVC_DLRE" (JBSbatKKIFM249.java:140)] |
| 37 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL1_SVC_YOBI_KMK)) + ','` // Telephone service 1 reserve item [-> JBSbatKKIFM249.TEL1_SVC_YOBI_KMK="TEL1_SVC_YOBI_KMK" (JBSbatKKIFM249.java:143)] |
| 38 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL2_SVC_KEI_UMU_FLG)) + ','` // Telephone service 2 contract presence flag [-> JBSbatKKIFM249.TEL2_SVC_KEI_UMU_FLG="TEL2_SVC_KEI_UMU_FLG" (JBSbatKKIFM249.java:146)] |
| 39 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL2_SVC_STP_FLG)) + ','` // Telephone service 2 suspension flag [-> JBSbatKKIFM249.TEL2_SVC_STP_FLG="TEL2_SVC_STP_FLG" (JBSbatKKIFM249.java:149)] |
| 40 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL2_SVC_SBT)) + ','` // Telephone service 2 type [-> JBSbatKKIFM249.TEL2_SVC_SBT="TEL2_SVC_SBT" (JBSbatKKIFM249.java:152)] |
| 41 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TELNO2)) + ','` // Phone number 2 [-> JBSbatKKIFM249.TELNO2="TELNO2" (JBSbatKKIFM249.java:155)] |
| 42 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL2_SVC_MSKM_YMD)) + ','` // Telephone service 2 application YMD [-> JBSbatKKIFM249.TEL2_SVC_MSKM_YMD="TEL2_SVC_MSKM_YMD" (JBSbatKKIFM249.java:158)] |
| 43 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL2_SVC_CHRG_STAYMD)) + ','` // Telephone service 2 billing start YMD [-> JBSbatKKIFM249.TEL2_SVC_CHRG_STAYMD="TEL2_SVC_CHRG_STAYMD" (JBSbatKKIFM249.java:161)] |
| 44 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL2_SVC_DSL_YMD)) + ','` // Telephone service 2 cancellation YMD [-> JBSbatKKIFM249.TEL2_SVC_DSL_YMD="TEL2_SVC_DSL_YMD" (JBSbatKKIFM249.java:164)] |
| 45 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL2_SVC_DLRE)) + ','` // Telephone service 2 cancellation reason [-> JBSbatKKIFM249.TEL2_SVC_DLRE="TEL2_SVC_DLRE" (JBSbatKKIFM249.java:167)] |
| 46 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TEL2_SVC_YOBI_KMK)) + ','` // Telephone service 2 reserve item [-> JBSbatKKIFM249.TEL2_SVC_YOBI_KMK="TEL2_SVC_YOBI_KMK" (JBSbatKKIFM249.java:170)] |
| 47 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TV_SVC_KEI_UMU_FLG)) + ','` // TV service contract presence flag [-> JBSbatKKIFM249.TV_SVC_KEI_UMU_FLG="TV_SVC_KEI_UMU_FLG" (JBSbatKKIFM249.java:173)] |
| 48 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TV_SVC_STP_FLG)) + ','` // TV service suspension flag [-> JBSbatKKIFM249.TV_SVC_STP_FLG="TV_SVC_STP_FLG" (JBSbatKKIFM249.java:176)] |
| 49 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TV_SVC_SBT)) + ','` // TV service type [-> JBSbatKKIFM249.TV_SVC_SBT="TV_SVC_SBT" (JBSbatKKIFM249.java:179)] |
| 50 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TV__SVC_MSKM_YMD)) + ','` // TV service application YMD [-> JBSbatKKIFM249.TV__SVC_MSKM_YMD="TV__SVC_MSKM_YMD" (JBSbatKKIFM249.java:182)] |
| 51 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TV_SVC_CHRG_STAYMD)) + ','` // TV service billing start YMD [-> JBSbatKKIFM249.TV_SVC_CHRG_STAYMD="TV_SVC_CHRG_STAYMD" (JBSbatKKIFM249.java:185)] |
| 52 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TV_SVC_DSL_YMD)) + ','` // TV service cancellation YMD [-> JBSbatKKIFM249.TV_SVC_DSL_YMD="TV_SVC_DSL_YMD" (JBSbatKKIFM249.java:188)] |
| 53 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TV_SVC_DLRE)) + ','` // TV service cancellation reason [-> JBSbatKKIFM249.TV_SVC_DLRE="TV_SVC_DLRE" (JBSbatKKIFM249.java:191)] |
| 54 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.TV_SVC_YOBI_KMK)) + ','` // TV service reserve item [-> JBSbatKKIFM249.TV_SVC_YOBI_KMK="TV_SVC_YOBI_KMK" (JBSbatKKIFM249.java:194)] |
| 55 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.WRIBPRC_GRP_CD)) + ','` // Discount pricing group code [-> JBSbatKKIFM249.WRIBPRC_GRP_CD="WRIBPRC_GRP_CD" (JBSbatKKIFM249.java:197)] |
| 56 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.ADD_RSLT_CD)) + ','` // Registration result code [-> JBSbatKKIFM249.ADD_RSLT_CD="ADD_RSLT_CD" (JBSbatKKIFM249.java:200)] |
| 57 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.ADD_RSLT_NG_JIYU)) + ','` // Registration NG reason [-> JBSbatKKIFM249.ADD_RSLT_NG_JIYU="ADD_RSLT_NG_JIYU" (JBSbatKKIFM249.java:203)] |
| 58 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KDDI_TRKM_RSLT_CD)) + ','` // KDDI transmission result code [-> JBSbatKKIFM249.KDDI_TRKM_RSLT_CD="KDDI_TRKM_RSLT_CD" (JBSbatKKIFM249.java:206)] |
| 59 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.KDDI_TRKM_RSLT_NG_JIYU)) + ','` // KDDI transmission NG reason [-> JBSbatKKIFM249.KDDI_TRKM_RSLT_NG_JIYU="KDDI_TRKM_RSLT_NG_JIYU" (JBSbatKKIFM249.java:209)] |
| 60 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.CROSSEL_PRC_HKTGI_NO)) + ','` // Cross-service pricing inheritance number [-> JBSbatKKIFM249.CROSSEL_PRC_HKTGI_NO="CROSSEL_PRC_HKTGI_NO" (JBSbatKKIFM249.java:212)] |
| 61 | SET | `+ replaceNulltoBlank(outputFileMap.getString(JBSbatKKIFM249.CROSSEL_PRC_HKTGI_SBT))` // Cross-service pricing inheritance type [-> JBSbatKKIFM249.CROSSEL_PRC_HKTGI_SBT="CROSSEL_PRC_HKTGI_SBT" (JBSbatKKIFM249.java:215)] |
| 62 | SET | `// ※予備は出力しない（ICSからの仕様）` // ※Preparation fields are not output (requirement from ICS) (L4074) |
| 63 | SET | `kddiWkeiIdtNaiyo` = (comma-delimited result of 61 replaceNulltoBlank calls) (L4073) |

**Block 3** — [RETURN] (L4075)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return kddiWkeiIdtNaiyo;` // Returns the comma-delimited string (L4075) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `kddiWkeiIdtNaiyo` | Field | KDDI discount contract change notification content — the serialized output string containing 15 or 61 comma-separated fields of contract and service data. |
| `rec_div` | Field | Record division — classifies the type of record in the notification file. |
| `tran_div` | Field | Transaction division — indicates the type of transaction (e.g., registration, cancellation). |
| `jigyosha_div` | Field | Business operator division — classifies the business operator (e.g., KDDI code "03"). |
| `jigyosha_cd` | Field | Business operator code — identifies the specific operator (e.g., "902" for KDDI). |
| `jigyosha_kei_knri_no` | Field | Business operator contract management number — internal KDDI tracking ID for the business operator's contract. |
| `cross_sel_prc_sbt` | Field | Cross-service pricing type — indicates bundled pricing across multiple services. |
| `kei_cd` | Field | Contract code — identifies the specific contract type. |
| `wribprc_grp_cd` | Field | Discount pricing group code — classifies the discount pricing tier or group. |
| `wribprc_grp_stat` | Field | Discount pricing status — current state of the discount pricing (active, released, etc.). |
| `wribprc_add_ymd` | Field | Discount pricing registration year/month/day — when the discount pricing was registered. |
| `wribprc_upd_ymd` | Field | Discount pricing update year/month/day — when the discount pricing was last updated. |
| `wribprc_rls_ymd` | Field | Discount pricing release year/month/day — when the discount pricing was released. |
| `wribprc_hktgi_no` | Field | Discount pricing inheritance number — tracking number for pricing inheritance. |
| `wribprc_hktgi_sbt` | Field | Discount pricing inheritance type — type of pricing inheritance. |
| `err_cd` | Field | Error code — error code returned from KDDI intake processing. |
| `keisha_sei_kanji` | Field | Contractor surname (kanji) — family name of the contract holder in kanji. |
| `keisha_nm_kanji` | Field | Contractor given name (kanji) — given name of the contract holder in kanji. |
| `keisha_sei_kana` | Field | Contractor surname (kana) — family name of the contract holder in kana. |
| `keisha_nm_kana` | Field | Contractor given name (kana) — given name of the contract holder in kana. |
| `cust_div` | Field | Customer division — classifies the customer type. |
| `keisha_birthd` | Field | Contractor date of birth — birth date of the contract holder. |
| `keisha_pcd` | Field | Contractor postal code — postal code of the contract holder's address. |
| `keisha_adr` | Field | Contractor address — full address of the contract holder. |
| `keisha_rrks_telno1` / `keisha_rrks_telno2` | Field | Contractor contact phone number 1 / 2 — contact telephone numbers of the contract holder. |
| `keisha_mlad` | Field | Contact email address — email address of the contract holder. |
| `course_nm_cd` | Field | Course name code — identifies the service package/course. |
| `kei_inf_yobi_kmk` | Field | Contract info reserve item — reserve field for future contract information. |
| `net_svc_kei_umu_flg` | Field | Net service contract presence flag — indicates whether Internet service is contracted. |
| `net_svc_stp_flg` | Field | Net service suspension flag — indicates whether Internet service is suspended. |
| `net_svc_sbt` | Field | Net service type — type of Internet service. |
| `net_svc_mskm_ymd` / `net_svc_chrg_staymd` / `net_svc_dsl_ymd` | Field | Net service application/update/cancellation YMD — dates for net service lifecycle events. |
| `net_svc_dlre` | Field | Net service cancellation reason — reason for Internet service cancellation. |
| `net_svc_yobi_kmk` | Field | Net service reserve item — reserve field for net service information. |
| `tel1_svc_*` / `tel2_svc_*` | Field | Telephone service 1 / 2 fields — analogous to net service fields for telephone lines 1 and 2. |
| `telno1` / `telno2` | Field | Phone number 1 / 2 — telephone numbers for the customer. |
| `tv_svc_*` | Field | TV service fields — analogous to net service fields for TV service. |
| `tv__svc_mskm_ymd` | Field | TV service application YMD — note the double underscore in the constant name. |
| `add_rslt_cd` | Field | Registration result code — code indicating whether registration succeeded or failed. |
| `add_rslt_ng_jiyu` | Field | Registration NG reason — detailed reason if registration failed. |
| `kddi_trkm_rslt_cd` | Field | KDDI transmission result code — result code from KDDI file transmission. |
| `kddi_trkm_rslt_ng_jiyu` | Field | KDDI transmission NG reason — detailed reason if KDDI transmission failed. |
| `crosssel_prc_hktgi_no` / `crosssel_prc_hktgi_sbt` | Field | Cross-service pricing inheritance number / type — for cross-service discount pricing. |
| KK_T_KDDI_WKEI_IDT | DB Table | KDDI discount contract change notification table — stores KDDI notification records. |
| JBSbatKKIFM249 | File format | KDDI discount contract change notification format — the output file message structure constants. |
| replaceNulltoBlank | Utility | Null-safe string conversion — converts null values to blank strings to maintain delimiter count. |
| KDDI | Business term | KK迪株式会社 — KDDI Inc., a major Japanese telecommunications carrier. |
| 契約異動通知 | Business term | Contract change notification — official notification sent to KDDI regarding changes to customer contracts. |
| 申込情報 | Business term | Application information — data from the customer's subscription/application submission. |
| 申込取込結果 | Business term | Application intake result — results returned after KDDI processes the application submission. |
| スマートバリユー | Business term | Smart Barry — a KDDI service management system used for subscription registration and cancellation. |
| ICS | Acronym | External system (named in Japanese comment) — the system that defines the output specification excluding preparation fields. |
