# Business Logic — JKKKikiIchiranKkCreateCC.execSecurityPackOperateCC() [146 LOC]

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

## 1. Role

### JKKKikiIchiranKkCreateCC.execSecurityPackOperateCC()

This method orchestrates the **Security Pack operation** within the equipment registration (Kiki Ichiran Kk Create) workflow. It is a shared common component (CC) called by `execUpdatePremiumPack()` to prepare and dispatch service pack data for either **addition (registration)** or **cancellation (termination)** of security-related subscription services.

The method acts as a **data-assembler and dispatcher**: it extracts business context (system ID, service contract number, application detail number, update timestamp, and transfer type) from the working area and temporary data maps, assembles add-info and conditionally cancel-info lists into a structured message map, and delegates the actual service execution to `JKKSecurityPackOperateCC.execute()`.

A key conditional branch is driven by the presence of SP (Smartlink Premium) message data — if `EKK0451B010CBSMsg1List` exists in the call message, the method treats the operation as a **transfer with inheritance** (`hikitugi_um = "1"`), and additionally builds a **cancel-info list** with charge/uncharge code assignments for each service pack type. After the security pack CC returns, the method compares post-operation update timestamps against the stored pre-operation timestamp and overwrites the working area timestamp with whichever list (add or cancel) produced the newer timestamp.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["execSecurityPackOperateCC"])
    START --> GET_WORK["Get workMap from param.getMappingWorkArea()"]
    GET_WORK --> GET_TEMPLATE["Get ekk0081a010 from temporaryData by TEMPLATE_ID_EKK0081A010"]
    GET_TEMPLATE --> INIT_MAP["param.setData(SECURITYPACK_OP_CC, new HashMap)"]
    INIT_MAP --> GET_OUTMAP["Get ccMsg and outMap from param.getData()"]
    GET_OUTMAP --> CHECK_SP{"isSp check"}
    CHECK_SP -->|"EKK0451B010CBSMsg1List != null and length > 0"| TRUE_SP["isSp = true"]
    CHECK_SP -->|"else"| FALSE_SP["isSp = false"]
    TRUE_SP --> PUT_FUNC["outMap.put(func_code, FUNC_CODE_1 = \"1\")"]
    FALSE_SP --> PUT_FUNC
    PUT_FUNC --> SET_HIKI{"isSp branch"}
    SET_HIKI -->|"true"| SET_HIKI_ARI["outMap.put(hikitugi_um, CD_DIV_UM_ARI = \"1\")"]
    SET_HIKI -->|"false"| SET_HIKI_NASHI["outMap.put(hikitugi_um, CD_DIV_UM_NASHI = \"0\")"]
    SET_HIKI_ARI --> PUT_IDO["outMap.put(ido_div, ccMsg.ido_div)"]
    SET_HIKI_NASHI --> PUT_IDO
    PUT_IDO --> BUILD_ADD["Build addInfoList and addInfoMap"]
    BUILD_ADD --> SET_ADD_FIELDS["Set addInfoMap: sysid, svc_kei_no, mskm_dtl_no, upd_dtm_bf, security_pack_tg_flg, premium_pack_tg_flg, inetsgwl_tg_flg, ntfmlprm_tg_flg"]
    SET_ADD_FIELDS --> ADD_TO_LIST["addInfoList.add(addInfoMap)"]
    ADD_TO_LIST --> PUT_ADD_LIST["outMap.put(add_info_list, addInfoList)"]
    PUT_ADD_LIST --> CHECK_CANCEL{"isSp branch"}
    CHECK_CANCEL -->|"true"| BUILD_CANCEL["Build cancelInfoList and cancelInfoMap"]
    CHECK_CANCEL -->|"false"| EXEC_CC["Create JKKSecurityPackOperateCC and execute()"]
    BUILD_CANCEL --> SET_CANCEL_FIELDS["Set cancelInfoMap: sysid, svc_kei_no, mskm_dtl_no, upd_dtm_bf, security_pack_tg_flg, chrg codes, premium/inetsgwl/ntfmlprm flags and codes"]
    SET_CANCEL_FIELDS --> ADD_CANCEL_TO_LIST["cancelInfoList.add(cancelInfoMap)"]
    ADD_CANCEL_TO_LIST --> PUT_CANCEL_LIST["outMap.put(cancel_info_list, cancelInfoList)"]
    PUT_CANCEL_LIST --> EXEC_CC
    EXEC_CC --> GET_ADD_RESULT["Get addInfoResultList and addInfoResultMap from outMap"]
    GET_ADD_RESULT --> GET_UPD_DTM["Get kkComSvcUpDtm from workMap and addUpdDtmAf from result"]
    GET_UPD_DTM --> COMPARE_UPD{"addUpdDtmAf.compareTo(kkComSvcUpDtm) > 0?"}
    COMPARE_UPD -->|"true"| UPDATE_WORKMAP["workMap.put(KK_COM_SVC_UP_DTM, addUpdDtmAf)"]
    COMPARE_UPD -->|"false"| CHECK_CANCEL_LIST["cancelInfoResultList != null"]
    UPDATE_WORKMAP --> CHECK_CANCEL_LIST
    CHECK_CANCEL_LIST -->|"true"| GET_CANCEL_RESULT["Get cancelInfoResultMap from cancelInfoResultList"]
    CHECK_CANCEL_LIST -->|"false"| END_PROC["END"]
    GET_CANCEL_RESULT --> GET_CANCEL_UPD["Get cancelUpdDtmAf from result"]
    GET_CANCEL_UPD --> COMPARE_CANCEL{"cancelUpdDtmAf.compareTo(kkComSvcUpDtm) > 0?"}
    COMPARE_CANCEL -->|"true"| UPDATE_WORKMAP_CANCEL["workMap.put(KK_COM_SVC_UP_DTM, cancelUpdDtmAf)"]
    COMPARE_CANCEL -->|"false"| END_PROC
    UPDATE_WORKMAP_CANCEL --> END_PROC
    END_PROC(["Return / Next"])
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Database session handle carrying the active transaction context — used by the delegated `JKKSecurityPackOperateCC.execute()` for DB operations. |
| 2 | `scCall` | `ServiceComponentRequestInvoker` | Service component request invoker — available for SC (Service Component) calls, though not directly used in this method (passed through to the delegated CC). |
| 3 | `param` | `IRequestParameterReadWrite` | Request parameter carrier holding the working area (`getMappingWorkArea()`), data maps (`getData()`), and the security pack operation message map (`setData()`). Acts as the primary data conduit between calling screen and the CC. |
| 4 | `dataMapKey` | `String` | Key to retrieve the call message map (`ccMsg`) from `param` — contains caller-provided business context such as `ido_div` (transfer type), `svc_kei_no` (service contract number), and the `EKK0451B010CBSMsg1List` SP array. |
| 5 | `temporaryData` | `HashMap<String, Object>` | Temporary data store holding template-agreed messages. Contains `EKK0081A010` template message with fields like `SYSID` for building the add/cancel info maps. |

