---

# Business Logic — JKKAdchgTelInfoChgCC.clearSvcKeiUcwk() [108 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKAdchgTelInfoChgCC` |
| Layer | CC / Common Component |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKAdchgTelInfoChgCC.clearSvcKeiUcwk()

The `clearSvcKeiUcwk()` method implements the **service contract line-item clearing process** (Japanese: サービス契約内訳クリア処理) for the address change (住所変更) workflow in a telecom service provisioning system. Its business purpose is to remove or clean up stale service detail records associated with the most recent address change registration, ensuring data consistency when customers move, change phone numbers, or port numbers.

The method handles three distinct **service change scenarios**: (1) **Addition** (追加, `useSvcChgDiv = "3"`): when a new service is being added during an address change, it may need to clear previous address-change records, perform pre-service-number cancellation, or issue SOD (Service Order Data) for phone cancellation. (2) **No-phone previous address** (転居元に電話がない場合): when the old address had no phone, it handles phone addition-then-cancellation flows or number changes from the previous address. (3) **Same-number port / phone number change** (同番移転 / 電話変更): when the old address had a phone, it distinguishes between same-number port forwarding (同番移転) and actual phone number changes, clearing reservations or full line-items accordingly.

This method implements a **conditional routing / dispatch pattern**, branching on service change division, phone number flags, and address comparison logic to determine the correct cleanup strategy. It acts as a **shared internal utility** called from the `telInfoChg()` (phone number information change) screen controller, serving as one of three core operations in the address-change telecom service update cycle (clear -> modify -> append).

