# Business Logic — JBSbatKKAdHenkoHoyuDataUpd.createCustKojinRec() [130 LOC]

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

## 1. Role

### JBSbatKKAdHenkoHoyuDataUpd.createCustKojinRec()

The `createCustKojinRec` method is a **data preparation and insert dispatcher** for creating or updating a Customer Individual (個人) master record in the `T_CUST_KOJIN` entity. Its business operation is to assemble a 51-element parameter array from two input data sources — the current customer key map and an optional address update list — and then delegate the actual database insert to `executeCK_T_CUST_KOJIN_PKINSERT`.

The method implements a **routing/dispatch design pattern**: it branches on the `strItemName` parameter to determine whether guardian address fields (setParam indices 26–31) should be sourced from the `custKojinKeyMap` (the primary customer data source) or from `dbList` (an address update list, used when only the guardian address portion is being refreshed). This dual-source strategy allows the system to handle both full record creation and partial address-only updates through a single entry point.

The method is called by `insertCustKojinAddresData` within the same class, positioning it as a shared data-transform utility within the customer personal data update service. Its role in the larger system is the final assembly stage before the actual row insertion into the customer individual master table. It handles the complete 51-field schema of `T_CUST_KOJIN`, including customer basic fields (SYSID), occupation details (SHOKUGYO_CD, SHOKUGYO_OTHER, OFFC_GSHU_CD), workplace address fields (OFFC_*), guardian/parent information (SKSHA_*), contract status (RSV_APLY_CD), audit timestamps (ADD_DTM, UPD_DTM, DEL_DTM), operator accounts (ADD_OPEACNT, UPD_OPEACNT, DEL_OPEACNT), and soft-delete management (MK_FLG, UNYO_YMD, TRN_ID fields).

The method uses `JBSbatStringUtil.Rtrim` on every field to strip trailing whitespace before population, ensuring data integrity in the database.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["createCustKojinRec(custKojinKeyMap, dbList, strItemName)"])
    STEP1["STEP1: Initialize setParam[51]"]
    STEP2["STEP2: Populate setParam[0-25] from custKojinKeyMap with Rtrim"]
    STEP3{"strItemName == SKSHA_AD_CD"}
    STEP4["STEP3a: Populate setParam[26-31] from dbList"]
    STEP5["STEP3b: Populate setParam[26-31] from custKojinKeyMap"]
    STEP6["STEP4: Populate setParam[32-50] from custKojinKeyMap with Rtrim"]
    STEP7["STEP5: Execute executeCK_T_CUST_KOJIN_PKINSERT(setParam)"]
    END_NODE(["Return / Next"])

    START --> STEP1
    STEP1 --> STEP2
    STEP2 --> STEP3
    STEP3 -- "true" --> STEP4
    STEP3 -- "false" --> STEP5
    STEP4 --> STEP6
    STEP5 --> STEP6
    STEP6 --> STEP7
    STEP7 --> END_NODE
