# Business Logic — JKKAdchgTelInfoChgCC.deleteSvcKeiUcwk() [115 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.deleteSvcKeiUcwk()

This method performs the **logical deletion of service contract line items** (サービス契約内訳, *svc_kei_ucwk*) in the context of address change (住所変更, *juusho henskou*) processing within the e-Opticom customer base system. It handles two distinct business scenarios based on the type of telephone number change that occurred during the address transfer:

When the customer underwent a **same-number migration** (同番移転, *douban itkou*) — meaning the phone number was preserved during the address move — but a subsequent correction required a phone number change, this method locates and logically deletes **reservation-only** line items at the post-move address whose reservation effective date has not yet arrived. The business intent is to clean up provisional service contracts that were created for the new address but should not become active, since the customer's correction changed the associated phone number.

When the customer's phone number was **changed after a migration** (電番変更後訂正, *dentan henskou ato seisei*), this method fully cancels the service detail records at the post-move address and registers the cancellation completion status (進捗登録「キャンセル完了」) via the `addEKK1091D010` CBS call. Additionally, if the phone number is a legal-entity number (法人電話番号, *houjin denwabangou*) that includes an on-net port (網内番ポ, *mounai ban po*), it updates the entity classification in the phone number master table to reflect the legal entity code. This ensures the billing interface (料金IF, *ryoukin IF*) can properly process cancellation charges.

