# Business Logic — JKKWrisvcAutoAplyCCMapper.callWrisvcTgSvcIcrnShokai() [224 LOC]

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

## 1. Role

### JKKWrisvcAutoAplyCCMapper.callWrisvcTgSvcIcrnShokai()

This method retrieves the list of **discount service target services** (割引サービス対象サービス) for a given discount service, serving as the data-fetching bridge between the discount-service-auto-apply business logic and the underlying Service Component (SC) layer. Specifically, it calls the `EKK0851B001BS` service (discount service target service inquiry SC, SC key `KKSV031307SC`) to look up all services that are eligible for discount application under the specified discount service. The method implements the **adapter/mapping pattern**: it transforms CC-level work-area maps (`ccMap`, `ccMapWribSvc`) into SC-level request maps, invokes the remote service via `ServiceComponentRequestInvoker`, then transforms the SC response back into CC-level structures that the caller can consume. It is a **shared utility** called by multiple auto-apply workflow entry points (e.g., simulation target service lookup, rate-plan inquiry) and is central to the discount service eligibility determination process. The method maps exactly **30 fields** from the SC output record into each work-area child map, covering current service codes, pricing group/cost/plan codes, operator/sub-operator service codes, device provision service codes, billing operator service codes, pre-change (before price change) field values, and service contract count/limit metadata. A v3.00.00 change (ANK-1578-00-00) added the `KKOP_SVC_CD` and `CHGE_BF_KKOP_SVC_CD` fields for device operator service support.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["callWrisvcTgSvcIcrnShokai(ccMap, ccMapWribSvc, funcCd, renban)"])
    START --> BUILD_MAP_NAME["Build mapName from ccMapNm + KKSV031307SC + renban"]
    BUILD_MAP_NAME --> CREATE_IN_MAP["Create new inMap HashMap"]
    CREATE_IN_MAP --> CALL_SET_DATA["cmnParam.setData(mapName, inMap)"]
    CALL_SET_DATA --> PUT_FUNC_CODE["inMap.put(FUNC_CODE, funcCd)"]
    PUT_FUNC_CODE --> PUT_MAX_SEARCH["inMap.put(MAX_SEARCH_NUM, MAX_SEARCH_NUM_DEFAULT)"]
    PUT_MAX_SEARCH --> PUT_WRIB_SVC_CD["inMap.put(KEY_WRIB_SVC_CD, ccMapWribSvc.WRIB_SVC_CD)"]
    PUT_WRIB_SVC_CD --> PUT_KJNYMD["inMap.put(KEY_KJNYMD, ccMap.MSKM_YMD)"]
    PUT_KJNYMD --> CREATE_MAPPER["Create KKSV031307SC Mapper"]
    CREATE_MAPPER --> CALL_EDIT_INMSG["mapper.editInMsg(cmnParam) -> paramMap"]
    CALL_EDIT_INMSG --> CREATE_INVOKER["Create ServiceComponentRequestInvoker"]
    CREATE_INVOKER --> CALL_SC_RUN["scCall.run(paramMap, cmnHandle) -> result"]
    CALL_SC_RUN --> CALL_EDIT_RESULT["cmnParam = mapper.editResultRP(result, cmnParam)"]
    CALL_EDIT_RESULT --> CALL_CHECK["checkExecutionResult(result)"]
    CALL_CHECK --> GET_OUT_MAP["outMap = cmnParam.getData(mapName)"]
    GET_OUT_MAP --> GET_SVC_LIST["list = outMap.EKK0851B001CBSMSG1LIST"]
    GET_SVC_LIST --> GET_WRISVC_LIST["ccMapWribSvc.WRISVC_TG_SVC_LIST"]
    GET_WRISVC_LIST --> CHECK_NULL{wrisvcTgSvcList == null?}
    CHECK_NULL -->|Yes| CREATE_LIST["wrisvcTgSvcList = new ArrayList"]
    CHECK_NULL -->|No| CLEAR_LIST["wrisvcTgSvcList.clear()"]
    CREATE_LIST --> ENTER_LOOP["for each outMapWrisvcTgSvc in list"]
    CLEAR_LIST --> ENTER_LOOP
    ENTER_LOOP --> CREATE_ITEM["ccMapWrisvcTgSvc = new HashMap"]
    CREATE_ITEM --> MAP_FIELDS["Copy 30 fields from SC output to work area map"]
    MAP_FIELDS --> ADD_TO_LIST["wrisvcTgSvcList.add(ccMapWrisvcTgSvc)"]
    ADD_TO_LIST --> LOOP_END{More items?}
    LOOP_END -->|Yes| ENTER_LOOP
    LOOP_END -->|No| RETURN_LIST["Return wrisvcTgSvcList"]
    RETURN_LIST --> END(["End"])