```

**Processing Summary:**

| Step | Description |
|------|-------------|
| STEP1 | Declare `setParam` as a `String[51]` array to hold all fields for the `T_CUST_KOJIN` record insert. |
| STEP2 | Populate indices 0–25 (SYSID through ZOKUGARA_OTHER) by reading from `custKojinKeyMap` using `JBSbatCK_T_CUST_KOJIN` field constants, trimming trailing whitespace with `JBSbatStringUtil.Rtrim`. |
| STEP3 | Branch on `strItemName`. If it equals `"SKSHA_AD_CD"`, guardian address data (indices 26–31) comes from `dbList` (address update list). Otherwise, it comes from `custKojinKeyMap`. |
| STEP4 (true branch) | Populate indices 26–31 (SKSHA_AD_CD through SKSHA_AZCHO_NM) from `dbList` using integer indices 0–5. |
| STEP5 (false branch) | Populate indices 26–31 (SKSHA_AD_CD through SKSHA_AZCHO_NM) from `custKojinKeyMap` using `JBSbatCK_T_CUST_KOJIN` field constants. |
| STEP6 | Populate indices 32–50 (remaining guardian address fields through audit/operation tracking fields) from `custKojinKeyMap` with `Rtrim`. |
| STEP7 | Call `executeCK_T_CUST_KOJIN_PKINSERT(setParam)` to perform the database insert into `T_CUST_KOJIN`. |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `custKojinKeyMap` | `JBSbatCommonDBInterface` | Customer Individual current data map — a key-value interface holding the complete current state of the customer's personal record. Used as the primary source for most fields (SYSID, occupation, workplace address, guardian info, contract code, audit timestamps). |
| 2 | `dbList` | `JBSbatCommonDBInterface` | Address information for update — when `strItemName` is `"SKSHA_AD_CD"`, this map provides guardian address data as indexed values (indices 0–5), representing a partial update list for the guardian address portion only. |
| 3 | `strItemName` | `String` | Item name that determines the data source routing logic for guardian address fields. When equal to `"SKSHA_AD_CD"`, it signals that guardian address data should be sourced from `dbList` (address update list) rather than from `custKojinKeyMap`. This enables partial address-only updates. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JBSbatStringUtil.Rtrim` | - | - | Utility call to trim trailing whitespace from every string field before insertion. |
| R | `custKojinKeyMap.getString` | - | - | Reads customer individual field values from the key map interface (in-memory data source). |
| R | `dbList.getValue` | - | - | Reads guardian address field values from the address update list by integer index (used only when strItemName == "SKSHA_AD_CD"). |
| C | `executeCK_T_CUST_KOJIN_PKINSERT` | (Service Component) | `T_CUST_KOJIN` | Inserts a new row into the Customer Individual master table using the assembled 51-element parameter array. |

**Classification rationale:**

- **R (Read)**: All `getString()` and `getValue()` calls read from in-memory data structures (`custKojinKeyMap`, `dbList`), not from database queries. The `Rtrim()` calls are string utility transformations.
- **C (Create)**: `executeCK_T_CUST_KOJIN_PKINSERT` is the only database-write operation. It inserts a new row (or updates via PK) into `T_CUST_KOJIN` using the assembled parameters.

## 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: `getString` [R], `getValue` [R], `Rtrim` [-], `executeCK_T_CUST_KOJIN_PKINSERT` [C]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Internal: JBSbatKKAdHenkoHoyuDataUpd.insertCustKojinAddresData | `insertCustKojinAddresData` -> `createCustKojinRec` | `executeCK_T_CUST_KOJIN_PKINSERT [C] T_CUST_KOJIN` |

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `setParam` array declaration (L3919)

> Initializes the 51-element string array that will hold all fields for the T_CUST_KOJIN record insert.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam = new String[51]` |

**Block 2** — [SET] Populate indices 0–25 from custKojinKeyMap (L3921–L3945)

> Reads customer individual fields from the key map interface. Each field is trimmed of trailing whitespace. Covers SYSID, occupation details, workplace address, guardian name/relations, and customer income.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[0] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SYSID))` // SYSID |
| 2 | SET | `setParam[1] = JBSbatStringUtil.Rtrim((String)dbList.getValue(8))` // Registration datetime |
| 3 | SET | `setParam[2] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SHOKUGYO_CD))` // Occupation code |
| 4 | SET | `setParam[3] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SHOKUGYO_OTHER))` // Occupation other |
| 5 | SET | `setParam[4] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_NM))` // Workplace name |
| 6 | SET | `setParam[5] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SCHOOL_NM))` // School name |
| 7 | SET | `setParam[6] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_GSHU_CD))` // Workplace type code |
| 8 | SET | `setParam[7] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_BUSHO_NM))` // Workplace branch name |
| 9 | SET | `setParam[8] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_AD_CD))` // Workplace address code |
| 10 | SET | `setParam[9] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_PCD))` // Workplace postal code |
| 11 | SET | `setParam[10] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_STATE_NM))` // Workplace prefecture name |
| 12 | SET | `setParam[11] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_CITY_NM))` // Workplace city name |
| 13 | SET | `setParam[12] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_OAZTSU_NM))` // Workplace oaza/chome name |
| 14 | SET | `setParam[13] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_AZCHO_NM))` // Workplace chome/azuchi name |
| 15 | SET | `setParam[14] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_BNCHIGO))` // Workplace lot number |
| 16 | SET | `setParam[15] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_ADRTTM))` // Workplace address supplement/building name |
| 17 | SET | `setParam[16] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_ADRRM))` // Workplace address supplement/room number |
| 18 | SET | `setParam[17] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_TELNO))` // Workplace phone number |
| 19 | SET | `setParam[18] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_NISNNO))` // Workplace extension number |
| 20 | SET | `setParam[19] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(OFFC_WORKER_CNT_SCALE))` // Workplace employee count (scale) |
| 21 | SET | `setParam[20] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(CUST_SALARY))` // Customer income |
| 22 | SET | `setParam[21] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_NM))` // Parent/guardian name |
| 23 | SET | `setParam[22] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_KANA))` // Parent/guardian kana |
| 24 | SET | `setParam[23] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_BIRTHD))` // Parent/guardian birthday |
| 25 | SET | `setParam[24] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_ZOKUGARA_CD))` // Parent/guardian relation code |
| 26 | SET | `setParam[25] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(ZOKUGARA_OTHER))` // Relation other |

