# Business Logic — JBSbatKKAdHenkoHoyuDataUpd.createCustRec() [324 LOC]

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

## 1. Role

### JBSbatKKAdHenkoHoyuDataUpd.createCustRec()

This method is the central customer record assembler within the batch-side contract modification and add-on data update service (`KKAdHenkoHoyu`). Its business purpose is to **map the full set of customer master data fields from input sources (`custKeyMap` and `dbList`) into a flat, positionally-indexed parameter array (`setParam`) of 118 elements, which is then passed to `executeCK_T_CUST_PKINSERT` for an upsert (primary-key-based insert or update) into the customer master table (`T_CUST`).**

The method implements a **routing/dispatch design pattern**: three conditional branches (`strItemName`) control whether contractor address, delivery address, and contents address fields are sourced from the `dbList` (new incoming address data) or from `custKeyMap` (the current customer record). This allows callers to supply fresh address data alongside the existing customer record without duplicating address data in the key map.

The method is **not an entry point** but a shared utility called by `insertCustAddresData()` (within the same class) when updating a customer record. It handles **all 118 fields of the customer master entity**, spanning core demographics, postal addresses (contractor and delivery), eoID/login credentials, membership and reservation data, password security settings, nickname management, regulatory/personal information consent (KDDI II), and comprehensive audit/tracking fields (registration, update, deletion, and operation metadata).

---

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["createCustRec call"])
    INIT["Initialize setParam array<br/>size 118"]
    P0["setParam[0] SYSID"]
    P1["setParam[1] Registration datetime"]
    P2["setParam[2] Customer status"]
    P3["setParam[3] Contractor type code"]
    P4["setParam[4] Customer name"]
    P5["setParam[5] Customer kana name"]
    P6["setParam[6] Customer sex code"]
    P7["setParam[7] Customer birthday"]
    P8["setParam[8] Name courtesy title"]
    P9["setParam[9] Customer confirmation notes"]
    C1{strItemName == KEISHA_AD_CD}
    KA0["setParam[10-15] Contractor address<br/>from dbList"]
    KA1["setParam[10-15] Contractor address<br/>from custKeyMap"]
    P16["setParam[16] Contractor plot number"]
    P20["setParam[17-20] Contractor address<br/>supplement, manual flag, phone"]
    C2{strItemName == CSSTI_SHS_AD_CD}
    DS0["setParam[21-26] Delivery address<br/>from dbList"]
    DS1["setParam[21-26] Delivery address<br/>from custKeyMap"]
    P27["setParam[27-30] Delivery address<br/>supplement fields"]
    P33["setParam[31-33] Customer rank<br/>Contact method code and supplement"]
    P35["setParam[34-35] eoID and change date"]
    P39["setParam[36-39] Contents customer name,<br/>kana, sex, birthday"]
    C3{strItemName == CONT_AD_CD}
    CA0["setParam[40-45] Contents address<br/>from dbList"]
    CA1["setParam[40-45] Contents address<br/>from custKeyMap"]
    P46["setParam[46-49] Contents address<br/>supplement fields"]
    P52["setParam[50-52] Member type code<br/>Contents ISP usage flag and suspension"]
    P57["setParam[53-57] Registration and reservation dates"]
    P60["setParam[58-60] Password reminder<br/>question code, content, answer"]
    P63["setParam[61-63] Nickname and change date<br/>Retail/wholesale code"]
    P65["setParam[64-65] Retail enterprise ID<br/>Necessary subsidy code"]
    P67["setParam[66-67] eonetID non-migration flag<br/>Login authentication approval"]
    P70["setParam[68-70] Customer special item<br/>Withdrawal code and date"]
    P73["setParam[71-73] Withdrawal reason<br/>Reinstatement date<br/>Login authentication suspension"]
    P75["setParam[74-75] Initial eoID and password"]
    P77["setParam[76-77] eoID related info<br/>change ID and datetime"]
    P80["setParam[78-80] Member type special flag<br/>Mail delivery SYSID and date"]
    P83["setParam[81-83] eoID possession issuance<br/>Old eonet ID<br/>Member ISP decision status"]
    P86["setParam[84-86] Customer invalid date<br/>Deletion exclusion flag<br/>Dormant flag"]
    P88["setParam[87] Dormant date"]
    P89["setParam[88] Service provision deletion<br/>processing datetime"]
    P91["setParam[89-90] Registration datetime<br/>and operator account"]
    P93["setParam[91-92] Update datetime<br/>and operator account"]
    P95["setParam[93-94] Deletion datetime<br/>and operator account"]
    P96["setParam[95] Invalid flag"]
    P97["setParam[96] Registration operation year"]
    P98["setParam[97] Registration processing ID"]
    P99["setParam[98] Update operation year"]
    P100["setParam[99] Update processing ID"]
    P101["setParam[100] Deletion operation year"]
    P102["setParam[101] Deletion processing ID"]
    P103["setParam[102-103] KDDI II personal info<br/>handling consent and date"]
    P107["setParam[104-109] KDDI II personal info<br/>provision impossible flag<br/>and linkage status fields"]
    P110["setParam[110] KDDI II personal info<br/>provision linkage change date"]
    P111["setParam[111] Member ISP decision<br/>usage judgment code"]
    P112["setParam[112] Orphaned branch customer code"]
    P113["setParam[113] Payment method change<br/>reminder message suppression"]
    P115["setParam[114-115] SCM type code<br/>and branch code"]
    P116["setParam[116] Addition flag"]
    P117["setParam[117] ADSL post decision<br/>inquiry result approval"]
    EXEC["executeCK_T_CUST_PKINSERT<br/>(setParam)"]
    END["Return void"]
    START --> INIT
    INIT --> P0
    P0 --> P1
    P1 --> P2
    P2 --> P3
    P3 --> P4
    P4 --> P5
    P5 --> P6
    P6 --> P7
    P7 --> P8
    P8 --> P9
    P9 --> C1
    C1 -- Yes --> KA0
    C1 -- No --> KA1
    KA0 --> P16
    KA1 --> P16
    P16 --> P20
    P20 --> C2
    C2 -- Yes --> DS0
    C2 -- No --> DS1
    DS0 --> P27
    DS1 --> P27
    P27 --> P33
    P33 --> P35
    P35 --> P39
    P39 --> C3
    C3 -- Yes --> CA0
    C3 -- No --> CA1
    CA0 --> P46
    CA1 --> P46
    P46 --> P52
    P52 --> P57
    P57 --> P60
    P60 --> P63
    P63 --> P65
    P65 --> P67
    P67 --> P70
    P70 --> P73
    P73 --> P75
    P75 --> P77
    P77 --> P80
    P80 --> P83
    P83 --> P86
    P86 --> P88
    P88 --> P89
    P89 --> P91
    P91 --> P93
    P93 --> P95
    P95 --> P96
    P96 --> P97
    P97 --> P98
    P98 --> P99
    P99 --> P100
    P100 --> P101
    P101 --> P102
    P102 --> P103
    P103 --> P107
    P107 --> P110
    P110 --> P111
    P111 --> P112
    P112 --> P113
    P113 --> P115
    P115 --> P116
    P116 --> P117
    P117 --> EXEC
    EXEC --> END
