# Business Logic — ZMW01904SFLogic.setMessage() [70 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.ZMW01904SF.ZMW01904SFLogic` |
| Layer | Web / Screen Logic (Controller Layer) |
| Module | `ZMW01904SF` (Package: `eo.web.webview.ZMW01904SF`) |

## 1. Role

### ZMW01904SFLogic.setMessage()

This method serves as an **error message dispatcher** for the ZMW01904SF screen, which handles telecom service change operations including number port-in (N.Port), business-to-business transfers, and number port cancellation. It accepts a single error flag string produced by the `JZMEnumSwitchCC` (ENUM Switch Component Controller), examines the flag value, and sets a corresponding display message using `JZMWebCommon.setMessageInfo`. The method implements a **routing/dispatch design pattern** — a sequential if-else chain that maps each error flag to a specific error message resource key and argument array, translating low-level internal error codes into user-facing Japanese error messages.

The method covers **22 distinct error scenarios** organized across 7 service types (port-in/out, business-to-business transfer, and number port cancellation), each supporting multiple error conditions such as existing under-contract data, tokki (registration) data conflicts, aging status problems, and out-of-state conditions. Every branch converges on the same message template (`EKB1040-JW`) with a type-specific argument array that provides contextual details. The method plays the role of a **shared utility** within `ZMW01904SFLogic`, called by `addCfm()` (confirmation processing) and `fix()` (correction processing) to surface validation errors to the end user after service type enumeration checks.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setMessage errFlg"])
    COND1{ENUMCC_ERR_FLG_0001 = 0001?}
    MSG1["setMessageInfo EKB1040-JW SINSEI_NAIYO_HUBI msg"]
    COND2{ENUMCC_ERR_FLG_0002 = 0002?}
    MSG2["setMessageInfo EKB1040-JW TELNO_NOTJUDGE msg"]
    COND3{ENUMCC_ERR_FLG_1001 = 1001?}
    MSG3["setMessageInfo EKB1040-JW UNDER_CONTRACT_ARI msg"]
    COND4{ENUMCC_ERR_FLG_1002 = 1002?}
    MSG4["setMessageInfo EKB1040-JW TOKI_ARI msg"]
    COND5{ENUMCC_ERR_FLG_1003 = 1003?}
    MSG5["setMessageInfo EKB1040-JW PORTOUT msg"]
    COND6{ENUMCC_ERR_FLG_1004 = 1004?}
    MSG6["setMessageInfo EKB1040-JW UNABLE_PROCESS_AGING msg"]
    COND7{ENUMCC_ERR_FLG_2001 = 2001?}
    MSG7["setMessageInfo EKB1040-JW UNDER_CONTRACT_ARI msg"]
    COND8{ENUMCC_ERR_FLG_2002 = 2002?}
    MSG8["setMessageInfo EKB1040-JW NOT_PORTOUT msg"]
    COND9{ENUMCC_ERR_FLG_2003 = 2003?}
    MSG9["setMessageInfo EKB1040-JW UNABLE_PROCESS_AGING msg"]
    COND10{ENUMCC_ERR_FLG_3001 = 3001?}
    MSG10["setMessageInfo EKB1040-JW UNDER_CONTRACT_ARI msg"]
    COND11{ENUMCC_ERR_FLG_3002 = 3002?}
    MSG11["setMessageInfo EKB1040-JW UNABLE_PROCESS_AGING msg"]
    COND12{ENUMCC_ERR_FLG_4001 = 4001?}
    MSG12["setMessageInfo EKB1040-JW UNDER_CONTRACT_ARI msg"]
    COND13{ENUMCC_ERR_FLG_4002 = 4002?}
    MSG13["setMessageInfo EKB1040-JW TOKI_ARI msg"]
    COND14{ENUMCC_ERR_FLG_5001 = 5001?}
    MSG14["setMessageInfo EKB1040-JW UNDER_CONTRACT_ARI_BMP msg"]
    COND15{ENUMCC_ERR_FLG_5002 = 5002?}
    MSG15["setMessageInfo EKB1040-JW NOT_PORTOUT msg"]
    COND16{ENUMCC_ERR_FLG_5003 = 5003?}
    MSG16["setMessageInfo EKB1040-JW UNABLE_PROCESS_AGING msg"]
    COND17{ENUMCC_ERR_FLG_6001 = 6001?}
    MSG17["setMessageInfo EKB1040-JW UNDER_CONTRACT_ARI_BMP msg"]
    COND18{ENUMCC_ERR_FLG_6002 = 6002?}
    MSG18["setMessageInfo EKB1040-JW NOT_PORTOUT msg"]
    COND19{ENUMCC_ERR_FLG_6003 = 6003?}
    MSG19["setMessageInfo EKB1040-JW UNABLE_PROCESS_AGING msg"]
    COND20{ENUMCC_ERR_FLG_7001 = 7001?}
    MSG20["setMessageInfo EKB1040-JW UNDER_CONTRACT_ARI msg"]
    COND21{ENUMCC_ERR_FLG_7002 = 7002?}
    MSG21["setMessageInfo EKB1040-JW TOKI_ARI msg"]
    COND22{ENUMCC_ERR_FLG_7003 = 7003?}
    MSG22["setMessageInfo EKB1040-JW UNABLE_PROCESS_AGING msg"]
    END_NODE(["Return void"])

    START --> COND1
    COND1 -- true --> MSG1 --> END_NODE
    COND1 -- false --> COND2
    COND2 -- true --> MSG2 --> END_NODE
    COND2 -- false --> COND3
    COND3 -- true --> MSG3 --> END_NODE
    COND3 -- false --> COND4
    COND4 -- true --> MSG4 --> END_NODE
    COND4 -- false --> COND5
    COND5 -- true --> MSG5 --> END_NODE
    COND5 -- false --> COND6
    COND6 -- true --> MSG6 --> END_NODE
    COND6 -- false --> COND7
    COND7 -- true --> MSG7 --> END_NODE
    COND7 -- false --> COND8
    COND8 -- true --> MSG8 --> END_NODE
    COND8 -- false --> COND9
    COND9 -- true --> MSG9 --> END_NODE
    COND9 -- false --> COND10
    COND10 -- true --> MSG10 --> END_NODE
    COND10 -- false --> COND11
    COND11 -- true --> MSG11 --> END_NODE
    COND11 -- false --> COND12
    COND12 -- true --> MSG12 --> END_NODE
    COND12 -- false --> COND13
    COND13 -- true --> MSG13 --> END_NODE
    COND13 -- false --> COND14
    COND14 -- true --> MSG14 --> END_NODE
    COND14 -- false --> COND15
    COND15 -- true --> MSG15 --> END_NODE
    COND15 -- false --> COND16
    COND16 -- true --> MSG16 --> END_NODE
    COND16 -- false --> COND17
    COND17 -- true --> MSG17 --> END_NODE
    COND17 -- false --> COND18
    COND18 -- true --> MSG18 --> END_NODE
    COND18 -- false --> COND19
    COND19 -- true --> MSG19 --> END_NODE
    COND19 -- false --> COND20
    COND20 -- true --> MSG20 --> END_NODE
    COND20 -- false --> COND21
    COND21 -- true --> MSG21 --> END_NODE
    COND21 -- false --> COND22
    COND22 -- true --> MSG22 --> END_NODE
    COND22 -- false --> END_NODE
