# Business Logic — JKKSvkeiShosaChkCC.createErrorChgTbl() [330 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKSvkeiShosaChkCC` |
| Layer | CC/Common Component — shared business-check utility component |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKSvkeiShosaChkCC.createErrorChgTbl()

This method constructs the **error change table** — a HashMap that maps every possible error-check category (`shosa_trg_cd`) to its associated error metadata (error subtype code, error message ID, error message level). It is the **central registry** for all screening (照査, *shousa*) validation rules used by the service contract screening process.

The method handles **two distinct service scenarios** based on the `kidoCd` parameter: **Online mode** (kidoCd = "01", launched from a user-facing screen) and **Batch mode** (any other value, launched from scheduled batch jobs). In Online mode, additional checks are registered that are specific to real-time user interactions — such as light hub bridge line contract count limits, service contract total count limits, router appropriateness checks, family pack discount validation, and PLC equipment limits. Batch mode uses a broader but slightly different set of checks applicable to post-processing or mass validation.

The method implements the **registry/dispatch pattern** — it does not perform any validation logic itself. Instead, it pre-populates a lookup table that the caller (`chkSvkeiShosa`) uses to determine which validation sub-routines to invoke, which error messages to display, and at what severity level. Each call to `setErrorChgTbl` registers one error-check category with four attributes: a check category code (key), an error subtype classification, an error message ID, and an error severity level.

After populating the table, the result is stored in the instance field `shosaErrorChgTbl`, making it available for the entire lifecycle of the `JKKSvkeiShosaChkCC` instance — specifically for use by `chkSvkeiShosa` which iterates over this table to execute each registered check.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["createErrorChgTbl(kidoCd)"])
    STEP1["Initialize wkErrorChgTbl"]
    STEP2["Register common error checks"]
    COND1{kidoCd equals KIDO_CD_ON}
    STEP3["Online mode: Register checks"]
    STEP4["Batch mode: Register checks"]
    STEP5["Register additional checks"]
    COND2{kidoCd equals KIDO_CD_ON}
    STEP6["Online HGW exchange check"]
    STEP7["Batch HGW exchange check"]
    STEP8["Register remaining checks"]
    COND3{kidoCd equals KIDO_CD_ON}
    STEP9["Online SCM type checks"]
    FINAL["Assign to shosaErrorChgTbl"]

    START --> STEP1 --> STEP2 --> COND1
    COND1 -->|Yes| STEP3
    COND1 -->|No| STEP4
    STEP3 --> STEP5
    STEP4 --> STEP5
    STEP5 --> COND2
    COND2 -->|Yes| STEP6
    COND2 -->|No| STEP7
    STEP6 --> STEP8
    STEP7 --> STEP8
    STEP8 --> COND3
    COND3 -->|Yes| STEP9
    COND3 -->|No| FINAL
    STEP9 --> FINAL
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `kidoCd` | `String` | Launch source code that determines whether the screening runs in **Online mode** (`"01"`) or **Batch mode** (any other value). In Online mode, additional real-time validation rules are registered (e.g., light hub bridge line limits, router suitability, family pack discounts, PLC equipment limits, SKU type correlation checks). In Batch mode, a different subset optimized for background processing is used. |

**Instance fields read:**
| Field | Type | Business Description |
|-------|------|---------------------|
| `shosaErrorChgTbl` | `HashMap<String, HashMap<String, Object>>` | Instance-level field that stores the resulting error change table. Assigned at the end of this method via `this.shosaErrorChgTbl = wkErrorChgTbl`. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `setErrorChgTbl` (local) | JKKSvkeiShosaChkCC | In-memory: `wkErrorChgTbl` HashMap | Updates the working error change table by creating a nested HashMap entry per check category code. Stores error subtype code (`shosa_error_sbt_cd`), error message ID (`shosa_err_msg_id`), and error message level (`shosa_err_msg_lv`). |
| U | `setErrorChgTbl` (local) | JKKSvkeiShosaChkCC | In-memory: `shosaErrorChgTbl` field | Assigns the completed `wkErrorChgTbl` to the instance field at the end of the method (L672). |