```

### Conditional Branching Summary

| strItemName Value | Contractor Address (L10-15) | Delivery Address (L21-26) | Contents Address (L40-45) |
|---|---|---|---|
| `"KEISHA_AD_CD"` | From `dbList` | From `custKeyMap` | From `custKeyMap` |
| `"CSSTI_SHS_AD_CD"` | From `custKeyMap` | From `dbList` | From `custKeyMap` |
| `"CONT_AD_CD"` | From `custKeyMap` | From `custKeyMap` | From `dbList` |
| *Any other value* | From `custKeyMap` | From `custKeyMap` | From `custKeyMap` |

---

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `custKeyMap` | `JBSbatCommonDBInterface` | The current customer master record, providing a map-style interface to all customer fields from the `T_CUST` table (contractor info, delivery address, eoID, membership, consent, etc.). Every field — from customer name to KDDI II personal information consent — is extracted from this map. |
| 2 | `dbList` | `JBSbatCommonDBInterface` | The incoming new address data source. Used exclusively in the three conditional address branches: when `strItemName` specifies a particular address type (contractor, delivery, or contents), the six address components (address code, postal code, prefecture, city/town/village, oaza/town name, chome/丁目 name) are read from this list by integer index (0–5) instead of from `custKeyMap`. |
| 3 | `strItemName` | `String` | A routing key that determines which address fields should be sourced from `dbList` instead of `custKeyMap`. Supported values: `"KEISHA_AD_CD"` (contractor address update), `"CSSTI_SHS_AD_CD"` (delivery address update), `"CONT_AD_CD"` (contents address update). If none of these match, all address fields fall back to `custKeyMap`. |

**Instance fields / external state read:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `executeCK_T_CUST_PKINSERT(Object[])` | Method (this class) | Invoked with the fully populated `setParam` array to perform the primary-key-based upsert into the customer master table. |

---

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JBSbatCommonDBInterface.getString(String)` | - | T_CUST (virtual) | Reads each customer field from `custKeyMap` — 107 string extractions for all customer master attributes |
| R | `JBSbatCommonDBInterface.getValue(int)` | - | T_CUST (virtual) | Reads contractor/delivery/contents address fields by index from `dbList` — 6 extractions per conditional branch |
| R | `JBSbatCommonDBInterface.getValue(int)` | - | T_CUST (virtual) | Reads registration datetime from `dbList` index 7 |
| - | `JBSbatStringUtil.Rtrim(String)` | - | - | Trims whitespace from every extracted string value — applied to all 118 field extractions |
| C | `JBSbatKKAdHenkoHoyuDataUpd.executeCK_T_CUST_PKINSERT(Object[])` | (self) | T_CUST | Writes the fully assembled 118-field customer record to the customer master table via primary-key-based insert/upsert |

**Field source classification:**