**Instance fields / external state read:**
- `TEMPLATE_ID_EKK0081A010` — Constant: `"EKK0081A010"`, template ID for service contract agreement message.
- `SECURITYPACK_OP_CC` — Constant: `"JKKSecurityPackOperateCC"`, key for the security pack operation data map.
- `FUNC_CODE_1` — Constant: `"1"`, function code for "check & register".
- `KK_COM_SVC_UP_DTM` — Constant: `"KK_COM_SVC_UP_DTM"`, key for service contract update timestamp in the working area.
- `JKKStrConst.CD_DIV_UM_ARI` — Constant: `"1"`, "with inheritance" flag.
- `JKKStrConst.CD_DIV_UM_NASHI` — Constant: `"0"`, "without inheritance" flag.
- `getNullToStr()` — Utility method for null-to-empty-string conversion.
- `getMskmDtlNo()` — Helper method to compute the application detail number.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `EKK0081A010CBSMsg1List.getString` | (template) | KK_T_SVC_KEI (Service Contract) | Reads SYSID from the service contract agreement template message. |
| R | `IRequestParameterReadWrite.getData` | — | — | Retrieves the call message map (`ccMsg`) and the security pack operation map by key. |
| W | `IRequestParameterReadWrite.setData` | — | — | Writes an empty HashMap as the security pack operation data map. |
| C | `JKKSecurityPackOperateCC.execute` | JKKSecurityPackOperateCC | — | Delegates to the security pack operation CC which performs add/cancel operations on security pack, premium pack, internet gateway, and notification mail premium subscription services. See Section 4.1. |
| R | `JKKKikiIchiranKkCreateCC.getMskmDtlNo` | (self) | — | Helper to resolve the application detail number from param and template message. |
| R | `JKKKikiIchiranKkCreateCC.getNullToStr` | (self) | — | Utility for null-safe string extraction. |

### 4.1 JKKSecurityPackOperateCC.execute() — Deep-Dive

