# Business Logic — JBSbatKKSvkeiuwDelTgCst.execute() [27 LOC]

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

## 1. Role

### JBSbatKKSvkeiuwDelTgCst.execute()

This method is the main processing entry point for the **Service Contract Line Deletion Target Extraction** batch component. Its business purpose is to extract deletion target data records for services nearing their end-of-contract grace period — so-called "aging update" deletion candidates — based on the incoming service type code. It acts as a **router/dispatcher** that branches processing by service category: for **Internet services** (service code "01"), it delegates to `setDelTrgtDataIn()` which extracts old ISP authentication IDs as deletion targets; for **Telephone services** (service code "02"), it delegates to `setDelTrgtDataTel()` which extracts OABJ phone numbers and SIP user IDs as deletion targets.

The method implements the **delegation pattern** — it reads the service code from the input message, determines which service domain applies, and delegates to specialized helper methods for domain-specific extraction logic. It is a **shared batch utility** called by the broader deletion target extraction batch (`JBSbatKKDelRun`), serving as a data routing and preparation layer between the batch orchestration layer and the domain-specific deletion target extraction logic.

The "aging update" concept means these are services whose grace period for reinstatement is approaching (based on parameters from `ZM_M_WORK_PARAM_KNRI` or `KK_M_PRC_GRP`), and whose delete targets are being queued for downstream processing. The method does not perform any database operations itself — it extracts, classifies, and queues deletion target records into the output bean for subsequent batch steps.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["execute(params)"])
    GET_SVC_CD(["Get svcCd from inMap"])
    COND_SVC["svcCd equals 01?"]
    PROC_IN["setDelTrgtDataIn()"]
    COND_TEL["svcCd equals 02?"]
    PROC_TEL["setDelTrgtDataTel()"]
    RETURN(["Return outputBean"])
    END_N(["Return / Next"])
    START --> GET_SVC_CD
    GET_SVC_CD --> COND_SVC
    COND_SVC --> |Yes| PROC_IN
    COND_SVC --> |No| COND_TEL
    PROC_IN --> COND_TEL
    COND_TEL --> |Yes| PROC_TEL
    COND_TEL --> |No| RETURN
    PROC_TEL --> RETURN
    RETURN --> END_N
```

**CRITICAL — Constant Resolution:**

| Constant | Resolved Value | Business Meaning |
|----------|---------------|------------------|
| `JBSbatKKConst.SVC_CD_IN_SVC` | `"01"` | Internet Service — fiber-optic (EO Light) data service |
| `JBSbatKKConst.SVC_CD_TEL_SVC` | `"02"` | Telephone Service — voice/telephony service |

The method branches on `svcCd`:
- Branch 1 (`svcCd` equals `"01"`): Internet service — triggers extraction of old ISP authentication IDs as deletion targets.
- Branch 2 (`svcCd` equals `"02"`): Telephone service — triggers extraction of OABJ phone numbers and SIP user IDs as deletion targets.
- Default (no match): Returns empty `outputBean` — the service code is unrecognized, so no deletion targets are produced.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `inMap` | `JBSbatServiceInterfaceMap` | The input message carrying the service contract context, including the service code (`SVC_CD`) that determines which domain branch to take. Also carries the service contract number (`SVC_KEI_NO`), service contract line number (`SVC_KEI_UCWK_NO`), generation registration timestamp (`GENE_ADD_DTM`), alternative generation key (`UCWK_GENE`), and service end date (`SVC_ENDYMD`). |

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

| Field | Type | Business Description |
|-------|------|---------------------|
| `super.opeDate` | `String` | (Inherited) The batch operation date — used as a reference date for SQL parameter queries in helper methods |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JBSbatKKSvkeiuwDelTgCst.setDelTrgtDataIn` | - | - | Delegates to Internet service deletion target data setup |
| - | `JBSbatKKSvkeiuwDelTgCst.setDelTrgtDataTel` | - | - | Delegates to Telephone service deletion target data setup |

