# Business Logic — JKKAdchgCancelHakkoSODCC.cancel() [162 LOC]

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

## 1. Role

### JKKAdchgCancelHakkoSODCC.cancel()

The `cancel` method orchestrates the **cancellation of Service Order Data (SOD)** issued during address change (Jusho Henkou) processing in the K-Opticom telecommunications customer base system. When a customer changes their registered address, the system may have previously issued Service Orders (SOD) for associated services such as FTTH broadband, landline telephone, or optional add-ons. This method reverses those issued orders by iterating through each service contract item and dispatching the appropriate cancellation SOD generation logic.

It handles **two primary service types**: FTTH (Fiber To The Home, code "1") and landline telephone (code "2"), routing each to dedicated cancellation handlers (`hakkoSODNet` for fiber-optic services and `hakkoSODTel` for telephony). Services outside these types (mobile, ADSL, etc.) are silently skipped.

The method implements the **routing/dispatch pattern**: it evaluates each service contract type via `svcKeiJdg`, then delegates to the correct handler. It also enforces **resource management** by holding the session handle in a ThreadLocal during processing and releasing it in a finally block.

As a **shared utility** component (CC = Common Component), it is called by multiple screen operations (KKSV0725, KKSV0729) that process address change workflows. It is not an entry point itself, but rather a reusable business service that processes the cancellation of SOD for all service types listed in the input. The method returns early with a success status (code "0000") if no service contracts are present, treating that as an empty-valid case.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["cancel params"])
    START --> TRY["Try Block"]
    TRY --> HOLD["Keep Session Handle in ThreadLocal"]
    HOLD --> EXTRACT["Extract inMap from param.getData"]
    EXTRACT --> GETFUNC["Get funcCD from inMap FUNC_CODE_KEY"]
    GETFUNC --> GETLIST["Get odr_hakko_svc_kei_list from inMap"]
    GETLIST --> COND1{funcCD is blank or FUNC_CODE_2 equals 2 or list is null or list size is 0?}
    COND1 --> Yes["Yes"]
    COND1 --> No["No"]
    Yes --> EARLY_EXIT["Set Return Code 0000 with Success Message"]
    EARLY_EXIT --> RETURN1["Return param"]
    No --> ITERATE["Iterate odr_hakko_svc_kei_list"]
    ITERATE --> RESET["Reset fields to empty or new String arrays"]
    RESET --> EXTRACTDATA["Extract trgt_data_map from iterator"]
    EXTRACTDATA --> TRGT{trgt_data_map is null?}
    TRGT --> Yes2["Yes - skip"]
    TRGT --> No2["No"]
    Yes2 --> NEXTITEM["Next item in outer loop"]
    No2 --> GETSVC["Get use_svc_chg_div from trgt_data_map"]
    GETSVC --> GETTRIGGER["Get hakko_trgr_trgt_list from trgt_data_map"]
    GETTRIGGER --> TRIGGCOND{hakko_trgr_trgt_list null or empty?}
    TRIGGCOND --> Yes3["Yes - skip"]
    TRIGGCOND --> No3["No"]
    No3 --> ITERATETRIGGER["Iterate hakko_trgr_trgt_list"]
    ITERATETRIGGER --> EXTRACTTRIGGER["Extract hakko_trgr_trgt_data_map"]
    EXTRACTTRIGGER --> GETKIKI["Get kiki_trgt_data_list from map"]
    GETKIKI --> GETOPT["Get opt_trgt_data_list from map"]
    GETOPT --> GETDIV["Get odr_exec_div from trgt_data_map"]
    GETDIV --> RESETFLAG["Reset flags: isChgPlaceZumi, isRadiusZumi, isNetClOdrHkZumi"]
    RESETFLAG --> ITERATEKIKI["Iterate kiki_trgt_data_list"]
    ITERATEKIKI --> JUDGE["svcKeiJdg param kiki_sodMap"]
    JUDGE --> SVCNET{SVC_KIND_NET equals 1?}
    SVCNET --> Yes4["Yes"]
    SVCNET --> No4["No"]
    Yes4 --> EXECNET["hakkoSODNet"]
    No4 --> SVCTEL{SVC_KIND_TEL equals 2?}
    SVCTEL --> Yes5["Yes"]
    SVCTEL --> No5["No"]
    Yes5 --> EXECTEL["hakkoSODTel"]
    No5 --> NOSVC["Skip unsupported service"]
    EXECNET --> NEXTKIKI["Next item in kiki_trgt_data_list"]
    EXECTEL --> NEXTKIKI
    NOSVC --> NEXTKIKI
    ITERATEOPT["Iterate opt_trgt_data_list"] --> OPTJUDGE["svcKeiJdg param opt_sodMap"]
    OPTJUDGE --> OPTNET{SVC_KIND_NET equals 1?}
    OPTNET --> Yes6["Yes"]
    OPTNET --> No6["No"]
    Yes6 --> EXECOPTNET["hakkoSODNet"]
    No6 --> OPTTEL{SVC_KIND_TEL equals 2?}
    OPTTEL --> Yes7["Yes"]
    OPTTEL --> No7["No"]
    Yes7 --> EXECOPTTEL["hakkoSODTel"]
    No7 --> OPTSKIP["Skip"]
    EXECOPTNET --> NEXTOPT["Next item in opt_trgt_data_list"]
    EXECOPTTEL --> NEXTOPT
    OPTSKIP --> NEXTOPT
    NEXTKIKI --> KIKI_END{kiki_trgt_data_list ended?}
    KIKI_END --> No6a["No"]
    KIKI_END --> Yes8["Yes"]
    No6a --> JUDGE
    Yes8 --> ITERATEOPT
    NEXTOPT --> OPT_END{opt_trgt_data_list ended?}
    OPT_END --> No7a["No"]
    OPT_END --> Yes9["Yes"]
    No7a --> OPTJUDGE
    Yes9 --> NEXTTRIGGER["Next item in hakko_trgr_trgt_list"]
    NEXTTRIGGER --> TRIGGER_END{hakko_trgr_trgt_list ended?}
    TRIGGER_END --> No8["No"]
    TRIGGER_END --> Yes10["Yes"]
    No8 --> EXTRACTTRIGGER
    Yes10 --> NEXTOUTER["Next item in odr_hakko_svc_kei_list"]
    NEXTOUTER --> OUTER_END{odr_hakko_svc_kei_list ended?}
    OUTER_END --> No9["No"]
    OUTER_END --> Yes11["Yes"]
    No9 --> RESET
    Yes11 --> FINALLY["Finally Block"]
    FINALLY --> RELEASE["Release ThreadLocal keepSesHandle"]
    RELEASE --> RETURN2["Return param"]