**Block 3** — [IF] Branch on strItemName (L3947)

> Determines the data source for guardian address fields (SKSHA_AD_CD through SKSHA_AZCHO_NM). If `strItemName` equals `"SKSHA_AD_CD"`, the guardian address comes from the `dbList` address update list. Otherwise, it comes from the `custKojinKeyMap` current data.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"SKSHA_AD_CD".equals(strItemName)` [-> strItemName == "SKSHA_AD_CD"] (L3947) |

**Block 3.1** — [SET] Guardian address from dbList (true branch) (L3949–L3954)

> When strItemName is "SKSHA_AD_CD", populate guardian address fields (indices 26–31) from the dbList address update list using integer index access (0–5).

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[26] = JBSbatStringUtil.Rtrim((String)dbList.getValue(0))` // Guardian address code |
| 2 | SET | `setParam[27] = JBSbatStringUtil.Rtrim((String)dbList.getValue(1))` // Guardian postal code |
| 3 | SET | `setParam[28] = JBSbatStringUtil.Rtrim((String)dbList.getValue(2))` // Guardian prefecture name |
| 4 | SET | `setParam[29] = JBSbatStringUtil.Rtrim((String)dbList.getValue(3))` // Guardian city name |
| 5 | SET | `setParam[30] = JBSbatStringUtil.Rtrim((String)dbList.getValue(4))` // Guardian oaza/chome name |
| 6 | SET | `setParam[31] = JBSbatStringUtil.Rtrim((String)dbList.getValue(5))` // Guardian chome/azuchi name |

**Block 3.2** — [SET] Guardian address from custKojinKeyMap (false branch) (L3956–L3961)