| setParam Index | Source | Field (Japanese) |
|---|---|---|
| 0 | `custKeyMap` | SYSID |
| 1 | `dbList` | 世代登録年月日時分秒 (Generation registration datetime) |
| 2 | `custKeyMap` | お客様ステータス (Customer status) |
| 3 | `custKeyMap` | 契約者タイプコード (Contractor type code) |
| 4 | `custKeyMap` | お客様名 (Customer name) |
| 5 | `custKeyMap` | お客様カナ名 (Customer kana name) |
| 6 | `custKeyMap` | お客様性別コード (Customer sex code) |
| 7 | `custKeyMap` | お客様生年月日 (Customer birthday) |
| 8 | `custKeyMap` | 氏名敬称 (Name courtesy title) |
| 9 | `custKeyMap` | お客様確認備考 (Customer confirmation notes) |
| 10–15 | `dbList` or `custKeyMap` | 契約者住所コード～契約者字丁目名 (Contractor address fields: address code, postal code, prefecture, city, oaza, chome) |
| 16–20 | `custKeyMap` | 契約者番地号～契約者電話番号 (Contractor plot number, address supplement building, address supplement room, manual input flag, phone number) |
| 21–26 | `dbList` or `custKeyMap` | お客様指定送付先住所コード～お客様指定送付先字丁目名 (Delivery address fields) |
| 27–30 | `custKeyMap` | お客様指定送付先番地号～指定送付先手動入力フラグ (Delivery address plot, supplement, manual flag) |
| 31 | `custKeyMap` | お客様ランクコード (Customer rank code) |
| 32–33 | `custKeyMap` | 連絡手段コード・補 (Contact method code and supplement) |
| 34–35 | `custKeyMap` | eoID・変更年月日 (eoID and change date) |
| 36–39 | `custKeyMap` | コンテンツお客様名～コンテンツ生年月日 (Contents customer name, kana, sex, birthday) |
| 40–45 | `dbList` or `custKeyMap` | コンテンツ住所コード～コンテンツ字丁目名 (Contents address fields) |
| 46–49 | `custKeyMap` | コンテンツ番地号～コンテンツ住所分割開始位置 (Contents plot, supplement, division start) |
| 50–52 | `custKeyMap` | 会員種別コード・コンテンツISP利用不可フラグ・利用停止日 (Member type code, ISP usage failure flag, suspension date) |
| 53–57 | `custKeyMap` | 仮登録日・入会日・予約適用日・予約取消日・予約適用コード (Temporary registration, join, reservation dates and code) |
| 58–60 | `custKeyMap` | パスワードリマインダ用質問コード・内容・回答 (Password reminder question code, content, answer) |
| 61–63 | `custKeyMap` | ニックネーム・変更日・内販外販コード (Nickname, change date, retail/wholesale code) |
| 64–65 | `custKeyMap` | 内販企業識別コード・要補助コード (Retail enterprise ID, necessary subsidy code) |
| 66–67 | `custKeyMap` | eonetID未移行フラグ・ログイン認証可否 (eonetID non-migration flag, login authentication approval) |
| 68–73 | `custKeyMap` | お客様特記事項・入退会コード・退会日・退会理由・回復日・認証停止日 (Special item, withdrawal codes and dates, suspension) |
| 74–75 | `custKeyMap` | 初期eoID・パスワード (Initial eoID and password) |
| 76–77 | `custKeyMap` | eoID関連情報変更識別コード・変更日時 (eoID related info change ID and datetime) |
| 78–80 | `custKeyMap` | 会員種別特定フラグ・名寄せ先SYSID・名寄せ日 (Member type special flag, mail delivery SYSID, mail delivery date) |
| 81–83 | `custKeyMap` | eoID通知書発行実績コード・旧eonet会員認証ID・ISP決議状況コード (eoID issuance status, old eonet ID, ISP decision status) |
| 84–86 | `custKeyMap` | お客様無効日・削除対象外フラグ・休眠フラグ (Customer invalid date, deletion exclusion flag, dormant flag) |
| 87–88 | `custKeyMap` | 休眠日・サービス提供消去処理実施日時 (Dormant date, service deletion processing datetime) |
| 89–94 | `custKeyMap` | 登録/更新/削除の各年月日時分秒とオペレーターアカウント (Registration, update, deletion datetimes and operator accounts) |
| 95–101 | `custKeyMap` | 無効フラグ・登録/更新/削除の各運用年月日と処理ID (Invalid flag, operation years and processing IDs) |
| 102–103 | `custKeyMap` | 関電G個人情報取扱同意有无・同意年月日 (KDDI II personal info consent flag and date) |
| 104–110 | `custKeyMap` | 関電G個人情報提供不可フラグ関連 (KDDI II personal info provision impossible flag, change date/method/status/linkage) |
| 111 | `custKeyMap` | 会員ISP決議利用判定コード (Member ISP decision usage judgment code) |
| 112 | `custKeyMap` | 親店G支店コード (Parent store G branch code / ORSJGS_CD) |
| 113 | `custKeyMap` | 支払方法変更督促メッセージ抑制有无 (Payment method change reminder message suppression) |
| 114–115 | `custKeyMap` | SCMタイプコード・SCM支店コード (SCM type code, SCM branch code) |
| 116 | `custKeyMap` | 追加フラグ (Addition flag) |
| 117 | `custKeyMap` | ADSL後決裁照会結果可否 (ADSL post-decision inquiry result approval) |

---

## 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: `getString` [R], `getValue` [R], `Rtrim` [-], `executeCK_T_CUST_PKINSERT` [C], `Rtrim` [-], `Rtrim` [-], ... (all field extractions)

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CBS: `insertCustAddresData` | `JBSbatKKAdHenkoHoyuDataUpd.insertCustAddresData(dbList, strItemName)` -> `executeCK_T_CUST_PKSELECT(pkSysID, pkGeneAddDtm)` -> `createCustRec(rec, dbList, strItemName)` | `getString` [R], `getValue` [R], `executeCK_T_CUST_PKINSERT` [C] T_CUST |

**Full call chain explanation:**
1. `insertCustAddresData(JBSbatCommonDBInterface dbList, String strItemName)` — retrieves the existing customer record by primary key (`SYSID` + `GeneAddDtm`) via `executeCK_T_CUST_PKSELECT`. If the record exists, it calls `createCustRec(rec, dbList, strItemName)` with the fetched record (`rec`) as the `custKeyMap`. This is the sole caller within the class.

---

## 6. Per-Branch Detail Blocks

### Block 1 — SET (L3425-3429)
> Initializes the flat parameter array for the 118-field customer record.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam = new String[118]` // Flat array for all customer master fields (current size after iterative version additions) |

### Block 2 — SET (L3433-3442)
> Populates the core customer demographic fields (SYSID through customer confirmation notes) from `custKeyMap` and `dbList`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[0] = Rtrim(custKeyMap.getString(SYSID))` // Unique system identifier [-> JBSbatCK_T_CUST.SYSID] |
| 2 | SET | `setParam[1] = Rtrim(dbList.getValue(7))` // Registration datetime (generation timestamp) |
| 3 | SET | `setParam[2] = Rtrim(custKeyMap.getString(CUST_STAT))` // Customer status [-> JBSbatCK_T_CUST.CUST_STAT] |
| 4 | SET | `setParam[3] = Rtrim(custKeyMap.getString(KEISHA_TYPE_CD))` // Contractor type code [-> JBSbatCK_T_CUST.KEISHA_TYPE_CD] |
| 5 | SET | `setParam[4] = Rtrim(custKeyMap.getString(CUST_NM))` // Customer name (kanji) [-> JBSbatCK_T_CUST.CUST_NM] |
| 6 | SET | `setParam[5] = Rtrim(custKeyMap.getString(CUST_KANA))` // Customer kana name [-> JBSbatCK_T_CUST.CUST_KANA] |
| 7 | SET | `setParam[6] = Rtrim(custKeyMap.getString(CUST_SEX_CD))` // Customer sex code [-> JBSbatCK_T_CUST.CUST_SEX_CD] |
| 8 | SET | `setParam[7] = Rtrim(custKeyMap.getString(CUST_BIRTHD))` // Customer birthday [-> JBSbatCK_T_CUST.CUST_BIRTHD] |
| 9 | SET | `setParam[8] = Rtrim(custKeyMap.getString(NM_KISHO))` // Name courtesy title (e.g., "Mr.", "Mrs.") [-> JBSbatCK_T_CUST.NM_KISHO] |
| 10 | SET | `setParam[9] = Rtrim(custKeyMap.getString(CUST_CFM_BIKO))` // Customer confirmation notes [-> JBSbatCK_T_CUST.CUST_CFM_BIKO] |