```

**Constant Resolution:**

| Constant | Actual Value | Business Meaning |
|----------|-------------|------------------|
| `KKSV0313_KKSV0313OP.KKSV031307SC` | `"KKSV031307SC"` | SC key — Discount Service Target Service Inquiry |
| `KKSV0313_KKSV0313OP_WORK.FUNC_CODE` | `"FUNC_CODE"` | Function code |
| `KKSV0313_KKSV0313OP_KKSV031307SC.MAX_SEARCH_NUM` | `"max_search_num"` | Maximum search items |
| `KKSV0313_KKSV0313OP_KKSV031307SC.KEY_WRIB_SVC_CD` | `"key_wrib_svc_cd"` | Key discount service code |
| `KKSV0313_KKSV0313OP_KKSV031307SC.KEY_KJNYMD` | `"key_kjnymd"` | Key reference date |
| `KKSV0313_KKSV0313OP_WORK.MSKM_YMD` | `"MSKM_YMD"` | Submission date |
| `KKSV0313_KKSV0313OP_WORK_WRISVC_DCHSKM.WRIB_SVC_CD` | `"WRIB_SVC_CD"` | Discount service code |
| `KKSV0313_KKSV0313OP_WORK_WRISVC_DCHSKM.WRISVC_TG_SVC_LIST` | `"WRISVC_TG_SVC_LIST"` | Discount service target service list |
| `KKSV0313_KKSV0313OP_KKSV031307SC.EKK0851B001CBSMSG1LIST` | `"EKK0851B001CBSMsg1List"` | Discount service target service inquiry detail list |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `ccMap` | `HashMap<String, Object>` | Work area (作業領域) — the main in-memory context map carrying all business state for the current processing session. Provides `MSKM_YMD` (submission date) and carries the `FUNC_CODE` from the calling screen. |
| 2 | `ccMapWribSvc` | `HashMap<String, Object>` | Work area sub-map for discount service (作業領域.割引サービス) — contains the `WRIB_SVC_CD` (discount service code) that identifies which discount service's target services to look up. Also serves as the target container where the resulting `WRISVC_TG_SVC_LIST` is written. |
| 3 | `funcCd` | `String` | Function code (機能コード) — identifies the calling business function/screen. Passed directly to the SC as the `FUNC_CODE` request parameter. |
| 4 | `renban` | `String` | SC map serial number (SCマップ連番) — a counter/identifier used to build a unique SC communication map name, ensuring thread-safe isolation of parallel SC calls. |

**Instance fields read by this method:**

| Field | Type | Description |
|-------|------|-------------|
| `cmnMapNm` | `String` | Base name prefix for the SC communication map, combined with `KKSV031307SC` and `renban` to form the full map key. |
| `cmnParam` | `CommonParam` (implied) | Shared communication parameter object used for setting/getting data in and out of SC calls. |
| `cmnHandle` | `Handle` (implied) | Common handle object passed to the service component invoker. |
| `opeDate` | `String` (declared but commented out) | Operation date — was used in v2.x as the reference date but replaced by `ccMap.MSKM_YMD` in v3.00.00. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `KKSV0313_KKSV0313OP_EKK0851B001BSMapper.editInMsg` | EKK0851B001BS | `KKSV031307SC` (SC key) | Maps CC-level request parameters to SC-level request message (IN message editing). |
| R | `ServiceComponentRequestInvoker.run` | EKK0851B001SC | Discount Service Target Service table (SC-level inquiry) | Invokes the Service Component to retrieve the list of discount service target services matching the given discount service code and reference date. |
| U | `KKSV0313_KKSV0313OP_EKK0851B001BSMapper.editResultRP` | EKK0851B001BS | — | Maps SC-level response data back to CC-level communication parameters (result processing). |
| - | `checkExecutionResult` | JKKWrisvcAutoAplyCCMapper | — | Validates the SC execution result for errors; throws if execution failed. |

**SC Code identification:**
- The SC is `EKK0851B001BS` (based on mapper class name `KKSV0313_KKSV0313OP_EKK0851B001BSMapper`)
- The SC key is `KKSV031307SC` (from `KKSV0313_KKSV0313OP.KKSV031307SC`)
- Business meaning: **Discount Service Target Service Inquiry** (割引サービス対象サービス一覧照会)
- The SC queries the discount service target service data to find all services eligible for a given discount service.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `JKKPrcSimulationCC.searchWrisvcTgSvc()` | `JKKPrcSimulationCC.searchWrisvcTgSvc()` -> `JKKWrisvcAutoAplyCCMapper.callWrisvcTgSvcIcrnShokai()` | `ServiceComponentRequestInvoker.run [R] EKK0851B001CBSMSG1LIST` |
| 2 | `JKKWrisvcAutoAplyCC.dslWribSvcTgKeiDchskmstTgKei()` | `JKKWrisvcAutoAplyCC.dslWribSvcTgKeiDchskmstTgKei()` -> `JKKWrisvcAutoAplyCCMapper.callWrisvcTgSvcIcrnShokai()` | `ServiceComponentRequestInvoker.run [R] EKK0851B001CBSMSG1LIST` |
| 3 | `JKKWrisvcAutoAplyCC.searchWrisvcDchskmTgSvc()` | `JKKWrisvcAutoAplyCC.searchWrisvcDchskmTgSvc()` -> `JKKWrisvcAutoAplyCCMapper.callWrisvcTgSvcIcrnShokai()` | `ServiceComponentRequestInvoker.run [R] EKK0851B001CBSMSG1LIST` |

**Terminal operations reached from this method:**

| Terminal | Type | Description |
|----------|------|-------------|
| `ServiceComponentRequestInvoker.run` | R | SC call — reads discount service target service records via `EKK0851B001BS` |
| `checkExecutionResult` | - | Internal validation of SC result |
| `KKSV0313_KKSV0313OP_EKK0851B001BSMapper.editInMsg` | - | IN message mapping |
| `KKSV0313_KKSV0313OP_EKK0851B001BSMapper.editResultRP` | U | OUT result mapping |

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] Build SC communication map name (L1172)

> Constructs a unique map name by concatenating the class's `ccMapNm` prefix, the SC key constant `KKSV031307SC`, and the serial number `renban`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mapName = this.ccMapNm + KKSV0313_KKSV0313OP.KKSV031307SC + renban` |