```

**Conditional Branch Summary:**

| Condition | Constant | Value | Branch Behavior |
|-----------|----------|-------|-----------------|
| `isBlank(funcCD)` OR `FUNC_CODE_2` OR list empty | `JKKHakkoSODConstCC.FUNC_CODE_2` | `"2"` | Early exit with return code "0000" (no processing) |
| Service type check | `JKKHakkoSODConstCC.SVC_KIND_NET` | `"1"` | Route to `hakkoSODNet` for fiber-optic cancellation |
| Service type check | `JKKHakkoSODConstCC.SVC_KIND_TEL` | `"2"` | Route to `hakkoSODTel` for telephony cancellation |
| Other | `SVC_KIND_MOB` / `ADSL` / `ELSE` | `"4"` / `"5"` / `"99"` | Silently skip (no action) |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Session manager handle carrying the database connection, transaction context, and authentication information for the current business session. Used to maintain transaction boundaries when calling underlying service components and CBS (Common Business Services). |
| 2 | `param` | `IRequestParameterReadWrite` | Parameter object containing both a data map (`getData(fixedText)` returns a HashMap of service contract records) and a control map (`setControlMapData` for return codes and messages). It carries the complete payload of service contracts eligible for cancellation. |
| 3 | `fixedText` | `String` | User-arbitrary text string used as the key to retrieve the target HashMap from the parameter's data store. It identifies which section of the parameter holds the cancellation request data. |

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

| Field | Type | Business Description |
|-------|------|---------------------|
| `keepSesHandle` | `ThreadLocal<SessionHandle>` | Thread-local holder for session handle, used to store and release the session context during and after cancellation processing. |
| `mae_recode_chbf_op_svc_kei_no` | `String` | Previous record: pre-change operation service contract number. Reset at each iteration. |
| `mae_recode_chbf_op_svc_kei_gene_add_dtm` | `String` | Previous record: pre-change operation service contract generation registration timestamp. |
| `mae_recode_chaf_op_svc_kei_no` | `String` | Previous record: post-change operation service contract number. |
| `mae_recode_chaf_op_svc_kei_gene_add_dtm` | `String` | Previous record: post-change operation service contract generation registration timestamp. |
| `mae_recode_ch_svc_kei_no` | `String` | Previous record: service contract number. |
| `same_trn_no` | `String` | Same processing number — a transaction tracking identifier. |
| `svc_kei_ucwk_no` | `String[]` | Service detail work number array. Re-initialized per iteration. |
| `kktk_svc_kei_no` | `String[]` | Equipment-provided service contract number array. |
| `svc_kei_ucwk_gadtm` | `String[]` | Service detail work registration timestamp array. |
| `kktk_svc_kei_gadtm` | `String[]` | Equipment-provided service contract registration timestamp array. |
| `taknkiki_model_cd` | `String[]` | Equipment model code array. |
| `kiki_seizo_no` | `String[]` | Equipment manufacturing serial number array. |
| `chbf_kktk_svc_kei_gadtm` | `String[]` | Pre-change equipment-provided service contract generation timestamp array. |
| `kkop_svc_kei_va` | `String[]` | Multi-function router VA (Virtual Access) service contract array. |
| `kkop_svc_kei_va_gadtm` | `String[]` | Multi-function router VA registration timestamp array. |
| `kkop_svc_kei_router` | `String[]` | Multi-function router service contract array. |
| `kkop_svc_kei_router_gadtm` | `String[]` | Multi-function router registration timestamp array. |
| `isChgPlaceZumi` | `boolean` | Flag indicating whether place change processing has been completed. Reset per iteration. |
| `isRadiusZumi` | `boolean` | Flag indicating whether RADIUS processing has been completed. |
| `va_kiki_list` | `ArrayList<String>` | List of VA (Virtual Access) equipment items. |
| `isNetClOdrHkZumi` | `boolean` | Flag indicating whether network cancellation order processing has been completed. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| CALL | `JKKAdchgCancelHakkoSODCC.svcKeiJdg` | - | - | Determines service type of each service contract item — returns service kind code (NET="1", TEL="2", etc.) |
| CALL | `JKKAdchgCancelHakkoSODCC.hakkoSODNet` | - | - | Generates cancellation SOD for FTTH (fiber-optic) broadband services |
| CALL | `JKKAdchgCancelHakkoSODCC.hakkoSODTel` | - | - | Generates cancellation SOD for landline telephone services |
| CALL | `JKKAdchgCancelHakkoSODCC.isBlank` | - | - | Utility check whether a String is null or blank |
| R | `JCMAPLConstMgr.getString` | JCMAPLConstMgr | - | Retrieves localized status message by return code key (e.g., "RETURN_MESSAGE_0000") |

**Note:** The `hakkoSODNet` and `hakkoSODTel` methods contain the actual service component (SC) and CBS (Common Business Service) calls that perform the terminal CRUD operations. Those methods are not analyzed here because they are delegated calls handled in separate methods of the same class. The `cancel` method itself is a **control-plane coordinator** — it iterates, judges, and dispatches, without directly performing any database operations.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0725 | `KKSV0725OPOperation` -> `CCRequestBroker target81` -> `JKKAdchgCancelHakkoSODCC.cancel` | `hakkoSODNet [C] cancellation SOD generation`, `hakkoSODTel [C] cancellation SOD generation` |
| 2 | Screen:KKSV0729 | `KKSV0729OPOperation` -> `CCRequestBroker target6e` -> `JKKAdchgCancelHakkoSODCC.cancel` | `hakkoSODNet [C] cancellation SOD generation`, `hakkoSODTel [C] cancellation SOD generation` |

**Caller Details:**

1. **KKSV0725OPOperation** — Address change screen operation. Uses `CCRequestBroker target81` to invoke the `cancel` method through the mapping class `KKSV0725306CC`. This screen handles FTTH address change workflows where issued SOD must be cancelled upon address change.

2. **KKSV0729OPOperation** — Another address change screen operation. Uses `CCRequestBroker target6e` to invoke the `cancel` method through the mapping class `KKSV072960CC`. This screen also handles address change processing including SOD cancellation.

Both callers invoke `cancel` as part of a broader address change (Jusho Henkou) workflow where the system must reverse any previously issued Service Orders.

## 6. Per-Branch Detail Blocks

**Block 1** — [TRY] (L460)

> The method begins a try-finally block for resource management. The session handle is preserved in a ThreadLocal variable at the start of processing.

| # | Type | Code |
|---|------|------|
| 1 | SET | `keepSesHandle.set(handle)` // Store session handle in ThreadLocal for later release [resource management] |
| 2 | EXEC | `HashMap inMap = (HashMap) param.getData(fixedText)` // Extract target data map from parameter object |
| 3 | SET | `funcCD = (String) inMap.get(JCMConstants.FUNC_CODE_KEY)` // Extract function code from data map |
| 4 | SET | `odr_hakko_svc_kei_list = (ArrayList) inMap.get(JKKAdchgHakkoSODConstCC.ODR_HAKKO_SVC_KEI_LIST)` // Get list of service contracts eligible for SOD issuance/cancellation |

**Block 2** — [IF] `(isBlank(funcCD) OR FUNC_CODE_2 equals "2" OR null == odr_hakko_svc_kei_list OR 0 == odr_hakko_svc_kei_list.size())` [ODR_HAKKO_SVC_KEI_LIST="odr_hakko_svc_kei_list"] (L473)

> Early exit guard clause. If no function code is present, if the function code matches FUNC_CODE_2 ("2"), or if the service contract list is empty or null, the method treats this as a valid empty case and returns success status code "0000" without processing any cancellations.

| # | Type | Code |
|---|------|------|
| 1 | SET | `formatStatus = String.format("%1$04d", 0)` // Format success code "0000" |
| 2 | CALL | `message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus)` // Retrieve localized success message |
| 3 | EXEC | `param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus)` // Set return code in control map |
| 4 | EXEC | `param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message)` // Set return message in control map |
| 5 | RETURN | `return param` // Exit early with success status |

**Block 3** — [WHILE] `odr_hakko_svc_kei_Ite.hasNext()` (L477)

> Outer loop: iterates through each service contract item in the list of SOD issuance targets. For each item, it resets all instance fields to clean state, then processes the nested structure of trigger targets, equipment contracts, and option contracts.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mae_recode_chbf_op_svc_kei_no = ""` // Clear previous record pre-change op service contract no |
| 2 | SET | `mae_recode_chbf_op_svc_kei_gene_add_dtm = ""` // Clear previous record pre-change op svc kei gene add dtm |
| 3 | SET | `mae_recode_chaf_op_svc_kei_no = ""` // Clear previous record post-change op service contract no |
| 4 | SET | `mae_recode_chaf_op_svc_kei_gene_add_dtm = ""` // Clear previous record post-change op svc kei gene add dtm |
| 5 | SET | `mae_recode_ch_svc_kei_no = ""` // Clear previous record service contract no |
| 6 | SET | `same_trn_no = ""` // Clear same processing number |
| 7 | SET | `svc_kei_ucwk_no = new String[1]` // Initialize service detail work number array |
| 8 | SET | `kktk_svc_kei_no = new String[1]` // Initialize equipment-provided service contract no array |
| 9 | SET | `svc_kei_ucwk_gadtm = new String[1]` // Initialize service detail work reg dtm array |
| 10 | SET | `kktk_svc_kei_gadtm = new String[1]` // Initialize equipment-provided service contract reg dtm array |
| 11 | SET | `taknkiki_model_cd = new String[1]` // Initialize equipment model code array |
| 12 | SET | `kiki_seizo_no = new String[1]` // Initialize equipment serial number array |
| 13 | SET | `chbf_kktk_svc_kei_gadtm = new String[1]` // Initialize pre-change equipment-provided svc kei gene add dtm array |
| 14 | SET | `kkop_svc_kei_va = new String[1]` // Initialize multi-function router VA array |
| 15 | SET | `kkop_svc_kei_va_gadtm = new String[1]` // Initialize multi-function router VA reg dtm array |
| 16 | SET | `kkop_svc_kei_router = new String[1]` // Initialize multi-function router array |
| 17 | SET | `kkop_svc_kei_router_gadtm = new String[1]` // Initialize multi-function router reg dtm array |
| 18 | SET | `trgt_data_map = (HashMap<String, Object>) odr_hakko_svc_kei_Ite.next()` // Get next target data map |