### Block 3 — IF/ELSE (L3443-3471)
> **IF:** `strItemName == "KEISHA_AD_CD"` — determines whether contractor address comes from the incoming `dbList` (new data) or `custKeyMap` (current data).

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[10] = Rtrim(dbList.getValue(0))` // Contractor address code — from dbList |
| 2 | SET | `setParam[11] = Rtrim(dbList.getValue(1))` // Contractor postal code — from dbList |
| 3 | SET | `setParam[12] = Rtrim(dbList.getValue(2))` // Contractor prefecture name — from dbList |
| 4 | SET | `setParam[13] = Rtrim(dbList.getValue(3))` // Contractor city/town/village name — from dbList |
| 5 | SET | `setParam[14] = Rtrim(dbList.getValue(4))` // Contractor oaza/town name — from dbList |
| 6 | SET | `setParam[15] = Rtrim(dbList.getValue(5))` // Contractor chome name — from dbList |

**Block 3.1 — ELSE** (L3455-3463)

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[10] = Rtrim(custKeyMap.getString(KEISHA_AD_CD))` // Contractor address code — from current record |
| 2 | SET | `setParam[11] = Rtrim(custKeyMap.getString(KEISHA_PCD))` // Contractor postal code |
| 3 | SET | `setParam[12] = Rtrim(custKeyMap.getString(KEISHA_STATE_NM))` // Contractor prefecture name |
| 4 | SET | `setParam[13] = Rtrim(custKeyMap.getString(KEISHA_CITY_NM))` // Contractor city/town/village name |
| 5 | SET | `setParam[14] = Rtrim(custKeyMap.getString(KEISHA_OAZTSU_NM))` // Contractor oaza/town name |
| 6 | SET | `setParam[15] = Rtrim(custKeyMap.getString(KEISHA_AZCHO_NM))` // Contractor chome name |

### Block 4 — SET (L3472-3482)
> Populates contractor supplementary address fields and phone number — all from `custKeyMap`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[16] = Rtrim(custKeyMap.getString(KEISHA_BNCHIGO))` // Contractor plot number |
| 2 | SET | `setParam[17] = Rtrim(custKeyMap.getString(KEISHA_ADRTTM))` // Contractor address supplement — building name |
| 3 | SET | `setParam[18] = Rtrim(custKeyMap.getString(KEISHA_ADRRM))` // Contractor address supplement — room number |
| 4 | SET | `setParam[19] = Rtrim(custKeyMap.getString(KEISHA_AD_MAN_INPUT_FLG))` // Contractor address manual input flag |
| 5 | SET | `setParam[20] = Rtrim(custKeyMap.getString(KEISHA_TELNO))` // Contractor phone number |

### Block 5 — IF/ELSE (L3483-3518)
> **IF:** `strItemName == "CSSTI_SHS_AD_CD"` — determines whether delivery address (customer-designated shipping address) comes from `dbList` or `custKeyMap`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[21] = Rtrim(dbList.getValue(0))` // Delivery address code — from dbList |
| 2 | SET | `setParam[22] = Rtrim(dbList.getValue(1))` // Delivery postal code — from dbList |
| 3 | SET | `setParam[23] = Rtrim(dbList.getValue(2))` // Delivery prefecture name — from dbList |
| 4 | SET | `setParam[24] = Rtrim(dbList.getValue(3))` // Delivery city/town/village name — from dbList |
| 5 | SET | `setParam[25] = Rtrim(dbList.getValue(4))` // Delivery oaza/town name — from dbList |
| 6 | SET | `setParam[26] = Rtrim(dbList.getValue(5))` // Delivery chome name — from dbList |

**Block 5.1 — ELSE** (L3501-3509)

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[21] = Rtrim(custKeyMap.getString(CSSTI_SHS_AD_CD))` // Delivery address code — from current |
| 2 | SET | `setParam[22] = Rtrim(custKeyMap.getString(CSSTI_SHS_PCD))` // Delivery postal code |
| 3 | SET | `setParam[23] = Rtrim(custKeyMap.getString(CSSTI_SHS_STATE_NM))` // Delivery prefecture name |
| 4 | SET | `setParam[24] = Rtrim(custKeyMap.getString(CSSTI_SHS_CITY_NM))` // Delivery city/town/village name |
| 5 | SET | `setParam[25] = Rtrim(custKeyMap.getString(CSSTI_SHS_OAZTSU_NM))` // Delivery oaza/town name |
| 6 | SET | `setParam[26] = Rtrim(custKeyMap.getString(CSSTI_SHS_AZCHO_NM))` // Delivery chome name |

### Block 6 — SET (L3510-3532)
> Populates customer rank, contact method, eoID, and contents customer demographics.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[27] = Rtrim(custKeyMap.getString(CSSTI_SHS_BNCHIGO))` // Delivery plot number |
| 2 | SET | `setParam[28] = Rtrim(custKeyMap.getString(CSSTI_SHS_ADRTTM))` // Delivery supplement — building name |
| 3 | SET | `setParam[29] = Rtrim(custKeyMap.getString(CSSTI_SHS_ADRRM))` // Delivery supplement — room number |
| 4 | SET | `setParam[30] = Rtrim(custKeyMap.getString(CSSTI_SHS_AD_MAN_INPUT_FLG))` // Delivery manual input flag |
| 5 | SET | `setParam[31] = Rtrim(custKeyMap.getString(CUST_RANK_CD))` // Customer rank code |
| 6 | SET | `setParam[32] = Rtrim(custKeyMap.getString(RRK_WAY_CD))` // Contact method code |
| 7 | SET | `setParam[33] = Rtrim(custKeyMap.getString(RRK_WAY_HOKI))` // Contact method supplement |
| 8 | SET | `setParam[34] = Rtrim(custKeyMap.getString(EOID))` // eoID (service login identifier) |
| 9 | SET | `setParam[35] = Rtrim(custKeyMap.getString(EOID_CHGE_YMD))` // eoID change date |
| 10 | SET | `setParam[36] = Rtrim(custKeyMap.getString(CONT_CUST_NM))` // Contents customer name |
| 11 | SET | `setParam[37] = Rtrim(custKeyMap.getString(CONT_CUST_KANA))` // Contents customer kana |
| 12 | SET | `setParam[38] = Rtrim(custKeyMap.getString(CONT_CUST_SEX_CD))` // Contents customer sex code |
| 13 | SET | `setParam[39] = Rtrim(custKeyMap.getString(CONT_CUST_BIRTHD))` // Contents customer birthday |