### Detailed called operations (from helper methods invoked within execute()):

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `executeZM_M_WORK_PARAM_KNRI_KK_SELECT_017` | ZM_M_WORK_PARAM_KNRI | `ZM_M_WORK_PARAM_KNRI` | Reads work parameter for old authentication ID usage grace period count (Internet service path) |
| R | `db_ZM_M_WORK_PARAM_KNRI.selectNext` | ZM_M_WORK_PARAM_KNRI | `ZM_M_WORK_PARAM_KNRI` | Fetches the work parameter record for the grace period duration |
| R | `executeKK_T_SVKEIUW_EOH_NET_KK_SELECT_006` | KK_T_SVKEIUW_EOH_NET | `KK_T_SVKEIUW_EOH_NET` | Retrieves ISP authentication ID for the service contract line (Internet service path) |
| R | `db_KK_T_SVKEIUW_EOH_NET.selectNext` | KK_T_SVKEIUW_EOH_NET | `KK_T_SVKEIUW_EOH_NET` | Fetches the ISP authentication ID record |
| R | `isAddSodHakCfmTrn` | - | - | Checks whether the registration SOD (Service Order Data) has already been issued |
| R | `executeKK_T_ODR_SET_KK_SELECT_011` | KK_T_ODR_SET | `KK_T_ODR_SET` | Queries the order setup table to confirm SOD issuance status (replaced from KK_T_ODR_HAKKO_JOKEN in v5.00.01) |
| R | `db_KK_T_ODR_SET.selectNext` | KK_T_ODR_SET | `KK_T_ODR_SET` | Fetches the order setup record to determine if SOD was already issued |
| R | `executeKK_M_PRC_GRP_KK_SELECT_008` | KK_M_PRC_GRP | `KK_M_PRC_GRP` | Retrieves the recovery permission period (grace period) based on pricing group code (Telephone service path) |
| R | `db_KK_M_PRC_GRP.selectNext` | KK_M_PRC_GRP | `KK_M_PRC_GRP` | Fetches the pricing group recovery period configuration |
| R | `executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_018` | KK_T_SVKEIUW_EOH_TEL | `KK_T_SVKEIUW_EOH_TEL` | Retrieves the OABJ (original) phone number for the service contract line (Telephone service path) |
| R | `db_KK_T_SVKEIUW_EOH_TEL.selectNext` | KK_T_SVKEIUW_EOH_TEL | `KK_T_SVKEIUW_EOH_TEL` | Fetches the OABJ phone number record |
| R | `isDelTrgtNoDataTel` | - | - | Verifies whether the phone number is excluded from deletion targets |
| R | `executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_036` | KK_T_SVKEIUW_EOH_TEL | `KK_T_SVKEIUW_EOH_TEL` | Queries VA (Virtual Apartment) indoor equipment model code and change number |
| R | `executeKK_T_KKTK_SVC_KEI_KK_SELECT_129` | KK_T_KKTK_SVC_KEI | `KK_T_KKTK_SVC_KEI` | Queries equipment-provided service contract details |
| R | `db_KK_T_KKTK_SVC_KEI.selectNext` | KK_T_KKTK_SVC_KEI | `KK_T_KKTK_SVC_KEI` | Fetches the equipment-provided service contract record |
| R | `executeDK_T_HMPIN_KIKI_KK_SELECT_003` | DK_T_HMPIN_KIKI | `DK_T_HMPIN_KIKI` | Queries the return equipment table to check if the equipment is a return unit |
| R | `db_DK_T_HMPIN_KIKI.selectNext` | DK_T_HMPIN_KIKI | `DK_T_HMPIN_KIKI` | Fetches the return equipment record |
| R | `executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_037` | KK_T_SVKEIUW_EOH_TEL | `KK_T_SVKEIUW_EOH_TEL` | Retrieves the SIP user ID for the service contract line (Telephone service path) |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: JBSbatKKDelRun | `JBSbatKKDelRun.invoke` -> `JBSbatKKSvkeiuwDelTgCst.execute(inMap)` | `setDelTrgtDataIn [R] ZM_M_WORK_PARAM_KNRI`, `setDelTrgtDataTel [R] KK_T_SVKEIUW_EOH_TEL` |

