# Business Logic — JBSbatKKKDDIAnkenIktTrkm.isCheckKKIFE217() [1088 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.business.service.JBSbatKKKDDIAnkenIktTrkm` |
| Layer | Service (Batch processing layer — handles KDDI agency application file validation) |
| Module | `service` (Package: `eo.business.service`) |

## 1. Role

### JBSbatKKKDDIAnkenIktTrkm.isCheckKKIFE217()

This method performs comprehensive single-field validation of a KDDI agency application file record (KDDI Takutsu Anketa File) before it is registered into the referral discount contract status table (`KK_T_KDDI_TJGWR_KJKS_KK`). It processes 36 distinct input fields covering application metadata, store information, customer details, contact information, service selections, and optional remarks — validating each field against digit count constraints and character pattern rules.

The method implements a **repetitive validation routing pattern**: for every field it reads the value from the input `rsMap`, performs a digit-count check via `JKKBatCommon.checkDigitno()` (which may also sanitize/correct the value and write it back to the map), and then validates character encoding format via `JBSbatCheckUtil.invoke()`. Errors are collected in `errMapList` and warnings in `warMapList`, with the result flagging the appropriate counters (`errRecordCnt`, `warRecordCnt`, `normalRecordCnt`).

After all fields are checked, it returns `false` if any error occurred (terminating further processing for that record), and `true` if only warnings or no issues were found (allowing the caller to proceed with database registration). This is a **shared validation utility** called from `JBSbatKKKDDIAnkenIktTrkm.execute()`, which iterates over each record in a KDDI intake file batch, making this method the core validation gate for the entire KDDI agency application intake process.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["isCheckKKIFE217(rsMap)"])
    START --> INIT["Initialize: errMapList, warMapList, isCheckErrFlg, isCheckWarFlg, dataMapList"]

    INIT --> F1["Field 1: MSKM_DTM - Application date"]
    F1 --> F1_MAND{"Required - Null or empty?"}
    F1_MAND -->|Yes| F1_ERR1["Add error: Required field missing (EKKB0660TE)"]
    F1_MAND -->|No| F1_DIGIT{"checkDigitno 15-15"}
    F1_DIGIT -->|Fail| F1_WARN["Add warning: Digit count check fail (EKKB0680TE)"]
    F1_WARN --> F1_BACK1["Set corrected value back to rsMap"]
    F1_DIGIT -->|Pass| F1_PROP{"check property day_hour4"}
    F1_PROP -->|Fail| F1_ERR2["Add error: Property check fail (EKKB0730TE, date_4)"]

    F1_ERR1 --> AFTER_F1
    F1_ERR2 --> AFTER_F1
    F1_BACK1 --> AFTER_F1

    AFTER_F1 --> F2["Field 2: KDDI_VAL_CD - Service type code"]
    F2 --> F2_DIGIT{"checkDigitno 7-15"}
    F2_DIGIT -->|Fail| F2_WARN["Add warning: Digit count check fail (EKKB0690TW)"]
    F2_WARN --> F2_BACK1["Set corrected value back to rsMap"]
    F2_DIGIT -->|Pass| F2_PROP{"check property hannkakuesuuji1"}
    F2_PROP -->|Fail| F2_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F2_WARN --> AFTER_F2
    F2_ERR --> AFTER_F2

    AFTER_F2 --> F3["Field 3: KDDI_SHOKAI_SK_JGS_CD - Referral business code"]
    F3 --> F3_DIGIT{"checkDigitno 5-5"}
    F3_DIGIT -->|Fail| F3_WARN["Add warning: Digit count check fail (EKKB0690TW)"]
    F3_WARN --> F3_BACK1["Set corrected value back to rsMap"]
    F3_DIGIT -->|Pass| F3_PROP{"check property hannkakuesuuji1"}
    F3_PROP -->|Fail| F3_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F3_WARN --> AFTER_F3
    F3_ERR --> AFTER_F3

    AFTER_F3 --> F4["Field 4: KDDI_SHOKAI_SK_JGS_NM - Referral business name"]
    F4 --> F4_DIGIT{"checkDigitno 1-32"}
    F4_DIGIT -->|Fail| F4_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F4_WARN --> F4_BACK1["Set corrected value back to rsMap"]
    F4_DIGIT -->|Pass| F4_PROP{"check property zenkaku"}
    F4_PROP -->|Fail| F4_ERR["Add error: Property check fail (EKKB0730TE, EM)"]
    F4_WARN --> AFTER_F4
    F4_ERR --> AFTER_F4

    AFTER_F4 --> F5["Field 5: KDDI_UK_TEN_CD - Payment store code"]
    F5 --> F5_DIGIT{"checkDigitno 7-11"}
    F5_DIGIT -->|Fail| F5_WARN["Add warning: Digit count check fail (EKKB0690TW)"]
    F5_WARN --> F5_SET["Set isUkTenCdFlg=true"]
    F5_SET --> F5_BACK1["Set corrected value back to rsMap"]
    F5_DIGIT -->|Pass| F5_PROP{"check property hannkakuesuuji1"}
    F5_PROP -->|Fail| F5_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F5_ERR --> F5_SET2["Set isUkTenCdFlg=true"]
    F5_WARN --> AFTER_F5
    F5_SET2 --> AFTER_F5

    AFTER_F5 --> F5_AGNT{isUkTenCdFlg=false?}
    F5_AGNT -->|Yes| F5_LOOKUP["getAgntCd: Lookup agency code/name from KK_M_AGNT table"]
    F5_LOOKUP --> F5_SET_AGNT["Set AGNT_CD, AGNT_NM in rsMap"]
    F5_AGNT -->|No| AFTER_F5_A
    F5_SET_AGNT --> AFTER_F5_A
    F5_WARN --> AFTER_F5_A

    AFTER_F5_A --> F6["Field 6: KDDI_UK_TEN_NM - Payment store name"]
    F6 --> F6_DIGIT{"checkDigitno 1-25"}
    F6_DIGIT -->|Fail| F6_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F6_WARN --> F6_BACK1["Set corrected value back to rsMap"]
    F6_DIGIT -->|Pass| F6_PROP{"check property zenkaku"}
    F6_PROP -->|Fail| F6_ERR["Add error: Property check fail (EKKB0730TE, EM)"]
    F6_WARN --> AFTER_F6
    F6_ERR --> AFTER_F6

    AFTER_F6 --> F7["Field 7: KDDI_UK_SBT_CD - Payment type code"]
    F7 --> F7_DIGIT{"checkDigitno 1-1"}
    F7_DIGIT -->|Fail| F7_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F7_WARN --> F7_BACK1["Set corrected value back to rsMap"]
    F7_DIGIT -->|Pass| F7_PROP{"check property hannkakuesuuji1"}
    F7_PROP -->|Fail| F7_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F7_WARN --> AFTER_F7
    F7_ERR --> AFTER_F7

    AFTER_F7 --> F8["Field 8: INTR_HYO_KANRI_NO - Intro ticket management no"]
    F8 --> F8_REQ{"Required - Null or empty?"}
    F8_REQ -->|Yes| F8_ERR1["Add error: Required field missing (EKKB0660TE)"]
    F8_REQ -->|No| F8_DIGIT{"checkDigitno 9-9"}
    F8_ERR1 --> F8_SET_FLG
    F8_DIGIT -->|Fail| F8_ERR2["Add error: Digit count check fail (EKKB0680TE)"]
    F8_ERR2 --> F8_BACK1["Set corrected value back to rsMap"]
    F8_DIGIT -->|Pass| F8_PROP{"check property hannkakuesuuji1"}
    F8_PROP -->|Fail| F8_ERR3["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F8_ERR3 --> F8_SET_FLG
    F8_SET_FLG["Set isIntrHyoKanriNoFlg=true"]
    F8_SET_FLG --> F8_AGNT{"isIntrHyoKanriNoFlg=false?"}
    F8_AGNT -->|Yes| F8_LOOKUP["existCheckIntrHyoKanriNo: Check KK_T_KDDI_TJGWR_KJKS_KK existence"]
    F8_AGNT -->|No| AFTER_F8
    F8_LOOKUP --> AFTER_F8

    AFTER_F8 --> F9["Field 9: TJGWR_MKMS_NM - Name / Desiree name"]
    F9 --> F9_DIGIT{"checkDigitno 1-60"}
    F9_DIGIT -->|Fail| F9_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F9_WARN --> F9_BACK1["Set corrected value back to rsMap"]
    F9_DIGIT -->|Pass| F9_PROP{"check property kisyuizon_nmad"}
    F9_PROP -->|Fail| F9_ERR["Add error: Property check fail (EKKB0730TE, KISYUIZON_NM_AD)"]
    F9_WARN --> AFTER_F9
    F9_ERR --> AFTER_F9

    AFTER_F9 --> F10["Field 10: TJGWR_MKMS_KANA - Kana / Desiree kana"]
    F10 --> F10_DIGIT{"checkDigitno 1-60"}
    F10_DIGIT -->|Fail| F10_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F10_WARN --> F10_BACK1["Set corrected value back to rsMap"]
    F10_DIGIT -->|Pass| F10_PROP{"check property zenkakukana"}
    F10_PROP -->|Fail| F10_ERR["Add error: Property check fail (EKKB0730TE, EM_KANA)"]
    F10_WARN --> AFTER_F10
    F10_ERR --> AFTER_F10

    AFTER_F10 --> F11["Field 11: TJGWR_MKMS_PCD - Postal code"]
    F11 --> F11_DIGIT{"checkDigitno 7-7"}
    F11_DIGIT -->|Fail| F11_WARN["Add warning: Digit count check fail (EKKB0690TW)"]
    F11_WARN --> F11_BACK1["Set corrected value back to rsMap"]
    F11_DIGIT -->|Pass| F11_PROP{"check property hannkakusuuji1"}
    F11_PROP -->|Fail| F11_ERR["Add error: Property check fail (EKKB0730TE, NUM_1)"]
    F11_WARN --> AFTER_F11
    F11_ERR --> AFTER_F11

    AFTER_F11 --> F12["Fields 12-15: Address fields (City, District, Block/No, Building)"]
    F12 --> F12_DIGIT{"checkDigitno 1-192"}
    F12_DIGIT -->|Fail| F12_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F12_WARN --> F12_BACK1["Set corrected value back to rsMap"]
    F12_DIGIT -->|Pass| F12_PROP{"check property kisyuizon_nmad"}
    F12_PROP -->|Fail| F12_ERR["Add error: Property check fail (EKKB0730TE, KISYUIZON_NM_AD)"]
    F12_WARN --> AFTER_F12
    F12_ERR --> AFTER_F12

    AFTER_F12 --> F16["Field 16: JKYO_BKN_SBT_CD - Dwelling type code"]
    F16 --> F16_DIGIT{"checkDigitno 1-1"}
    F16_DIGIT -->|Fail| F16_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F16_WARN --> F16_BACK1["Set corrected value back to rsMap"]
    F16_DIGIT -->|Pass| F16_PROP{"check property hannkakuesuuji1"}
    F16_PROP -->|Fail| F16_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F16_WARN --> AFTER_F16
    F16_ERR --> AFTER_F16

    AFTER_F16 --> F17["Fields 17-19: Phone fields (Home, Mobile, Contact)"]
    F17 --> F17_DIGIT{"checkDigitno 10-11"}
    F17_DIGIT -->|Fail| F17_WARN["Add warning: Digit count check fail (EKKB0690TW)"]
    F17_WARN --> F17_BACK1["Set corrected value back to rsMap"]
    F17_DIGIT -->|Pass| F17_PROP{"check property tel1"}
    F17_PROP -->|Fail| F17_ERR["Add error: Property check fail (EKKB0730TE, TEL_1)"]
    F17_WARN --> AFTER_F17
    F17_ERR --> AFTER_F17

    AFTER_F17 --> F20["Fields 20-22: Desired services (Fixed line, Internet, TV)"]
    F20 --> F20_DIGIT{"checkDigitno 1-1"}
    F20_DIGIT -->|Fail| F20_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F20_WARN --> F20_BACK1["Set corrected value back to rsMap"]
    F20_DIGIT -->|Pass| F20_PROP{"check property hannkakuesuuji1"}
    F20_PROP -->|Fail| F20_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F20_WARN --> AFTER_F20
    F20_ERR --> AFTER_F20

    AFTER_F20 --> F23["Field 23: RRK_KIBOD_SBT_CD - Contact preferred day code"]
    F23 --> F23_DIGIT{"checkDigitno 1-1"}
    F23_DIGIT -->|Fail| F23_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F23_WARN --> F23_BACK1["Set corrected value back to rsMap"]
    F23_DIGIT -->|Pass| F23_PROP{"check property hannkakuesuuji1"}
    F23_PROP -->|Fail| F23_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F23_WARN --> AFTER_F23
    F23_ERR --> AFTER_F23

    AFTER_F23 --> F24["Field 24: RRK_KBTMZ_CD - Contact preferred time code"]
    F24 --> F24_DIGIT{"checkDigitno 1-1"}
    F24_DIGIT -->|Fail| F24_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F24_WARN --> F24_BACK1["Set corrected value back to rsMap"]
    F24_DIGIT -->|Pass| F24_PROP{"check property hannkakuesuuji1"}
    F24_PROP -->|Fail| F24_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F24_WARN --> AFTER_F24
    F24_ERR --> AFTER_F24

    AFTER_F24 --> F25["Fields 25-27: Current services (Fixed line, Internet, TV)"]
    F25 --> F25_DIGIT{"checkDigitno 1-20"}
    F25_DIGIT -->|Fail| F25_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F25_WARN --> F25_BACK1["Set corrected value back to rsMap"]
    F25_DIGIT -->|Pass| F25_PROP{"check property kisyuizon_nmad"}
    F25_PROP -->|Fail| F25_ERR["Add error: Property check fail (EKKB0730TE, KISYUIZON_NM_AD)"]
    F25_WARN --> AFTER_F25
    F25_ERR --> AFTER_F25

    AFTER_F25 --> F28["Field 28: KOJIN_INFO_TRAT_SHODAKU_CD - Personal info consent"]
    F28 --> F28_DIGIT{"checkDigitno 1-1"}
    F28_DIGIT -->|Fail| F28_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F28_WARN --> F28_BACK1["Set corrected value back to rsMap"]
    F28_DIGIT -->|Pass| F28_PROP{"check property hannkakuesuuji1"}
    F28_PROP -->|Fail| F28_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F28_WARN --> AFTER_F28
    F28_ERR --> AFTER_F28

    AFTER_F28 --> F29["Field 29: KDDI_UK_TEN_TKJK - Payment store remarks"]
    F29 --> F29_DIGIT{"checkDigitno 1-50"}
    F29_DIGIT -->|Fail| F29_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F29_WARN --> F29_BACK1["Set corrected value back to rsMap"]
    F29_DIGIT -->|Pass| F29_PROP{"check property kisyuizon_nmad"}
    F29_PROP -->|Fail| F29_ERR["Add error: Property check fail (EKKB0730TE, KISYUIZON_NM_AD)"]
    F29_WARN --> AFTER_F29
    F29_ERR --> AFTER_F29

    AFTER_F29 --> F30["Fields 30-31: Partner service codes (1, 2)"]
    F30 --> F30_DIGIT{"checkDigitno 1-20"}
    F30_DIGIT -->|Fail| F30_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F30_WARN --> F30_BACK1["Set corrected value back to rsMap"]
    F30_DIGIT -->|Pass| F30_PROP{"check property hannkakuesuuji1"}
    F30_PROP -->|Fail| F30_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F30_WARN --> AFTER_F30
    F30_ERR --> AFTER_F30

    AFTER_F30 --> F32["Fields 32-33: KDDI service codes (1, 2)"]
    F32 --> F32_DIGIT{"checkDigitno 1-20"}
    F32_DIGIT -->|Fail| F32_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F32_WARN --> F32_BACK1["Set corrected value back to rsMap"]
    F32_DIGIT -->|Pass| F32_PROP{"check property hannkakuesuuji1"}
    F32_PROP -->|Fail| F32_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1)"]
    F32_WARN --> AFTER_F32
    F32_ERR --> AFTER_F32

    AFTER_F32 --> F34["Field 34: KDDI_BIKO - Remarks"]
    F34 --> F34_DIGIT{"checkDigitno 1-256"}
    F34_DIGIT -->|Fail| F34_WARN["Add warning: Digit count check fail (EKKB0700TW)"]
    F34_WARN --> F34_BACK1["Set corrected value back to rsMap"]
    F34_DIGIT -->|Pass| F34_PROP{"check property kisyuizon_kddibko"}
    F34_PROP -->|Fail| F34_ERR["Add error: Property check fail (EKKB0730TE, KISYUIZON_BIKO)"]
    F34_WARN --> AFTER_F34
    F34_ERR --> AFTER_F34

    AFTER_F34 --> F35["Fields 35-36: Pre-transfer store code/name"]
    F35 --> F35_DIGIT{"checkDigitno 7-7 / 1-25"}
    F35_DIGIT -->|Fail| F35_WARN["Add warning: Digit count check fail (EKKB0690TW / EKKB0700TW)"]
    F35_WARN --> F35_BACK1["Set corrected value back to rsMap"]
    F35_DIGIT -->|Pass| F35_PROP{"check property hannkakuesuuji1 / zenkaku"}
    F35_PROP -->|Fail| F35_ERR["Add error: Property check fail (EKKB0730TE, EN_NUM_1 / EM)"]
    F35_WARN --> AFTER_F35
    F35_ERR --> AFTER_F35

    AFTER_F35 --> AFTER_F36["Set AGNT_CD, AGNT_NM from pre-transfer store"]

    AFTER_F36 --> FINAL_CHECK{isCheckErrFlg?}
    FINAL_CHECK -->|Yes| FINAL_ERR["errRecordCnt++, copy errMapList, return false"]
    FINAL_CHECK -->|No| FINAL_WARN_FLG{isCheckWarFlg?}
    FINAL_WARN_FLG -->|Yes| FINAL_WARN_PROC["warRecordCnt++, copy warMapList, return true"]
    FINAL_WARN_FLG -->|No| FINAL_OK["normalRecordCnt++, return true"]

    FINAL_OK --> FINISH(["End"])
    FINAL_WARN_PROC --> FINISH
    FINAL_ERR --> FINISH
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `rsMap` | `JBSbatServiceInterfaceMap` | The KDDI agency application record map carrying 36+ field values read from the KDDI intake CSV file. Each field key corresponds to a specific input element of the application form (date, store code, customer name, address, phone, service codes, etc.). Values are modified in-place by this method when digit-count checks produce corrected values. |