> When strItemName is not "SKSHA_AD_CD", populate guardian address fields (indices 26–31) from the custKojinKeyMap current data using field constants.

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[26] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_AD_CD))` // Guardian address code |
| 2 | SET | `setParam[27] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_PCD))` // Guardian postal code |
| 3 | SET | `setParam[28] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_STATE_NM))` // Guardian prefecture name |
| 4 | SET | `setParam[29] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_CITY_NM))` // Guardian city name |
| 5 | SET | `setParam[30] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_OAZTSU_NM))` // Guardian oaza/chome name |
| 6 | SET | `setParam[31] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_AZCHO_NM))` // Guardian chome/azuchi name |

**Block 4** — [SET] Populate remaining guardian and audit fields (L3963–L3988)

> Fills indices 32–50 with remaining guardian address supplement fields (lot number, building name, room number, manual input flag), guardian phone number, contract application code, and all audit/operation tracking fields (registration/update/delete timestamps, operator accounts, invalid flag, operation dates, transaction IDs).

| # | Type | Code |
|---|------|------|
| 1 | SET | `setParam[32] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_AD_BNCHIGO))` // Guardian address lot number |
| 2 | SET | `setParam[33] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_ADRTTM))` // Guardian address supplement/building name |
| 3 | SET | `setParam[34] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_ADRRM))` // Guardian address supplement/room number |
| 4 | SET | `setParam[35] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_AD_MAN_INPUT_FLG))` // Guardian address manual input flag |
| 5 | SET | `setParam[36] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(SKSHA_TELNO))` // Guardian phone number |
| 6 | SET | `setParam[37] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(RSV_APLY_CD))` // Contract application code |
| 7 | SET | `setParam[38] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(ADD_DTM))` // Registration datetime |
| 8 | SET | `setParam[39] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(ADD_OPEACNT))` // Registration operator account |
| 9 | SET | `setParam[40] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(UPD_DTM))` // Update datetime |
| 10 | SET | `setParam[41] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(UPD_OPEACNT))` // Update operator account |
| 11 | SET | `setParam[42] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(DEL_DTM))` // Deletion datetime |
| 12 | SET | `setParam[43] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(DEL_OPEACNT))` // Deletion operator account |
| 13 | SET | `setParam[44] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(MK_FLG))` // Invalid/Mark flag |
| 14 | SET | `setParam[45] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(ADD_UNYO_YMD))` // Registration operation date |
| 15 | SET | `setParam[46] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(ADD_TRN_ID))` // Registration process ID |
| 16 | SET | `setParam[47] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(UPD_UNYO_YMD))` // Update operation date |
| 17 | SET | `setParam[48] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(UPD_TRN_ID))` // Update process ID |
| 18 | SET | `setParam[49] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(DEL_UNYO_YMD))` // Deletion operation date |
| 19 | SET | `setParam[50] = JBSbatStringUtil.Rtrim(custKojinKeyMap.getString(DEL_TRN_ID))` // Deletion process ID |

**Block 5** — [CALL] Execute PK insert (L3992)

> Invokes the database insert operation for the T_CUST_KOJIN table using the fully assembled 51-element parameter array.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `executeCK_T_CUST_KOJIN_PKINSERT(setParam)` // Insert/update T_CUST_KOJIN record |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `SYSID` | Field | System ID — unique system identifier for the customer individual record |
| `SHOKUGYO_CD` | Field | Occupation code — classification code for the customer's occupation |
| `SHOKUGYO_OTHER` | Field | Occupation other — free-text field for occupation not covered by standard codes |
| `OFFC_NM` | Field | Workplace name — the customer's employer/business name |
| `SCHOOL_NM` | Field | School name — when occupation type is student, this holds the school name |
| `OFFC_GSHU_CD` | Field | Workplace type code — classification code for the type of workplace (company, school, self-employed, etc.) |
| `OFFC_BUSHO_NM` | Field | Workplace branch name — the specific branch or location of the workplace |
| `OFFC_AD_CD` | Field | Workplace address code — code for the workplace address |
| `OFFC_PCD` | Field | Workplace postal code — Japanese postal code for the workplace |
| `OFFC_STATE_NM` | Field | Workplace prefecture name — the prefecture of the workplace address |
| `OFFC_CITY_NM` | Field | Workplace city name — the city/municipality of the workplace address |
| `OFFC_OAZTSU_NM` | Field | Workplace oaza/chome name — large district (oaza) or chome of the workplace address |
| `OFFC_AZCHO_NM` | Field | Workplace chome/azuchi name — chome or azuchi detail of the workplace address |
| `OFFC_BNCHIGO` | Field | Workplace lot number — the lot/banchi number of the workplace address |
| `OFFC_ADRTTM` | Field | Workplace address supplement/building name — supplementary address info, often the building name |
| `OFFC_ADRRM` | Field | Workplace address supplement/room number — room or suite number |
| `OFFC_TELNO` | Field | Workplace phone number — phone number for the workplace |
| `OFFC_NISNNO` | Field | Workplace extension number — extension number for the workplace phone |
| `OFFC_WORKER_CNT_SCALE` | Field | Workplace employee count (scale) — scale classification of workplace employee count |
| `CUST_SALARY` | Field | Customer income — annual income of the customer (お客様＜個人＞年収) |
| `SKSHA_NM` | Field | Parent/guardian name — name of the customer's parent or legal guardian |
| `SKSHA_KANA` | Field | Parent/guardian kana — phonetic reading (katakana/hiragana) of the guardian name |
| `SKSHA_BIRTHD` | Field | Parent/guardian birthday — date of birth of the parent/guardian |
| `SKSHA_ZOKUGARA_CD` | Field | Parent/guardian relation code — code specifying the relationship to the customer (parent, guardian, etc.) |
| `ZOKUGARA_OTHER` | Field | Relation other — free-text field for relation not covered by standard codes |
| `SKSHA_AD_CD` | Field | Guardian address code — code for the guardian's residential address |
| `SKSHA_PCD` | Field | Guardian postal code — Japanese postal code for the guardian's address |
| `SKSHA_STATE_NM` | Field | Guardian prefecture name — prefecture of the guardian's address |
| `SKSHA_CITY_NM` | Field | Guardian city name — city of the guardian's address |
| `SKSHA_OAZTSU_NM` | Field | Guardian oaza/chome name — district of the guardian's address |
| `SKSHA_AZCHO_NM` | Field | Guardian chome/azuchi name — chome/azuchi detail of the guardian's address |
| `SKSHA_AD_BNCHIGO` | Field | Guardian address lot number — lot number of the guardian's address |
| `SKSHA_ADRTTM` | Field | Guardian address supplement/building name — building name for guardian's address |
| `SKSHA_ADRRM` | Field | Guardian address supplement/room number — room number for guardian's address |
| `SKSHA_AD_MAN_INPUT_FLG` | Field | Guardian address manual input flag — flag indicating if the guardian address was manually entered |
| `SKSHA_TELNO` | Field | Guardian phone number — phone number of the parent/guardian |
| `RSV_APLY_CD` | Field | Contract application code — code indicating the status of contract application |
| `ADD_DTM` | Field | Registration datetime — timestamp of when this record was created |
| `ADD_OPEACNT` | Field | Registration operator account — operator account that created this record |
| `UPD_DTM` | Field | Update datetime — timestamp of the last modification |
| `UPD_OPEACNT` | Field | Update operator account — operator account that last modified this record |
| `DEL_DTM` | Field | Deletion datetime — timestamp of soft-deletion (when record was marked invalid) |
| `DEL_OPEACNT` | Field | Deletion operator account — operator account that soft-deleted this record |
| `MK_FLG` | Field | Invalid/Mark flag — soft-delete flag (0 = valid, 1 = invalid/deleted) |
| `ADD_UNYO_YMD` | Field | Registration operation date — date of registration processing |
| `ADD_TRN_ID` | Field | Registration process ID — transaction ID for the registration operation |
| `UPD_UNYO_YMD` | Field | Update operation date — date of the last update processing |
| `UPD_TRN_ID` | Field | Update process ID — transaction ID for the last update operation |
| `DEL_UNYO_YMD` | Field | Deletion operation date — date of the soft-deletion processing |
| `DEL_TRN_ID` | Field | Deletion process ID — transaction ID for the deletion operation |
| `dbList.getValue(8)` | Field | Registration datetime (年月日时分秒) — source: dbList index 8, represents the record's creation timestamp |
| `T_CUST_KOJIN` | Entity | Customer Individual master table — the core database entity storing personal customer data |
| `SKSHA_AD_CD` | Constant | Guardian Address Code — the value of `strItemName` that triggers address-only update routing |
| `JBSbatStringUtil.Rtrim` | Utility | Right-trim utility — removes trailing whitespace from strings to ensure clean data storage |
| `executeCK_T_CUST_KOJIN_PKINSERT` | Method | Execute CK T-CUST-KOJIN PK Insert — the database insert operation that writes the assembled record to T_CUST_KOJIN |
| `JBSbatCK_T_CUST_KOJIN` | Class | T_CUST_KOJIN field constants class — defines all column name constants for the customer individual table |
| `JBSbatCommonDBInterface` | Interface | Common database interface — shared interface for reading data from map/list-like data structures |