**Block 2** — [SET] Create and populate CC-to-SC input mapping (L1176–L1197)

> Maps CC-level work area parameters into the SC-level request map (`inMap`). This is the "CC items -> SC items upper mapping" (CC項目 -> SC項目上りマッピング) phase.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap = new HashMap<String, Object>()` |
| 2 | EXEC | `this.cmnParam.setData(mapName, inMap)` // Register empty map under SC key |
| 3 | SET | `inMap.put(FUNC_CODE, funcCd)` // `[-> FUNC_CODE="FUNC_CODE"]` — passes calling function code |
| 4 | SET | `inMap.put(MAX_SEARCH_NUM, MAX_SEARCH_NUM_DEFAULT)` // `[-> MAX_SEARCH_NUM="max_search_num"]` — max search count (default value) |
| 5 | SET | `inMap.put(KEY_WRIB_SVC_CD, (String)ccMapWribSvc.get(WRIB_SVC_CD))` // `[-> KEY_WRIB_SVC_CD="key_wrib_svc_cd"]` — extracts discount service code from work area |
| 6 | SET | `inMap.put(KEY_KJNYMD, (String)ccMap.get(MSKM_YMD))` // `[-> KEY_KJNYMD="key_kjnymd"]` — uses submission date as reference date (v3.00.00 change) |

**Block 3** — [EXEC] Call the Service Component (L1199–L1213)

> Creates the SC mapper, builds the request message, invokes the SC via `ServiceComponentRequestInvoker`, and processes the response. This is the "Service IF execution" (サービスIF実行) phase.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mapper = new KKSV0313_KKSV0313OP_EKK0851B001BSMapper(mapName)` // Instantiate SC mapper for EKK0851B001BS |
| 2 | CALL | `paramMap = mapper.editInMsg(this.cmnParam)` // Edit IN message — maps CC params to SC request |
| 3 | SET | `scCall = new ServiceComponentRequestInvoker()` |
| 4 | CALL | `result = scCall.run(paramMap, this.cmnHandle)` // Execute SC call — reads discount service target services |
| 5 | SET | `this.cmnParam = mapper.editResultRP(result, this.cmnParam)` // Edit result — maps SC response back to CC params |
| 6 | EXEC | `checkExecutionResult(result)` // Validate SC execution result |