**Instance fields read by this method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `commonItem` | Instance | Provides operational date (`getOpeDate()`) used in agency code lookup |
| `errMapList` | `ArrayList<HashMap<String, String>>` | Error result list — accumulated error records with field name, value, message |
| `warMapList` | `ArrayList<HashMap<String, String>>` | Warning result list — accumulated warning records |
| `dataMapList` | `ArrayList<HashMap<String, String>>` | Output record list — receives error/warning/normal records depending on result |
| `errRecordCnt` | `int` | Counter tracking number of records with errors |
| `warRecordCnt` | `int` | Counter tracking number of records with warnings only |
| `normalRecordCnt` | `int` | Counter tracking number of successfully validated records |
| `isCheckErrFlg` | `boolean` (local) | Flag set to true when any error is detected |
| `isCheckWarFlg` | `boolean` (local) | Flag set to true when any warning is detected |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C/R | `invoke` | - | - | Calls `JBSbatCheckUtil.invoke()` for property validation |
| R | `JACPrcMessageGetUtil.getMessage` | JACPrcMessageGet | - | Calls `getMessage` in `JBSbatLogPrintControl` (message delegation) |
| R | `JBSbatInterface.getMessage` | JBSbatInterface | - | Calls `getMessage` in `JBSbatLogPrintControl` (message delegation) |
| - | `JCCBatCommon.isNotNull` | JCCBatCommon | - | Calls `isNotNull` utility for null checking |
| - | `JKKBatCommon.checkDigitno` | JKKBatCommon | - | Calls `checkDigitno` for digit count validation per field |
| - | `JKKBatKDDICheckUtil.checkDigitno` | JKKBatKDDICheck | - | Calls `checkDigitno` in KDDI-specific check utility |
| R | `JBSbatFUCaseFileRnkData.getString` | JBSbatFUCaseFileRnkData | - | Calls `getString` in result data class |
| R | `JBSbatFUMoveNaviData.getString` | JBSbatFUMoveNaviData | - | Calls `getString` in result data class |
| R | `JBSbatKKKDDIAnkenIktTrkm.existCheckIntrHyoKanriNo` | JBSbatKKKDDIAnkenIktTrkm | `KK_T_KDDI_TJGWR_KJKS_KK` | Calls `existCheckIntrHyoKanriNo` — checks if referral discount contract exists via `executeKK_T_KDDI_TJGWR_KJKS_KK_SELECT_001` |
| R | `JBSbatKKKDDIAnkenIktTrkm.getAgntCd` | JBSbatKKKDDIAnkenIktTrkm | `KK_M_AGNT` | Calls `getAgntCd` — looks up agency code/name from agency master table |
| - | `JBSbatKKKDDIAnkenIktTrkm.setKDDITrkmRsltDataList` | JBSbatKKKDDIAnkenIktTrkm | - | Calls `setKDDITrkmRsltDataList` to create error/warning result records |
| R | `JBSbatZMAdDataSet.getString` | JBSbatZMAdDataSet | - | Calls `getString` in result data class |
| - | `JEKK0081C310TPMA.setString` | JEKK0081C310TPMA | - | Calls `setString` in result data class |
| R | `JESC0101B010TPMA.getString` | JESC0101B010TPMA | - | Calls `getString` in result data class |
| R | `JESC0101B020TPMA.getString` | JESC0101B020TPMA | - | Calls `getString` in result data class |
| R | `JCCMessageCache.getMessage` | JCCMessageCache | - | Calls `getMessage` in message cache |
| - | `Mover.setString` | Mover | - | Calls `setString` in result data class |
| - | `KKA16601SFLogic.setString` | KKA16601SFLogic | - | Calls `setString` in result data class |