This method performs **no external service calls, no database operations, and no CBS invocations**. It is a pure data-structure builder that populates an in-memory HashMap registry. All actual screening logic is deferred to the caller (`chkSvkeiShosa`) which reads from `shosaErrorChgTbl` and routes to appropriate SC/CBS methods.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CC: `JKKSvkeiShosaChkCC.chkSvkeiShosa` | `chkSvkeiShosa` -> `createErrorChgTbl(kidoCd)` | `setErrorChgTbl [U] wkErrorChgTbl (in-memory)`, `setErrorChgTbl [U] shosaErrorChgTbl (in-memory)` |

**Callers found:** 1 method (`chkSvkeiShosa` in the same class).

**Called methods (terminal operations):** All terminal operations are local `setErrorChgTbl` calls that update in-memory data structures — no external SC, CBS, or database entities are reached.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] (L346)

> Initialize the working error change table as an empty nested HashMap.

| # | Type | Code |
|---|------|------|
| 1 | SET | `wkErrorChgTbl = new HashMap<String, HashMap<String, Object>>();` // Working error change table |

---

**Block 2** — [CALL] Common Error Checks (L348–L424)

> Register error checks that apply to **both** Online and Batch modes. Each call registers one check category. The comments indicate the check purpose in Japanese.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setErrorChgTbl(wkErrorChgTbl, "001", ERR_SBT_CD_MSKM, "EKB7390-CE", "E")` // 申請年月日超過チェック [Application date period exceeded check] [-> ERR_SBT_CD_MSKM="01"] |
| 2 | CALL | `setErrorChgTbl(wkErrorChgTbl, "002", ERR_SBT_CD_SVC, "EKB7400-CE", "E")` // サービス利用開始希望年月日設定チェック [Service start date setting check] [-> ERR_SBT_CD_SVC="04"] |
| 3 | CALL | `setErrorChgTbl(wkErrorChgTbl, "004", ERR_SBT_CD_SVC, "EKB7420-CE", "E")` // 面開発案件チェック [Surface development case check] |
| 4 | CALL | `setErrorChgTbl(wkErrorChgTbl, "005", ERR_SBT_CD_KIKI, "EKF0840-TW", "E")` // 提供必須機器チェック [Required equipment check] [-> ERR_SBT_CD_KIKI="07"] |
| 5 | CALL | `setErrorChgTbl(wkErrorChgTbl, "006", ERR_SBT_CD_KIKI, "EKF0800-NW", "E")` // 提供外機器存在チェック [External equipment existence check] |
| 6 | CALL | `setErrorChgTbl(wkErrorChgTbl, "007", ERR_SBT_CD_KIKI, "EKF0800-NW", "E")` // 機器提供サービス下限チェック [Equipment service lower limit check] |
| 7 | CALL | `setErrorChgTbl(wkErrorChgTbl, "008", ERR_SBT_CD_KIKI, "EKF0800-NW", "E")` // 機器提供サービス上限チェック [Equipment service upper limit check] |
| 8 | CALL | `setErrorChgTbl(wkErrorChgTbl, "009", ERR_SBT_CD_OP, "EKB8800-CE", "E")` // 提供必須オプションチェック [Required option check] [-> ERR_SBT_CD_OP="06"] |
| 9 | CALL | `setErrorChgTbl(wkErrorChgTbl, "010", ERR_SBT_CD_OP, "EKB7430-CE", "E")` // 提供外オプション存在チェック [External option existence check] |
| 10 | CALL | `setErrorChgTbl(wkErrorChgTbl, "011", ERR_SBT_CD_OP, "EKB7430-CE", "E")` // オプションサービス下限チェック [Option service lower limit check] |
| 11 | CALL | `setErrorChgTbl(wkErrorChgTbl, "012", ERR_SBT_CD_OP, "EKB7430-CE", "E")` // オプションサービス上限チェック [Option service upper limit check] |
| 12 | CALL | `setErrorChgTbl(wkErrorChgTbl, "017", ERR_SBT_CD_SEIKY, "EKF0660-KW", "E")` // 督促状態チェック [Dunning status check] [-> ERR_SBT_CD_SEIKY="03"] |
| 13 | CALL | `setErrorChgTbl(wkErrorChgTbl, "018", ERR_SBT_CD_CUST, "EKF0570-KW", "E")` // お客様退会チェック [Customer withdrawal check] [-> ERR_SBT_CD_CUST="02"] |
| 14 | CALL | `setErrorChgTbl(wkErrorChgTbl, "019", ERR_SBT_CD_OP, "EKB7400-CE", "E")` // オプション引継チェック [Option carryover check] |
| 15 | CALL | `setErrorChgTbl(wkErrorChgTbl, "020", ERR_SBT_CD_OP, "EKB7440-CE", "E")` // オプション引継希望チェック [Option carryover request check] |
| 16 | CALL | `setErrorChgTbl(wkErrorChgTbl, "021", ERR_SBT_CD_AD, "EKB7930--Q", "Q")` // 部屋番号重複チェック [Room number duplication check] [-> ERR_SBT_CD_AD="05"] |
| 17 | CALL | `setErrorChgTbl(wkErrorChgTbl, "025", ERR_SBT_CD_AD, "EKF0640-KW", "E")` // 利用場所番地未確定チェック [Usage location address undetermined check] |
| 18 | CALL | `setErrorChgTbl(wkErrorChgTbl, "027", ERR_SBT_CD_AD, "EKB8510--Q", "W")` // 同一利用場所使用サービス整合性チェック [Same location service consistency check] |
| 19 | CALL | `setErrorChgTbl(wkErrorChgTbl, "028", ERR_SBT_CD_MSKM, "EKB8520-CE", "E")` // 申請書番号重複チェック [Application form number duplication check] |
| 20 | CALL | `setErrorChgTbl(wkErrorChgTbl, "029", ERR_SBT_CD_MSKM, "EKB8420--Q", "W")` // 未照査サービス契約存在チェック [Unscreened service contract existence check] |
| 21 | CALL | `setErrorChgTbl(wkErrorChgTbl, "033", ERR_SBT_CD_MSKM, "EKB8540-CE", "E")` // 照査取消日チェック [Screening cancellation date check] |
| 22 | CALL | `setErrorChgTbl(wkErrorChgTbl, "034", ERR_SBT_CD_MSKM, "EKB8550-CE", "E")` // 工事状態チェック [Construction status check] |
| 23 | CALL | `setErrorChgTbl(wkErrorChgTbl, "035", ERR_SBT_CD_MSKM, "EKB8560-CE", "E")` // 機器配送状態チェック [Equipment delivery status check] |
| 24 | CALL | `setErrorChgTbl(wkErrorChgTbl, "036", ERR_SBT_CD_MSKM, "EKB8570-CE", "E")` // 照査不可サービス契約存在チェック [Unscreenable service contract existence check] |
| 25 | CALL | `setErrorChgTbl(wkErrorChgTbl, "083", ERR_SBT_CD_AD, "EKB9040-KW", "E")` // V-N-U交換工事可否チェック [V-N-U exchange construction feasibility check] |

---

**Block 3** — [IF/ELSE] `(kidoCd equals KIDO_CD_ON)` (L429–L474)

> Branch on the launch source code. KIDO_CD_ON = "01" means **Online mode** (launched from screen); otherwise **Batch mode**.

**Block 3.1** — [IF branch: Online] (L430–L462)

> Register Online-specific checks. These include real-time validation rules not needed in batch processing.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setErrorChgTbl(wkErrorChgTbl, "003", ERR_SBT_CD_SVC, "EKBD800--Q", "Q")` // サービス利用開始希望年月日未来日チェック [Service start date future date check] [-> ERR_SBT_CD_SVC="04"] |
| 2 | CALL | `setErrorChgTbl(wkErrorChgTbl, "024", ERR_SBT_CD_SVC, "EKB1950-TW", "E")` // 入居予定年月日未来日チェック [Move-in date future date check] |
| 3 | CALL | `setErrorChgTbl(wkErrorChgTbl, "026", ERR_SBT_CD_AD, "EKB8490-KW", "W")` // 利用場所警告エリアチェック [Usage location warning area check] |
| 4 | CALL | `setErrorChgTbl(wkErrorChgTbl, "038", ERR_SBT_CD_SVC, "EKB9650--Q", "W")` // 光ハブブリッジ回線契約数チェック [Light hub bridge line contract count check] |
| 5 | CALL | `setErrorChgTbl(wkErrorChgTbl, "039", ERR_SBT_CD_SVC, "EKB9670--Q", "W")` // サービス契約総数チェック [Service contract total count check] |
| 6 | CALL | `setErrorChgTbl(wkErrorChgTbl, "040", ERR_SBT_CD_KIKI, "EKB9680-KW", "E")` // ルータ適切チェック [Router appropriateness check] [-> ERR_SBT_CD_KIKI="07"] |
| 7 | CALL | `setErrorChgTbl(wkErrorChgTbl, "047", ERR_SBT_CD_WRIB, "EKBC160--Q", "W")` // 照査対象コード(ファミリーパック割引数チェック) [Screening target code: Family pack discount count check] [-> ERR_SBT_CD_WRIB="08"] |
| 8 | CALL | `setErrorChgTbl(wkErrorChgTbl, "061", ERR_SBT_CD_KIKI, "EKBC130--Q", "W")` // 照査対象コード(PLC機器下限チェック) [Screening target code: PLC equipment lower limit check] |
| 9 | CALL | `setErrorChgTbl(wkErrorChgTbl, "064", ERR_SBT_CD_KIKI, "EKBD580-KW", "E")` // (L461) [Equipment limit check] [-> ERR_SBT_CD_KIKI="07"] |