**Block 4** — [SET] Extract SC output and target service list (L1216–L1224)

> Retrieves the output map from `cmnParam` and extracts the detail list (`EKK0851B001CBSMSG1LIST`) containing the target service records. Then retrieves (or initializes) the work area list container.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outMap = (HashMap)this.cmnParam.getData(mapName)` // Cast SC output to typed map |
| 2 | SET | `list = (ArrayList)outMap.get(EKK0851B001CBSMSG1LIST)` // `[-> EKK0851B001CBSMSG1LIST="EKK0851B001CBSMsg1List"]` — discount service target service detail list from SC |
| 3 | SET | `wrisvcTgSvcList = (ArrayList)ccMapWribSvc.get(WRISVC_TG_SVC_LIST)` // `[-> WRISVC_TG_SVC_LIST="WRISVC_TG_SVC_LIST"]` — existing work area list |

**Block 5** — [IF/ELSE-IF] Null check and list initialization (L1225–L1233)

> Ensures the work area target service list exists: creates a new `ArrayList` if null, otherwise clears the existing list to prepare for fresh data.

**Block 5** — [IF] `wrisvcTgSvcList == null` (L1225)

> The list does not exist — create a new one and register it in the work area map.

| # | Type | Code |
|---|------|------|
| 1 | SET | `wrisvcTgSvcList = new ArrayList<HashMap<String, Object>>()` |
| 2 | SET | `ccMapWribSvc.put(WRISVC_TG_SVC_LIST, wrisvcTgSvcList)` // `[-> WRISVC_TG_SVC_LIST="WRISVC_TG_SVC_LIST"]` — store new list in work area |

**Block 6** — [ELSE] (L1230)

> The list exists — clear it in-place to avoid stale data.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `wrisvcTgSvcList.clear()` |

**Block 7** — [FOR] Iterate over SC output records (L1234–L1387)

> Loops through each target service record returned by the SC. For each record, creates a new work-area child map and copies all 30 fields from the SC output to the CC-level structure. This is the "CC items <- SC items lower mapping" (CC項目 <- SC項目下りマッピング) phase.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ccMapWrisvcTgSvc = new HashMap<String, Object>()` // Create new child map for this target service |
| 2 | SET | `ccMapWrisvcTgSvc.put(WRIB_SVC_TRGT_SVC_CD, outMapWrisvcTgSvc.get(WRIB_SVC_TRGT_SVC_CD))` // `[-> WRIB_SVC_TRGT_SVC_CD="WRIB_SVC_TRGT_SVC_CD"]` — discount service target service code |
| 3 | SET | `ccMapWrisvcTgSvc.put(APLY_JOKEN_GRP, outMapWrisvcTgSvc.get(APLY_JOKEN_GRP))` // `[-> APLY_JOKEN_GRP="APLY_JOKEN_GRP"]` — application condition group |
| 4 | SET | `ccMapWrisvcTgSvc.put(SVC_CD, outMapWrisvcTgSvc.get(SVC_CD))` // `[-> SVC_CD="SVC_CD"]` — service code |
| 5 | SET | `ccMapWrisvcTgSvc.put(PRC_GRP_CD, outMapWrisvcTgSvc.get(PRC_GRP_CD))` // `[-> PRC_GRP_CD="PRC_GRP_CD"]` — pricing group code |
| 6 | SET | `ccMapWrisvcTgSvc.put(PCRS_CD, outMapWrisvcTgSvc.get(PCRS_CD))` // `[-> PCR_S_CD="PCRS_CD"]` — pricing cost code |
| 7 | SET | `ccMapWrisvcTgSvc.put(PPLAN_CD, outMapWrisvcTgSvc.get(PPLAN_CD))` // `[-> PPLAN_CD="PPLAN_CD"]` — pricing plan code |
| 8 | SET | `ccMapWrisvcTgSvc.put(OP_SVC_CD, outMapWrisvcTgSvc.get(OP_SVC_CD))` // `[-> OP_SVC_CD="OP_SVC_CD"]` — option service code |
| 9 | SET | `ccMapWrisvcTgSvc.put(SBOP_SVC_CD, outMapWrisvcTgSvc.get(SBOP_SVC_CD))` // `[-> SBOP_SVC_CD="SBOP_SVC_CD"]` — sub-option service code |
| 10 | SET | `ccMapWrisvcTgSvc.put(KKTK_SVC_CD, outMapWrisvcTgSvc.get(KKTK_SVC_CD))` // `[-> KKTK_SVC_CD="KKTK_SVC_CD"]` — device provision service code |
| 11 | SET | `ccMapWrisvcTgSvc.put(KKTK_SBT_CD, outMapWrisvcTgSvc.get(KKTK_SBT_CD))` // `[-> KKTK_SBT_CD="KKTK_SBT_CD"]` — device provision type code |
| 12 | SET | `ccMapWrisvcTgSvc.put(SEIOPSVC_CD, outMapWrisvcTgSvc.get(SEIOPSVC_CD))` // `[-> SEIOPSVC_CD="SEIOPSVC_CD"]` — billing option service code |
| 13 | SET | `ccMapWrisvcTgSvc.put(KKOP_SVC_CD, outMapWrisvcTgSvc.get(KKOP_SVC_CD))` // `[-> KKOP_SVC_CD="KKOP_SVC_CD"]` — device option service code (ANK-1578-00-00 add) |
| 14 | SET | `ccMapWrisvcTgSvc.put(CHGE_BF_SVC_CD, outMapWrisvcTgSvc.get(CHGE_BF_SVC_CD))` // `[-> CHGE_BF_SVC_CD="CHGE_BF_SVC_CD"]` — pre-change service code |
| 15 | SET | `ccMapWrisvcTgSvc.put(CHGE_BF_PRC_GRP_CD, outMapWrisvcTgSvc.get(CHGE_BF_PRC_GRP_CD))` // pre-change pricing group code |
| 16 | SET | `ccMapWrisvcTgSvc.put(CHGE_BF_PCRS_CD, outMapWrisvcTgSvc.get(CHGE_BF_PCRS_CD))` // pre-change pricing cost code |
| 17 | SET | `ccMapWrisvcTgSvc.put(CHGE_BF_PPLAN_CD, outMapWrisvcTgSvc.get(CHGE_BF_PPLAN_CD))` // pre-change pricing plan code |
| 18 | SET | `ccMapWrisvcTgSvc.put(CHGE_BF_OP_SVC_CD, outMapWrisvcTgSvc.get(CHGE_BF_OP_SVC_CD))` // pre-change option service code |
| 19 | SET | `ccMapWrisvcTgSvc.put(CHGE_BF_SBOP_SVC_CD, outMapWrisvcTgSvc.get(CHGE_BF_SBOP_SVC_CD))` // pre-change sub-option service code |
| 20 | SET | `ccMapWrisvcTgSvc.put(CHGE_BF_KKTK_SVC_CD, outMapWrisvcTgSvc.get(CHGE_BF_KKTK_SVC_CD))` // pre-change device provision service code |
| 21 | SET | `ccMapWrisvcTgSvc.put(CHGE_BF_KKTK_SBT_CD, outMapWrisvcTgSvc.get(CHGE_BF_KKTK_SBT_CD))` // pre-change device provision type code |
| 22 | SET | `ccMapWrisvcTgSvc.put(CHGE_BF_SEIOPSVC_CD, outMapWrisvcTgSvc.get(CHGE_BF_SEIOPSVC_CD))` // pre-change billing option service code |
| 23 | SET | `ccMapWrisvcTgSvc.put(CHGE_BF_KKOP_SVC_CD, outMapWrisvcTgSvc.get(CHGE_BF_KKOP_SVC_CD))` // pre-change device option service code (ANK-1578-00-00 add) |
| 24 | SET | `ccMapWrisvcTgSvc.put(SVC_KEI_YEAR_CNT, outMapWrisvcTgSvc.get(SVC_KEI_YEAR_CNT))` // `[-> SVC_KEI_YEAR_CNT="SVC_KEI_YEAR_CNT"]` — service contract year count |
| 25 | SET | `ccMapWrisvcTgSvc.put(TRGT_KEI_SVC_CNT, outMapWrisvcTgSvc.get(TRGT_KEI_SVC_CNT))` // `[-> TRGT_KEI_SVC_CNT="TRGT_KEI_SVC_CNT"]` — target contract service count |
| 26 | SET | `ccMapWrisvcTgSvc.put(TRGT_KEI_SVC_UPPL, outMapWrisvcTgSvc.get(TRGT_KEI_SVC_UPPL))` // `[-> TRGT_KEI_SVC_UPPL="TRGT_KEI_SVC_UPPL"]` — target contract service upper limit |
| 27 | SET | `ccMapWrisvcTgSvc.put(TRGT_SVC_HAMBET_CD, outMapWrisvcTgSvc.get(TRGT_SVC_HAMBET_CD))` // `[-> TRGT_SVC_HAMBET_CD="TRGT_SVC_HAMBET_CD"]` — target service discrimination code |
| 28 | SET | `ccMapWrisvcTgSvc.put(UPPL_AUTO_APLY_KH, outMapWrisvcTgSvc.get(UPPL_AUTO_APLY_KH))` // `[-> UPPL_AUTO_APLY_KH="UPPL_AUTO_APLY_KH"]` — upper limit over-application eligibility |
| 29 | EXEC | `wrisvcTgSvcList.add(ccMapWrisvcTgSvc)` // Add child map to target service list |