When `JKKSecurityPackOperateCC.execute()` is called, it internally routes to `main()` or `adChgMain()` based on `ido_div`. The `main()` method performs the following operations:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `dslWrib` (Security Pack add) | JKKStrConst.WRIB_SVC_CD_SECURITY_PACK | KK_T_PCRS (Price Code/Service) | Registers/updates Security Pack subscription. |
| U | `dslWrib` (Premium Pack add) | JKKStrConst.WRIB_SVC_SMARTLINK_PREMIUM | KK_T_PCRS | Registers/updates Smartlink Premium subscription. |
| U | `dslWrib` (Security Pack cancel) | JKKStrConst.WRIB_SVC_CD_SECURITY_PACK | KK_T_PCRS | Cancels Security Pack subscription. |
| U | `dslWrib` (Premium Pack cancel) | JKKStrConst.WRIB_SVC_SMARTLINK_PREMIUM | KK_T_PCRS | Cancels Smartlink Premium subscription. |
| U | `dslOption` (Remote Support cancel) | JKKStrConst.OP_SVC_CD_RMTSPRT_PLUS | KK_T_OP_SVC (Option Service) | Cancels Remote Support Plus option service. |
| U | `dslOption` (McAfee cancel) | JKKStrConst.OP_SVC_CD_MCAFEE_MULTI_ACCSS | KK_T_OP_SVC | Cancels McAfee Multi Access option service. |
| U | `dslOption` (Internet Gateway cancel) | JKKStrConst.OP_SVC_CD_INETSGWL | KK_T_OP_SVC | Cancels Internet Gateway service. |
| U | `dslOption` (Notification Mail Premium cancel) | JKKStrConst.OP_SVC_CD_NTFMLPRM | KK_T_OP_SVC | Cancels Notification Mail Premium service. |
| U | `addOption` (Remote Support add) | JKKStrConst.OP_SVC_CD_RMTSPRT_PLUS | KK_T_OP_SVC | Registers Remote Support Plus option. |
| U | `addOption` (McAfee add) | JKKStrConst.OP_SVC_CD_MCAFEE_MULTI_ACCSS | KK_T_OP_SVC | Registers McAfee Multi Access option. |
| U | `addOption` (Internet Gateway add) | JKKStrConst.OP_SVC_CD_INETSGWL | KK_T_OP_SVC | Registers Internet Gateway service. |
| U | `addOption` (Notification Mail Premium add) | JKKStrConst.OP_SVC_CD_NTFMLPRM | KK_T_OP_SVC | Registers Notification Mail Premium. |
| U | `addSupportOption` (Remote Support add) | JKKStrConst.OP_SVC_CD_RMTSPRT_PLUS | KK_T_OP_SVC | Registers Remote Support Plus via support path. |
| C | `invokeHakkoSODCC` | (SOD Issuance CC) | KK_T_SOD (Service Order Data) | Issues a service order data record for subscribed services. |

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 11 methods.
Terminal operations from this method: `execute` [-], `getNullToStr` [R], `getMskmDtlNo` [R], `getNullToStr` [R], `getNullToStr` [R], `getString` [R], `getString` [R], `getString` [R], `getString` [R], `getString` [R], `getNullToStr` [R], `getMskmDtlNo` [R], `getNullToStr` [R], `getNullToStr` [R], `getString` [R], `getString` [R], `getString` [R], `getString` [R], `getString` [R], `getData` [R]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CC: `JKKKikiIchiranKkCreateCC.execUpdatePremiumPack()` | `execUpdatePremiumPack()` → `execSecurityPackOperateCC()` | `JKKSecurityPackOperateCC.execute [U/C] KK_T_PCRS, KK_T_OP_SVC, KK_T_SOD` |

## 6. Per-Branch Detail Blocks

### Block 1 — SETUP (L4624)

> Acquire working area, template message, and initialize the security pack operation data map.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `Map workMap = param.getMappingWorkArea();` // Get the working area for timestamp tracking |
| 2 | SET | `CAANMsg ekk0081a010 = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0081A010 = "EKK0081A010");` // Retrieve service contract agreement template message |
| 3 | EXEC | `param.setData(SECURITYPACK_OP_CC = "JKKSecurityPackOperateCC", new HashMap<String, Object>());` // Initialize empty operation map |

### Block 2 — SP (Smartlink Premium) DETECTION AND HEADER SETUP (L4637)

> Extract call message, detect SP context, and set the operation header fields.