**Note:** The `execute` method is only directly referenced within its own class definition (`JBSbatKKSvkeiuwDelTgCst.java`). It is designed as a batch service component invoked by the deletion target extraction batch orchestration class `JBSbatKKDelRun`, which iterates over service records and routes them to this component for deletion target classification and extraction.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(Initialization)` (L194)

> Sets up local variables for the processing context.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tempHakkoParam = new HashMap<Integer, String>()` // Temporary parameter map for issuance parameters |
| 2 | SET | `outputBean = new JBSbatOutputItem()` // Output information bean [-> "出力情報"] |

**Block 2** — [EXEC] `(Get service code from input map)` (L199)

> Extracts the service code from the input message to determine the routing branch.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `svcCd = inMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)` // Get service code [-> "サービスコードの取得"] |

**Block 3** — [IF] `(svcCd equals "01" — Internet Service)` [SVC_CD_IN_SVC="01"] (L202)

> Branch for Internet services. Delegates to `setDelTrgtDataIn()` which processes ISP authentication ID deletion targets.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setDelTrgtDataIn(inMap, outputBean, tempHakkoParam)` // Delete target data setup for Internet [-> "消去対象データ設定処理（インターネット）"] |

**Block 4** — [ELSE-IF] `(svcCd equals "02" — Telephone Service)` [SVC_CD_TEL_SVC="02"] (L208)

> Branch for Telephone services. Delegates to `setDelTrgtDataTel()` which processes OABJ phone number and SIP user ID deletion targets.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setDelTrgtDataTel(inMap, outputBean)` // Delete target data setup for Telephone [-> "消去対象データ設定処理（電話サービス）"] |

**Block 5** — [RETURN] `(Return output)` (L214)

> Returns the populated output bean to the caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return outputBean` // Output information [-> "出力情報"] |

---

### Helper Method Block Details

**Block 6** — [METHOD: `setDelTrgtDataIn`] `(Delete target data setup — Internet Service)` (L230)

> Retrieves the old authentication ID usage grace period, checks if the service end date exceeds it, then queries the ISP authentication ID and prepares an output record if the registration SOD has already been issued.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outmap = new JBSbatServiceInterfaceMap()` // Output record [-> "出力レコード"] |
| 2 | SET | `workSelectWhereParam[0] = "KK_OLDNISID_YYDAYCNT"` // Business parameter ID for old auth ID grace period count |
| 3 | SET | `workSelectWhereParam[1] = super.opeDate` // Operation date |
| 4 | SET | `workSelectWhereParam[2] = super.opeDate` // Operation date |
| 5 | CALL | `executeZM_M_WORK_PARAM_KNRI_KK_SELECT_017(workSelectWhereParam)` // Query work parameter |
| 6 | EXEC | `nextRec = db_ZM_M_WORK_PARAM_KNRI.selectNext()` // Fetch parameter record |

**Block 6.1** — [IF] `(nextRec != null)` (L245)

> The work parameter record exists; proceed with processing.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcEndYmd = inMap.getString(JBSbatKK_T_SVC_KEI.SVC_ENDYMD)` // Service end date [-> "サービス終了年月日"] |
| 2 | SET | `cschJiOldNinshoIdUseYuyoNisu = nextRec.getString(JBSbatZM_M_WORK_PARAM_KNRI.WORK_PARAM_SETTE_VALUE)` // Old auth ID usage grace period count [-> "コース変更時旧認証ID利用猶予日数"] |

**Block 6.1.1** — [IF] `(isOverDate(svcEndYmd, cschJiOldNinshoIdUseYuyoNisu))` (L250)

> If the service has already ended and exceeded the grace period, skip this record entirely.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return` // Early exit — grace period expired |

**Block 6.1.2** — [ELSE] `(Grace period not yet expired; continue processing)` (L253)

> The service is within its reinstatement grace period; proceed to extract deletion targets.

| # | Type | Code |
|---|------|------|
| 1 | SET | `selectWhereParam[0] = inMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO)` // Service contract line number |
| 2 | SET | `selectWhereParam[1] = inMap.getString("UCWK_GENE")` // Generation registration timestamp (alternative key) |
| 3 | CALL | `executeKK_T_SVKEIUW_EOH_NET_KK_SELECT_006(selectWhereParam)` // Query ISP authentication ID |
| 4 | EXEC | `nextRec = db_KK_T_SVKEIUW_EOH_NET.selectNext()` // Fetch ISP auth record |