**Block 3.2** — [ELSE branch: Batch] (L463–L495)

> Register Batch-specific checks. Note that `038`/`039`/`040` use different message IDs than Online mode, and `047` also differs.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setErrorChgTbl(wkErrorChgTbl, "003", ERR_SBT_CD_SVC, "EKB7390-CE", "E")` // サービス利用開始希望年月日未来日チェック [Service start date future date check] |
| 2 | CALL | `setErrorChgTbl(wkErrorChgTbl, "024", ERR_SBT_CD_SVC, "EKB7390-CE", "E")` // 入居予定年月日未来日チェック [Move-in date future date check] |
| 3 | CALL | `setErrorChgTbl(wkErrorChgTbl, "026", ERR_SBT_CD_AD, "EKB8500-CE", "E")` // 利用場所警告エリアチェック [Usage location warning area check] |
| 4 | CALL | `setErrorChgTbl(wkErrorChgTbl, "038", ERR_SBT_CD_SVC, "EKKB0330CE", "E")` // 光ハブブリッジ回線契約数チェック [Light hub bridge line contract count check] |
| 5 | CALL | `setErrorChgTbl(wkErrorChgTbl, "039", ERR_SBT_CD_SVC, "EKKB0340CE", "E")` // サービス契約総数チェック [Service contract total count check] |
| 6 | CALL | `setErrorChgTbl(wkErrorChgTbl, "040", ERR_SBT_CD_KIKI, "EKKB0350CE", "E")` // ルータ適切チェック [Router appropriateness check] [-> ERR_SBT_CD_KIKI="07"] |
| 7 | CALL | `setErrorChgTbl(wkErrorChgTbl, "047", ERR_SBT_CD_WRIB, "EKBC150-KW", "E")` // 照査対象コード(ファミリーパック割引数チェック) [Screening target code: Family pack discount count check] |

---

**Block 4** — [CALL] Post-Branch Additional Checks (L497–L630)

> Register error checks that apply to **both** modes, outside the if/else branch. These cover supplementary validations including family pack contract count, screening cancellation date checks, construction status, equipment delivery, router check, screen registration check, area check review results, mobile equipment consistency, application form detail number inconsistency, terminal count check, set-top box integration, phone number legal entity contract, man-screen screening status, service addition delivery preparation, HGW exchange, screening result supplement, work company delivery, same-line case existence, ONU-ONU equipment existence, latest construction case, reused equipment return, PON type, man-screen case, standard construction fee, contract age consistency, and substitute service contract number duplication.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setErrorChgTbl(wkErrorChgTbl, "030", "", "EKB3140--Q", "E")` // 照査対象コード(ファミリーパック契約数チェック) [Screening target code: Family pack contract count check] |
| 2 | CALL | `setErrorChgTbl(wkErrorChgTbl, "037", "", "EKB8570-CE", "E")` // 照査対象コード(セット申請チェック) [Screening target code: Set application check] |
| 3 | CALL | `setErrorChgTbl(wkErrorChgTbl, "044", ERR_SBT_CD_MSKM, "EKBA690-KW", "E")` // 照査対象コード(申請書明細番号不整合チェック) [Screening target code: Application form detail number inconsistency check] [-> ERR_SBT_CD_MSKM="01"] |
| 4 | CALL | `setErrorChgTbl(wkErrorChgTbl, "040", ERR_SBT_CD_SVC, "EKB1770-KW", "E")` // 照査対象コード(審査結果補記チェック) [Screening target code: Review result supplement check] [-> ERR_SBT_CD_SVC="04"] |
| 5 | CALL | `setErrorChgTbl(wkErrorChgTbl, "043", ERR_SBT_CD_KIKI, "EKBC140-KW", "E")` // 照査対象コード(モバイル機器整合性チェック) [Screening target code: Mobile equipment consistency check] [-> ERR_SBT_CD_KIKI="07"] |
| 6 | CALL | `setErrorChgTbl(wkErrorChgTbl, "042", ERR_SBT_CD_OTR, "EKBC080-KW", "E")` // 照査対象コード(エリアチェック審査結果チェック) [Screening target code: Area check review result check] [-> ERR_SBT_CD_OTR="99"] |
| 7 | CALL | `setErrorChgTbl(wkErrorChgTbl, "053", ERR_SBT_CD_OP, "EKBC090-KW", "E")` // 照査対象コード(タブレット端末台数チェック) [Screening target code: Tablet terminal count check] [-> ERR_SBT_CD_OP="06"] |
| 8 | CALL | `setErrorChgTbl(wkErrorChgTbl, "054", "", "EKBC090-KW", "E")` // 照査対象コード(宅内プラットホーム整合性チェック) [Screening target code: In-home platform integration check] |
| 9 | CALL | `setErrorChgTbl(wkErrorChgTbl, "055", ERR_SBT_CD_SVC, "EKBB950-KW", "W")` // 照査対象コード(番ポ電話番号法人契約使用中チェック) [Screening target code: Number phone legal entity contract in-use check] [-> ERR_SBT_CD_SVC="04"] |
| 10 | CALL | `setErrorChgTbl(wkErrorChgTbl, "056", ERR_SBT_CD_SVC, "EKBC060-KW", "E")` // 照査対象コード(マンスニング照査状態チェック) [Screening target code: Man-screening screening status check] [-> ERR_SBT_CD_SVC="04"] |
| 11 | CALL | `setErrorChgTbl(wkErrorChgTbl, "057", ERR_SBT_CD_KIKI, "EKBC720-KW", "E")` // 照査対象コード(サービス追加時の配送作成可否チェック) [Screening target code: Delivery preparation feasibility at service addition check] [-> ERR_SBT_CD_KIKI="07"] |