| # | Type | Code |
|---|------|------|
| 1 | SET | `HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(dataMapKey);` // Get call message map |
| 2 | SET | `HashMap<String, Object> outMap = (HashMap<String, Object>)param.getData(SECURITYPACK_OP_CC = "JKKSecurityPackOperateCC");` // Get operation result map |
| 3 | SET | `CAANMsg[] ekk0451b010CBSMsg1List = (CAANMsg[])ccMsg.get("EKK0451B010CBSMsg1List");` // SP detection: Smartlink Premium message list |
| 4 | SET | `boolean isSp = (null != ekk0451b010CBSMsg1List && 0 < ekk0451b010CBSMsg1List.length);` // True if SP messages exist |
| 5 | EXEC | `outMap.put("func_code", FUNC_CODE_1 = "1");` // Set function code: check & register |

### Block 3 — INHERITANCE FLAG (hikitugi_um) — IF/ELSE (L4646)

> Determine whether this is a transfer with inheritance (SP) or without (non-SP).

**Block 3.1** — IF `isSp` is true (L4647)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `outMap.put("hikitugi_um", JKKStrConst.CD_DIV_UM_ARI = "1");` // Transfer WITH inheritance |

**Block 3.2** — ELSE `isSp` is false (L4650)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `outMap.put("hikitugi_um", JKKStrConst.CD_DIV_UM_NASHI = "0");` // Transfer WITHOUT inheritance |

### Block 4 — TRANSFER TYPE (ido_div) (L4655)

> Pass through the transfer type from the call message.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `outMap.put("ido_div", ccMsg.get("ido_div"));` // Transfer type (new contract, service add, equipment change, option setting) |

### Block 5 — ADD INFO LIST CONSTRUCTION (L4657)

> Build the registration (add) information list with all target flags.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<HashMap<String, String>> addInfoList = new ArrayList<HashMap<String, String>>();` // Registration info list |
| 2 | SET | `HashMap<String, String> addInfoMap = new HashMap<String, String>();` // Data holder map |
| 3 | SET | `addInfoMap.put("sysid", getNullToStr(ekk0081a010.getString(EKK0081A010CBSMsg1List.SYSID)));` // System ID — resolved from template message |
| 4 | SET | `addInfoMap.put("svc_kei_no", getNullToStr((String)ccMsg.get("svc_kei_no")));` // Service contract number |
| 5 | SET | `addInfoMap.put("mskm_dtl_no", getMskmDtlNo(param, ekk0081a010, ccMsg));` // Application detail number — computed by helper |
| 6 | SET | `addInfoMap.put("upd_dtm_bf", getNullToStr((String)workMap.get(KK_COM_SVC_UP_DTM = "KK_COM_SVC_UP_DTM")));` // Pre-operation update timestamp |
| 7 | SET | `addInfoMap.put("security_pack_tg_flg", JKKStrConst.CD_DIV_UM_NASHI = "0");` // Security Pack target flag: NOT targeted (add path) |
| 8 | SET | `addInfoMap.put("premium_pack_tg_flg", JKKStrConst.CD_DIV_UM_ARI = "1");` // Premium Pack target flag: targeted |
| 9 | SET | `addInfoMap.put("inetsgwl_tg_flg", JKKStrConst.CD_DIV_UM_NASHI = "0");` // Internet Gateway target flag: NOT targeted |
| 10 | SET | `addInfoMap.put("ntfmlprm_tg_flg", JKKStrConst.CD_DIV_UM_NASHI = "0");` // Notification Mail Premium target flag: NOT targeted |
| 11 | EXEC | `addInfoList.add(addInfoMap);` // Add to list |
| 12 | EXEC | `outMap.put("add_info_list", addInfoList);` // Store in operation map |

### Block 6 — CANCEL INFO LIST — IF isSp (L4663)

> When this is a Smartlink Premium transfer, also build a cancellation (deletion) info list.

**Block 6.1** — IF `isSp` is true (L4663)

> Build the cancellation information list with service pack cancellation flags and charge/uncharge codes for each service type.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<HashMap<String, String>> cancelInfoList = new ArrayList<HashMap<String, String>>();` // Cancellation info list |
| 2 | SET | `HashMap<String, String> cancelInfoMap = new HashMap<String, String>();` // Data holder map |
| 3 | SET | `cancelInfoMap.put("sysid", getNullToStr(ekk0081a010.getString(EKK0081A010CBSMsg1List.SYSID)));` // System ID |
| 4 | SET | `cancelInfoMap.put("svc_kei_no", getNullToStr((String)ccMsg.get("svc_kei_no")));` // Service contract number |
| 5 | SET | `cancelInfoMap.put("mskm_dtl_no", getMskmDtlNo(param, ekk0081a010, ccMsg));` // Application detail number |
| 6 | SET | `cancelInfoMap.put("upd_dtm_bf", getNullToStr((String)workMap.get(KK_COM_SVC_UP_DTM)));` // Pre-operation update timestamp |
| 7 | SET | `cancelInfoMap.put("security_pack_tg_flg", JKKStrConst.CD_DIV_UM_ARI = "1");` // Security Pack target: targeted for cancellation |
| 8 | SET | `cancelInfoMap.put("security_pack_chrg_hichrg_cd", "1");` // Security Pack charge/uncharge code: "1" |
| 9 | SET | `cancelInfoMap.put("premium_pack_tg_flg", JKKStrConst.CD_DIV_UM_NASHI = "0");` // Premium Pack target: NOT targeted for cancellation |
| 10 | SET | `cancelInfoMap.put("premium_pack_chrg_hichrg_cd", "2");` // Premium Pack charge/uncharge code: "2" |
| 11 | SET | `cancelInfoMap.put("inetsgwl_tg_flg", JKKStrConst.CD_DIV_UM_NASHI = "0");` // Internet Gateway target: NOT targeted for cancellation |
| 12 | SET | `cancelInfoMap.put("inetsgwl_chrg_hichrg_cd", "2");` // Internet Gateway charge/uncharge code: "2" |
| 13 | SET | `cancelInfoMap.put("ntfmlprm_tg_flg", JKKStrConst.CD_DIV_UM_NASHI = "0");` // Notification Mail Premium target: NOT targeted for cancellation |
| 14 | SET | `cancelInfoMap.put("ntfmlprm_chrg_hichrg_cd", "2");` // Notification Mail Premium charge/uncharge code: "2" |
| 15 | EXEC | `cancelInfoList.add(cancelInfoMap);` // Add to list |
| 16 | EXEC | `outMap.put("cancel_info_list", cancelInfoList);` // Store in operation map |