**Block 6.1.2.1** — [IF] `(nextRec != null)` (L265)

> ISP authentication ID record exists; check if SOD has been issued.

| # | Type | Code |
|---|------|------|
| 1 | IF | `isAddSodHakCfmTrn(inMap)` // Check if registration SOD already issued [-> "対象のISP認証IDの登録SODが発行済みの場合のみ出力"] |

**Block 6.1.2.1.1** — [IF-TRUE] `(SOD already issued)` (L268)

> Only output when the registration SOD has already been issued — this ensures only valid, processed deletion targets are queued.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outmap.setString(JBSbatKKIFM160.DEL_TRAN_SBT, DEL_TRAN_SBT_SOD_AGING_UPD)` // Deletion processing type = 3 [-> "削除処理種類（削除SOD発行・エイジング更新）"] [-> CONSTANT="3"] |
| 2 | SET | `outmap.setString(JBSbatKKIFM160.DEL_TRGT_SBT, DEL_TRGT_SBT_OLD_ISP_NINSHO_ID)` // Delete target type = 02 [-> "消去対象種類((旧)ISP認証ID)"] [-> CONSTANT="02"] |
| 3 | SET | `outmap.setString(JBSbatKKIFM160.SVKEI_NO, inMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO))` // Service contract number [-> "サービス契約番号"] |
| 4 | SET | `outmap.setString(JBSbatKKIFM160.SVKEI_GADTM, inMap.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM))` // Service contract generation registration timestamp [-> "サービス契約世代登録年月日時分秒"] |
| 5 | SET | `outmap.setString(JBSbatKKIFM160.SVKEIUW_NO, inMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO))` // Service contract line number [-> "サービス契約内訳番号"] |
| 6 | SET | `outmap.setString(JBSbatKKIFM160.SVKEIUW_GADTM, inMap.getString("UCWK_GENE"))` // Service contract line generation timestamp [-> "サービス契約内訳世代登録年月日時分秒"] |
| 7 | SET | `outmap.setString(JBSbatKKIFM160.ISP_NINSHO_ID, nextRec.getString(JBSbatKK_T_SVKEIUW_EOH_NET.ISP_NINSHO_ID))` // ISP authentication ID [-> "ISP認証ID"] |
| 8 | EXEC | `outmap.setOutFlg(true)` // Set output flag |
| 9 | EXEC | `outputBean.addOutMapList(outmap)` // Add to output list |

**Block 7** — [METHOD: `setDelTrgtDataTel`] `(Delete target data setup — Telephone Service)` (L336)

> Retrieves the recovery permission period for the pricing group, checks if the service end date exceeds it, then queries the OABJ phone number and SIP user ID to prepare output records.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outmap = new JBSbatServiceInterfaceMap()` // Output record 1 [-> "出力レコード"] |
| 2 | SET | `outmap2 = new JBSbatServiceInterfaceMap()` // Output record 2 (SIP) [-> "出力レコード"] |
| 3 | SET | `workSelectWhereParam[0] = inMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD)` // Pricing group code [-> "料金グループコード"] |
| 4 | CALL | `executeKK_M_PRC_GRP_KK_SELECT_008(workSelectWhereParam)` // Query recovery permission period |
| 5 | EXEC | `nextRec = db_KK_M_PRC_GRP.selectNext()` // Fetch pricing group record |

**Block 7.1** — [IF] `(nextRec != null)` (L352)

> The pricing group record exists; proceed with processing.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcEndYmd = inMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_ENDYMD)` // Service end date [-> "サービス終了年月日"] |
| 2 | SET | `kaihkPsbPrd = nextRec.getString(JBSbatKK_M_PRC_GRP.KAIHK_PSB_PRD)` // Recovery permission period [-> "回復可能期間"] |

**Block 7.1.1** — [IF] `(isOverDate(svcEndYmd, kaihkPsbPrd))` (L357)

> If the service has ended and exceeded the recovery period, skip this record.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return` // Early exit — recovery period expired |

**Block 7.1.2** — [ELSE] `(Recovery period not yet expired)` (L360)

> The service is within its reinstatement grace period; extract deletion targets.