```

**Constant Resolution (error flag values):**

| Constant | Value | Business Meaning |
|----------|-------|------------------|
| `ENUMCC_ERR_FLG_0001` | `"0001"` | ENUM Switch CC error: Application content value unavailable |
| `ENUMCC_ERR_FLG_0002` | `"0002"` | ENUM Switch CC error: Phone number status judgment target outside scope |
| `ENUMCC_ERR_FLG_1001` | `"1001"` | Port-out (N.Port number) - Existing under-contract data error |
| `ENUMCC_ERR_FLG_1002` | `"1002"` | Port-out (N.Port number) - Tokki (registration) data already exists |
| `ENUMCC_ERR_FLG_1003` | `"1003"` | Port-out (N.Port number) - Port-out in progress error |
| `ENUMCC_ERR_FLG_1004` | `"1004"` | Port-out (N.Port number) - Aging status not "recoverable" error |
| `ENUMCC_ERR_FLG_2001` | `"2001"` | Business-to-business transfer (N.Port number) - Existing under-contract data error |
| `ENUMCC_ERR_FLG_2002` | `"2002"` | Business-to-business transfer (N.Port number) - Not in port-out state error |
| `ENUMCC_ERR_FLG_2003` | `"2003"` | Business-to-business transfer (N.Port number) - Aging status not "in use" error |
| `ENUMCC_ERR_FLG_3001` | `"3001"` | Number port cancellation (other company accepted) - Existing under-contract data error |
| `ENUMCC_ERR_FLG_3002` | `"3002"` | Number port cancellation - Aging status not "in use" error |
| `ENUMCC_ERR_FLG_4001` | `"4001"` | Business-to-business transfer (other company number) - Existing under-contract data error |
| `ENUMCC_ERR_FLG_4002` | `"4002"` | Business-to-business transfer (other company number) - Tokki registration data exists |
| `ENUMCC_ERR_FLG_5001` | `"5001"` | Port-out/in (N.Port number) & cancel - Existing under-contract data error |
| `ENUMCC_ERR_FLG_5002` | `"5002"` | Port-out/in (N.Port number) & cancel - Not in port-out state error |
| `ENUMCC_ERR_FLG_5003` | `"5003"` | Port-out/in (N.Port number) & cancel - Aging status not "in use" error |
| `ENUMCC_ERR_FLG_6001` | `"6001"` | Business-to-business transfer (N.Port number) & cancel - Existing under-contract data error |
| `ENUMCC_ERR_FLG_6002` | `"6002"` | Business-to-business transfer (N.Port number) & cancel - Not in port-out state error |
| `ENUMCC_ERR_FLG_6003` | `"6003"` | Business-to-business transfer (N.Port number) & cancel - Aging status not "in use" error |
| `ENUMCC_ERR_FLG_7001` | `"7001"` | Number port cancellation (other company accepted) & cancel - Existing under-contract data error |
| `ENUMCC_ERR_FLG_7002` | `"7002"` | Number port cancellation - Tokki registration data exists |
| `ENUMCC_ERR_FLG_7003` | `"7003"` | Number port cancellation - Aging status not "aging in progress" error |

The flowchart shows 22 condition blocks. Each branch performs exactly one operation: calling `JZMWebCommon.setMessageInfo()` with the shared message template ID `EKB1040-JW` and a type-specific argument array. If none of the 22 flags match, the method returns silently with no message set (implicit no-op).

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `errFlg` | `String` | Error flag identifier produced by the ENUM Switch Component Controller (`JZMEnumSwitchCC`) after validating service type conditions. Valid values are 4-digit codes `"0001"`, `"0002"`, `"1001"` through `"1004"`, `"2001"` through `"2003"`, `"3001"`-`"3002"`, `"4001"`-`"4002"`, `"5001"`-`"5003"`, `"6001"`-`"6003"`, `"7001"`-`"7003"`. The value determines which error message branch is taken, mapping to specific failure scenarios such as existing under-contract data, tokki registration conflicts, port-out state mismatches, or aging status anomalies. |

**Instance fields / external state read:**

| Source | Type | Business Description |
|--------|------|---------------------|
| `JZMEnumSwitchConstCC.ENUMCC_ERR_FLG_*` | `static final String` | Constant definitions for all 22 error flag values, resolved at compile time. |
| `this` (ZMW01904SFLogic instance) | `ZMW01904SFLogic` | Passed to `JZMWebCommon.setMessageInfo()` as the context object for message resolution. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `JZMWebCommon.setMessageInfo` | - | - | Sets an error message for display on the web screen. This is a view-layer presentation method, not a database operation. It stores the message template ID (`EKB1040-JW`) and the argument array into the screen's message context so that the JSP renderer can display the localized error text to the end user. |

**Analysis:** This method performs **no database operations**. It exclusively invokes `JZMWebCommon.setMessageInfo()`, a web-common utility that formats and stores error messages for screen display. The method is purely a **view-presentation operation** — it translates internal error codes into user-facing message parameters and delegates message setting to the web common layer.

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 2 methods.
Terminal operations from this method: `setMessageInfo` [-] (x22)

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `ZMW01904SFLogic.addCfm` | `addCfm` -> `setMessage` | `setMessageInfo [U] Screen Message Context` |
| 2 | `ZMW01904SFLogic.fix` | `fix` -> `setMessage` | `setMessageInfo [U] Screen Message Context` |

**Caller Details:**
- **`addCfm()`** — Confirmation processing for service change operations. Called after validation steps to display any ENUM Switch CC errors found during the confirmation phase.
- **`fix()`** — Correction processing. Called when the user returns to the screen to fix input errors; sets error messages before re-displaying the form.

Both callers are internal methods within the same `ZMW01904SFLogic` class, meaning this method is a private utility within the ZMW01904SF screen's logic flow.

## 6. Per-Branch Detail Blocks

### Block 1 — IF `ENUMCC_ERR_FLG_0001 = "0001"` (L1439)

> ENUM Switch CC error flag `"0001"`: Application content value unavailable. Sets an error message indicating the phone number, application content, or data state is unavailable, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_SINSEI_NAIYO_HUBI)` // Sets error display message [-> MSG_VALUE_SINSEI_NAIYO_HUBI = {"対象の電話番号", "申請内容または、データ状態不備", "ENUM切替は登録"}] |