**Block 3.1** — [IF] `(null != trgt_data_map)` (L497)

> Guard: skip processing if the target data map itself is null (corrupted or missing data in the list).

| # | Type | Code |
|---|------|------|
| 1 | SET | `use_svc_chg_div = (String) trgt_data_map.get(JKKAdchgHakkoSODConstCC.USE_SVC_CHG_DIV)` // Get usage service change classification |
| 2 | SET | `hakko_trgr_trgt_list = (ArrayList<HashMap<String, Object>>) trgt_data_map.get(JKKAdchgHakkoSODConstCC.HAKKO_TRGR_TRGT_LIST)` // Get issuance trigger target list |

**Block 3.2** — [IF] `(null == hakko_trgr_trgt_list OR 0 == hakko_trgr_trgt_list.size())` (L502)

> If no trigger targets exist for this service contract, skip to the next item without processing.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `continue` // Skip to next outer loop iteration |

**Block 4** — [WHILE] `hakko_trgr_trgt_Ite.hasNext()` (L507)

> Inner loop: iterates through each issuance trigger target within the service contract. Each trigger target contains equipment contracts and option contracts that may need cancellation SOD generation.

| # | Type | Code |
|---|------|------|
| 1 | SET | `hakko_trgr_trgt_data_map = (HashMap<String, Object>) hakko_trgr_trgt_Ite.next()` // Get next trigger target data map |
| 2 | SET | `kiki_trgt_data_list = (ArrayList<HashMap<String, Object>>) hakko_trgr_trgt_data_map.get(JKKAdchgHakkoSODConstCC.KIKI_TRGT_DATA_LIST)` // Get equipment contract list (service contract + equipment) |
| 3 | SET | `opt_trgt_data_list = (ArrayList<HashMap<String, Object>>) hakko_trgr_trgt_data_map.get(JKKAdchgHakkoSODConstCC.OPT_TRGT_DATA_LIST)` // Get option contract list (service contract + option) |
| 4 | SET | `odr_exec_div = (String) trgt_data_map.get(JKKAdchgHakkoSODConstCC.ODR_EXEC_DIV)` // Get issuance trigger classification code |
| 5 | SET | `isChgPlaceZumi = false` // Reset place change completed flag (IT1-2012-0002287) |
| 6 | SET | `isRadiusZumi = false` // Reset RADIUS completed flag (OM-2013-0003213) |
| 7 | SET | `va_kiki_list = new ArrayList<String>()` // Initialize VA equipment list |
| 8 | SET | `isNetClOdrHkZumi = false` // Reset network cancellation order completed flag (OM-2015-0001574) |