**Block 4.1** — [IF/ELSE] `(kidoCd equals KIDO_CD_ON)` nested within Block 4 (L598–L604)

> HGW exchange check (HGW exchange) — Online and Batch use different CBS message IDs.

| # | Type | Code |
|---|------|------|
| 1 | SET | `hgw_kkan_flag = true` // HGW exchange check flag |
| 2 | CALL | Online: `setErrorChgTbl(wkErrorChgTbl, "058", ERR_SBT_CD_SVC, "EKBA640--Q", "Q")` // 照査対象コード(マンスニング(光配線)従量制受付可否チェック) [Screening target code: Man-screening (fiber wiring) volume-based reception feasibility check] [-> ERR_SBT_CD_SVC="04"] |
| 3 | CALL | Batch: `setErrorChgTbl(wkErrorChgTbl, "058", ERR_SBT_CD_SVC, "EKBC070-KW", "E")` // 照査対象コード(マンスニング(光配線)従量制受付可否チェック) [Screening target code: Man-screening (fiber wiring) volume-based reception feasibility check] |

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setErrorChgTbl(wkErrorChgTbl, "063", ERR_SBT_CD_OTR, "EKBD330-KW", "E")` // (L609) [Other error check] [-> ERR_SBT_CD_OTR="99"] |
| 2 | CALL | `setErrorChgTbl(wkErrorChgTbl, "065", ERR_SBT_CD_SVC, "EKBD350-KW", "E")` // (L616) [Service check] [-> ERR_SBT_CD_SVC="04"] |
| 3 | CALL | `setErrorChgTbl(wkErrorChgTbl, "067", ERR_SBT_CD_KIKI, "EKBE196--Q", "W")` // 照査対象コード(工事会社配送チェック) [Screening target code: Construction company delivery check] [-> ERR_SBT_CD_KIKI="07"] |
| 4 | CALL | `setErrorChgTbl(wkErrorChgTbl, "068", ERR_SBT_CD_EQUIP_RYUYO, "EKBE950-KW", "E")` // 同一回線内工事案件存在チェック [Same line construction case existence check] [-> ERR_SBT_CD_EQUIP_RYUYO="09"] |
| 5 | CALL | `setErrorChgTbl(wkErrorChgTbl, "069", ERR_SBT_CD_EQUIP_RYUYO, "EKBE880-KW", "E")` // ONU-VONU機器存在チェック [ONU-VONU equipment existence check] |
| 6 | CALL | `setErrorChgTbl(wkErrorChgTbl, "070", ERR_SBT_CD_EQUIP_RYUYO, "EKBE890-KW", "E")` // 工事案件最新基本工事チェック [Construction case latest basic construction check] |
| 7 | CALL | `setErrorChgTbl(wkErrorChgTbl, "071", ERR_SBT_CD_EQUIP_RYUYO, "EKBE900-KW", "E")` // 流用元機器返品チェック [Reuse source equipment return check] |
| 8 | CALL | `setErrorChgTbl(wkErrorChgTbl, "072", ERR_SBT_CD_EQUIP_RYUYO, "EKBE910-KW", "E")` // 流用元機器返品チェック [Reuse source equipment return check] |
| 9 | CALL | `setErrorChgTbl(wkErrorChgTbl, "073", ERR_SBT_CD_EQUIP_RYUYO, "EKBE920-KW", "E")` // PON種類チェック [PON type check] |
| 10 | CALL | `setErrorChgTbl(wkErrorChgTbl, "074", ERR_SBT_CD_EQUIP_RYUYO, "EKBE970-KW", "E")` // マンション物件チェック [Mansion case check] |
| 11 | CALL | `setErrorChgTbl(wkErrorChgTbl, "075", ERR_SBT_CD_MSKM, "EKBF060-KW", "E")` // 照査対象コード(標準工事費制度存在チェック) [Screening target code: Standard construction fee system existence check] [-> ERR_SBT_CD_MSKM="01"] |

---

**Block 5** — [IF/ELSE] `(kidoCd equals KIDO_CD_ON)` (L646–L654)

> Register SKU type correlation checks. These checks validate relationships between SKU type, service type, and service contract types. Only registered in **Online mode**.

**Block 5.1** — [IF branch: Online] (L647–L653)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setErrorChgTbl(wkErrorChgTbl, "078", ERR_SBT_CD_SCM_TYPE, "EKB0620-NW", "E")` // スキームタイプと契約者タイプの相関チェック [Scheme type and contractor type correlation check] [-> ERR_SBT_CD_SCM_TYPE="10"] |
| 2 | CALL | `setErrorChgTbl(wkErrorChgTbl, "079", ERR_SBT_CD_SCM_TYPE, "EKB0620-NW", "E")` // スキームタイプとサービスの相関チェック [Scheme type and service correlation check] |
| 3 | CALL | `setErrorChgTbl(wkErrorChgTbl, "080", ERR_SBT_CD_SCM_TYPE, "EKB0620-NW", "E")` // スキームタイプとサービス契約の相関チェック [Scheme type and service contract correlation check] |