### Block 2 — ELSE IF `ENUMCC_ERR_FLG_0002 = "0002"` (L1442)

> ENUM Switch CC error flag `"0002"`: Phone number status judgment target outside scope. Sets an error message indicating the phone number status is unavailable, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_TELNO_NOTJUDGE)` // Sets error display message [-> MSG_VALUE_TELNO_NOTJUDGE = {"対象の電話番号", "状態不備", "ENUM切替は登録"}] |

### Block 3 — ELSE IF `ENUMCC_ERR_FLG_1001 = "1001"` (L1445)

> ENUM Switch CC error flag `"1001"`: Port-out (N.Port number) — Existing under-contract data error. Sets an error message indicating the phone number is under contract, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNDER_CONTRACT_ARI)` // Sets error display message [-> MSG_VALUE_UNDER_CONTRACT_ARI = {"対象の電話番号", "契約中", "ENUM切替は登録"}] |

### Block 4 — ELSE IF `ENUMCC_ERR_FLG_1002 = "1002"` (L1448)

> ENUM Switch CC error flag `"1002"`: Port-out (N.Port number) — Tokki (registration) data already exists. Sets an error message indicating tokki (registration) data exists, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_TOKI_ARI)` // Sets error display message [-> MSG_VALUE_TOKI_ARI = {"対象の電話番号", "トーク登録済み", "ENUM切替は登録"}] |

### Block 5 — ELSE IF `ENUMCC_ERR_FLG_1003 = "1003"` (L1451)

> ENUM Switch CC error flag `"1003"`: Port-out (N.Port number) — Port-out in progress error. Sets an error message indicating port-out is in progress, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_PORTOUT)` // Sets error display message [-> MSG_VALUE_PORTOUT = {"対象の電話番号", "ポートアウト中", "ENUM切替は登録"}] |