### Block 7 — IF/ELSE (L3533-3573)
> **IF:** `strItemName == "CONT_AD_CD"` — determines whether contents address comes from `dbList` or `custKeyMap`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[40] = Rtrim(dbList.getValue(0))` // Contents address code — from dbList |
| 2 | SET | `setParam[41] = Rtrim(dbList.getValue(1))` // Contents postal code — from dbList |
| 3 | SET | `setParam[42] = Rtrim(dbList.getValue(2))` // Contents prefecture name — from dbList |
| 4 | SET | `setParam[43] = Rtrim(dbList.getValue(3))` // Contents city/town/village name — from dbList |
| 5 | SET | `setParam[44] = Rtrim(dbList.getValue(4))` // Contents oaza/town name — from dbList |
| 6 | SET | `setParam[45] = Rtrim(dbList.getValue(5))` // Contents chome name — from dbList |

**Block 7.1 — ELSE** (L3556-3564)

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[40] = Rtrim(custKeyMap.getString(CONT_AD_CD))` // Contents address code — from current |
| 2 | SET | `setParam[41] = Rtrim(custKeyMap.getString(CONT_PCD))` // Contents postal code |
| 3 | SET | `setParam[42] = Rtrim(custKeyMap.getString(CONT_STATE_NM))` // Contents prefecture name |
| 4 | SET | `setParam[43] = Rtrim(custKeyMap.getString(CONT_CITY_NM))` // Contents city/town/village name |
| 5 | SET | `setParam[44] = Rtrim(custKeyMap.getString(CONT_OAZTSU_NM))` // Contents oaza/town name |
| 6 | SET | `setParam[45] = Rtrim(custKeyMap.getString(CONT_AZCHO_NM))` // Contents chome name |