When the `addAndDslFlg` (addition-then-cancellation flag) is set, the system calls `clearSvcKeiUcwk()` after performing append processing, meaning it clears the stale records that were superseded by the new service additions. This is a critical integrity step in the telecom order fulfillment pipeline.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["clearSvcKeiUcwk"])
    GET_PARAM["getRequestParameter"]
    EXTRACT["Extract baseTelNo, adchgTelNo, modifyTelNo, dslFlg, regDslFlg, useSvcChgDiv, afterSvcKeiUcwkNo"]

    REG_DSL_CHECK{"regDslFlg equals 1"}
    EARLY_RETURN_1(["Return - No Clear Needed"])

    SVC_CHG_DIV_CHECK{"useSvcChgDiv equals CD00849_ADD"}
    TEL_EMPTY_CHECK{"adchgTelNo is empty"}
    TEL_EMPTY_RETURN(["Return - No Clear Needed"])
    DSL_FLG_CHECK{"dslFlg equals 1"}
    DSL_DELETE["dslSvcKeiUcwk"]
    GET_KK0191["getEKK0191A010"]
    GET_KK0341["getRegalKiki"]
    SOD_DSL["hakkoSODhtelNoDsl"]
    RETURN_AFTER_DSL(["Return"])
    ADCHG_MODIFY_CHECK{"adchgTelNo equals modifyTelNo"}
    DSL_DELETE_2["dslSvcKeiUcwk"]
    RETURN_AFTER_DSL_2(["Return"])

    BASE_TEL_EMPTY{"baseTelNo is empty"}
    ADCHG_EMPTY_CHECK{"adchgTelNo is empty"}
    ADCHG_EMPTY_RETURN(["Return - No Clear Needed"])
    DSL_FLG_CHECK_2{"dslFlg equals 1"}
    DELETE_FALSE_1["deleteSvcKeiUcwk false"]
    RETURN_AFTER_DEL_1(["Return"])
    ADCHG_MODIFY_CHECK_2{"adchgTelNo equals modifyTelNo"}
    ADCHG_MODIFY_RETURN(["Return - No Clear Needed"])
    DELETE_FALSE_2["deleteSvcKeiUcwk false"]
    RETURN_AFTER_DEL_2(["Return"])

    SAME_TEL_CHECK{"baseTelNo equals adchgTelNo"}
    DELETE_TRUE["deleteSvcKeiUcwk true"]
    RETURN_AFTER_DEL_TRUE(["Return"])
    DSL_FLG_CHECK_3{"dslFlg equals 1"}
    DELETE_FALSE_3["deleteSvcKeiUcwk false"]
    RETURN_AFTER_DEL_3(["Return"])
    ADCHG_MODIFY_CHECK_3{"adchgTelNo equals modifyTelNo"}
    RETURN_3(["Return - No Clear Needed"])
    DELETE_FALSE_4["deleteSvcKeiUcwk false"]
    END_NODE(["End"])

    START --> GET_PARAM --> EXTRACT
    EXTRACT --> REG_DSL_CHECK
    REG_DSL_CHECK -->|"1"| EARLY_RETURN_1
    REG_DSL_CHECK -->|else| SVC_CHG_DIV_CHECK
    SVC_CHG_DIV_CHECK -->|CD00849_ADD| TEL_EMPTY_CHECK
    SVC_CHG_DIV_CHECK -->|else| BASE_TEL_EMPTY
    TEL_EMPTY_CHECK -->|empty| TEL_EMPTY_RETURN
    TEL_EMPTY_CHECK -->|not empty| DSL_FLG_CHECK
    DSL_FLG_CHECK -->|"1"| DSL_DELETE
    DSL_DELETE --> GET_KK0191 --> GET_KK0341 --> SOD_DSL --> RETURN_AFTER_DSL
    DSL_FLG_CHECK -->|else| ADCHG_MODIFY_CHECK
    ADCHG_MODIFY_CHECK -->|equal| RETURN_AFTER_DSL_2
    ADCHG_MODIFY_CHECK -->|not equal| DSL_DELETE_2 --> RETURN_AFTER_DSL_2

    BASE_TEL_EMPTY -->|empty| ADCHG_EMPTY_CHECK
    ADCHG_EMPTY_CHECK -->|empty| ADCHG_EMPTY_RETURN
    ADCHG_EMPTY_CHECK -->|not empty| DSL_FLG_CHECK_2
    DSL_FLG_CHECK_2 -->|"1"| DELETE_FALSE_1 --> RETURN_AFTER_DEL_1
    DSL_FLG_CHECK_2 -->|else| ADCHG_MODIFY_CHECK_2
    ADCHG_MODIFY_CHECK_2 -->|equal| ADCHG_MODIFY_RETURN
    ADCHG_MODIFY_CHECK_2 -->|not equal| DELETE_FALSE_2 --> RETURN_AFTER_DEL_2

    BASE_TEL_EMPTY -->|not empty| SAME_TEL_CHECK
    SAME_TEL_CHECK -->|equal| DELETE_TRUE --> RETURN_AFTER_DEL_TRUE
    SAME_TEL_CHECK -->|not equal| DSL_FLG_CHECK_3
    DSL_FLG_CHECK_3 -->|"1"| DELETE_FALSE_3 --> RETURN_AFTER_DEL_3
    DSL_FLG_CHECK_3 -->|else| ADCHG_MODIFY_CHECK_3
    ADCHG_MODIFY_CHECK_3 -->|equal| RETURN_3
    ADCHG_MODIFY_CHECK_3 -->|not equal| DELETE_FALSE_4 --> END_NODE