### Block 6 — ELSE IF `ENUMCC_ERR_FLG_1004 = "1004"` (L1454)

> ENUM Switch CC error flag `"1004"`: Port-out (N.Port number) — Aging status not "recoverable" error. Sets an error message indicating an unprocessable aging state, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNABLE_PROCESS_AGING)` // Sets error display message [-> MSG_VALUE_UNABLE_PROCESS_AGING = {"対象の電話番号", "処理不可なエイジング状態", "ENUM切替は登録"}] |

### Block 7 — ELSE IF `ENUMCC_ERR_FLG_2001 = "2001"` (L1457)

> ENUM Switch CC error flag `"2001"`: Business-to-business transfer (N.Port number) — Existing under-contract data error. Sets an error message indicating the phone number is under contract, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNDER_CONTRACT_ARI)` // Shares same message as Block 3 |

### Block 8 — ELSE IF `ENUMCC_ERR_FLG_2002 = "2002"` (L1460)

> ENUM Switch CC error flag `"2002"`: Business-to-business transfer (N.Port number) — Not in port-out state error. Sets an error message indicating not in port-out state, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_NOT_PORTOUT)` // Sets error display message [-> MSG_VALUE_NOT_PORTOUT = {"対象の電話番号", "ポートアウト中ではない状態", "ENUM切替は登録"}] |

### Block 9 — ELSE IF `ENUMCC_ERR_FLG_2003 = "2003"` (L1463)

> ENUM Switch CC error flag `"2003"`: Business-to-business transfer (N.Port number) — Aging status not "in use" error. Sets an error message indicating an unprocessable aging state, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNABLE_PROCESS_AGING)` // Shares same message as Block 6 |