### Block 8 — SET (L3574-3698)
> Populates the remaining customer master fields in sequential order. These cover: contents address supplement, membership, reservation, security, nickname, retail, authentication, withdrawal, eoID, mail delivery, ISP, dormancy, audit, regulatory consent, SCM, and addition metadata.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[46] = Rtrim(custKeyMap.getString(CONT_BNCHIGO))` // Contents plot number |
| 2 | SET | `setParam[47] = Rtrim(custKeyMap.getString(CONT_ADRTTM))` // Contents address supplement — building |
| 3 | SET | `setParam[48] = Rtrim(custKeyMap.getString(CONT_ADRRM))` // Contents address supplement — room |
| 4 | SET | `setParam[49] = Rtrim(custKeyMap.getString(CONT_AD_BNKT_STA_PST))` // Contents address division start position |
| 5 | SET | `setParam[50] = Rtrim(custKeyMap.getString(MEMBER_SBT_CD))` // Member type code |
| 6 | SET | `setParam[51] = Rtrim(custKeyMap.getString(CONT_ISP_USE_FAIL_FLG))` // Contents ISP usage failure flag |
| 7 | SET | `setParam[52] = Rtrim(custKeyMap.getString(CONT_ISP_USE_STP_YMD))` // Contents ISP usage suspension date |
| 8 | SET | `setParam[53] = Rtrim(custKeyMap.getString(KARI_ADD_YMD))` // Temporary registration date |
| 9 | SET | `setParam[54] = Rtrim(custKeyMap.getString(JOIN_YMD))` // Join date |
| 10 | SET | `setParam[55] = Rtrim(custKeyMap.getString(RSV_APLY_YMD))` // Reservation application date |
| 11 | SET | `setParam[56] = Rtrim(custKeyMap.getString(RSV_CL_YMD))` // Reservation cancellation date |
| 12 | SET | `setParam[57] = Rtrim(custKeyMap.getString(RSV_APLY_CD))` // Reservation application code |
| 13 | SET | `setParam[58] = Rtrim(custKeyMap.getString(PWD_REMINDER_QS_CD))` // Password reminder question code |
| 14 | SET | `setParam[59] = Rtrim(custKeyMap.getString(PWD_REMINDER_QS_NAIYO))` // Password reminder question content |
| 15 | SET | `setParam[60] = Rtrim(custKeyMap.getString(PWD_REMINDER_ANS))` // Password reminder answer |
| 16 | SET | `setParam[61] = Rtrim(custKeyMap.getString(NKNAME))` // Nickname |
| 17 | SET | `setParam[62] = Rtrim(custKeyMap.getString(NKNAME_CHGE_YMD))` // Nickname change date |
| 18 | SET | `setParam[63] = Rtrim(custKeyMap.getString(NAIHAN_GAIHAN_CD))` // Retail/wholesale code |
| 19 | SET | `setParam[64] = Rtrim(custKeyMap.getString(NAIHAN_COMP_SKBT_CD))` // Retail enterprise identification code |
| 20 | SET | `setParam[65] = Rtrim(custKeyMap.getString(NECESSARY_HOJO_CD))` // Necessary subsidy code |
| 21 | SET | `setParam[66] = Rtrim(custKeyMap.getString(EONETID_MI_IKO_FLG))` // eonetID non-migration flag |
| 22 | SET | `setParam[67] = Rtrim(custKeyMap.getString(LOGIN_NINSHO_KH))` // Login authentication approval |
| 23 | SET | `setParam[68] = Rtrim(custKeyMap.getString(CUST_TKJK_CD))` // Customer special item code |
| 24 | SET | `setParam[69] = Rtrim(custKeyMap.getString(CUST_NTAIKAI_CD))` // Customer withdrawal code |
| 25 | SET | `setParam[70] = Rtrim(custKeyMap.getString(CUST_TAIKAI_YMD))` // Customer withdrawal date |
| 26 | SET | `setParam[71] = Rtrim(custKeyMap.getString(CUST_TAIKAI_RSN_CD))` // Customer withdrawal reason code |
| 27 | SET | `setParam[72] = Rtrim(custKeyMap.getString(CUST_KAIHK_YMD))` // Customer reinstatement date |
| 28 | SET | `setParam[73] = Rtrim(custKeyMap.getString(LOGIN_NINSHO_STP_YMD))` // Login authentication suspension date |
| 29 | SET | `setParam[74] = Rtrim(custKeyMap.getString(SHK_EOID))` // Initial eoID |
| 30 | SET | `setParam[75] = Rtrim(custKeyMap.getString(SHK_EOID_PWD))` // Initial eoID password |
| 31 | SET | `setParam[76] = Rtrim(custKeyMap.getString(EOID_KNRN_INF_CHG_SKCD))` // eoID related info change ID |
| 32 | SET | `setParam[77] = Rtrim(custKeyMap.getString(EOID_KNRN_INF_CHG_DTM))` // eoID related info change datetime |
| 33 | SET | `setParam[78] = Rtrim(custKeyMap.getString(MMB_SBT_TOKUT_FLG))` // Member type special flag |
| 34 | SET | `setParam[79] = Rtrim(custKeyMap.getString(NAYOSE_SAKI_SYSID))` // Mail delivery destination SYSID |
| 35 | SET | `setParam[80] = Rtrim(custKeyMap.getString(NAYOSE_YMD))` // Mail delivery date |
| 36 | SET | `setParam[81] = Rtrim(custKeyMap.getString(EOID_TCHISHO_HAKKOJSKI_CD))` // eoID possession issuance status code |
| 37 | SET | `setParam[82] = Rtrim(custKeyMap.getString(OLD_EONETMB_NINSHO_ID))` // Old eonet member authentication ID |
| 38 | SET | `setParam[83] = Rtrim(custKeyMap.getString(MMB_ISP_KSSAI_STAT_CD))` // Member ISP decision status code |
| 39 | SET | `setParam[84] = Rtrim(custKeyMap.getString(CUST_MK_YMD))` // Customer invalid date |
| 40 | SET | `setParam[85] = Rtrim(custKeyMap.getString(DEL_TRGT_GAI_FLG))` // Deletion target non-exclusion flag |
| 41 | SET | `setParam[86] = Rtrim(custKeyMap.getString(KYUMIN_FLG))` // Dormant flag |
| 42 | SET | `setParam[87] = Rtrim(custKeyMap.getString(KYUMIN_YMD))` // Dormant date |
| 43 | SET | `setParam[88] = Rtrim(custKeyMap.getString(SVCTK_BUT_DEL_TRN_JSSI_DTM))` // Service provision deletion processing datetime |
| 44 | SET | `setParam[89] = Rtrim(custKeyMap.getString(ADD_DTM))` // Registration datetime |
| 45 | SET | `setParam[90] = Rtrim(custKeyMap.getString(ADD_OPEACNT))` // Registration operator account |
| 46 | SET | `setParam[91] = Rtrim(custKeyMap.getString(UPD_DTM))` // Update datetime |
| 47 | SET | `setParam[92] = Rtrim(custKeyMap.getString(UPD_OPEACNT))` // Update operator account |
| 48 | SET | `setParam[93] = Rtrim(custKeyMap.getString(DEL_DTM))` // Deletion datetime |
| 49 | SET | `setParam[94] = Rtrim(custKeyMap.getString(DEL_OPEACNT))` // Deletion operator account |
| 50 | SET | `setParam[95] = Rtrim(custKeyMap.getString(MK_FLG))` // Invalid flag |
| 51 | SET | `setParam[96] = Rtrim(custKeyMap.getString(ADD_UNYO_YMD))` // Registration operation year |
| 52 | SET | `setParam[97] = Rtrim(custKeyMap.getString(ADD_TRN_ID))` // Registration processing ID |
| 53 | SET | `setParam[98] = Rtrim(custKeyMap.getString(UPD_UNYO_YMD))` // Update operation year |
| 54 | SET | `setParam[99] = Rtrim(custKeyMap.getString(UPD_TRN_ID))` // Update processing ID |
| 55 | SET | `setParam[100] = Rtrim(custKeyMap.getString(DEL_UNYO_YMD))` // Deletion operation year |
| 56 | SET | `setParam[101] = Rtrim(custKeyMap.getString(DEL_TRN_ID))` // Deletion processing ID |
| 57 | SET | `setParam[102] = Rtrim(custKeyMap.getString(KEPG_KJNIF_TRAT_DOI_UM))` // KDDI II personal info handling consent |
| 58 | SET | `setParam[103] = Rtrim(custKeyMap.getString(KEPG_KJNIF_TRAT_DOI_YMD))` // KDDI II personal info consent date |
| 59 | SET | `setParam[104] = Rtrim(custKeyMap.getString(KEPG_KJNIFT_FFG))` // KDDI II personal info provision impossible flag |
| 60 | SET | `setParam[105] = Rtrim(custKeyMap.getString(KEPG_KJNIFT_FFG_CHG_YMD))` // KDDI II provision impossible flag change date |
| 61 | SET | `setParam[106] = Rtrim(custKeyMap.getString(KEPG_KJNIFT_FFG_CHG_UWY_CD))` // KDDI II provision impossible change receipt method code |
| 62 | SET | `setParam[107] = Rtrim(custKeyMap.getString(KEPG_KJNIFT_JOKYO_CD))` // KDDI II personal info provision status code |
| 63 | SET | `setParam[108] = Rtrim(custKeyMap.getString(KEPG_KJNIFT_STAYMD))` // KDDI II personal info provision start date |
| 64 | SET | `setParam[109] = Rtrim(custKeyMap.getString(KEPG_KJNIFT_RSCD))` // KDDI II personal info provision linkage status code |
| 65 | SET | `setParam[110] = Rtrim(custKeyMap.getString(KEPG_KJNIFT_RSCD_CHG_YMD))` // KDDI II linkage status code change date |
| 66 | SET | `setParam[111] = Rtrim(custKeyMap.getString(MMB_ISP_KSSAI_USE_JDG_CD))` // Member ISP decision usage judgment code [-> OM-2016-0000059] |
| 67 | SET | `setParam[112] = Rtrim(custKeyMap.getString(ORSJGS_CD))` // Orphaned branch customer code [-> ANK-3366-00-00] |
| 68 | SET | `setParam[113] = Rtrim(custKeyMap.getString(PAYWAY_CHG_TS_MSG_YOKSI_UM))` // Payment method change reminder message suppression [-> ANK-3375-00-00] |
| 69 | SET | `setParam[114] = Rtrim(custKeyMap.getString(SCM_TYPE_CD))` // SCM type code [-> OM-2022-0000956] |
| 70 | SET | `setParam[115] = Rtrim(custKeyMap.getString(SCM_JGS_CD))` // SCM branch code [-> OM-2022-0000956] |
| 71 | SET | `setParam[116] = Rtrim(custKeyMap.getString(ADD_FLG))` // Addition flag [-> OM-2019-0000473] |
| 72 | SET | `setParam[117] = Rtrim(custKeyMap.getString(DSL_AF_SKSSNS_KH))` // ADSL post-decision inquiry result approval [-> #83205] |

### Block 9 — CALL (L3740)
> Executes the primary-key-based insert/upsert into the customer master table with the fully populated parameter array.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `executeCK_T_CUST_PKINSERT(setParam)` // Upsert customer record to T_CUST using SYSID as primary key |

### Block 10 — RETURN (L3741)
> Returns void — the method completes after the upsert call.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return;` // No return value (void method) |