| # | Type | Code |
|---|------|------|
| 1 | SET | `selectWhereParam[0] = inMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO)` // Service contract line number |
| 2 | SET | `selectWhereParam[1] = inMap.getString("UCWK_GENE")` // Generation key |
| 3 | SET | `selectWhereParam[2] = super.opeDate` // Operation date |
| 4 | SET | `selectWhereParam[3] = super.opeDate` // Operation date |
| 5 | CALL | `executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_018(selectWhereParam)` // Query OABJ phone number |
| 6 | EXEC | `nextRec = db_KK_T_SVKEIUW_EOH_TEL.selectNext()` // Fetch OABJ phone record |

**Block 7.1.2.1** — [IF] `(nextRec != null)` (L385)

> OABJ phone number record exists; check if it's a deletion target.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isDelTrgtNoDataTel(inMap, nextRec.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO))` // Check if NOT excluded from deletion [-> "消去対象外確認処理"] |

**Block 7.1.2.1.1** — [IF-TRUE] `(Phone number IS a deletion target)` (L392)

> The phone number is a valid deletion target — prepare and queue output.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outmap.setString(JBSbatKKIFM160.DEL_TRAN_SBT, DEL_TRAN_SBT_AGING_UPD)` // Deletion processing type = 2 [-> "削除処理種類（エイジング更新）"] [-> CONSTANT="2"] |
| 2 | SET | `outmap.setString(JBSbatKKIFM160.DEL_TRGT_SBT, DEL_TRGT_SBT_OABJ_TLN)` // Delete target type = 09 [-> "消去対象種類(OABJ電話番号)"] [-> CONSTANT="09"] |
| 3 | SET | `outmap.setString(JBSbatKKIFM160.SVKEI_NO, inMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO))` // Service contract number |
| 4 | SET | `outmap.setString(JBSbatKKIFM160.SVKEI_GADTM, inMap.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM))` // Service contract generation timestamp |
| 5 | SET | `outmap.setString(JBSbatKKIFM160.SVKEIUW_NO, inMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO))` // Service contract line number |
| 6 | SET | `outmap.setString(JBSbatKKIFM160.SVKEIUW_GADTM, inMap.getString("UCWK_GENE"))` // Service contract line generation timestamp |
| 7 | SET | `outmap.setString(JBSbatKKIFM160.OABJ_TELNO, nextRec.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO))` // OABJ phone number [-> "OABJ電話番号"] |
| 8 | EXEC | `outmap.setOutFlg(true)` // Set output flag |
| 9 | EXEC | `outputBean.addOutMapList(outmap)` // Add to output list |

**Block 7.1.2.2** — [CALL] `(SIP user ID extraction — Telephone service)` (L414)

> After the OABJ phone number extraction, also query and extract the SIP user ID as a separate deletion target record.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_037(selectWhereParam)` // Query SIP user ID [-> "SIPユーザーIDの取得"] |
| 2 | EXEC | `nextRec = db_KK_T_SVKEIUW_EOH_TEL.selectNext()` // Fetch SIP user record |

**Block 7.1.2.2.1** — [IF] `(nextRec != null)` (L418)

