# Business Logic — JBSbatKKAdChgPlaceNoChgRnki.isSingleCheckKKIFM270_INF1() [130 LOC]

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

## 1. Role

### JBSbatKKAdChgPlaceNoChgRnki.isSingleCheckKKIFM270_INF1()

This method performs single-item validation on records read from the **Location Number Change Integration File** (TXT-KKIFM270-INF1), a batch input file used in the address/location change service (住所変更場所番号変更連携). The integration file is processed as part of the batch pipeline that handles changes to the location number (場所番号) associated with a customer's indoor equipment installation. The method follows a **delegation dispatch pattern**: it extracts each field from the input record map and validates it against business rules (required, character count, character attribute) using the shared `JBSbatCheckUtil.invoke()` validator utility. It serves as a **gatekeeper** within the batch processing flow — if any validation fails, an error log is printed and the batch returns `false`, which causes the caller (`execute()`) to route the record for manual error handling or rejection. The method does **not** perform any database reads or writes; it is a pure in-memory validation layer.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["isSingleCheckKKIFM270_INF1(rsMap, itemvalueMap)"])

    START --> S1["S1: strValue = rsMap.get(TAKNKIKI_MODEL_CD)"]
    S1 --> S1_C1{"TAKNKIKI_MODEL_CD
is empty?"}
    S1_C1 -- Yes --> S1_C1_ERR["printBusinessErrorLog(EKKB0060TE)
Return false"]
    S1_C1 -- No --> S1_C2{"JBSbatCheckUtil.invoke
(ketasuu2, 0, 20)?"}
    S1_C2 -- Fail --> S1_C2_ERR["printBusinessErrorLog(EKKB0070TE)
Return false"]
    S1_C2 -- Pass --> S1_C3{"JBSbatCheckUtil.invoke
(hannkakuesuuji2)?"}
    S1_C3 -- Fail --> S1_C3_ERR["printBusinessErrorLog(EKKB0080TE)
Return false"]
    S1_C3 -- Pass --> S2["S2: strValue = rsMap.get(KIKI_SEIZO_NO)"]

    S2 --> S2_C1{"KIKI_SEIZO_NO
is empty?"}
    S2_C1 -- Yes --> S2_C1_SKIP["(No required check)
-- null/empty allowed
(OM-2013-002217)"]
    S2_C1_SKIP --> S2_C2{"JBSbatCheckUtil.invoke
(ketasuu2, 0, 20)?"}
    S2_C1 -- No --> S2_C2
    S2_C2 -- Fail --> S2_C2_ERR["printBusinessErrorLog(EKKB0070TE)
Return false"]
    S2_C2 -- Pass --> S2_C3{"JBSbatCheckUtil.invoke
(hannkakuesuuji2)?"}
    S2_C3 -- Fail --> S2_C3_ERR["printBusinessErrorLog(EKKB0080TE)
Return false"]
    S2_C3 -- Pass --> S3["S3: strValue = rsMap.get(KIKI_CHG_RSN_CD)"]

    S3 --> S3_C1{"KIKI_CHG_RSN_CD
is empty?"}
    S3_C1 -- Yes --> S3_C1_ERR["printBusinessErrorLog(EKKB0060TE)
Return false"]
    S3_C1 -- No --> S3_C2{"JBSbatCheckUtil.invoke
(ketasuu2, 0, 2)?"}
    S3_C2 -- Fail --> S3_C2_ERR["printBusinessErrorLog(EKKB0070TE)
Return false"]
    S3_C2 -- Pass --> S3_C3{"JBSbatCheckUtil.invoke
(hannkakuesuuji1)?"}
    S3_C3 -- Fail --> S3_C3_ERR["printBusinessErrorLog(EKKB0080TE)
Return false"]
    S3_C3 -- Pass --> S4["S4: strValue = rsMap.get(KIKI_STC_SAKI_PLACE_NO)"]

    S4 --> S4_C1{"KIKI_STC_SAKI_PLACE_NO
is empty?"}
    S4_C1 -- Yes --> S4_C1_ERR["printBusinessErrorLog(EKKB0060TE)
Return false"]
    S4_C1 -- No --> S4_C2{"JBSbatCheckUtil.invoke
(double_chk, 10, 0)?"}
    S4_C2 -- Fail --> S4_C2_ERR["printBusinessErrorLog(EKKB0070TE)
Return false"]
    S4_C2 -- Pass --> S4_C3{"JBSbatCheckUtil.invoke
(long1)?"}
    S4_C3 -- Fail --> S4_C3_ERR["printBusinessErrorLog(EKKB0080TE)
Return false"]
    S4_C3 -- Pass --> S5["S5: strValue = rsMap.get(SVC_KEI_NO)"]

    S5 --> S5_C1{"SVC_KEI_NO
is empty?"}
    S5_C1 -- Yes --> S5_C1_ERR["printBusinessErrorLog(EKKB0060TE)
Return false"]
    S5_C1 -- No --> S5_C2{"JBSbatCheckUtil.invoke
(ketasuu2, 0, 10)?"}
    S5_C2 -- Fail --> S5_C2_ERR["printBusinessErrorLog(EKKB0070TE)
Return false"]
    S5_C2 -- Pass --> S5_C3{"JBSbatCheckUtil.invoke
(hannkakuesuuji1)?"}
    S5_C3 -- Fail --> S5_C3_ERR["printBusinessErrorLog(EKKB0080TE)
Return false"]
    S5_C3 -- Pass --> END["Return true"]

    S1_C1_ERR --> END
    S1_C2_ERR --> END
    S1_C3_ERR --> END
    S2_C2_ERR --> END
    S2_C3_ERR --> END
    S3_C1_ERR --> END
    S3_C2_ERR --> END
    S3_C3_ERR --> END
    S4_C1_ERR --> END
    S4_C2_ERR --> END
    S4_C3_ERR --> END
    S5_C1_ERR --> END
    S5_C2_ERR --> END
    S5_C3_ERR --> END
```

**Processing Summary** — The method validates 5 fields sequentially. Each field follows a consistent validation chain: required check → character count check → character attribute check. If any check fails, an error log is written and `false` is returned immediately (short-circuit). If all 5 fields pass all checks, `true` is returned. Note: the required check for `KIKI_SEIZO_NO` (Equipment Manufacturing Number) was removed in OM-2013-002217 to avoid required-check errors for unknown equipment.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `rsMap` | `HashMap` | Input data record extracted from the TXT-KKIFM270-INF1 integration file. Keys are field names (`TAKNKIKI_MODEL_CD`, `KIKI_SEIZO_NO`, `KIKI_CHG_RSN_CD`, `KIKI_STC_SAKI_PLACE_NO`, `SVC_KEI_NO`) and values are the corresponding string values from the file. This map is obtained from `JBSbatKKIFM270` via `inMap.getMap()`. |
| 2 | `itemvalueMap` | `HashMap<String, String>` | Error message lookup map. Contains human-readable field labels keyed by identifiers such as `TXT-KKIFM270-INF1.TAKNKIKI_MODEL_CD`, used when formatting error messages. Populated by `getItemvalueMap()`. |

**Instance fields read:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `commonItem` | `JBSbatCommonItem` | Shared business item container providing access to `getLogPrint()`, which returns a logger capable of writing business error logs. Inherited from the parent class `JBSbatBusinessService`. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JBSbatCheckUtil.invoke()` | JBSbatCheckUtil | - | Validates field value against check rules (required, character count, character attribute). Pure in-memory validation; no database interaction. |
| - | `commonItem.getLogPrint().printBusinessErrorLog()` | JKKBatOneTimeLogWriter / JKKHttpCommunicator / etc. | - | Writes business error log with error code (EKKB0060TE, EKKB0070TE, or EKKB0080TE) and field label. Terminal error logging operation. |

**Classification Notes:**
- This method performs **no CRUD operations** (Create, Read, Update, Delete) on database tables.
- All processing is in-memory validation against business rules enforced by `JBSbatCheckUtil.invoke()`.
- The `printBusinessErrorLog()` calls are terminal error logging operations that write to the batch error log subsystem (the specific log transport varies by environment).

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: JBSbatKKAdChgPlaceNoChgRnki | `execute()` → `isSingleCheckKKIFM270_INF1()` | `printBusinessErrorLog(EKKB0060TE/0070TE/0080TE)` |

**Caller Details:**
- The method is called from `JBSbatKKAdChgPlaceNoChgRnki.execute()` at line 157, within the `else` branch of the main processing flow. The caller passes `inMap.getMap()` (the parsed input record) and `getItemvalueMap()` (the error message label map) as arguments.
- If `isSingleCheckKKIFM270_INF1` returns `false`, the `execute()` method enters an error-handling branch that checks the output item structure and handles the rejected record (lines 158–168).

## 6. Per-Branch Detail Blocks

### Block 1 — IF [TAKNKIKI_MODEL_CD Required Check] (L232)

> Check that the indoor equipment model code (宅内機器型式コード) is not null or empty.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = (String)rsMap.get("TAKNKIKI_MODEL_CD")` // Extract field value |
| 2 | IF | `strValue == null || "".equals(strValue)` [Required check] (L233) |

#### Block 1.1 — IF [True: Required check failed] (L234)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.TAKNKIKI_MODEL_CD")})` // Log missing required field error |
| 2 | RETURN | `return false` // Validation failed |

#### Block 1.2 — IF [False: Required check passed] → Character count check (L240)

> Validate that the field length is between 0 and 20 characters.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "20"})` [Character count: 0–20] (L240) |

##### Block 1.2.1 — IF [True: Character count check failed] (L241)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.TAKNKIKI_MODEL_CD")})` // Log character count error |
| 2 | RETURN | `return false` |

##### Block 1.2.2 — IF [False: Character count passed] → Character attribute check (L247)

> Validate character attributes (alphanumeric only, per `hannkakuesuuji2` rule).

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"})` [Character attribute: alphanumeric 2] (L247) |

###### Block 1.2.2.1 — IF [True: Attribute check failed] (L248)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.TAKNKIKI_MODEL_CD")})` // Log character attribute error |
| 2 | RETURN | `return false` |

###### Block 1.2.2.2 — IF [False: Attribute check passed] → Proceed to next field (L253)

| # | Type | Code |
|---|------|------|
| 1 | (fall-through) | Proceed to Block 2 |

---

### Block 2 — IF [KIKI_SEIZO_NO Required Check (SKIPPED)] (L255)

> **Note:** The required check for `KIKI_SEIZO_NO` (機器製造番号 — Equipment Manufacturing Number) was commented out in fix OM-2013-002217 (Y.Kanata, 2013-09-17) to avoid required-check errors for unknown equipment. Null/empty values are permitted.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = (String)rsMap.get("KIKI_SEIZO_NO")` // Extract field value |
| 2 | SET | *(Required check commented out — OM-2013-002217 DEL)* // No null/empty validation performed |

#### Block 2.1 — IF [Character count check] (L276)

> Validate that the field length is between 0 and 20 characters.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "20"})` [Character count: 0–20] (L276) |

##### Block 2.1.1 — IF [True: Character count check failed] (L277)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.KIKI_SEIZO_NO")})` // Log character count error |
| 2 | RETURN | `return false` |

##### Block 2.1.2 — IF [False: Character count passed] → Character attribute check (L283)

> Validate character attributes (alphanumeric only, per `hannkakuesuuji2` rule).

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"})` [Character attribute: alphanumeric 2] (L283) |

###### Block 2.1.2.1 — IF [True: Attribute check failed] (L284)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.KIKI_SEIZO_NO")})` // Log character attribute error |
| 2 | RETURN | `return false` |

###### Block 2.1.2.2 — IF [False: Attribute check passed] → Proceed to next field (L289)

| # | Type | Code |
|---|------|------|
| 1 | (fall-through) | Proceed to Block 3 |

---

### Block 3 — IF [KIKI_CHG_RSN_CD Required Check] (L293)

> Check that the equipment change reason code (機器変更理由コード) is not null or empty.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = (String)rsMap.get("KIKI_CHG_RSN_CD")` // Extract field value |
| 2 | IF | `strValue == null || "".equals(strValue)` [Required check] (L295) |

#### Block 3.1 — IF [True: Required check failed] (L296)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.KIKI_CHG_RSN_CD")})` // Log missing required field error |
| 2 | RETURN | `return false` |

#### Block 3.2 — IF [False: Required check passed] → Character count check (L302)

> Validate that the field length is between 0 and 2 characters.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"})` [Character count: 0–2] (L302) |

##### Block 3.2.1 — IF [True: Character count check failed] (L303)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.KIKI_CHG_RSN_CD")})` // Log character count error |
| 2 | RETURN | `return false` |

##### Block 3.2.2 — IF [False: Character count passed] → Character attribute check (L309)

> Validate character attributes (alphanumeric only, per `hannkakuesuuji1` rule).

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"})` [Character attribute: alphanumeric 1] (L309) |

###### Block 3.2.2.1 — IF [True: Attribute check failed] (L310)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.KIKI_CHG_RSN_CD")})` // Log character attribute error |
| 2 | RETURN | `return false` |

###### Block 3.2.2.2 — IF [False: Attribute check passed] → Proceed to next field (L315)

| # | Type | Code |
|---|------|------|
| 1 | (fall-through) | Proceed to Block 4 |

---

### Block 4 — IF [KIKI_STC_SAKI_PLACE_NO Required Check] (L319)

> Check that the equipment installation destination location number (機器設置先場所番号) is not null or empty.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = (String)rsMap.get("KIKI_STC_SAKI_PLACE_NO")` // Extract field value |
| 2 | IF | `strValue == null || "".equals(strValue)` [Required check] (L321) |

#### Block 4.1 — IF [True: Required check failed] (L322)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.KIKI_STC_SAKI_PLACE_NO")})` // Log missing required field error |
| 2 | RETURN | `return false` |

#### Block 4.2 — IF [False: Required check passed] → Character count/double-check (L328)

> Validate numeric double-check rule: up to 10 digits, 0 leading zeros check.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"double_chk", "10", "0"})` [Double check: max 10 digits, 0 leading] (L328) |

##### Block 4.2.1 — IF [True: Double-check failed] (L329)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.KIKI_STC_SAKI_PLACE_NO")})` // Log validation error |
| 2 | RETURN | `return false` |

##### Block 4.2.2 — IF [False: Double-check passed] → Character attribute check (L335)

> Validate that field is a valid `long` type (numeric only).

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"})` [Long type check] (L335) |

###### Block 4.2.2.1 — IF [True: Long check failed] (L336)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.KIKI_STC_SAKI_PLACE_NO")})` // Log long type error |
| 2 | RETURN | `return false` |

###### Block 4.2.2.2 — IF [False: Long check passed] → Proceed to next field (L341)

| # | Type | Code |
|---|------|------|
| 1 | (fall-through) | Proceed to Block 5 |

---

### Block 5 — IF [SVC_KEI_NO Required Check] (L345)

> Check that the service contract number (サービス契約番号) is not null or empty.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = (String)rsMap.get("SVC_KEI_NO")` // Extract field value |
| 2 | IF | `strValue == null || "".equals(strValue)` [Required check] (L347) |

#### Block 5.1 — IF [True: Required check failed] (L348)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.SVC_KEI_NO")})` // Log missing required field error |
| 2 | RETURN | `return false` |

#### Block 5.2 — IF [False: Required check passed] → Character count check (L354)

> Validate that the field length is between 0 and 10 characters.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"})` [Character count: 0–10] (L354) |

##### Block 5.2.1 — IF [True: Character count check failed] (L355)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.SVC_KEI_NO")})` // Log character count error |
| 2 | RETURN | `return false` |

##### Block 5.2.2 — IF [False: Character count passed] → Character attribute check (L361)

> Validate character attributes (alphanumeric only, per `hannkakuesuuji1` rule).

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"})` [Character attribute: alphanumeric 1] (L361) |

###### Block 5.2.2.1 — IF [True: Attribute check failed] (L362)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{(String)itemvalueMap.get("TXT-KKIFM270-INF1.SVC_KEI_NO")})` // Log character attribute error |
| 2 | RETURN | `return false` |

###### Block 5.2.2.2 — IF [False: Attribute check passed] → All fields valid (L367)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return true` // All 5 fields passed validation |

---

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `TAKNKIKI_MODEL_CD` | Field | Indoor Equipment Model Code — the model identifier of the indoor equipment installed at the customer premises. Alphanumeric, 0–20 characters. |
| `KIKI_SEIZO_NO` | Field | Equipment Manufacturing Number — the serial/production number of the indoor equipment. Alphanumeric, 0–20 characters. Null/empty allowed (per fix OM-2013-002217) for unknown equipment cases. |
| `KIKI_CHG_RSN_CD` | Field | Equipment Change Reason Code — the coded reason for why the equipment is being changed. Alphanumeric, 0–2 characters. Required field. |
| `KIKI_STC_SAKI_PLACE_NO` | Field | Equipment Installation Destination Location Number — the location number where the equipment is installed. Numeric only, up to 10 digits. Required field. |
| `SVC_KEI_NO` | Field | Service Contract Number — the identifier for the service contract associated with the customer. Alphanumeric, 0–10 characters. Required field. |
| `rsMap` | Parameter | Input Record Map — HashMap carrying field name (key) to field value (string) pairs from the TXT-KKIFM270 integration file. |
| `itemvalueMap` | Parameter | Error Message Label Map — HashMap mapping field identifiers to human-readable Japanese labels for inclusion in error messages. |
| KKIFM270 | File/Module | Location Number Change Integration File — batch input file format for transmitting address/location number change requests. INF1 is the inbound record type. |
| 住所変更場所番号変更連携 | Domain term | Address Change / Location Number Change Integration — the business process for updating location numbers when a customer's address changes. |
| 宅内機器 | Domain term | Indoor Equipment — customer-premises networking/equipment (e.g., ONT, router) used in FTTH/telecom services. |
| 単項目チェック | Domain term | Single-item check — field-level validation (as opposed to cross-field or cross-record validation). |
| JBSbatCheckUtil.invoke() | Utility | Shared validation utility that applies named check rules to string values. Supports rules: `ketasuu2` (character count), `hannkakuesuuji1/2` (alphanumeric attribute), `double_chk` (numeric double-check), `long1` (long integer check). |
| EKKB0060TE | Error code | Required field error — field is missing or empty. |
| EKKB0070TE | Error code | Character count validation error — field length exceeds allowed range. |
| EKKB0080TE | Error code | Character attribute validation error — field contains characters not allowed by the attribute rule. |
| USECASE_ID | Constant | `"KKSV0711"` — user-defined use case ID for this batch process. |
| OPERATION_ID | Constant | `"KKSV0711OP"` — user-defined operation ID for this batch process. |
| FIXED_TEXT | Constant | `"KKSV071101CC"` — user-defined text string used in ESB interface communication. |
| JBSbatKKIFM270 | Class | Integration file reader for TXT-KKIFM270 batch input file. |
| JBSbatKK_T_ADCHG_DTL | Class | Data table handler for the `KK_T_ADCHG_DTL` (Address Change Detail) table. |
| JCCBatchEsbInterface | Class | ESB (Enterprise Service Bus) batch interface for inter-system communication. |
| OM-2013-002217 | Change ticket | Fix by Y.Kanata on 2013-09-17 that removed the required check for `KIKI_SEIZO_NO` to avoid errors for unknown equipment. |