**Detailed analysis:**

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `existCheckIntrHyoKanriNo` | KK_T_KDDI_TJGWR_KJKS_KK | `KK_T_KDDI_TJGWR_KJKS_KK` | Verifies referral discount contract existence — calls `executeKK_T_KDDI_TJGWR_KJKS_KK_SELECT_001` with intro ticket management number as key to ensure KDDI other-business discount contract is on file |
| R | `getAgntCd` | KK_M_AGNT | `KK_M_AGNT` | Looks up agency code and agency name from agency master table using payment store code and operational date as lookup criteria |
| C | `setKDDITrkmRsltDataList` | - | - | Creates error/warning result records with field name, value, error message, and intro ticket management number |
| R | `JBSbatLogPrintControl.getMessage` | JBSbatLogPrintControl | - | Retrieves localized error/warning messages from message constants (`JPCBatchMessageConstant`) |
| - | `JKKBatCommon.checkDigitno` | - | - | Validates digit count range for each field (min/max), returns corrected value and boolean result |
| - | `JBSbatCheckUtil.invoke` | - | - | Validates character encoding properties (e.g., `day_hour4`, `hannkakuesuuji1`, `zenkaku`, `kisyuizon_nmad`, `tel1`) |
| R | `rsMap.getString` | - | - | Reads field value from the input service interface map |
| - | `rsMap.setString` | - | - | Writes corrected/sanitized field value back to the service interface map |