> SIP user ID record exists; prepare and queue output.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outmap2.setString(JBSbatKKIFM160.DEL_TRAN_SBT, DEL_TRAN_SBT_AGING_UPD)` // Deletion processing type = 2 [-> "削除処理種類（エイジング更新）"] [-> CONSTANT="2"] |
| 2 | SET | `outmap2.setString(JBSbatKKIFM160.DEL_TRGT_SBT, DEL_TRGT_SBT_SIP_USER_ID)` // Delete target type = 17 [-> "消去対象種類(SIPユーザーID)"] [-> CONSTANT="17"] |
| 3 | SET | `outmap2.setString(JBSbatKKIFM160.SVKEI_NO, inMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO))` // Service contract number |
| 4 | SET | `outmap2.setString(JBSbatKKIFM160.SVKEI_GADTM, inMap.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM))` // Service contract generation timestamp |
| 5 | SET | `outmap2.setString(JBSbatKKIFM160.SVKEIUW_NO, inMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO))` // Service contract line number |
| 6 | SET | `outmap2.setString(JBSbatKKIFM160.SVKEIUW_GADTM, inMap.getString("UCWK_GENE"))` // Service contract line generation timestamp |
| 7 | SET | `outmap2.setString(JBSbatKKIFM160.SIP_USER_ID, nextRec.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.SIP_USER_ID))` // SIP user ID [-> "SIPユーザーID"] |
| 8 | EXEC | `outmap2.setOutFlg(true)` // Set output flag |
| 9 | EXEC | `outputBean.addOutMapList(outmap2)` // Add to output list |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_cd` | Field | Service code — classifies the service type (e.g., "01" = Internet, "02" = Telephone) |
| `svc_kei_no` | Field | Service contract number — unique identifier for a service contract line |
| `svc_kei_ucwk_no` | Field | Service contract line detail number — internal tracking ID for service contract sub-lines |
| `gene_add_dtm` | Field | Generation registration timestamp — when the service contract record was created/registered |
| `ucwk_gene` | Field | Alternative contract line generation key — used for version identification of contract line data |
| `svc_endymd` | Field | Service end date — the date when the service contract terminates |
| `prc_grp_cd` | Field | Pricing group code — classifies the service's pricing tier/plan |
| `del_tran_sbt` | Field | Deletion processing type — indicates the deletion method ("1" = delete with SOD issuance, "2" = aging update, "3" = delete with SOD issuance + aging update) |
| `del_trgt_sbt` | Field | Deletion target type — indicates the kind of data being deleted ("02" = old ISP authentication ID, "09" = OABJ phone number, "17" = SIP user ID) |
| `isp_ninsho_id` | Field | ISP authentication ID — the authentication credential for Internet service access |
| `telno` | Field | Telephone number — the OABJ (original) phone number associated with the service |
| `sip_user_id` | Field | SIP user ID — the Session Initiation Protocol user identifier for VoIP telephony |
| `work_param_sette_value` | Field | Work parameter settlement value — the configured grace period value from the work parameter management table |
| `kaihk_psb_prd` | Field | Recovery permission period — the maximum number of days after service end during which reinstatement is possible |
| `cschJiOldNinshoIdUseYuyoNisu` | Field | Course change old authentication ID usage grace period count — days allowed to use the old auth ID after a course change |
| SOD | Acronym | Service Order Data — the order record that authorizes service provisioning or cancellation changes |
| Aging Update | Business term | A deletion processing type where data is flagged for removal without immediate SOD issuance — used for services within their reinstatement grace period |
| OABJ | Acronym | Original (reference to the original/primary telephone number, distinguishing it from ported or alternate numbers) |
| SIP | Acronym | Session Initiation Protocol — the signaling protocol used for VoIP call setup and management |
| ISP | Acronym | Internet Service Provider — the network authentication entity for Internet connectivity |
| VOIP | Acronym | Voice over Internet Protocol — internet-based telephony service |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service (EO Light brand at K-Opticom) |
| KK_T_SVKEIUW_EOH_NET | Table | Service contract line (EO Light Internet) table — stores ISP authentication IDs for fiber internet services |
| KK_T_SVKEIUW_EOH_TEL | Table | Service contract line (EO Light Telephone) table — stores OABJ phone numbers and SIP user IDs for telephone services |
| KK_M_PRC_GRP | Table | Pricing group master table — stores pricing configuration including recovery permission periods |
| ZM_M_WORK_PARAM_KNRI | Table | Work parameter management table — stores operational parameters like grace period day counts |
| KK_T_ODR_SET | Table | Order setup table — stores order records to verify if SOD has been issued |
| KK_T_KKTK_SVC_KEI | Table | Equipment-provided service contract table — stores details of equipment-provided service contracts |
| DK_T_HMPIN_KIKI | Table | Return equipment table — stores information about return/backup equipment |
| K-Opticom | Business term | Japanese telecommunications operator; the domain context for all service data in this system |
| `opeDate` | Field | Operation date — the batch processing date, used as a reference in SQL queries |
| `isOverDate` | Method | Utility method that checks whether the service end date exceeds the grace period — if true, the service is past its reinstatement window |
| `isAddSodHakCfmTrn` | Method | Confirms whether the registration SOD has already been issued for a given service contract line |
| `isDelTrgtNoDataTel` | Method | Verifies whether a phone number should be excluded from deletion targets (e.g., if it's associated with return equipment) |