```

**Branch Summary:**

| Path | Condition | Action |
|------|-----------|--------|
| Path A | `regDslFlg == "1"` | Return immediately — recent address change involves number cancellation, no clear needed |
| Path B | `useSvcChgDiv == "3"` (Addition) | Branch into sub-paths B1-B3 |
| Path B1 | Addition + no phone in recent address | Return — nothing to clear |
| Path B2 | Addition + phone exists + cancellation (`dslFlg == "1"`) | Perform pre-service number cancellation, SOD issue for phone cancellation, return |
| Path B3 | Addition + phone exists + no cancellation + same number as recent | Return — no clear needed |
| Path B4 | Addition + phone exists + no cancellation + different number | Cancel pre-service number, return |
| Path C | No phone at old address (`baseTelNo` empty) | Branch into sub-paths C1-C2 |
| Path C1 | No phone at old + no phone in recent address | Return — nothing to clear |
| Path C2 | No phone at old + phone in recent + cancellation | Clear old address details (delete false), return |
| Path C3 | No phone at old + phone in recent + no cancellation + same number | Return — no clear needed |
| Path C4 | No phone at old + phone in recent + no cancellation + different number | Clear old address details, return |
| Path D | Phone at old address + same number as recent | Clear reservations, return |
| Path E | Phone at old address + different number + cancellation | Clear old address details (delete false), return |
| Path F | Phone at old address + different number + no cancellation + same number | Return — no clear needed |
| Path G | Phone at old address + different number + no cancellation + different number | Clear old address details (delete false), end |

**Constant Resolution:**
- `JKKAdchgConstCC.CD00849_ADD = "3"` — Service change division code for "Addition" (追加), indicating a new service is being added during the address change.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none, private method) | - | - |
| - | `param` (internal via `getRequestParameter`) | `HashMap<String, Object>` | Request parameter map carrying all address change context data |

### Extracted fields from request parameter:

| Field | Type | Business Description |
|-------|------|---------------------|
| `base_tel_no` | String | Previous address phone number (転居元) — the phone number associated with the customer's old address. Empty string or null indicates no phone was registered at the previous address |
| `adchg_tel_no` | String | Recently entered phone number for the new address (直最近に入力された転居先の電話番号) — the phone number the customer entered during the most recent address change registration |
| `modify_tel_no` | String | Phone number corrected this time (今回訂正した転居先の電話番号) — the phone number the customer is correcting/submitting in the current screen operation |
| `dsl_flg` | String | Cancellation flag (解約有無) — "1" means number cancellation is requested, empty/other means no cancellation |
| `reg_dsl_flg` | String | Recent cancellation flag (直最近に入力された解約有無) — "1" means the most recently entered address change involves a number cancellation; when set, this method returns early as no clear is needed |
| `use_svc_chg_div` | String | Service change division (利用サービス変更区分) — classifies the type of service change being performed; "3" (CD00849_ADD) means "Addition" (追加) |
| `after_svc_kei_ucwk_no` | String | Post-address-change service detail work number (転居後のサービス内訳作業番号) — internal tracking ID for service contract line items at the new address |

### Instance/External State Read:

| Source | Description |
|--------|-------------|
| `getRequestParameter()` | Retrieves the current request parameter HashMap from session context |

## 4. CRUD Operations / Called Services

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

The following table documents all methods called from `clearSvcKeiUcwk()` and their business classification:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JKKAdchgTelInfoChgCC.getRequestParameter` | JKKAdchgTelInfoChgCC | - | Retrieves the request parameter HashMap from session context |
| - | `JKKAdchgTelInfoChgCC.dslSvcKeiUcwk` | JKKAdchgTelInfoChgCC | - | Performs number cancellation (解約) for pre-service; calls `JKKDslRunCC.runDsl` to execute the actual cancellation; also registers cancellation completion progress (`addEKK1091D010` with code "1201") |
| R | `JKKAdchgTelInfoChgCC.getEKK0191A010` | EKK0191A010SC | Service contract line-item <EOC telephone> agreement (サービス契約内訳<光電話>照会) | Retrieves service contract line-item details for the given service detail work number |
| R | `JKKAdchgTelInfoChgCC.getRegalKiki` | EKK0341A010SC (inferred) | - | Retrieves equipment/installation information for SOD issuance context |
| - | `JKKAdchgTelInfoChgCC.hakkoSODhtelNoDsl` | JKKAdchgTelInfoChgCC | SOD (Service Order Data) | Issues SOD for phone number cancellation; delegates to `JKKAdchgSODCC.hakkoSODhtelNoDsl` with `KEY_ADCHG_HAKKO_SOD` key |
| D | `JKKAdchgTelInfoChgCC.deleteSvcKeiUcwk` | JKKAdchgTelInfoChgCC | `KK_T_SVC_KEI` (service contract line-items), `KK_T_SVC_KEI_UCWK` (service detail work), `KK_T_EKK0161B004` (via getEKK0161B004) | Core deletion method that removes or logically deletes service contract line-item records. When `isSameTelNo` is true, only deletes reservation data (予約データ). When false, first calls `telNoCancel()` to clear registration, then iteratively deletes detail records matching the after-service work number, skipping cancelled (910) or voided (920) states |

**CRUD Classification Rationale:**

- **R (Read):** `getEKK0191A010` queries service contract details; `getRegalKiki` retrieves equipment info; `getRequestParameter` reads session context.
- **D (Delete):** `deleteSvcKeiUcwk` performs logical or physical deletion of service detail records. `dslSvcKeiUcwk` performs number cancellation via `JKKDslRunCC.runDsl`.
- **- (Utility/Process):** `dslSvcKeiUcwk` (service-side processing), `hakkoSODhtelNoDsl` (SOD issuance) — these are processing methods rather than pure CRUD operations.