### Block 10 — ELSE IF `ENUMCC_ERR_FLG_3001 = "3001"` (L1466)

> ENUM Switch CC error flag `"3001"`: Number port cancellation (other company accepted) — Existing under-contract data error. Sets an error message indicating the phone number is under contract, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNDER_CONTRACT_ARI)` // Shares same message as Block 3 |

### Block 11 — ELSE IF `ENUMCC_ERR_FLG_3002 = "3002"` (L1469)

> ENUM Switch CC error flag `"3002"`: Number port cancellation (other company accepted) — Aging status not "in use" error. Sets an error message indicating an unprocessable aging state, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNABLE_PROCESS_AGING)` // Shares same message as Block 6 |

### Block 12 — ELSE IF `ENUMCC_ERR_FLG_4001 = "4001"` (L1472)

> ENUM Switch CC error flag `"4001"`: Business-to-business transfer (other company number) — Existing under-contract data error. Sets an error message indicating the phone number is under contract, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNDER_CONTRACT_ARI)` // Shares same message as Block 3 |

### Block 13 — ELSE IF `ENUMCC_ERR_FLG_4002 = "4002"` (L1475)

> ENUM Switch CC error flag `"4002"`: Business-to-business transfer (other company number) — Tokki registration data exists. Sets an error message indicating tokki (registration) data exists, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_TOKI_ARI)` // Shares same message as Block 4 |

### Block 14 — ELSE IF `ENUMCC_ERR_FLG_5001 = "5001"` (L1478)

> ENUM Switch CC error flag `"5001"`: Port-out/in (N.Port number) & cancel — Existing under-contract data error. Sets an error message indicating the phone number is in number acquisition business-to-business return application process, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNDER_CONTRACT_ARI_BMP)` // Sets BMP-specific message [-> MSG_VALUE_UNDER_CONTRACT_ARI_BMP = {"対象の電話番号", "番号取得事業者帰り申請中", "ENUM切替は登録"}] |

### Block 15 — ELSE IF `ENUMCC_ERR_FLG_5002 = "5002"` (L1481)

> ENUM Switch CC error flag `"5002"`: Port-out/in (N.Port number) & cancel — Not in port-out state error. Sets an error message indicating not in port-out state, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_NOT_PORTOUT)` // Shares same message as Block 8 |

### Block 16 — ELSE IF `ENUMCC_ERR_FLG_5003 = "5003"` (L1484)

> ENUM Switch CC error flag `"5003"`: Port-out/in (N.Port number) & cancel — Aging status not "in use" error. Sets an error message indicating an unprocessable aging state, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNABLE_PROCESS_AGING)` // Shares same message as Block 6 |

### Block 17 — ELSE IF `ENUMCC_ERR_FLG_6001 = "6001"` (L1487)

> ENUM Switch CC error flag `"6001"`: Business-to-business transfer (N.Port number) & cancel — Existing under-contract data error. Sets an error message indicating the phone number is in number acquisition business-to-business return application process, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNDER_CONTRACT_ARI_BMP)` // Shares same BMP-specific message as Block 14 |

### Block 18 — ELSE IF `ENUMCC_ERR_FLG_6002 = "6002"` (L1490)

> ENUM Switch CC error flag `"6002"`: Business-to-business transfer (N.Port number) & cancel — Not in port-out state error. Sets an error message indicating not in port-out state, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_NOT_PORTOUT)` // Shares same message as Block 8 |

### Block 19 — ELSE IF `ENUMCC_ERR_FLG_6003 = "6003"` (L1493)

> ENUM Switch CC error flag `"6003"`: Business-to-business transfer (N.Port number) & cancel — Aging status not "in use" error. Sets an error message indicating an unprocessable aging state, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNABLE_PROCESS_AGING)` // Shares same message as Block 6 |