The method implements a **retry loop pattern** (using `existDeleteData`) that re-fetches the service detail list until no more deletable records remain, ensuring that cascading deletions (where deleting one record unlocks another) are handled iteratively. It also calls `telNoCancel()` upfront when the operation is not a same-number migration, which clears the line items before this method's main deletion logic.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["deleteSvcKeiUcwk(isSameTelNo)"])
    START --> CHECK_ISAME{"isSameTelNo?"}
    CHECK_ISAME -->|false| TELNO_CANCEL["telNoCancel()"]
    CHECK_ISAME -->|true| GET_PARAM["getRequestParameter()"]
    TELNO_CANCEL --> GET_PARAM

    GET_PARAM --> EXTRACT["Extract: svcKeiNo, beforeSvcKeiUcwkNo, afterSvcKeiUcwkNo"]
    EXTRACT --> GET_OPEDATE["JCCBPCommon.getOpeDate(null)"]
    GET_OPEDATE --> INIT_VARS["existDeleteData = true; opeDate = current date"]
    INIT_VARS --> WHILE_START{"existDeleteData == true?"}

    WHILE_START -->|true| GET_LIST["getEKK0161B004(svcKeiNo) - Get service detail list"]
    GET_LIST --> SET_FALSE["existDeleteData = false"]

    SET_FALSE --> FOR_START{"loop kk0161_b004_list"}
    FOR_START -->|next| GET_SVC_KEI_UCWK_NO["svc_kei_ucwk_no = map[SVC_KEI_UCWK_NO]"]

    GET_SVC_KEI_UCWK_NO --> CHECK_STATE{"ucwkState == 910 or 920?"}
    CHECK_STATE -->|true| FOR_START
    CHECK_STATE -->|false| CHECK_SAME{"isSameTelNo?"}

    CHECK_SAME -->|true| BLOCK_SAME["=== isSameTelNo=true (Same-number migration) ==="]
    BLOCK_SAME --> CHECK_BFOR{"svc_kei_ucwk_no == beforeSvcKeiUcwkNo?"}
    CHECK_BFOR -->|false| FOR_START
    CHECK_BFOR -->|true| CHECK_RSV["rsvAplyYmd = map[RSV_APLY_YMD]"]
    CHECK_RSV --> CHECK_DATE{"opeDate >= rsvAplyYmd?"}
    CHECK_DATE -->|true| FOR_START
    CHECK_DATE -->|false| LOG_DEL["geneAddDtm = map[GENE_ADD_DTM]
logicalDeleteSvcKeiUcwk(svc_kei_ucwk_no, geneAddDtm)"]
    LOG_DEL --> SET_TRUE_1["existDeleteData = true"]
    SET_TRUE_1 --> FOR_START

    CHECK_SAME -->|false| BLOCK_DIFF["=== isSameTelNo=false (Number change after migration) ==="]
    BLOCK_DIFF --> CHECK_AFT{"svc_kei_ucwk_no == afterSvcKeiUcwkNo?"}
    CHECK_AFT -->|false| FOR_START
    CHECK_AFT -->|true| GET_GENE["geneAddDtm = map[GENE_ADD_DTM]"]
    GET_GENE --> CANCEL_DSL["cancelDslSvcKeiUcwk(svc_kei_ucwk_no, geneAddDtm)"]
    CANCEL_DSL --> ADD_REC["addEKK1091D010(svcKeiNo, 1201) - Register cancel completion"]
    ADD_REC --> GET_PHONE_INFO["getEKK0191A010(svc_kei_ucwk_no) - Get service detail EO light phone"]
    GET_PHONE_INFO --> CALL_EZM_SET["mapper.setEZM0121A010 - Phone number inquiry set"]
    CALL_EZM_SET --> SC_RUN_1["scCall.run - Execute EZM0121A010 SC"]
    SC_RUN_1 --> CALL_EZM_GET["mapper.getEZM0121A010 - Phone number inquiry get"]
    CALL_EZM_GET --> SC_CHECK_1["mapper.scResultCheck"]
    SC_CHECK_1 --> CHECK_ZM{"zm0121_a010_map empty?"}
    CHECK_ZM -->|true| FOR_START
    CHECK_ZM -->|false| CHECK_HOJIN{"SHK_KOJIN_HOJIN_TLN_TAI_CD == CD00410_HOJIN?"}
    CHECK_HOJIN -->|false| SET_TRUE_2["existDeleteData = true"]
    SET_TRUE_2 --> FOR_START
    CHECK_HOJIN -->|true| MONAI_BMP["monaiBmpUm = CD00002_UMU_1 (on-net PO present)"]
    MONAI_BMP --> UPDATE_TLN["Update KOJIN_HOJIN_TLN_TAI_CD to CD00410_HOJIN (Legal entity code 2)"]
    UPDATE_TLN --> SET_LAST_UPD["LAST_UPD_DTM_BF = current UPD_DTM"]
    SET_LAST_UPD --> CALL_EZM_UPD_SET["mapper.setEZM0121C010 - Phone number change set"]
    CALL_EZM_UPD_SET --> SC_RUN_2["scCall.run - Execute EZM0121C010 SC"]
    SC_RUN_2 --> CALL_EZM_UPD_GET["mapper.getEZM0121C010 - Phone number change get"]
    CALL_EZM_UPD_GET --> SC_CHECK_2["mapper.scResultCheck"]
    SC_CHECK_2 --> SET_TRUE_2

    FOR_START -->|done| WHILE_END
    WHILE_END(["existDeleteData=false; exit loop"]) --> SET_UPD["setUpdDtm(svcKeiNo, beforeSvcKeiUcwkNo)"]
    SET_UPD --> END(["Return / Next"])

    WHILE_START -->|false| WHILE_END
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `isSameTelNo` | `boolean` | Whether the recent address change was a same-number migration (同番移転, *douban itkou*). `true` means the phone number was preserved during the move — in this case only reservation-type line items at the destination address are logically deleted. `false` means the phone number was changed after migration — in this case the destination address line items are fully canceled (cancel + deregister). |

**Instance fields / external state read by this method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `keepSesHandle` | `ThreadLocal<SessionHandle>` | Session handle preserved from the entry-point CBS call (telInfoChg), used to execute SC calls |
| `keepReqParam` | `ThreadLocal<IRequestParameterReadWrite>` | Request parameter object preserved from entry point, used to build SC requests and extract business data |
| `keepFixedText` | `ThreadLocal<String>` | Fixed text reference used in mapper SC calls |
| `mapper` | `JKKAdchgMapperCC` | Mapper singleton used to build and execute service component requests |
| `scCall` | `ServiceComponentRequestInvoker` | SC request invoker used to execute remote service component calls |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JKKAdchgTelInfoChgCC.getRequestParameter` | — | — | Retrieves the request parameter map containing service contract number, destination/before-work numbers |
| R | `JCCBPCommon.getOpeDate` | — | — | Retrieves the current operation date for date comparison with reservation effective dates |
| R | `JKKAdchgTelInfoChgCC.getEKK0161B004` | EKK0161B004SC | KK_T_SVC_KEI_ISUCWK (Service Detail) | Reads the list of all service contract line items for the given service contract number |
| R | `JKKAdchgTelInfoChgCC.getEKK0191A010` | EKK0191A010SC | KK_T_SVC_KEI_ISUCWK (Service Detail EO Light Phone) | Reads the EO light phone agreement details for a specific service detail work number |
| D | `JKKAdchgTelInfoChgCC.logicalDeleteSvcKeiUcwk` | EKK0161E011CBS | KK_T_SVC_KEI_ISUCWK, KK_T_SVC_KEI_SUB (Service Detail / Sub-type) | Performs logical deletion of the service detail by setting the cancellation status and removing sub-type records via S/IF |
| D | `JKKAdchgTelInfoChgCC.cancelDslSvcKeiUcwk` | EKK0161C190CBS | KK_T_SVC_KEI_ISUCWK, KK_T_SVC_KEI_SUB | Cancellation and deregistration of the service detail — fully cancels the contract, calls svc_dsl_kakutei (service cancellation confirmation), and removes sub-type records via S/IF |
| C | `JKKAdchgTelInfoChgCC.addEKK1091D010` | EKK1091D010CBS | KK_T_PROC_REG (Progress Registration) | Registers cancellation completion status (進捗登録: キャンセル完了) with process code "1201" for billing interface processing |
| R | `JKKAdchgMapperCC.getEZM0121A010` | EZM0121A010SC | M_T_DENWA (Phone Number Master) | Queries the phone number master for inquiry (EZM0121A010) to retrieve line number, legal entity classification |
| C | `JKKAdchgMapperCC.setEZM0121A010` | EZM0121A010SC | — | Sets up the phone number inquiry request with the target telephone number condition |
| - | `JKKAdchgMapperCC.scResultCheck` | — | — | Validates the SC execution result; throws if the result indicates an error |
| U | `JKKAdchgMapperCC.setEZM0121C010` | EZM0121C010CBS | M_T_DENWA (Phone Number Master) | Updates the phone number master (EZM0121C010) to change the legal entity/individual classification code |
| R | `JKKAdchgMapperCC.getEZM0121C010` | EZM0121C010SC | M_T_DENWA (Phone Number Master) | Retrieves the result of the phone number change update |
| - | `JKKAdchgTelInfoChgCC.setUpdDtm` | — | — | Sets the update datetime for post-processing parameters |
| - | `JKKAdchgTelInfoChgCC.telNoCancel` | — | — | Clears line items before deletion when not a same-number migration |
| - | `JCCcomFileSearchUtil.clear` | — | — | Clears internal state (called within cancelDslSvcKeiUcwk path) |
| - | `JZMAdEdit.clear` | — | — | Clears internal state (called within cancelDslSvcKeiUcwk path) |
| - | `KKA17101SFLogic.clear` | — | — | Clears internal state (called within cancelDslSvcKeiUcwk path) |
| - | `KKA17201SFLogic.clear` | — | — | Clears internal state (called within cancelDslSvcKeiUcwk path) |
| - | `KKA17401SFLogic.clear` | — | — | Clears internal state (called within cancelDslSvcKeiUcwk path) |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CBS:JKKAdchgTelInfoChgCC.clearSvcKeiUcwk | `JKKAdchgTelInfoChgCC.telInfoChg` -> `JKKAdchgTelInfoChgCC.clearSvcKeiUcwk` -> `JKKAdchgTelInfoChgCC.deleteSvcKeiUcwk` | `logicalDeleteSvcKeiUcwk [D] KK_T_SVC_KEI_ISUCWK` |
| 2 | CBS:JKKAdchgTelInfoChgCC.clearSvcKeiUcwk | `JKKAdchgTelInfoChgCC.telInfoChg` -> `JKKAdchgTelInfoChgCC.clearSvcKeiUcwk` -> `JKKAdchgTelInfoChgCC.deleteSvcKeiUcwk` | `cancelDslSvcKeiUcwk [D] KK_T_SVC_KEI_ISUCWK, KK_T_SVC_KEI_SUB` |
| 3 | CBS:JKKAdchgTelInfoChgCC.clearSvcKeiUcwk | `JKKAdchgTelInfoChgCC.telInfoChg` -> `JKKAdchgTelInfoChgCC.clearSvcKeiUcwk` -> `JKKAdchgTelInfoChgCC.deleteSvcKeiUcwk` | `addEKK1091D010 [C] KK_T_PROC_REG` |
| 4 | CBS:JKKAdchgTelInfoChgCC.clearSvcKeiUcwk | `JKKAdchgTelInfoChgCC.telInfoChg` -> `JKKAdchgTelInfoChgCC.clearSvcKeiUcwk` -> `JKKAdchgTelInfoChgCC.deleteSvcKeiUcwk` | `getEKK0161B004 [R] KK_T_SVC_KEI_ISUCWK` |

**Terminal operations reachable from this method (directly or via called methods):**

| Terminal Operation | CRUD | Entity / DB |
|-------------------|------|-------------|
| `setUpdDtm` | - | — |
| `scResultCheck` | - | — |
| `getEZM0121C010` | R | M_T_DENWA |
| `run` (EZM0121A010) | R | M_T_DENWA |
| `run` (EZM0121C010) | U | M_T_DENWA |
| `run` (EKK0161A010) | R | KK_T_SVC_KEI_ISUCWK |
| `run` (EKK0161E011) | D | KK_T_SVC_KEI_ISUCWK, KK_T_SVC_KEI_SUB |
| `run` (EKK1091D010) | C | KK_T_PROC_REG |
| `run` (EKK0161C190) | D | KK_T_SVC_KEI_ISUCWK, KK_T_SVC_KEI_SUB |
| `clear` (JCCcomFileSearchUtil) | - | — |
| `clear` (JZMAdEdit) | - | — |
| `clear` (KKA17101SFLogic) | - | — |
| `clear` (KKA17201SFLogic) | - | — |
| `clear` (KKA17401SFLogic) | - | — |

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] `(!isSameTelNo)` (L463)

When the operation is NOT a same-number migration, clear the line items (telephonenumber deregistration) before proceeding with the main deletion logic.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `telNoCancel()` // Deregister line items before deletion — called when not a same-number migration |

**Block 2** — [Processing] Parameter extraction (L467-472)

Extract business data from the request parameter map and obtain the current operation date.

| # | Type | Code |
|---|------|------|
| 1 | SET | `param = getRequestParameter()` // Retrieve the request parameter map |
| 2 | SET | `svcKeiNo = param.get("svc_kei_no")` // Service contract number — parent identifier for service details |
| 3 | SET | `beforeSvcKeiUcwkNo = param.get("before_svc_kei_ucwk_no")` // Before-move (origin address) service detail work number |
| 4 | SET | `afterSvcKeiUcwkNo = param.get("after_svc_kei_ucwk_no")` // After-move (destination address) service detail work number |
| 5 | CALL | `opeDate = JCCBPCommon.getOpeDate(null)` // Current operation date for date-based filtering |

**Block 3** — [WHILE] `existDeleteData == true` (L473-533)

Retry loop: continues fetching and deleting service details until no more deletable records exist. This handles cascading deletions where deleting one record may unlock another.

| # | Type | Code |
|---|------|------|
| 1 | SET | `existDeleteData = true` // Initialize loop control flag |
| 2 | CALL | `kk0161_b004_list = getEKK0161B004(svcKeiNo)` // Fetch all service details for this contract |
| 3 | SET | `existDeleteData = false` // Reset flag; set to true when deletion occurs |
| 4 | EXEC | **for-each** `kk0161_b004_map : kk0161_b004_list` // Iterate through each service detail record |

**Block 3.1** — [IF] `ucwkState == "910" || ucwkState == "920"` (L484-485)

Skip records that are already in a cancelled state (910 = cancellation completed, 920 = deregistration completed). This is a no-op filter to avoid re-processing already-closed records.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ucwkState = map.get(SVC_KEI_UCWK_STAT)` // Extract current work state code |
| 2 | EXEC | `continue` // Skip this record — already cancelled or deregistered (910=解約済, 920=キャンセル済) |

**Block 3.2** — [IF] `isSameTelNo == true` (L489)

**Same-number migration branch**: Only delete reservation-type line items at the destination address that have not yet taken effect.

> Javadoc context: 同番移転後に訂正で電番変更された場合は転居先の内訳に存在する予約データを削除する — When the phone number was corrected after a same-number migration, delete the reservation data existing at the destination's line items.

**Block 3.2.1** — [IF] `!beforeSvcKeiUcwkNo.equals(svc_kei_ucwk_no)` (L490-491)

Filter: only process records matching the before-move work number.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `continue` // Target exclusion — not the before-move record |

**Block 3.2.2** — [IF] `opeDate.compareTo(rsvAplyYmd) >= 0` (L493-494)

Filter: only process records where the reservation effective date is in the future. If the reservation date has already passed, the service is already active and should not be deleted.

| # | Type | Code |
|---|------|------|
| 1 | SET | `rsvAplyYmd = map.get(RSV_APLY_YMD)` // Reservation application date (予約適用年月日) |
| 2 | EXEC | `continue` // Target exclusion — reservation already effective (not a pending reservation) |

**Block 3.2.3** — [Processing] Logical deletion of reservation data (L497-500)

Perform the logical deletion of the reservation-type service detail at the destination address.

| # | Type | Code |
|---|------|------|
| 1 | SET | `geneAddDtm = map.get(GENE_ADD_DTM)` // Generation registration datetime (世代登録年月日時分秒) |
| 2 | CALL | `logicalDeleteSvcKeiUcwk(svc_kei_ucwk_no, geneAddDtm)` // Logical deletion — sets cancellation status and removes sub-type records |
| 3 | SET | `existDeleteData = true` // Signal that deletion occurred; loop continues if more records become available |

**Block 3.3** — [ELSE] `isSameTelNo == false` (L503)

**Number change after migration branch**: Fully cancel the service detail at the destination address, register cancellation completion, and update the phone number master if the number is a legal-entity on-net port number.

> Javadoc context: 電番変更後に訂正で再度電番変更された場合は転居先の内訳を削除する — When the phone number is corrected again after a phone number change, delete the destination's line items.

**Block 3.3.1** — [IF] `!afterSvcKeiUcwkNo.equals(svc_kei_ucwk_no)` (L504-505)

Filter: only process records matching the after-move work number.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `continue` // Target exclusion — not the after-move record |

**Block 3.3.2** — [Processing] Full cancellation (L508-511)

Cancel the DSL service detail and register the cancellation completion status.

| # | Type | Code |
|---|------|------|
| 1 | SET | `geneAddDtm = map.get(GENE_ADD_DTM)` // Generation registration datetime |
| 2 | CALL | `cancelDslSvcKeiUcwk(svc_kei_ucwk_no, geneAddDtm)` // Cancel and deregister the service detail via S/IF |
| 3 | CALL | `addEKK1091D010(svcKeiNo, "1201")` // Register progress: cancellation completion (進捗登録「キャンセル完了」) — required for billing interface to process cancellation charges |

**Block 3.3.3** — [Processing] Phone number master update for legal-entity on-net port (L515-531)

AN-4494 Step2 quality enhancement: When the phone number is associated with a legal entity and has an on-net port, update the phone number master's entity classification.

| # | Type | Code |
|---|------|------|
| 1 | SET | `condMap = new HashMap<String, String>()` // Initialize condition map for phone inquiry |
| 2 | CALL | `kk0191_a010_map = getEKK0191A010(svc_kei_ucwk_no)` // Get service detail EO light phone agreement |
| 3 | EXEC | `condMap.clear()` // Clear condition map for reuse |
| 4 | SET | `condMap.put(COND_KEY_TELNO, kk0191_a010_map.get(TELNO))` // Set telephone number as query condition — COND_KEY_TELNO = "cond_key_telno" |
| 5 | CALL | `reqMap = mapper.setEZM0121A010(keepReqParam.get(), keepFixedText.get(), condMap)` // Set up phone number inquiry request |
| 6 | CALL | `resMap = scCall.run(reqMap, keepSesHandle.get())` // Execute EZM0121A010 (Phone Number Inquiry) SC |
| 7 | CALL | `zm0121_a010_map = mapper.getEZM0121A010(keepReqParam.get(), keepFixedText.get(), resMap)` // Get phone number inquiry result |
| 8 | CALL | `mapper.scResultCheck(keepReqParam.get())` // Validate SC execution result |
| 9 | IF | `if (zm0121_a010_map == null || zm0121_a010_map.isEmpty())` → `continue` // Skip if no phone record found |
| 10 | SET | `monaiBmpUm = (SHK_KOJIN_HOJIN_TLN_TAI_CD == CD00410_HOJIN) ? CD00002_UMU_1 : CD00002_UMU_0` // On-net PO presence: legal entity code → "present" (有), otherwise → "absent" (無) |
| 11 | IF | `if (monaiBmpUm == CD00002_UMU_1)` (L528-530) — On-net port is present, update phone number master to reflect legal entity classification |

**Block 3.3.3.1** — [IF] `monaiBmpUm == CD00002_UMU_1` (L528-530)

When on-net port is present (on-net PO present / 網内番ポ有), update the phone number master to set the individual/legal entity phone band code to "2" (Legal entity / 法人). This is required so that the billing interface can correctly process charges.

| # | Type | Code |
|---|------|------|
| 1 | SET | `zm0121_a010_map.put(KOJIN_HOJIN_TLN_TAI_CD, CD00410_HOJIN)` // Set legal entity phone band code — CD00410_HOJIN = "2" (Legal entity) |
| 2 | SET | `zm0121_a010_map.put(LAST_UPD_DTM_BF, zm0121_a010_map.get(UPD_DTM))` // Set last update datetime before (for optimistic concurrency) |
| 3 | CALL | `reqMap = mapper.setEZM0121C010(keepReqParam.get(), keepFixedText.get(), zm0121_a010_map)` // Set up phone number change request (EZM0121C010) |
| 4 | CALL | `resMap = scCall.run(reqMap, keepSesHandle.get())` // Execute EZM0121C010 (Phone Number Change) SC |
| 5 | CALL | `mapper.getEZM0121C010(keepReqParam.get(), keepFixedText.get(), resMap)` // Get phone number change result |
| 6 | CALL | `mapper.scResultCheck(keepReqParam.get())` // Validate SC execution result |
| 7 | SET | `existDeleteData = true` // Signal deletion occurred |

**Block 4** — [Processing] Final update datetime setup (L535)

Set the update datetime into the post-processing parameters after all deletions are complete.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setUpdDtm(svcKeiNo, beforeSvcKeiUcwkNo)` // Set the update datetime for downstream processing |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_no` | Field | Service contract number (サービス契約番号) — The parent identifier for a service contract, grouping one or more line items (内訳) |
| `svc_kei_ucwk_no` | Field | Service detail work number (サービス契約内訳番号) — Internal tracking ID for a specific service contract line item |
| `before_svc_kei_ucwk_no` | Field | Before-move service detail work number (転居元内訳番号) — The line item ID at the original (pre-move) address |
| `after_svc_kei_ucwk_no` | Field | After-move service detail work number (転居先内訳番号) — The line item ID at the destination (post-move) address |
| `base_tel_no` | Field | Base telephone number (基準電話番号) — The telephone number at the before-move address |
| `adchg_tel_no` | Field | Changed telephone number (変更電話番号) — The telephone number entered for the new address in the recent address change registration |
| `modify_tel_no` | Field | Modified telephone number (修正電話番号) — The telephone number that was corrected in the current operation |
| `dsl_flg` | Field | Deregistration flag (解約有無) — Indicates whether the service has been canceled (1 = canceled / 解約) |
| `ucwkState` | Field | Work state code (作業状態コード) — Status of the service detail work: 910 = cancellation completed (解約済), 920 = cancellation/deregistration completed (キャンセル済) |
| `rsvAplyYmd` | Field | Reservation application date (予約適用年月日) — The date when a reservation-type service detail becomes effective |
| `geneAddDtm` | Field | Generation registration datetime (世代登録年月日時分秒) — The timestamp when this version of the record was created; used for logical delete uniqueness |
| `isSameTelNo` | Field | Same-number migration flag (同番移転有無) — Whether the address change preserved the original phone number |
| 同番移転 (*douban itkou*) | Business term | Same-number migration — A type of address change where the customer keeps their existing phone number at the new address |
| 転居元 (*tukie moto*) | Business term | Before-move address (origin address) — The customer's previous address before the move |
| 転居先 (*tukie saki*) | Business term | After-move address (destination address) — The customer's new address after the move |
| 内訳 (*naiwaku*) | Business term | Service detail / line item — Individual service contracts (phone, cable, etc.) under a parent service contract number |
| 論理削除 (*ronri sakujo*) | Business term | Logical deletion — A soft-delete mechanism that marks records as canceled without physically removing them from the database |
| 訂正 (*teisei*) | Business term | Correction — A post-registration amendment to fix errors or update information |
| 進捗登録 (*shincho touroku*) | Business term | Progress registration — A status update mechanism that records the completion state of operations for billing and workflow tracking |
| `CD00410_HOJIN` | Constant | Legal entity phone band code (個人・法人電話番号帯コード: 法人) — Value "2", indicating a phone number assigned to a legal entity |
| `CD00002_UMU_1` | Constant | Presence flag: present (有) — Value "1", indicating on-net port is present (網内番ポ有) |
| `CD00002_UMU_0` | Constant | Presence flag: absent (無) — Value "0", indicating on-net port is not present (網内番ポ無) |
| SHK_KOJIN_HOJIN_TLN_TAI_CD | Field | Shipper individual/legal entity phone band classification code (荷主個人法人電話番号帯区分コード) — Classifies whether a phone number belongs to an individual (個人) or legal entity (法人) |
| KOJIN_HOJIN_TLN_TAI_CD | Field | Individual/legal entity phone band code (個人法人電話番号帯コード) — The code stored in the phone number master indicating entity type |
| 網内番ポ (*mounai ban po*) | Business term | On-net port (port-in) — A telephone number that has been ported within the NTT network, indicating it originated from another carrier |
| SC | Acronym | Service Component — A remote service call in the FJ X21 BPM framework |
| S/IF | Acronym | System Interface — An interface layer that mediates between the application and external systems (billing, phone number master, etc.) |
| EO | Acronym | East Olympic — The brand name for NTT East's fiber-optic broadband service |
| EZM | Acronym | EZM series codes — Phone number master service component codes (e.g., EZM0121A010 for inquiry, EZM0121C010 for change) |
| EKK | Acronym | EKK series codes — Service contract / billing entity service component codes (e.g., EKK0161 for service detail, EKK0191 for EO light phone) |
| KK_T_SVC_KEI_ISUCWK | Entity | Service contract detail work table — Core table storing service line item records |
| KK_T_SVC_KEI_SUB | Entity | Service contract detail sub-type table — Table storing sub-type details (e.g., equipment, add-on services) for each service detail |
| KK_T_PROC_REG | Entity | Progress registration table — Table storing operational progress/completion status for billing interface processing |
| M_T_DENWA | Entity | Phone number master table (電話番号マスタ) — Central table storing telephone number information including line type, entity classification |
| ThreadLocal | Technical | Java ThreadLocal — A mechanism for storing per-thread state (session handle, request parameter, fixed text) shared across methods in the same request |