## 5. Dependency Trace

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

Direct callers found: 1 method within the same class.
Terminal operations from this method: `deleteSvcKeiUcwk` [D], `deleteSvcKeiUcwk` [D], `dslSvcKeiUcwk` [-], `hakkoSODhtelNoDsl` [-], `getEKK0191A010` [R], `getRegalKiki` [R], `getRequestParameter` [R]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CC: `JKKAdchgTelInfoChgCC.telInfoChg` | `telInfoChg(handle, param, fixedText)` -> conditional on `addAndDslFlg` -> calls `clearSvcKeiUcwk()` (line 156 when `addAndDslFlg == "1"`, line 162 in normal flow) | `deleteSvcKeiUcwk` [D] `KK_T_SVC_KEI`, `dslSvcKeiUcwk` [-] `JKKDslRunCC.runDsl`, `getEKK0191A010` [R] EKK0191A010, `getRegalKiki` [R], `hakkoSODhtelNoDsl` [-] SOD |

**Call Chain Detail:**
The `telInfoChg()` public method is the main entry point for phone number information changes in the address change workflow. It orchestrates three operations: `clearSvcKeiUcwk()` (clear stale records), `modifySvcKeiUcwk()` (modify existing records), and `appendSvcKeiUcwk()` (add new records). The call to `clearSvcKeiUcwk()` occurs first in the normal flow (line 162), or after `appendSvcKeiUcwk()` in the addition-then-cancellation flow (line 156). The `KKSV0725OPOperation` class references this CC in its CBS configuration mapping (lines 1159, 1201), indicating it is invoked from screen KKSV0725.

## 6. Per-Branch Detail Blocks

### Block 1 — Method Entry / Parameter Extraction (L347-L357)

> Retrieves the request parameter map and extracts all phone number and flag fields needed for routing logic.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `getRequestParameter()` -> `param` // Gets request parameter HashMap |
| 2 | SET | `baseTelNo = param.get("base_tel_no")` // Previous address phone number (転居元) [L349] |
| 3 | SET | `adchgTelNo = param.get("adchg_tel_no")` // Recently entered new address phone number [L350] |
| 4 | SET | `modifyTelNo = param.get("modify_tel_no")` // Corrected new address phone number [L351] |
| 5 | SET | `dslFlg = param.get("dsl_flg")` // Cancellation flag (解約有無) [L352] |
| 6 | SET | `regDslFlg = param.get("reg_dsl_flg")` // Recent address cancellation flag [L354] |
| 7 | SET | `useSvcChgDiv = param.get("use_svc_chg_div")` // Service change division (利用サービス変更区分) [L356] |
| 8 | SET | `afterSvcKeiUcwkNo = param.get("after_svc_kei_ucwk_no")` // Post-address-change service detail work number [L357] |

---

### Block 2 — Early Return: Number Cancellation (L358-L361)

> If the recent address change involves a number cancellation (`regDslFlg == "1"`), return immediately — there is nothing to clear because the cancellation process itself handles cleanup.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"1".equals(regDslFlg)` -> return [L359] [-> regDslFlg equals "1" (number cancellation)] |
| 2 | RETURN | `return;` // No clear needed (クリアする内容なし) |

---

### Block 3 — Service Change Division == Addition (L363-L402)

> When `useSvcChgDiv` equals CD00849_ADD = "3" (追加 / Addition), the method handles clearing previous address-change records for a new service addition.

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKAdchgConstCC.CD00849_ADD.equals(useSvcChgDiv)` -> block [L366] [-> CD00849_ADD = "3"] |

#### Block 3.1 — No Phone in Recent Address (L368-L372)

> If the recent address change did not include a phone number, there is nothing to clear.

| # | Type | Code |
|---|------|------|
| 1 | IF | `StringUtils.isEmpty(adchgTelNo)` -> return [L368] |
| 2 | RETURN | `return;` // No clear needed (クリアする内容なし) [L369] |

#### Block 3.2 — Pre-Service Number Cancellation (L373-L391)