### Block 20 — ELSE IF `ENUMCC_ERR_FLG_7001 = "7001"` (L1496)

> ENUM Switch CC error flag `"7001"`: Number port cancellation (other company accepted) & cancel — Existing under-contract data error. Sets an error message indicating the phone number is under contract, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNDER_CONTRACT_ARI)` // Shares same message as Block 3 |

### Block 21 — ELSE IF `ENUMCC_ERR_FLG_7002 = "7002"` (L1499)

> ENUM Switch CC error flag `"7002"`: Number port cancellation (other company accepted) & cancel — Tokki registration data exists. Sets an error message indicating tokki (registration) data exists, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_TOKI_ARI)` // Shares same message as Block 4 |

### Block 22 — ELSE IF `ENUMCC_ERR_FLG_7003 = "7003"` (L1502)

> ENUM Switch CC error flag `"7003"`: Number port cancellation (other company accepted) & cancel — Aging status not "aging in progress" error. Sets an error message indicating an unprocessable aging state, and ENUM switch is not registered.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JZMWebCommon.setMessageInfo(this, "EKB1040-JW", MSG_VALUE_UNABLE_PROCESS_AGING)` // Shares same message as Block 6 |

### Block 23 — Implicit default (no match) (L1505)

> If none of the 22 error flags match the `errFlg` parameter, the method returns without setting any message. This is an implicit no-op with no explicit else clause.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return;` // Silent return, no message set [implicit default branch] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `errFlg` | Parameter | Error flag — a 4-digit string code produced by the ENUM Switch Component Controller indicating which validation check failed |
| ENUM | Acronym | ENUM (Enumeration) — the ENUM Switch Component Controller (`JZMEnumSwitchCC`) that performs service type enumeration and validation logic |
| N.Port | Business term | Number Portability — allows customers to retain their phone number when switching telecom providers |
| トーク (Tokki) | Field | Token/Registration — refers to registration data in the telecom provisioning system; "トーク登録済み" means registration tokens have already been issued |
| エイジング (Aging) | Field | Aging — a telecom workflow state tracking the processing status of service changes; states include "in use", "recoverable", and "aging in progress" |
| 契約中 (Keiyakuchu) | Field | Under contract — indicates an active service contract exists for the phone number, blocking certain operations |
| ポートアウト中 (Port-out chu) | Field | Port-out in progress — indicates a number port-out request is actively being processed |
| 処理不可なエイジング状態 | Field | Unprocessable aging state — indicates the aging workflow is in a state that does not allow the requested operation |
| フリーダイヤル (Free dial) | Field | Free dial / toll-free — a phone number type used in ENUM validation contexts |
| EKB1040-JW | Constant | Message template ID — the JSP message resource key used to render error messages on the web screen |
| ZMW01904SF | Module | Screen module ID — the web screen handling telecom service change operations (port-in/out, transfers, cancellation) |
| `JZMWebCommon.setMessageInfo` | Method | Web common utility — sets error/display messages in the screen's message context for JSP rendering |
| `JZMEnumSwitchCC` | Component | ENUM Switch Component Controller — the backend service component that performs service type enumeration and produces error flags |
| `JZMEnumSwitchConstCC` | Component | ENUM Switch Constants Controller — defines all error flag constant values (`ENUMCC_ERR_FLG_*`) |
| `JPCOnlineMessageConstant` | Component | Online Message Constant — defines message template IDs such as `EKB1040-JW` |
| ADD | — | Addition / new service registration context in ENUM validation |
| Port-out / Port-in | Business term | Number portability workflow — port-out initiates leaving a provider, port-in accepts a number from another provider |
| Business-to-business transfer | Business term | Service transfer between telecom providers — different from consumer portability, involves B2B account transitions |
| Number port cancellation | Business term | Cancellation of a number port request — reversing or canceling an active port operation |
| ビジネスメール (Business mail) | Field | Business email service — a service type referenced in ENUM validation contexts |
| ビジネス光 (Business光) | Field | Business Hi-Ho (FTTH) — Fujitsu's business fiber-optic broadband service |