## 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: `getMessage` [R], `getMessage` [R], `getMessage` [R], `setKDDITrkmRsltDataList` [-], `getString` [R], `getString` [R], `getString` [R], `getString` [R], `getString` [R], `getMessage` [R], `getMessage` [R], `getMessage` [R], `getMessage` [R], `getMessage` [R], `setString` [-], `setString` [-], `setString` [-], `setString` [-], `setString` [-], `setKDDITrkmRsltDataList` [-]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: JBSbatKKKDDIAnkenIktTrkm.execute() | `execute()` -> `isCheckKKIFE217(kddiAnkenMap)` | `getMessage [R]`, `existCheckIntrHyoKanriNo [R] KK_T_KDDI_TJGWR_KJKS_KK`, `getAgntCd [R] KK_M_AGNT`, `setKDDITrkmRsltDataList [-]`, `getString [R]`, `setString [-]` |

**Call chain detail:** The `execute()` method of `JBSbatKKKDDIAnkenIktTrkm` processes each record from a KDDI intake file. For each record (`kddiAnkenMap`), it calls `isCheckKKIFE217(kddiAnkenMap)`. If `isCheckErrFlg` is true after the call, the record is marked with application error result code (`DLYD_TRN_RSLT_CD_APP_ERR`). Otherwise, the record is inserted into `KK_T_KDDI_TJGWR_KJKS_KK` via `insertKDDITjgwrKjks()`.