> When a phone exists in the recent address AND cancellation is requested (`dslFlg == "1"`), perform the full pre-service cancellation flow: cancel the number, retrieve contract details, and issue SOD for phone cancellation.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"1".equals(dslFlg)` -> block [L376] |
| 2 | CALL | `dslSvcKeiUcwk()` // Pre-service number cancellation (サービス開始前の番号解約) [L379] |
| 3 | CALL | `getEKK0191A010(afterSvcKeiUcwkNo)` -> `kk0191Map` // Get service contract line-item details [L381] |
| 4 | CALL | `getRegalKiki(kk0191Map, after_svc_kei_kaisen_ucwk_no, before_svc_kei_kaisen_ucwk_no, svc_kei_no)` -> `kk0341Map` // Get equipment info [L382-L383] |
| 5 | CALL | `hakkoSODhtelNoDsl(param, kk0191Map, kk0341Map)` // SOD issuance for phone cancellation (番号解約のためのSOD発行) [L386] |
| 6 | RETURN | `return;` [L388] |

#### Block 3.3 — Same Number as Recent Address (L390-L394)

> When a phone exists, no cancellation, and the corrected number is the same as the recently entered number, return without clearing.

| # | Type | Code |
|---|------|------|
| 1 | IF | `adchgTelNo.equals(modifyTelNo)` -> return [L393] |
| 2 | RETURN | `return;` // No clear needed (クリアする内容なし) [L394] |

#### Block 3.4 — Number Change During Addition (L396-L399)

> When a phone exists, no cancellation, but the corrected number differs from the recent address — cancel the pre-service number.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `dslSvcKeiUcwk()` // Cancel number before service start (変更前の番号をサービス開始前解約) [L397] |
| 2 | RETURN | `return;` [L398] |

---

### Block 4 — No Phone at Previous Address (L404-L429)

> When the previous address had no phone (`baseTelNo` is empty), this branch handles the case where the customer had no telecom service at their old location but has one at the new location.

| # | Type | Code |
|---|------|------|
| 1 | IF | `StringUtils.isEmpty(baseTelNo)` -> block [L406] |

#### Block 4.1 — No Phone at Either Address (L408-L411)

> If the recent address change also had no phone, return — nothing to clear.

| # | Type | Code |
|---|------|------|
| 1 | IF | `StringUtils.isEmpty(adchgTelNo)` -> return [L409] |
| 2 | RETURN | `return;` // No clear needed (クリアする内容なし) [L410] |

#### Block 4.2 — Phone Added Then Cancelled (L412-L418)

> Phone was added at the recent address and then cancelled (phone addition -> cancellation flow).

| # | Type | Code |
|---|------|------|
| 1 | IF | `"1".equals(dslFlg)` -> block [L413] |
| 2 | CALL | `deleteSvcKeiUcwk(false)` // Clear old address details (転居先の内容をクリア) with isSameTelNo=false [L415] |
| 3 | RETURN | `return;` [L416] |

#### Block 4.3 — Same Number (L418-L422)

> Recent address phone matches the corrected number — return, no clear needed.

| # | Type | Code |
|---|------|------|
| 1 | IF | `adchgTelNo.equals(modifyTelNo)` -> return [L420] |
| 2 | RETURN | `return;` // No clear needed (クリアする内容なし) [L421] |

#### Block 4.4 — Number Changed from Previous Address (L423-L427)

> Number was changed since the previous address — clear the old address details.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `deleteSvcKeiUcwk(false)` // Clear old address details (転居先の内容をクリア) [L426] |
| 2 | RETURN | `return;` [L427] |

---

### Block 5 — Phone at Previous Address (L431-L450)

> The previous address had a phone. This is the most complex branch, handling same-number port forwarding (同番移転) and phone number changes.

#### Block 5.1 — Same-Number Port Forwarding (L434-L439)

> When the recent address phone matches the old address phone (same-number port, 同番移転), clear only the reservation data (予約データ).

| # | Type | Code |
|---|------|------|
| 1 | IF | `baseTelNo.equals(adchgTelNo)` -> block [L434] [OM-2014-0000680: removed dslFlg check from condition] |
| 2 | CALL | `deleteSvcKeiUcwk(true)` // Clear old address details (reservation) with isSameTelNo=true (転居先の内容(予約)をクリア) [L435] |
| 3 | RETURN | `return;` [L436] |

#### Block 5.2 — Phone Number Change with Cancellation (L439-L442)

> Recent address is a phone number change (not same-number port), and cancellation is requested (番号変更 -> 番号解約).

| # | Type | Code |
|---|------|------|
| 1 | IF | `"1".equals(dslFlg)` -> block [L440] [OM-2014-0000680: new branch added] |
| 2 | CALL | `deleteSvcKeiUcwk(false)` // Clear old address details (転居先の内容をクリア) [L441] |

#### Block 5.3 — Same Number After Phone Change (L445-L449)

> Recent address is a phone number change, but the corrected number is the same as the recent address phone (番号変更 -> 内容変更). Return — no clear needed.

| # | Type | Code |
|---|------|------|
| 1 | IF | `adchgTelNo.equals(modifyTelNo)` -> return [L446] |
| 2 | RETURN | `return;` // No clear needed (クリアする内容なし) [L447] |

#### Block 5.4 — Different Number After Phone Change (L450)

> Recent address is a phone number change and the corrected number is different (番号変更 -> 番号変更). Clear all old address details.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `deleteSvcKeiUcwk(false)` // Clear old address details (転居先の内容をクリア) [L450] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_ucwk_no` | Field | Service detail work number — internal tracking ID for a service contract line-item work entry (転居後のサービス内訳作業番号) |
| `svc_kei_no` | Field | Service contract number — the main service contract identifier |
| `base_tel_no` | Field | Previous address phone number (転居元電話番号) — the phone number registered at the customer's old address |
| `adchg_tel_no` | Field | Recently entered new address phone number (直最近に入力された転居先の電話番号) — the phone number entered during the most recent address change |
| `modify_tel_no` | Field | Corrected new address phone number (今回訂正した転居先の電話番号) — the phone number being submitted in the current screen correction |
| `dsl_flg` | Field | Cancellation flag (解約有無) — "1" means the customer has requested number cancellation; used to determine if SOD or deletion processing is needed |
| `reg_dsl_flg` | Field | Recent address cancellation flag (直最近に入力された解約有無) — "1" indicates the most recent address change registration includes a number cancellation; when set, this method returns early |
| `use_svc_chg_div` | Field | Service change division (利用サービス変更区分) — classifies the type of service change: "3" (CD00849_ADD) indicates "Addition" (追加) where a new service is being added |
| `after_svc_kei_ucwk_no` | Field | Post-address-change service detail work number — service line-item work ID after the address change has been applied |
| CD00849_ADD | Constant | Service change division code "3" — indicates "Addition" (追加) of a new service during address change |
| `isSameTelNo` | Parameter | Same-number port flag (同番移転有無) — passed to `deleteSvcKeiUcwk(true)` when the address change is a same-number port (number stays the same across moves), to only clear reservation data rather than full line items |
| `KEY_TELNO_INFO_DSL` | Constant | Key for the telephone number cancellation info data structure in the request parameter map |
| `KEY_ADCHG_HAKKO_SOD` | Constant | Key for address change SOD issuance in the request parameter map |
| SOD | Acronym | Service Order Data — telecom order fulfillment document that triggers provisioning or cancellation actions in the network systems |
| 同番移転 | Japanese term | Same-number port forwarding (Same-number portability across address changes) — the customer moves but keeps the same phone number |
| 解約 | Japanese term | Cancellation — termination of a phone number/service, triggering SOD issuance and line-item cleanup |
| 追加 | Japanese term | Addition — adding a new service during an address change; corresponds to CD00849_ADD = "3" |
| クリアする内容なし | Japanese term | "Nothing to clear" — business state where no cleanup is needed because the data is already consistent |
| EKK0191A010 | SC Code | Service contract line-item <EOC telephone> inquiry — retrieves service contract details including phone number and equipment info |
| JKKDslRunCC | Component | Number cancellation execution CC — handles the actual telecom number cancellation processing |
| `telNoCancel()` | Method | Clears registration data (etc.) before deleting details, called when `isSameTelNo` is false |
| `logicalDeleteSvcKeiUcwk()` | Method | Logical deletion of service contract line-item records (soft delete), used when `isSameTelNo` is true for reservation cleanup |
| `cancelDslSvcKeiUcwk()` | Method | Cancels and deletes service detail work records (hard delete for line-items), called during the deletion loop |
| EKK0161B004 | CBS Code | Service contract line-item list retrieval — queried via `getEKK0161B010B004` to enumerate service detail records for deletion |

---