**Block 5** — [WHILE] `kiki_trgt_data_list_Ite.hasNext()` (L527)

> Processes each equipment contract item (service contract + equipment). The `kiki_trgt_data_list` represents the main service contracts paired with physical equipment items.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kiki_sodMap = kiki_trgt_data_list_Ite.next()` // Get next equipment contract map |
| 2 | SET | `taishoSvc = svcKeiJdg(param, kiki_sodMap)` // Determine service type of this contract item |

**Block 5.1** — [IF] `SVC_KIND_NET equals "1"` [JKKHakkoSODConstCC.SVC_KIND_NET="1"] (L533)

> FTTH (Fiber To The Home) broadband service detected. Dispatch to the fiber-optic service order cancellation handler.

| # | Type | Code |
|---|------|------|
| 1 | SET | `param = hakkoSODNet(param, kiki_sodMap, fixedText, use_svc_chg_div, odr_exec_div)` // Generate cancellation SOD for FTTH |

**Block 5.2** — [ELSE IF] `SVC_KIND_TEL equals "2"` [JKKHakkoSODConstCC.SVC_KIND_TEL="2"] (L539)

> Landline telephone service detected. Dispatch to the telephony service order cancellation handler.

| # | Type | Code |
|---|------|------|
| 1 | SET | `param = hakkoSODTel(param, kiki_sodMap, fixedText, use_svc_chg_div, odr_exec_div)` // Generate cancellation SOD for landline telephone |

**Block 5.3** — [ELSE] (L544)

> Unsupported service type (mobile, ADSL, etc.). No action is taken — the loop simply continues to the next item.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | // No action (silently skip unsupported service types) |

**Block 6** — [WHILE] `opt_trgt_data_list_Ite.hasNext()` (L551)

> Processes each option contract item (service contract + options). The `opt_trgt_data_list` represents service contracts paired with optional add-on services (e.g., antivirus, additional IP addresses).

| # | Type | Code |
|---|------|------|
| 1 | SET | `kiki_sodMap = opt_trgt_data_list_Ite.next()` // Get next option contract map |
| 2 | SET | `taishoSvc = svcKeiJdg(param, kiki_sodMap)` // Determine service type of this option contract |

**Block 6.1** — [IF] `SVC_KIND_NET equals "1"` [JKKHakkoSODConstCC.SVC_KIND_NET="1"] (L557)

> FTTH option detected. Dispatch to fiber-optic cancellation handler for the option contract.

| # | Type | Code |
|---|------|------|
| 1 | SET | `param = hakkoSODNet(param, kiki_sodMap, fixedText, use_svc_chg_div, odr_exec_div)` // Generate cancellation SOD for FTTH option |

**Block 6.2** — [ELSE IF] `SVC_KIND_TEL equals "2"` [JKKHakkoSODConstCC.SVC_KIND_TEL="2"] (L563)

> Landline telephone option detected. Dispatch to telephony cancellation handler for the option contract.

| # | Type | Code |
|---|------|------|
| 1 | SET | `param = hakkoSODTel(param, kiki_sodMap, fixedText, use_svc_chg_div, odr_exec_div)` // Generate cancellation SOD for landline telephone option |

**Block 6.3** — [ELSE] (L568)

> Unsupported option service type. No action is taken.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | // No action (silently skip unsupported option service types) |

**Block 7** — [FINALLY] (L571)

> Resource cleanup. The ThreadLocal session handle is released regardless of whether processing succeeded or threw an exception.

| # | Type | Code |
|---|------|------|
| 1 | IF | `keepSesHandle.get() != null` |
| 2 | EXEC | `keepSesHandle.remove()` // Release ThreadLocal session handle |
| 3 | RETURN | `return param` // Return the parameter object with results |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| SOD | Acronym | Service Order Data — telecommunications order fulfillment entity representing orders for service provisioning, changes, or cancellations |
| cancel | Business term | Cancellation of previously issued Service Order Data (SOD), reversing prior service provisioning orders |
| 住所変更 (Jusho Henkou) | Field | Address Change — the business context in which SOD cancellation is triggered; when a customer changes their registered address, previously issued SOD must be cancelled |
| `funcCD` | Field | Function Code — identifies the type of function being executed; value "2" (FUNC_CODE_2) indicates a specific function context that triggers early exit |
| `odr_hakko_svc_kei_list` | Field | Order Issuance Service Contract List — ArrayList of service contracts eligible for SOD issuance/cancellation |
| `hakko_trgr_trgt_list` | Field | Issuance Trigger Target List — list of targets that triggered the SOD issuance, containing equipment and option contracts |
| `kiki_trgt_data_list` | Field | Equipment Target Data List — list of service contract + equipment pairs for cancellation processing |
| `opt_trgt_data_list` | Field | Option Target Data List — list of service contract + option pairs for cancellation processing |
| `use_svc_chg_div` | Field | Usage Service Change Classification — indicates the type of service change being performed (keep, change, add, cancel, etc.) |
| `odr_exec_div` | Field | Order Execution Classification — codes "1" (address change registration), "2" (dismantle completion), "3" (new construction completion) |
| `svc_kei_jdg` | Field | Service Kind Judgment — method that determines the type of a service contract (FTTH, telephone, etc.) |
| SVC_KIND_NET | Constant | Service kind code "1" — FTTH (Fiber To The Home) broadband service |
| SVC_KIND_TEL | Constant | Service kind code "2" — landline telephone service |
| SVC_KIND_MOB | Constant | Service kind code "4" — mobile service |
| SVC_KIND_ADSL | Constant | Service kind code "5" — ADSL service |
| SVC_KIND_ELSE | Constant | Service kind code "99" — other services |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service provided by K-Opticom |
| FUNC_CODE_2 | Constant | Function code "2" — specific function type that causes early exit in cancel method |
| `isChgPlaceZumi` | Field | Place Change Completed Flag — indicates whether address/place change processing has been completed |
| `isRadiusZumi` | Field | RADIUS Completed Flag — indicates whether RADIUS (network authentication) processing has been completed |
| `isNetClOdrHkZumi` | Field | Network Cancellation Order Completion Flag — indicates whether network-related cancellation order processing has been completed |
| `mae_recode_chbf_op_svc_kei_no` | Field | Previous Record Pre-Change Operation Service Contract Number — tracks the service contract number before a change |
| `same_trn_no` | Field | Same Processing Number — transaction tracking identifier used to group related processing steps |
| ThreadLocal | Technical | Java ThreadLocal — thread-safe storage that holds the session handle per-thread, ensuring session cleanup even if exceptions occur |
| `fixedText` | Parameter | User-Arbitrary Text String — serves as the data map key to retrieve the cancellation target data from the parameter object |
| `taishoSvc` | Field | Target Service — result of service type judgment for the current contract item |
| CC | Acronym | Common Component — a reusable business logic component in the K-Opticom application architecture |
| K-Opticom | Business term | Japanese broadband and telecommunications ISP providing fiber-optic internet, landline telephone, and related services |