## 6. Per-Branch Detail Blocks

Each field follows the same validation template. Below are the key pattern blocks.

### Block 1 — REQUIRED FIELD CHECK (mskm_dtm) `(Required + Null Check)` (L669)

Checks if the application date (mskm_dtm) is present. This is the only field with a mandatory null check.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.MSKM_DTM)` // Read application date |
| 2 | IF | `if (strValue == null || "".equals(strValue))` // Required field check [-> EKKB0660TE] |
| 3 | SET | `msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0660TE)` // Error message: required field |
| 4 | CALL | `errMapList.add(setKDDITrkmRsltDataList(KDDI_TRKM_RSLT_VAL_ERR, MSKM_DTM, strValue, msg, rsMap.getString(INTR_HYO_KANRI_NO)))` // Add error |
| 5 | SET | `isCheckErrFlg = true` // Flag error |

### Block 1.1 — DIGIT COUNT CHECK (mskm_dtm) `(Digit Check 15-15)` (L677)

Validates the application date has exactly 15 digits (YYYYMMDDHHmmssS format).

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `rsltMap = JKKBatCommon.checkDigitno(strValue, 15, 15, CHAR_SET_WIN31J, KDDI_MOJISBT_MOJI)` |
| 2 | IF | `if (!Boolean.valueOf(rsltMap.get(KDDI_CHK_RSLT_BOOL).toString()))` // Digit check failed |
| 3 | SET | `msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE)` // Error: digit count |
| 4 | CALL | `errMapList.add(setKDDITrkmRsltDataList(...))` // Add error/warning |
| 5 | SET | `isCheckErrFlg = true` |
| 6 | SET | `strValue = rsltMap.get(KDDI_CHK_RSLT_VAL).toString()` |
| 7 | SET | `rsMap.setString(JBSbatKKIFE217.MSKM_DTM, strValue)` |

### Block 1.2 — PROPERTY CHECK (mskm_dtm) `(Format Check: day_hour4)` (L690)

Validates the application date matches the `day_hour4` format (YYYY/MM/DD HH:MM:SS or similar date-time pattern).

| # | Type | Code |
|---|------|------|
| 1 | IF | `if (!JBSbatCheckUtil.invoke(strValue.replace(" ", ""), new String[]{"day_hour4"}))` // Property check |
| 2 | SET | `msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{JKKStrConst.KDDI_FORM_NM_DATE_4})` |
| 3 | CALL | `errMapList.add(setKDDITrkmRsltDataList(...))` // Add error |
| 4 | SET | `isCheckErrFlg = true` |

### Block 2 — SERVICE TYPE CODE CHECK (KDDI_VAL_CD) `(Digit Check 7-15, Property: hannkakuesuuji1)` (L700)

Validates the KDDI service type code is 7-15 characters of half-width alphanumeric digits.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.KDDI_VAL_CD)` |
| 2 | EXEC | `rsltMap = JKKBatCommon.checkDigitno(strValue, 7, 15, CHAR_SET_WIN31J, KDDI_MOJISBT_MOJI)` |
| 3 | IF | `if (!Boolean.valueOf(rsltMap.get(KDDI_CHK_RSLT_BOOL).toString()))` // Warning level |
| 4 | SET | `msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0690TW)` // Warning: digit check fail |
| 5 | CALL | `warMapList.add(setKDDITrkmRsltDataList(KDDI_TRKM_RSLT_VAL_WAR, KDDI_VAL_CD, strValue, msg, ...))` |
| 6 | SET | `isCheckWarFlg = true` |
| 7 | SET | `rsMap.setString(JBSbatKKIFE217.KDDI_VAL_CD, correctedValue)` |
| 8 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))` // Half-width alphanumeric |
| 9 | CALL | `errMapList.add(setKDDITrkmRsltDataList(...))` // Error level |
| 10 | SET | `isCheckErrFlg = true` |

### Block 3-6 — REFERRAL BUSINESS CODE/NAME CHECK (Blocks follow same pattern)

Block 3: KDDI_SHOKAI_SK_JGS_CD (digit 5-5, property hannkakuesuuji1) — referral business code
Block 4: KDDI_SHOKAI_SK_JGS_NM (digit 1-32, property zenkaku) — referral business name (must be full-width)

### Block 7 — PAYMENT STORE CODE CHECK (KDDI_UK_TEN_CD) `(Digit Check 7-11, Conditional Agency Lookup)` (L774)

Validates payment store code and conditionally looks up agency information.

| # | Type | Code |
|---|------|------|
| 1 | SET | `isUkTenCdFlg = false` // Reset flag |
| 2 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.KDDI_UK_TEN_CD)` |
| 3 | EXEC | `rsltMap = JKKBatCommon.checkDigitno(strValue, 7, 11, ...)` |
| 4 | IF | `if (!Boolean.valueOf(rsltMap.get(KDDI_CHK_RSLT_BOOL).toString()))` // Warning |
| 5 | SET | `isUkTenCdFlg = true` // Flag: validation failed |
| 6 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))` // Property check |
| 7 | SET | `isUkTenCdFlg = true` // Also flag if property check fails |
| 8 | IF | `if (!isUkTenCdFlg)` // Only if digit and property check both pass |
| 9 | CALL | `agntInf = getAgntCd(strValue, rsMap.getString(INTR_HYO_KANRI_NO))` // Lookup agency |
| 10 | IF | `if (JKKBatCommon.isNotNull(agntInf))` |
| 11 | SET | `rsMap.setString(JBSbatKK_M_AGNT.AGNT_CD, agntInf[0])` |
| 12 | SET | `rsMap.setString(JBSbatKK_M_AGNT.AGNT_NM, agntInf[1])` |

**Block 7.1** — Nested agency lookup (L840-844) — calls `getAgntCd()` which queries `KK_M_AGNT` table.

### Block 8-11 — PAYMENT STORE NAME, PAYMENT TYPE, INTRO TICKET CHECKS (Same validation pattern)

Block 8: KDDI_UK_TEN_NM (digit 1-25, property zenkaku)
Block 9: KDDI_UK_SBT_CD (digit 1-1, property hannkakuesuuji1)

### Block 12 — INTRO TICKET MANAGEMENT NUMBER CHECK `(Required + Digit 9 + Property + Existence Check)` (L864)

This is a critical field with both a required check and a downstream existence verification.

| # | Type | Code |
|---|------|------|
| 1 | SET | `isIntrHyoKanriNoFlg = false` |
| 2 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.INTR_HYO_KANRI_NO)` |
| 3 | IF | `if (strValue == null || "".equals(strValue))` // Required check [-> EKKB0660TE] |
| 4 | SET | `isIntrHyoKanriNoFlg = true` // Flag failure |
| 5 | IF | `if (!Boolean.valueOf(checkDigitno(strValue, 9, 9, ...).get(KDDI_CHK_RSLT_BOOL)))` // Exactly 9 digits |
| 6 | SET | `isIntrHyoKanriNoFlg = true` |
| 7 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))` // Property check |
| 8 | SET | `isIntrHyoKanriNoFlg = true` |
| 9 | IF | `if (!isIntrHyoKanriNoFlg)` // Only if all validations pass |
| 10 | CALL | `existCheckIntrHyoKanriNo(strValue)` // Verify referral discount exists in KK_T_KDDI_TJGWR_KJKS_KK |

### Block 13 — CUSTOMER NAME/DESIREE NAME CHECKS (Fields 9-15)

Each of fields 9-15 follows the same template:
- Block 13: TJGWR_MKMS_NM (digit 1-60, property kisyuizon_nmad) — Name (Katakana-preserving)
- Block 13.1: TJGWR_MKMS_KANA (digit 1-60, property zenkakukana) — Kana name
- Block 13.2: TJGWR_MKMS_PCD (digit 7-7, property hannkakusuuji1) — Postal code
- Block 13.3: TJGWR_MKMS_STATE_CITY_NM (digit 1-192, property kisyuizon_nmad) — City/prefecture
- Block 13.4: TJGWR_MKMS_OAZTSU_AZCHO_NM (digit 1-192, property kisyuizon_nmad) — District/cho-me
- Block 13.5: TJGWR_MKMS_BNCHIGO (digit 1-192, property kisyuizon_nmad) — Block/number
- Block 13.6: TJGWR_MKMS_TTM_NM_RM_NO (digit 1-192, property kisyuizon_nmad) — Building/room

### Block 14 — DWELLING TYPE CHECK (JKYO_BKN_SBT_CD) `(Digit 1-1, Property: hannkakuesuuji1)` (L1080)

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.TJGWR_MKMS_JKYO_BKN_SBT_CD)` |
| 2 | EXEC | `checkDigitno(strValue, 1, 1, ...)` // Exactly 1 digit |
| 3 | IF | `if (!Boolean.valueOf(checkResult))` // Warning level |
| 4 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))` // Property check |

### Block 15 — PHONE NUMBER CHECKS (Fields 17-19) (L1102-1197)

Each phone field follows the same pattern: digit 10-11, property tel1.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.TJGWR_MKMS_HOME_TELNO)` // Home phone |
| 2 | EXEC | `checkDigitno(strValue, 10, 11, ...)` |
| 3 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"tel1"}))` // Phone format |

### Block 16 — DESIRED SERVICES CHECKS (Fields 20-24) (L1213-1354)

Each service code field: digit 1-1, property hannkakuesuuji1 (half-width alphanumeric single digit).

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.EOHTL_MSKM_KIBO_SBT_CD)` // Fixed line desired |
| 2 | EXEC | `checkDigitno(strValue, 1, 1, ...)` |
| 3 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))` |

### Block 17 — CURRENT SERVICES CHECKS (Fields 25-27) (L1354-1462)

Each current service field: digit 1-20, property kisyuizon_nmad (Katakana-preserving name).

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.USE_CHU_TEL_SVC_NAIYO)` // Current fixed line |
| 2 | EXEC | `checkDigitno(strValue, 1, 20, ...)` |
| 3 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"kisyuizon_nmad"}))` |

### Block 18 — PERSONAL INFO CONSENT CHECK (KOJIN_INFO_TRAT_SHODAKU_CD) (L1462-1486)

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.KOJIN_INFO_TRAT_SHODAKU_CD)` |
| 2 | EXEC | `checkDigitno(strValue, 1, 1, ...)` |
| 3 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))` |

### Block 19 — PAYMENT STORE REMARKS CHECK (KDDI_UK_TEN_TKJK) (L1486-1510)

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.KDDI_UK_TEN_TKJK)` |
| 2 | EXEC | `checkDigitno(strValue, 1, 50, ...)` |
| 3 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"kisyuizon_nmad"}))` |

### Block 20 — PARTNER SERVICE CODES CHECK (Fields 30-31) (L1510-1576)

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.KOPT_SISAK_CD_1)` // Partner service code 1 |
| 2 | EXEC | `checkDigitno(strValue, 1, 20, ...)` |
| 3 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))` |

### Block 21 — KDDI SERVICE CODES CHECK (Fields 32-33) (L1576-1642)

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.KDDI_SISAK_CD_1)` // KDDI service code 1 |
| 2 | EXEC | `checkDigitno(strValue, 1, 20, ...)` |
| 3 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))` |

### Block 22 — REMARKS CHECK (KDDI_BIKO) `(Digit 1-256, Property: kisyuizon_kddibko)` (L1642-1666)

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.KDDI_BIKO)` |
| 2 | EXEC | `checkDigitno(strValue, 1, 256, CHAR_SET_WIN31J, KDDI_MOJISBT_BYTE)` // Note: uses KDDI_MOJISBT_BYTE instead of KDDI_MOJISBT_MOJI |
| 3 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"kisyuizon_kddibko"}))` // Unique property for remarks |

### Block 23 — PRE-TRANSFER STORE CODE/NAME CHECK (Fields 35-36) (L1666-1710)

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.KSARAGAI_KDDI_UK_TEN_CD)` // Pre-transfer store code |
| 2 | EXEC | `checkDigitno(strValue, 7, 7, ...)` // Exactly 7 digits |
| 3 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))` |
| 4 | SET | `strValue = rsMap.getString(JBSbatKKIFE217.KSARAGAI_KDDI_UK_TEN_NM)` // Pre-transfer store name |
| 5 | EXEC | `checkDigitno(strValue, 1, 25, ...)` |
| 6 | IF | `if (!JBSbatCheckUtil.invoke(strValue, new String[]{"zenkaku"}))` // Full-width check |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `mskm_dtm` | Field | Application date/time — timestamp of when the application was submitted (15 digits: YYYYMMDDHHmmssS) |
| `KDDI_VAL_CD` | Field | KDDI service type code — identifies which KDDI service is being applied for (7-15 digits, half-width alphanumeric) |
| `KDDI_SHOKAI_SK_JGS_CD` | Field | Referral partner business store code — code of the business referred by the referring partner (5 digits, half-width alphanumeric) |
| `KDDI_SHOKAI_SK_JGS_NM` | Field | Referral partner business store name — full-width Katakana-preserving business name (max 32 chars) |
| `KDDI_UK_TEN_CD` | Field | Payment store code — code of the store where payment is processed (7-11 digits, half-width alphanumeric) |
| `KDDI_UK_TEN_NM` | Field | Payment store name — full-width Katakana-preserving name of the payment store (max 25 chars) |
| `KDDI_UK_SBT_CD` | Field | Payment method type code — type of payment (1 digit, half-width alphanumeric) |
| `INTR_HYO_KANRI_NO` | Field | Intro ticket management number — 9-digit half-width alphanumeric tracking ID for the referral ticket |
| `TJGWR_MKMS_NM` | Field | Name (Desiree name) — customer name in Katakana-preserving Japanese (max 60 chars) |
| `TJGWR_MKMS_KANA` | Field | Kana (Desiree kana) — customer name in kana reading (max 60 chars, full-width kana) |
| `TJGWR_MKMS_PCD` | Field | Postal code — 7-digit half-width numeric postal code |
| `TJGWR_MKMS_STATE_CITY_NM` | Field | Prefecture/city name — address component: prefecture and city (max 192 chars, Katakana-preserving) |
| `TJGWR_MKMS_OAZTSU_AZCHO_NM` | Field | District/cho-me name — address component: district name (max 192 chars, Katakana-preserving) |
| `TJGWR_MKMS_BNCHIGO` | Field | Block/number — address component: block and lot number (max 192 chars, Katakana-preserving) |
| `TJGWR_MKMS_TTM_NM_RM_NO` | Field | Building/room — address component: building name and room number (max 192 chars, Katakana-preserving) |
| `TJGWR_MKMS_JKYO_BKN_SBT_CD` | Field | Dwelling type code — 1-digit code for housing type (single-family / apartment, half-width alphanumeric) |
| `TJGWR_MKMS_HOME_TELNO` | Field | Home telephone number — 10-11 digit home phone number |
| `TJGWR_MKMS_KTAI_TELNO` | Field | Mobile telephone number — 10-11 digit mobile phone number |
| `TJGWR_MKMS_RRKS_TELNO` | Field | Contact telephone number — 10-11 digit contact phone number |
| `EOHTL_MSKM_KIBO_SBT_CD` | Field | Desired fixed-line telephone service code — 1-digit code for desired fixed-line service type |
| `EOHNT_MSKM_KIBO_SBT_CD` | Field | Desired internet service code — 1-digit code for desired internet service type |
| `EOHTV_MSKM_KIBO_SBT_CD` | Field | Desired TV service code — 1-digit code for desired TV service type |
| `RRK_KIBOD_SBT_CD` | Field | Contact preferred day code — 1-digit code for preferred contact day |
| `RRK_KBTMZ_CD` | Field | Contact preferred time code — 1-digit code for preferred contact time |
| `USE_CHU_TEL_SVC_NAIYO` | Field | Currently used fixed-line service content — up to 20 chars, Katakana-preserving |
| `USE_CHU_NET_SVC_NAIYO` | Field | Currently used internet service content — up to 20 chars, Katakana-preserving |
| `USE_CHU_TV_SVC_NAIYO` | Field | Currently used TV service content — up to 20 chars, Katakana-preserving |
| `KOJIN_INFO_TRAT_SHODAKU_CD` | Field | Personal information consultation code — 1-digit consent indicator for personal data handling |
| `KDDI_UK_TEN_TKJK` | Field | Payment store remarks — up to 50 chars, Katakana-preserving |
| `KOPT_SISAK_CD_1` | Field | Partner company service code 1 — up to 20 chars, half-width alphanumeric |
| `KOPT_SISAK_CD_2` | Field | Partner company service code 2 — up to 20 chars, half-width alphanumeric |
| `KDDI_SISAK_CD_1` | Field | KDDI service code 1 — up to 20 chars, half-width alphanumeric |
| `KDDI_SISAK_CD_2` | Field | KDDI service code 2 — up to 20 chars, half-width alphanumeric |
| `KDDI_BIKO` | Field | Remarks — up to 256 chars, special KDDI remarks field with unique format property |
| `KSARAGAI_KDDI_UK_TEN_CD` | Field | Pre-transfer KDDI payment store code — 7-digit code for store before transfer |
| `KSARAGAI_KDDI_UK_TEN_NM` | Field | Pre-transfer KDDI payment store name — up to 25 chars, full-width |
| `AGNT_CD` | Field | Agency code — 2-digit code for authorized dealer/agent |
| `AGNT_NM` | Field | Agency name — name of the authorized dealer/agent |
| JBSbatKKIFE217 | Class | Field key constants for KDDI Intake Form E217 fields |
| JBSbatKK_M_AGNT | Class | Field key constants for KDDI Agency Master table |
| JKKBatCommon | Class | Common batch utility for digit/count validation |
| JBSbatCheckUtil | Class | Character encoding property validation utility |
| JBSbatLogPrintControl | Class | Batch log/message control — retrieves localized messages |
| KK_M_AGNT | DB Table | KDDI Agency Master table — stores authorized dealer/agent codes and names with validity dates |
| KK_T_KDDI_TJGWR_KJKS_KK | DB Table | KDDI Other-business Discount Contract Status Table — stores referral discount contract information |
| day_hour4 | Property | Date-time format: YYYY/MM/DD HH:MM:SS or similar |
| hannkakuesuuji1 | Property | Half-width alphanumeric (a-z, A-Z, 0-9, no special chars) |
| zenkaku | Property | Full-width characters (Japanese full-width alphanumeric) |
| zenkakukana | Property | Full-width kana only |
| tel1 | Property | Telephone number format (10-11 digits) |
| kisyuizon_nmad | Property | Katakana-preserving Japanese name/address (allows katakana, hiragana, kanji, some symbols) |
| kisyuizon_kddibko | Property | KDDI-specific remarks format (extended katakana-preserving with additional allowed characters) |
| KDDI_TRKM_RSLT_VAL_ERR | Constant | Error result value indicator — marks a record as having a validation error |
| KDDI_TRKM_RSLT_VAL_WAR | Constant | Warning result value indicator — marks a record as having a validation warning |
| EKKB0660TE | Message Key | Error message: required field is missing |
| EKKB0680TE | Message Key | Error message: digit count validation failed |
| EKKB0690TW | Message Key | Warning message: digit count warning |
| EKKB0700TW | Message Key | Warning message: generic digit warning |
| EKKB0730TE | Message Key | Error message: character property format check failed |
| EKKB0720KW | Message Key | Warning message: agency master not found |