**Note:** Lines 1347–1352 contain a commented-out field `KOJI_WORK_KMK_CD` (工事作業項目コード — work operation item code), removed in v3.00.00 as part of a cleanup.

**Block 8** — [RETURN] Return result (L1387)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return wrisvcTgSvcList` // Returns the populated list of discount service target service maps |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `ccMap` | Field | Work area (作業領域) — the main session-level in-memory context map carrying all business data for the current processing transaction. |
| `ccMapWribSvc` | Field | Work area discount service sub-map (作業領域.割引サービス) — contains discount service-specific data including the discount service code and the target service list output. |
| `funcCd` | Field | Function code (機能コード) — identifies the calling screen or business function. |
| `renban` | Field | SC map serial number (SCマップ連番) — counter used to create unique SC communication map names for thread safety. |
| `WRIB_SVC_CD` | Field | Discount service code (割引サービスコード) — unique identifier for a discount service definition. |
| `WRISVC_TG_SVC_LIST` | Field | Discount service target service list (割引サービス対象サービスリスト) — list of services eligible for this discount service. |
| `WRIB_SVC_TRGT_SVC_CD` | Field | Discount service target service code (割引サービス対象サービスコード) — identifies a specific service that is a target of discount application. |
| `APLY_JOKEN_GRP` | Field | Application condition group (適用条件グループ) — groups services by their discount eligibility conditions. |
| `SVC_CD` | Field | Service code (サービスコード) — unique identifier for a telecom service (e.g., FTTH, Mobile, Cable). |
| `PRC_GRP_CD` | Field | Pricing group code (料金グループコード) — groups pricing rules for a service. |
| `PCRS_CD` | Field | Pricing cost code (料金コースコード) — identifies a specific pricing plan/cost structure. |
| `PPLAN_CD` | Field | Pricing plan code (料金プランコード) — identifies a specific pricing plan. |
| `OP_SVC_CD` | Field | Option service code (オプションサービスコード) — identifies an optional add-on service. |
| `SBOP_SVC_CD` | Field | Sub-option service code (サブオプションサービスコード) — identifies a sub-level optional service. |
| `KKTK_SVC_CD` | Field | Device provision service code (機器提供サービスコード) — identifies a hardware/device provisioning service (e.g., router lease). |
| `KKTK_SBT_CD` | Field | Device provision type code (機器提供種別コード) — classifies the type of device provision (lease, purchase, etc.). |
| `SEIOPSVC_CD` | Field | Billing option service code (請求オプションサービスコード) — identifies an option service that appears on the billing statement. |
| `KKOP_SVC_CD` | Field | Device option service code (機器オプションサービスコード) — identifies optional device-related services. Added in v7.00.00 (ANK-1578-00-00). |
| `CHGE_BF_*` | Field | Pre-change values (変更前) — captures the service configuration before a price/plan change, used for audit and rollback. The `CHGE_BF_` prefix is followed by the specific field (e.g., `CHGE_BF_SVC_CD` = pre-change service code). |
| `SVC_KEI_YEAR_CNT` | Field | Service contract year count (サービス契約年数) — number of years for the service contract term. |
| `TRGT_KEI_SVC_CNT` | Field | Target contract service count (対象契約サービス数) — number of services under the target contract. |
| `TRGT_KEI_SVC_UPPL` | Field | Target contract service upper limit (対象契約サービス上限) — maximum number of services that can be contracted. |
| `TRGT_SVC_HAMBET_CD` | Field | Target service discrimination code (対象サービス判別コード) — code for discriminating/identifying target services. |
| `UPPL_AUTO_APLY_KH` | Field | Upper limit over-application eligibility (上限超適用可否) — flag indicating whether services beyond the upper limit can still receive discount application. |
| `MSKM_YMD` | Field | Submission date (申請年月日) — the date the service application/request was submitted, used as the reference date for SC lookups since v3.00.00. |
| `KKSV031307SC` | SC Key | Discount service target service inquiry SC (割引サービス対象サービス一覧照会) — the Service Component that retrieves target service records for a given discount service. |
| `EKK0851B001BS` | SC Code | Service Component business class for the discount service target service inquiry. |
| `EKK0851B001CBSMsg1List` | SC Output | Detail list (明細) of discount service target service inquiry results — contains the array of target service records returned by the SC. |
| `MAX_SEARCH_NUM_DEFAULT` | Constant | Default maximum number of search items for SC queries. |
| SC | Acronym | Service Component — the middleware layer that provides business logic services to the CC (Common Component) layer. |
| CBS | Acronym | Component Business Service — the service-level implementation class behind an SC. |
| CC | Acronym | Common Component — the shared business logic layer (as opposed to screen-specific controller classes). |
| SC | Acronym (alt) | Service Component — also used as the serial number prefix for map communication between CC and CBS layers. |
| Discount Service (割引サービス) | Business term | A promotional pricing mechanism that applies a discount to eligible target services based on defined conditions (e.g., bundle discounts, loyalty discounts). |
| Target Service (対象サービス) | Business term | A service that is eligible to receive a discount under a specific discount service definition. |
| Service Contract (サービス契約) | Business term | The contractual agreement between the customer and the operator for a specific telecom service. |
| Work Area (作業領域) | Business term | An in-memory HashMap-based data structure that carries business state throughout the processing flow, used for inter-class and inter-layer communication. |