---

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `CUST_STAT` | Field | Customer status — current lifecycle state of the customer account (e.g., active, suspended, withdrawn) |
| `KEISHA_TYPE_CD` | Field | Contractor type code — classification of the contractor (individual, corporate, etc.) |
| `CUST_NM` | Field | Customer name — customer's name in kanji characters |
| `CUST_KANA` | Field | Customer kana name — customer's name in kana phonetic characters |
| `CUST_SEX_CD` | Field | Customer sex code — gender classification code |
| `CUST_BIRTHD` | Field | Customer birthday — date of birth |
| `NM_KISHO` | Field | Name courtesy title — honorific suffix (e.g., "Sam" / Mr., "Sama" / Mrs.) |
| `KEISHA_AD_CD` | Field | Contractor address code — identifier for the contractor's postal address |
| `KEISHA_PCD` | Field | Contractor postal code — Japanese postal code for contractor address |
| `KEISHA_STATE_NM` | Field | Contractor prefecture name — Japanese prefecture (都道府県) |
| `KEISHA_CITY_NM` | Field | Contractor city/town/village name |
| `KEISHA_OAZTSU_NM` | Field | Contractor oaza/town name — larger district within a city |
| `KEISHA_AZCHO_NM` | Field | Contractor chome name — block/street-level address component |
| `KEISHA_BNCHIGO` | Field | Contractor plot number — lot/building identifier |
| `KEISHA_ADRTTM` | Field | Contractor address supplement — building name |
| `KEISHA_ADRRM` | Field | Contractor address supplement — room number |
| `KEISHA_AD_MAN_INPUT_FLG` | Field | Contractor address manual input flag — indicates whether address was manually entered vs. auto-resolved |
| `KEISHA_TELNO` | Field | Contractor phone number |
| `CSSTI_SHS_AD_CD` | Field | Customer-designated delivery address code — a separate address for shipping/delivery distinct from the contractor address |
| `CSSTI_SHS_PCD` / `CSSTI_SHS_STATE_NM` / etc. | Fields | Delivery address equivalents (postal code, prefecture, city, oaza, chome) |
| `CSSTI_SHS_BNCHIGO` | Field | Delivery plot number |
| `CSSTI_SHS_ADRTTM` / `CSSTI_SHS_ADRRM` | Fields | Delivery address supplement — building name / room number |
| `CONT_CUST_NM` / `CONT_CUST_KANA` / etc. | Fields | Contents customer fields — customer data specific to a bundled content service offering |
| `CONT_AD_CD` | Field | Contents address code — separate address for the contents service customer |
| `CUST_RANK_CD` | Field | Customer rank code — customer classification/tier |
| `RRK_WAY_CD` | Field | Contact method code — preferred communication channel (mail, phone, etc.) |
| `RRK_WAY_HOKI` | Field | Contact method supplement — additional contact details |
| `EOID` | Field | eoID — NTT Docomo's unified service login identifier |
| `EOID_CHGE_YMD` | Field | eoID change date — date when the eoID was last changed |
| `NKNAME` | Field | Nickname — optional customer-chosen display name |
| `NAIHAN_GAIHAN_CD` | Field | Retail/wholesale code — classifies the customer as retail or wholesale |
| `NAIHAN_COMP_SKBT_CD` | Field | Retail enterprise identification code — for wholesale customers, the corporate ID |
| `NECESSARY_HOJO_CD` | Field | Necessary subsidy code — code indicating subsidy eligibility |
| `EONETID_MI_IKO_FLG` | Field | eonetID non-migration flag — indicates whether the customer's old eonet ID has been migrated |
| `LOGIN_NINSHO_KH` | Field | Login authentication approval — whether the customer is approved for login |
| `CUST_TAIKAI_YMD` | Field | Customer withdrawal date — date of account cancellation |
| `CUST_KAIHK_YMD` | Field | Customer reinstatement date — date of account reactivation |
| `KYUMIN_FLG` | Field | Dormant flag — indicates whether the account is in dormant/suspended state |
| `KYUMIN_YMD` | Field | Dormant date — date the account entered dormant state |
| `KEPG_KJNIF_TRAT_DOI_UM` | Field | KDDI II personal information handling consent — whether the customer consented to KDDI II handling personal data |
| `KEPG_KJNIFT_FFG` | Field | KDDI II personal information provision impossible flag — whether personal data provision to KDDI II is blocked |
| `KEPG_KJNIFT_JOKYO_CD` | Field | KDDI II personal information provision status code — status of the personal data provision restriction |
| `KEPG_KJNIFT_RSCD` | Field | KDDI II personal information provision linkage status code — linkage status for data sharing |
| `MMB_ISP_KSSAI_STAT_CD` | Field | Member ISP decision status code — whether the member's ISP plan has been decided |
| `MMB_ISP_KSSAI_USE_JDG_CD` | Field | Member ISP decision usage judgment code — whether the ISP plan decision applies to usage |
| `SCM_TYPE_CD` | Field | SCM type code — Supply Chain Management service type |
| `SCM_JGS_CD` | Field | SCM branch code — Supply Chain Management branch identifier |
| `ADD_FLG` | Field | Addition flag — indicates whether this is an additional/derived record |
| `ORSJGS_CD` | Field | Orphaned branch customer code — customer linked to a parent store's branch |
| `PAYWAY_CHG_TS_MSG_YOKSI_UM` | Field | Payment method change reminder message suppression — whether payment change reminders are suppressed |
| `DSL_AF_SKSSNS_KH` | Field | ADSL post-decision inquiry result approval — ADSL service post-decision inquiry result |
| `ADD_DTM` / `UPD_DTM` / `DEL_DTM` | Fields | Registration datetime / Update datetime / Deletion datetime — audit timestamps |
| `ADD_OPEACNT` / `UPD_OPEACNT` / `DEL_OPEACNT` | Fields | Registration/Update/Deletion operator account — who performed the last operation |
| `ADD_TRN_ID` / `UPD_TRN_ID` / `DEL_TRN_ID` | Fields | Registration/Update/Deletion processing ID — transaction ID for audit trail |
| `ADD_UNYO_YMD` / `UPD_UNYO_YMD` / `DEL_UNYO_YMD` | Fields | Registration/Update/Deletion operation year — fiscal/operational year classification |
| `SVCTK_BUT_DEL_TRN_JSSI_DTM` | Field | Service provision deletion processing datetime — when service deletion processing was performed |
| `KARI_ADD_YMD` | Field | Temporary registration date — date of provisional/temporary account registration |
| `JOIN_YMD` | Field | Join date — date the customer formally joined |
| `RSV_APLY_YMD` / `RSV_CL_YMD` | Fields | Reservation application date / Reservation cancellation date |
| `RSV_APLY_CD` | Field | Reservation application code — type of reservation |
| `PWD_REMINDER_QS_CD` / `PWD_REMINDER_QS_NAIYO` / `PWD_REMINDER_ANS` | Fields | Password reminder question code / content / answer — security question for password recovery |
| `SHK_EOID` / `SHK_EOID_PWD` | Fields | Initial eoID / Initial eoID password — the original credentials assigned to the customer |
| `EOID_KNRN_INF_CHG_SKCD` / `EOID_KNRN_INF_CHG_DTM` | Fields | eoID related info change ID / datetime — tracks eoID-related information changes |
| `NAYOSE_SAKI_SYSID` | Field | Mail delivery destination SYSID — system ID for mail forwarding |
| `NAYOSE_YMD` | Field | Mail delivery date — date of mail forwarding |
| `EOID_TCHISHO_HAKKOJSKI_CD` | Field | eoID possession issuance status code — status of eoID document issuance |
| `OLD_EONETMB_NINSHO_ID` | Field | Old eonet member authentication ID — legacy eonet login ID |
| `MEMBER_SBT_CD` | Field | Member type code — classification of membership type |
| `CONT_ISP_USE_FAIL_FLG` / `CONT_ISP_USE_STP_YMD` | Fields | Contents ISP usage failure flag / Contents ISP usage suspension date |
| `CONT_AD_BNKT_STA_PST` | Field | Contents address division start position — position offset for address splitting |
| `MMB_SBT_TOKUT_FLG` | Field | Member type special flag — special classification for member type |
| `DEL_TRGT_GAI_FLG` | Field | Deletion target non-exclusion flag — whether the record is excluded from deletion targets |
| `CUST_MK_YMD` | Field | Customer invalid date — date the customer record was marked invalid |
| `MK_FLG` | Field | Invalid flag — soft-delete flag for the customer record |
| `CUST_TKJK_CD` | Field | Customer special item code — special classification code for the customer |
| `CUST_NTAIKAI_CD` | Field | Customer withdrawal code — type of withdrawal (voluntary, forced, etc.) |
| `CUST_TAIKAI_RSN_CD` | Field | Customer withdrawal reason code — reason for account cancellation |
| `LOGIN_NINSHO_STP_YMD` | Field | Login authentication suspension date — date login was suspended |
| `ADSL_AF_SKSSNS_KH` | Field | ADSL post-decision inquiry result approval — result of ADSL post-decision inquiry |
| JBSbatCommonDBInterface | Technical | A common database interface providing `getString(key)` and `getValue(index)` methods for reading customer data from map or list sources |
| JBSbatCK_T_CUST | Technical | Table constant definition class for the T_CUST (customer master) entity field names |
| JBSbatStringUtil.Rtrim | Technical | String utility method that trims whitespace from both ends of a string |
| executeCK_T_CUST_PKINSERT | Technical | Internal service method that performs a primary-key-based insert/upsert into the T_CUST customer master table |
| T_CUST | Database | The customer master table containing all customer account and demographic data |
| KEISHA | Japanese | 契約者 — Contractor / account holder |
| CSSTI_SHS | Japanese | お客様指定送付先 — Customer-designated delivery/shipping address |
| CONT | Japanese | コンテンツ — Contents (bundled content service) |
| eonet | Japanese/Brand | eonet — NTT Docomo's legacy member authentication service |
| eoID | Brand | eoID — NTT Docomo's unified service login identifier |
| KDDI II | Business | KDDI II — KDDI's personal information handling framework, requiring customer consent for data provision |
| SCM | Acronym | Supply Chain Management — related to service contract line items |