---

**Block 6** — [CALL] Final Additional Checks (L655–L670)

> Register checks that apply to all modes, added in recent versions.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setErrorChgTbl(wkErrorChgTbl, "081", ERR_SBT_CD_SCM_TYPE, "EKB9040-KW", "E")` // V-N-UとN-G-Wの重複チェック [V-N-U and N-G-W duplication check] [-> ERR_SBT_CD_SCM_TYPE="10"] |
| 2 | CALL | `setErrorChgTbl(wkErrorChgTbl, "082", ERR_SBT_CD_SCM_TYPE, "EKB9040-KW", "E")` // 多機能ルーターとN-G-Wの重複チェック [Multi-function router and N-G-W duplication check] |
| 3 | CALL | `setErrorChgTbl(wkErrorChgTbl, "084", ERR_SBT_CD_MSKM, "EKBF890-KW", "E")` // 契約者年齢整合性チェック [Contractor age consistency check] [-> ERR_SBT_CD_MSKM="01"] |
| 4 | CALL | `setErrorChgTbl(wkErrorChgTbl, "085", ERR_SBT_CD_SCM_TYPE, "EKBG170-KW", "E")` // 乗換元サービス契約番号重複チェック [Substitute source service contract number duplication check] [-> ERR_SBT_CD_SCM_TYPE="10"] |

---

**Block 7** — [SET] (L672)

> Assign the completed working table to the instance field, making it available for subsequent screening operations.

| # | Type | Code |
|---|------|------|
| 1 | SET | `this.shosaErrorChgTbl = wkErrorChgTbl;` // Store in instance field |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `kidoCd` | Parameter | Launch source code — identifies whether the process was started from a screen ("01" = Online) or a batch job (other values) |
| `shosa_trg_cd` | Field | Screening target code — the key used to look up each error check category in the error change table |
| `shosa_error_sbt_cd` | Field | Screening error subtype code — classifies the type of error (application, customer, billing, service, address, option, equipment, discount, other) |
| `shosa_err_msg_id` | Field | Screening error message ID — the CBS/SC message identifier used to look up the actual error text |
| `shosa_err_msg_lv` | Field | Screening error message level — severity indicator: "E"=Error (blocks processing), "W"=Warning, "Q"=Query |
| `shosaErrorChgTbl` | Field | The instance-level HashMap storing the complete error change table mapping check category codes to their metadata |
| ERR_SBT_CD_MSKM | Constant | Application-related error — errors originating from the application/submission process |
| ERR_SBT_CD_SVC | Constant | Service-related error — errors originating from service contract state or configuration |
| ERR_SBT_CD_KIKI | Constant | Equipment-related error — errors involving required or external equipment, router, or PON type |
| ERR_SBT_CD_OP | Constant | Option-related error — errors involving optional add-on services and their limits |
| ERR_SBT_CD_AD | Constant | Address/location-related error — errors related to building room numbers, delivery locations, and area restrictions |
| ERR_SBT_CD_CUST | Constant | Customer-related error — errors involving customer withdrawal or account status |
| ERR_SBT_CD_SEIKY | Constant | Billing-related error — errors involving dunning, payment, or collection status |
| ERR_SBT_CD_WRIB | Constant | Discount-related error — errors involving promotional discounts and family pack allocations |
| ERR_SBT_CD_EQUIP_RYUYO | Constant | Equipment reuse-related error — errors involving reused/refurbished equipment, construction cases, and PON types |
| ERR_SBT_CD_SCM_TYPE | Constant | SKU type error — errors involving SKU type, router type, and their relationships to contract and service types |
| ERR_SBT_CD_OTR | Constant | Other error — catch-all category for area checks and miscellaneous validations |
| KIDO_CD_ON | Constant | Launch source code for Online mode — value "01" |
| 照査 (Shousa) | Japanese term | Screening/verification — the overall process of validating service contracts against business rules |
| 申請 (Shinsei) | Japanese term | Application/submission — customer's request to register or modify a service contract |
| ルータ適切チェック | Japanese term | Router appropriateness check — validates whether the selected router is suitable for the service configuration |
| 光ハブブリッジ (Hikari Hub Bridge) | Japanese term | Light hub bridge — NTT's fiber-optic hub equipment that bridges PON and customer premises |
| マンション物件 (Mansion Bukken) | Japanese term | Mansion property — refers to multi-dwelling unit (apartment/condominium) service cases |
| スキームタイプ (Scheme Type) | Japanese term | SKU/Service scheme type — classifies the service offering type (e.g., Wi-Fi scheme, MT/MZ scheme) |
| 乗換元サービス (Nikikae-gen Service) | Japanese term | Substitute source service — the existing service being replaced/ported during a contract change |
| V-N-U | Japanese term | NTT's Voice/Network/Utility bundled service offering |
| N-G-W | Japanese term | NTT's Gateway device for internet connectivity |
| HGW | Acronym | Home Gateway — the customer-premises equipment providing home network connectivity |
| ONU | Acronym | Optical Network Unit — fiber-optic termination equipment at the customer premises |
| PON | Acronym | Passive Optical Network — the fiber access network technology used for FTTH services |
| PLC | Acronym | Power Line Communication — networking technology using electrical wiring for data transmission |