### Block 7 — SECURITY PACK CC EXECUTION (L4731)

> Instantiate and execute the delegated security pack operation component.

| # | Type | Code |
|---|------|------|
| 1 | SET | `JKKSecurityPackOperateCC jkkSecurityPackOperateCC = new JKKSecurityPackOperateCC();` // Create CC instance |
| 2 | CALL | `jkkSecurityPackOperateCC.execute(handle, param, SECURITYPACK_OP_CC);` // Execute: performs add/cancel operations on security pack, premium pack, internet gateway, notification mail premium, remote support |

### Block 8 — ADD RESULT PROCESSING (L4735)

> Extract the add-info result and update the working area timestamp if the add operation produced a newer timestamp.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<HashMap<String, String>> addInfoResultList = (ArrayList<HashMap<String, String>>)outMap.get("add_info_list");` // Get add result list |
| 2 | SET | `HashMap<String, String> addInfoResultMap = addInfoResultList.get(0);` // Get first entry |
| 3 | SET | `String kkComSvcUpDtm = (String) workMap.get(KK_COM_SVC_UP_DTM = "KK_COM_SVC_UP_DTM");` // Current stored timestamp |
| 4 | SET | `String addUpdDtmAf = addInfoResultMap.get("upd_dtm_af");` // Post-operation add timestamp |

### Block 9 — ADD TIMESTAMP COMPARISON — IF (L4740)

> If the add operation's post-operation timestamp is newer than the stored timestamp, overwrite.

**Block 9.1** — IF `addUpdDtmAf.compareTo(kkComSvcUpDtm) > 0` (L4741)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `workMap.put(KK_COM_SVC_UP_DTM, addUpdDtmAf);` // Overwrite with the newer add timestamp |

### Block 10 — CANCEL RESULT PROCESSING — IF cancelInfoResultList != null (L4746)

> If a cancel-info list was populated (only in SP transfers), process the cancel result timestamp.

**Block 10.1** — IF `cancelInfoResultList != null` (L4746)

> Retrieve cancel result and compare timestamps.

| # | Type | Code |
|---|------|------|
| 1 | SET | `HashMap<String, String> cancelInfoResultMap = cancelInfoResultList.get(0);` // Get cancel result entry |
| 2 | SET | `kkComSvcUpDtm = (String) workMap.get(KK_COM_SVC_UP_DTM);` // Re-read timestamp (may have been updated by add block) |
| 3 | SET | `String cancelUpdDtmAf = cancelInfoResultMap.get("upd_dtm_af");` // Post-operation cancel timestamp |

### Block 11 — CANCEL TIMESTAMP COMPARISON — IF (L4749)

> If the cancel operation's post-operation timestamp is newer than the stored timestamp, overwrite.

**Block 11.1** — IF `cancelUpdDtmAf.compareTo(kkComSvcUpDtm) > 0` (L4750)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `workMap.put(KK_COM_SVC_UP_DTM, cancelUpdDtmAf);` // Overwrite with the newer cancel timestamp |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `execSecurityPackOperateCC` | Method | Security Pack Operation Common Component — orchestrates add/cancel of security-related subscription services |
| `JKKSecurityPackOperateCC` | Class | Security Pack Operation CC — delegated component that performs the actual add/cancel operations on subscription services |
| `EKK0081A010` | Template ID | Service Contract Agreement template — holds the master service contract data including SYSID |
| `EKK0451B010CBSMsg1List` | Data key | Smartlink Premium message list array — presence indicates a Smartlink Premium transfer operation |
| FUNC_CODE_1 | Constant | `"1"` — Function code for "check and register" operations |
| SECURITYPACK_OP_CC | Constant | `"JKKSecurityPackOperateCC"` — Key for the security pack operation data map in param |
| TEMPLATE_ID_EKK0081A010 | Constant | `"EKK0081A010"` — Template ID for service contract agreement |
| KK_COM_SVC_UP_DTM | Constant | `"KK_COM_SVC_UP_DTM"` — Key for the service contract update timestamp in the working area |
| CD_DIV_UM_ARI | Constant | `"1"` — "With inheritance" flag (used for transfer operations where the contract is inherited) |
| CD_DIV_UM_NASHI | Constant | `"0"` — "Without inheritance" flag (used for new registrations or standalone operations) |
| isSp | Variable | Boolean indicating whether this is a Smartlink Premium transfer operation |
| hikitugi_um | Data field | Inheritance flag — determines whether the service contract carries over from a previous contract |
| ido_div | Data field | Transfer type — classifies the transfer (new contract, service add, equipment change, option setting) |
| add_info_list | Data field | List of registration (add) information maps sent to the security pack CC |
| cancel_info_list | Data field | List of cancellation information maps — only present for SP transfer operations |
| security_pack_tg_flg | Data field | Security Pack target flag — whether to add/cancel the security pack subscription |
| premium_pack_tg_flg | Data field | Premium Pack (Smartlink Premium) target flag |
| inetsgwl_tg_flg | Data field | Internet Gateway target flag |
| ntfmlprm_tg_flg | Data field | Notification Mail Premium target flag |
| chrg_hichrg_cd | Data field | Charge/uncharge code — "1" typically means charge, "2" means uncharge (fee waiver) |
| sysid | Data field | System ID — unique system identifier from the service contract template |
| svc_kei_no | Data field | Service contract number — the unique identifier for a service contract line item |
| mskm_dtl_no | Data field | Application detail number — internal tracking ID for the application detail |
| upd_dtm_bf | Data field | Update date/time before operation — pre-operation timestamp of the service contract |
| upd_dtm_af | Data field | Update date/time after operation — post-operation timestamp returned by the security pack CC |
| CC | Acronym | Common Component — a shared reusable business logic component in the Fujitsu Futurity framework |
| SC | Acronym | Service Component — a lower-level component that interfaces with database/CBS operations |
| CBS | Acronym | Core Business System — the backend database/business logic layer |
| SP | Acronym | Smartlink Premium — a premium subscription service package |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband service (contextual domain) |
| Remote Support Plus | Business term | Remote technical support option service (OP_SVC_CD_RMTSPRT_PLUS) |
| McAfee Multi Access | Business term | Antivirus/security software subscription option (OP_SVC_CD_MCAFEE_MULTI_ACCSS) |
| Internet Gateway (eo) | Business term | Internet gateway connection service for eo customers (OP_SVC_CD_INETSGWL) |
| Notification Mail Premium | Business term | Premium notification email service (OP_SVC_CD_NTFMLPRM) |
| KK_T_PCRS | DB table | Price code / service table — stores subscription service pricing and contract data |
| KK_T_OP_SVC | DB table | Option service table — stores optional add-on service subscriptions |
| KK_T_SOD | DB table | Service Order Data table — stores issued service order records |
| KK_T_SVC_KEI | DB table | Service contract table — stores service contract master data |