---

## Glossary Index

### Field Abbreviations Reference

| Abbreviation | Full Japanese | English |
|---|---|---|
| CUST_STAT | お客様ステータス | Customer status |
| KEISHA | 契約者 | Contractor/account holder |
| CSSTI_SHS | お客様指定送付先 | Customer-designated delivery address |
| CONT | コンテンツ | Contents (bundled service) |
| EOID | eoID | NTT Docomo login ID |
| NKNAME | ニックネーム | Nickname |
| NAIHAN | 内販外販 | Retail/wholesale |
| KYUMIN | 休眠 | Dormant/suspended |
| ADD | 登録 | Registration |
| UPD | 更新 | Update |
| DEL | 削除 | Deletion |
| RSV | 予約 | Reservation |
| PWD_REMINDER | パスワードリマインダ | Password reminder |
| KEPG_KJNIF | 関電G個人情報 | KDDI II personal information |
| MMB_ISP_KSSAI | 会員ISP決議 | Member ISP decision |
| SCM | SCMタイプ | Supply Chain Management |
| ORSJGS | 親店G支店 | Parent store G branch |
| PAYWAY_CHG | 支払方法変更 | Payment method change |
| DSL_AF_SKSSNS | ADSL後決裁照会 | ADSL post-decision inquiry |

---

*Document generated from source: JBSbatKKAdHenkoHoyuDataUpd.java lines 3418-3741*