# Business Logic — KKW02701SFLogic.setKKSV0395() [82 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW02701SF.KKW02701SFLogic` |
| Layer | Service Logic / Web Controller Service Component (eo.web.webview package — the service logic layer within the web presentation tier) |
| Module | `KKW02701SF` (Package: `eo.web.webview.KKW02701SF`) |

## 1. Role

### KKW02701SFLogic.setKKSV0395()

This method performs the **upward item transfer/registration processing** for the **Course History — Net Reservation Cancellation Confirmation Service** (`KKSV0395`). It is a sequential aggregation method that populates the `inputMap` with service-level data items by delegating to 40+ service component (SC) and common component (CC) calls through the `KKSV0395_KKSV0395OPDBMapper`. The business purpose is to gather and consolidate all the data fields required for the net reservation cancellation confirmation workflow — including customer information, contract details, payment records, billing cycles, and cancellation status — and route them upward to the presentation/screen layer so the operator can review the cancellation details. The method implements a **delegation pattern**, where each SC/CC call handles one specific data domain (e.g., personal info, reservation history, payment amounts, billing cycles). All calls share the same `inputMap` which acts as a mutable data carrier, allowing each SC/CC to both read from and write into it. Two conditional branches handle version-specific processing (when `funcCd` equals `FUNC_CODE_1`): one triggers an additional SC call (`setKKSV039549SC`) and the other triggers a common component call (`setKKSV039551CC`). The method always concludes by registering the use-case identifier (`KKSV0395`) into the return parameter map for telemetry/audit purposes, then returns an empty-ish parameter map.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setKKSV0395 params"])
    INIT1["Create paramMap HashMap"]
    INIT2["Create mapper KKSV0395_KKSV0395OPDBMapper"]
    INIT3["Wrap svcFormBean in paramBean array"]
    SC36["mapper.setKKSV039536SC paramBean inputMap FUNC_CODE_2"]
    SC01["mapper.setKKSV039501SC paramBean inputMap funcCd"]
    SC02["mapper.setKKSV039502SC paramBean inputMap FUNC_CODE_2"]
    CC03["mapper.setKKSV039503CC paramBean inputMap funcCd"]
    SC03["mapper.setKKSV039503SC paramBean inputMap FUNC_CODE_2"]
    SC04["mapper.setKKSV039504SC paramBean inputMap FUNC_CODE_2"]
    SC05["mapper.setKKSV039505SC paramBean inputMap funcCd"]
    SC06["mapper.setKKSV039506SC paramBean inputMap funcCd"]
    CC04["mapper.setKKSV039504CC paramBean inputMap funcCd"]
    CC01["mapper.setKKSV039501CC paramBean inputMap funcCd"]
    CC02["mapper.setKKSV039502CC paramBean inputMap funcCd"]
    SC15["mapper.setKKSV039515SC paramBean inputMap funcCd"]
    SC16["mapper.setKKSV039516SC paramBean inputMap funcCd"]
    SC17["mapper.setKKSV039517SC paramBean inputMap funcCd"]
    SC18["mapper.setKKSV039518SC paramBean inputMap funcCd"]
    SC19["mapper.setKKSV039519SC paramBean inputMap funcCd"]
    SC20["mapper.setKKSV039520SC paramBean inputMap funcCd"]
    SC21["mapper.setKKSV039521SC paramBean inputMap funcCd"]
    SC22["mapper.setKKSV039522SC paramBean inputMap funcCd"]
    SC23["mapper.setKKSV039523SC paramBean inputMap funcCd"]
    SC24["mapper.setKKSV039524SC paramBean inputMap funcCd"]
    SC25["mapper.setKKSV039525SC paramBean inputMap funcCd"]
    SC26["mapper.setKKSV039526SC paramBean inputMap funcCd"]
    SC27["mapper.setKKSV039527SC paramBean inputMap FUNC_CODE_2"]
    SC28["mapper.setKKSV039528SC paramBean inputMap funcCd"]
    SC29["mapper.setKKSV039529SC paramBean inputMap FUNC_CODE_1"]
    SC30["mapper.setKKSV039530SC paramBean inputMap funcCd"]
    CC_DEL["mapper.setCourseRkIcjknDelCC paramBean inputMap funcCd"]
    SC33["mapper.setKKSV039533SC paramBean inputMap funcCd"]
    SC34["mapper.setKKSV039534SC paramBean inputMap funcCd"]
    CC05["mapper.setKKSV039505CC paramBean inputMap funcCd"]
    WorkSC["mapper.setKKSV0395WorkSC paramBean inputMap"]
    CC37["mapper.setKKSV039537CC paramBean inputMap funcCd"]
    CC38["mapper.setKKSV039538CC paramBean inputMap funcCd"]
    CC39["mapper.setKKSV039539CC paramBean inputMap funcCd"]
    CC40["mapper.setKKSV039540CC paramBean inputMap funcCd"]
    CC48["mapper.setKKSV039548CC paramBean inputMap funcCd"]
    COND1{"funcCd == FUNC_CODE_1"}
    SC49["mapper.setKKSV039549SC paramBean inputMap funcCd"]
    COND2{"funcCd == FUNC_CODE_1"}
    CC51["mapper.setKKSV039551CC paramBean inputMap funcCd"]
    SC52["mapper.setKKSV039552SC paramBean inputMap funcCd"]
    TELEGRAM["paramMap put TELEGRAM_INFO_USECASE_ID = KKSV0395"]
    RETURN(["Return paramMap"])

    START --> INIT1 --> INIT2 --> INIT3 --> SC36 --> SC01 --> SC02 --> CC03 --> SC03 --> SC04 --> SC05 --> SC06 --> CC04 --> CC01 --> CC02 --> SC15 --> SC16 --> SC17 --> SC18 --> SC19 --> SC20 --> SC21 --> SC22 --> SC23 --> SC24 --> SC25 --> SC26 --> SC27 --> SC28 --> SC29 --> SC30 --> CC_DEL --> SC33 --> SC34 --> CC05 --> WorkSC --> CC37 --> CC38 --> CC39 --> CC40 --> CC48 --> COND1
    COND1 -- true --> SC49 --> COND2
    COND1 -- false --> COND2
    COND2 -- true --> CC51 --> SC52 --> TELEGRAM
    COND2 -- false --> SC52
    TELEGRAM --> RETURN
```

The method follows a **pure sequential pipeline** pattern with two conditional branches near the end. There is no branching earlier in the flow — all SC/CC calls execute in a fixed order, each populating or enriching the shared `inputMap`. The two conditional branches at the end gate additional processing on whether `funcCd` equals `FUNC_CODE_1` (which likely represents a specific service function mode or version). This is a standard **facade/aggregator** pattern where the method acts as the orchestration layer, collecting data from many fine-grained service components into a single data carrier.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `svcFormBean` | `X31SDataBeanAccess` | The service form data bean that carries the primary business entity data for the net reservation cancellation confirmation. This bean wraps the screen input data (customer ID, reservation details, etc.) and is boxed into a single-element array (`paramBean`) for uniform passing through all SC/CC calls. |
| 2 | `inputMap` | `HashMap<String, Object>` | The shared mutable data carrier / transfer object that accumulates all service-level fields across the 40+ SC/CC calls. Each call reads from and writes to this map, adding entries like personal info, billing data, payment history, cancellation status, timestamps, and operator information. It acts as the method's primary working memory. |
| 3 | `funcCd` | `String` | Function code that identifies the calling service context or operation mode. It is passed through to SC/CC calls to let them determine which business rules or data paths to follow. When `funcCd` equals `FUNC_CODE_1`, two additional SC/CC calls are triggered (`setKKSV039549SC` and `setKKSV039551CC`), indicating a variant processing path (possibly a legacy mode, administrative override, or different business scenario). |

**External state / constants referenced:**
| No | Symbol | Type | Business Description |
|----|--------|------|---------------------|
| 4 | `JKKCommonConst.FUNC_CODE_1` | Constant | Function code value 1 — triggers variant processing path (additional SC49 and CC51 calls). Used for conditional routing. |
| 5 | `JKKCommonConst.FUNC_CODE_2` | Constant | Function code value 2 — used as the default function code for most SC calls in the pipeline (SC36, SC02, SC03, SC04, SC27, SC29). |
| 6 | `X31CWebConst.TELEGRAM_INFO_USECASE_ID` | Constant | Key name for the telemetry/audit use-case ID field in the return parameter map. |

## 4. CRUD Operations / Called Services

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

This method acts as a sequential orchestrator, delegating all data operations to 41 service component (SC) and common component (CC) calls through `KKSV0395_KKSV0395OPDBMapper`. The individual SC/CC methods handle the actual database operations (read, create, update, delete) on underlying tables.

| # | CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|---|------|----------|---------|-------------|----------------------|
| 1 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setCourseRkIcjknDelCC` | KKSV0395 | Course cancellation/instruction deletion | Processes course history cancellation instruction deletion (clears/deletes cancelled course records). |
| 2 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039501CC` | KKSV0395 | - | Common component 01 — first CC call, likely processes core customer or reservation data. |
| 3 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039501SC` | KKSV0395 | - | Service component 01 — initial service data gathering, takes `funcCd` (service-specific routing). |
| 4 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039502CC` | KKSV0395 | - | Common component 02 — secondary data processing. |
| 5 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039502SC` | KKSV0395 | - | Service component 02 — secondary service data with FUNC_CODE_2. |
| 6 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039503CC` | KKSV0395 | - | Common component 03 — tertiary data processing with `funcCd`. |
| 7 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039503SC` | KKSV0395 | - | Service component 03 — tertiary service data with FUNC_CODE_2. |
| 8 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039504CC` | KKSV0395 | - | Common component 04 — additional data processing. |
| 9 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039504SC` | KKSV0395 | - | Service component 04 — additional service data with FUNC_CODE_2. |
| 10 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039505CC` | KKSV0395 | - | Common component 05 — late-stage data processing. |
| 11 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039505SC` | KKSV0395 | - | Service component 05 — service data with `funcCd`. |
| 12 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039506CC` | KKSV0395 | - | Common component 06 (called but not present in source at this location; may be in the mapper definition). |
| 13 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039506SC` | KKSV0395 | - | Service component 06 — service data with `funcCd`. |
| 14 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039515SC` | KKSV0395 | - | Service component 15 — batch data gathering, `funcCd`. |
| 15 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039516SC` | KKSV0395 | - | Service component 16 — batch data gathering, `funcCd`. |
| 16 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039517SC` | KKSV0395 | - | Service component 17 — batch data gathering, `funcCd`. |
| 17 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039518SC` | KKSV0395 | - | Service component 18 — batch data gathering, `funcCd`. |
| 18 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039519SC` | KKSV0395 | - | Service component 19 — batch data gathering, `funcCd`. |
| 19 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039520SC` | KKSV0395 | - | Service component 20 — batch data gathering, `funcCd`. |
| 20 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039521SC` | KKSV0395 | - | Service component 21 — batch data gathering, `funcCd`. |
| 21 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039522SC` | KKSV0395 | - | Service component 22 — batch data gathering, `funcCd`. |
| 22 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039523SC` | KKSV0395 | - | Service component 23 — batch data gathering, `funcCd`. |
| 23 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039524SC` | KKSV0395 | - | Service component 24 — batch data gathering, `funcCd`. |
| 24 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039525SC` | KKSV0395 | - | Service component 25 — batch data gathering, `funcCd`. |
| 25 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039526SC` | KKSV0395 | - | Service component 26 — batch data gathering, `funcCd`. |
| 26 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039527SC` | KKSV0395 | - | Service component 27 — batch data gathering, always with FUNC_CODE_2 (modified from FUNC_CODE_1 in ANK-4567-00-00 change). |
| 27 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039528SC` | KKSV0395 | - | Service component 28 — batch data gathering, `funcCd`. |
| 28 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039529SC` | KKSV0395 | - | Service component 29 — batch data gathering, always with FUNC_CODE_1. |
| 29 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039530SC` | KKSV0395 | - | Service component 30 — batch data gathering, `funcCd`. |
| 30 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039533SC` | KKSV0395 | - | Service component 33 — post-del CC, batch data gathering, `funcCd`. |
| 31 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039534SC` | KKSV0395 | - | Service component 34 — batch data gathering, `funcCd`. |
| 32 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV0395WorkSC` | KKSV0395 | - | Work-related service component — processes work/item data (takes only paramBean + inputMap, no funcCd). |
| 33 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039536SC` | KKSV0395 | - | Service component 36 — added in v4.02.00, early pipeline step, FUNC_CODE_2. |
| 34 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039537CC` | KKSV0395 | - | Common component 37 — added in v4.03.00, `funcCd`. |
| 35 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039538CC` | KKSV0395 | - | Common component 38 — added in v4.03.00, `funcCd`. |
| 36 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039539CC` | KKSV0395 | - | Common component 39 — added in v4.03.00, `funcCd`. |
| 37 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039540CC` | KKSV0395 | - | Common component 40 — added in v5.00.01, `funcCd`. |
| 38 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039548CC` | KKSV0395 | - | Common component 48 — added in ANK-2765-00-00, `funcCd`. |
| 39 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039549SC` | KKSV0395 | - | Service component 49 — conditional on FUNC_CODE_1 (ANK-3949-00-00), `funcCd`. |
| 40 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039551CC` | KKSV0395 | - | Common component 51 — conditional on FUNC_CODE_1 (ANK-3987-00-00), `funcCd`. |
| 41 | R/CALL | `KKSV0395_KKSV0395OPDBMapper.setKKSV039552SC` | KKSV0395 | - | Service component 52 — always called (ANK-4287-00-00), `funcCd`. |

**Classification rationale:** All called methods follow the `setKKSV0395XXSC` or `setKKSV0395XXCC` naming convention, where SC (Service Component) and CC (Common Component) are standard architectural layers in this framework that delegate to SC-layer or CBS-layer methods for actual database operations. The `setKKSV039536SC` call added in v4.02.00 and `setKKSV039537CC`/`setKKSV039538CC`/`setKKSV039539CC` added in v4.03.00 suggest progressive enrichment of data gathering over multiple releases. The method itself is predominantly **Read** (data gathering) in nature, feeding the inputMap so the screen layer can display the cancellation confirmation data.

## 5. Dependency Trace

### Callers

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | KKW02701SFLogic.setInMsg | `KKW02701SFLogic.setInMsg` -> `setKKSV0395(svcFormBean, inputMap, funcCd)` | `setKKSV039552SC` [-], `setKKSV039551CC` [-], `setKKSV039549SC` [-], `setKKSV039548CC` [-], `setKKSV039540CC` [-], `setKKSV039539CC` [-], `setKKSV039538CC` [-], `setKKSV039537CC` [-], `setKKSV0395WorkSC` [-], `setKKSV039505CC` [-], `setCourseRkIcjknDelCC` [-] |

**Call chain analysis:**
- `KKW02701SFLogic.setInMsg()` is the direct caller of `setKKSV0395()`. The `setInMsg()` method is part of the same logic class and serves as the inbound message handler for the KKW02701SF (Web WebView) screen. It constructs the necessary parameters (`svcFormBean`, `inputMap`, `funcCd`) and delegates to `setKKSV0395()` to populate the data carrier before returning the response to the screen layer.
- The terminal operations from this method encompass all 41 SC/CC calls listed in Section 4, each of which delegates further to the CBS (Core Business Service) layer for database CRUD operations.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] Initialization (L698–701)

> Creates the return parameter map and the mapper object, then wraps the input bean into an array for uniform passing through all SC/CC calls.

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramMap = new HashMap<String, String>()` // Initialize return parameter map |
| 2 | SET | `mapper = new KKSV0395_KKSV0395OPDBMapper()` // Create the mapper for SC/CC delegation |
| 3 | SET | `paramBean = {svcFormBean}` // Wrap svcFormBean in single-element array |

**Block 2** — [EXEC] Sequential SC/CC pipeline — Part 1 (L703–708)

> Version 4.02.00 addition: early pipeline calls. v4.02.00 comment markers enclose SC36. Each SC/CC call reads from and writes to inputMap, gathering a specific data domain for the cancellation confirmation screen.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039536SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2)` // v4.02.00 ADD: early service data [FUNC_CODE_2 = "2"] |
| 2 | CALL | `mapper.setKKSV039501SC(paramBean, inputMap, funcCd)` // Service data with caller's funcCd |
| 3 | CALL | `mapper.setKKSV039502SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2)` // Service data [FUNC_CODE_2 = "2"] |
| 4 | CALL | `mapper.setKKSV039503CC(paramBean, inputMap, funcCd)` // Common component with funcCd |
| 5 | CALL | `mapper.setKKSV039503SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2)` // Service data [FUNC_CODE_2 = "2"] |
| 6 | CALL | `mapper.setKKSV039504SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2)` // Service data [FUNC_CODE_2 = "2"] |

**Block 3** — [EXEC] Sequential SC/CC pipeline — Part 2 (L709–724)

> Core batch data gathering: SC05 through SC06 with CC04, CC01, CC02 mixed in. These handle reservation details, personal info, billing data, and other cancellation-related fields.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039505SC(paramBean, inputMap, funcCd)` // SC05 with funcCd |
| 2 | CALL | `mapper.setKKSV039506SC(paramBean, inputMap, funcCd)` // SC06 with funcCd |
| 3 | CALL | `mapper.setKKSV039504CC(paramBean, inputMap, funcCd)` // CC04 with funcCd |
| 4 | CALL | `mapper.setKKSV039501CC(paramBean, inputMap, funcCd)` // CC01 with funcCd |
| 5 | CALL | `mapper.setKKSV039502CC(paramBean, inputMap, funcCd)` // CC02 with funcCd |
| 6 | CALL | `mapper.setKKSV039515SC(paramBean, inputMap, funcCd)` // SC15 batch data |
| 7 | CALL | `mapper.setKKSV039516SC(paramBean, inputMap, funcCd)` // SC16 batch data |
| 8 | CALL | `mapper.setKKSV039517SC(paramBean, inputMap, funcCd)` // SC17 batch data |
| 9 | CALL | `mapper.setKKSV039518SC(paramBean, inputMap, funcCd)` // SC18 batch data |
| 10 | CALL | `mapper.setKKSV039519SC(paramBean, inputMap, funcCd)` // SC19 batch data |
| 11 | CALL | `mapper.setKKSV039520SC(paramBean, inputMap, funcCd)` // SC20 batch data |
| 12 | CALL | `mapper.setKKSV039521SC(paramBean, inputMap, funcCd)` // SC21 batch data |
| 13 | CALL | `mapper.setKKSV039522SC(paramBean, inputMap, funcCd)` // SC22 batch data |
| 14 | CALL | `mapper.setKKSV039523SC(paramBean, inputMap, funcCd)` // SC23 batch data |
| 15 | CALL | `mapper.setKKSV039524SC(paramBean, inputMap, funcCd)` // SC24 batch data |
| 16 | CALL | `mapper.setKKSV039525SC(paramBean, inputMap, funcCd)` // SC25 batch data |
| 17 | CALL | `mapper.setKKSV039526SC(paramBean, inputMap, funcCd)` // SC26 batch data |

**Block 4** — [EXEC] Sequential SC/CC pipeline — Part 3 (L725–730)

> SC27 call with version history comments: originally commented out (OM-2015-0002629), then changed from FUNC_CODE_1 to FUNC_CODE_2 (ANK-4567-00-00), now active with FUNC_CODE_2.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039527SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2)` // SC27 with FUNC_CODE_2 (modified from FUNC_CODE_1 in ANK-4567-00-00) |
| 2 | CALL | `mapper.setKKSV039528SC(paramBean, inputMap, funcCd)` // SC28 with funcCd |
| 3 | CALL | `mapper.setKKSV039529SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1)` // SC29 with FUNC_CODE_1 |
| 4 | CALL | `mapper.setKKSV039530SC(paramBean, inputMap, funcCd)` // SC30 with funcCd |

**Block 5** — [EXEC] Sequential SC/CC pipeline — Part 4 (L732–740)

> v5.00.02 change: commented out SC31/SC35/SC32 calls, added CourseRkIcjknDelCC (course cancellation instruction deletion). Then SC33, SC34, CC05, WorkSC follow.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setCourseRkIcjknDelCC(paramBean, inputMap, funcCd)` // v5.00.02 CHANGE: course cancellation instruction deletion |
| 2 | CALL | `mapper.setKKSV039533SC(paramBean, inputMap, funcCd)` // SC33 batch data |
| 3 | CALL | `mapper.setKKSV039534SC(paramBean, inputMap, funcCd)` // SC34 batch data |
| 4 | CALL | `mapper.setKKSV039505CC(paramBean, inputMap, funcCd)` // CC05 with funcCd |
| 5 | CALL | `mapper.setKKSV0395WorkSC(paramBean, inputMap)` // Work-related data (no funcCd parameter) |

**Block 6** — [EXEC] Sequential SC/CC pipeline — Part 5 (L742–751)

> v4.03.00 additions (CC37, CC38, CC39) and v5.00.01 addition (CC40), plus ANK-2765-00-00 addition (CC48).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039537CC(paramBean, inputMap, funcCd)` // v4.03.00 CHANGE: CC37 |
| 2 | CALL | `mapper.setKKSV039538CC(paramBean, inputMap, funcCd)` // v4.03.00 CHANGE: CC38 |
| 3 | CALL | `mapper.setKKSV039539CC(paramBean, inputMap, funcCd)` // v4.03.00 CHANGE: CC39 |
| 4 | CALL | `mapper.setKKSV039540CC(paramBean, inputMap, funcCd)` // v5.00.01 ADD: CC40 |
| 5 | CALL | `mapper.setKKSV039548CC(paramBean, inputMap, funcCd)` // ANK-2765-00-00 ADD: CC48 |

**Block 7** — [IF] Conditional Branch — funcCd == FUNC_CODE_1 (L753–756)

> ANK-3949-00-00 ADD: When funcCd equals FUNC_CODE_1, invoke SC49. Otherwise skip. This is a version/variant gate for additional service processing.

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKCommonConst.FUNC_CODE_1.equals(funcCd)` [FUNC_CODE_1 = "1"] |
| 1.1 | CALL (true branch) | `mapper.setKKSV039549SC(paramBean, inputMap, funcCd)` // Conditional SC49 with funcCd |

**Block 8** — [IF] Conditional Branch — funcCd == FUNC_CODE_1 (L757–763)

> ANK-3987-00-00 ADD: When funcCd equals FUNC_CODE_1, invoke CC51. This is a second independent version/variant gate.

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKCommonConst.FUNC_CODE_1.equals(funcCd)` [FUNC_CODE_1 = "1"] |
| 1.1 | CALL (true branch) | `mapper.setKKSV039551CC(paramBean, inputMap, funcCd)` // Conditional CC51 |

**Block 9** — [EXEC] Final SC call and return (L764–769)

> ANK-4287-00-00 ADD: SC52 is always called regardless of funcCd. Then the method registers the use-case ID for telemetry and returns.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039552SC(paramBean, inputMap, funcCd)` // ANK-4287-00-00 ADD: always-called SC52 |
| 2 | EXEC | `paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0395")` // Register use-case ID for telemetry |
| 3 | RETURN | `return paramMap` // Return parameter map (primarily for telemetry use-case ID) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| KKSV0395 | Service Code | Net Reservation Cancellation Confirmation Service — the business service for confirming cancellation details of internet/online reservations. |
| setKKSV0395 | Method | Upward item transfer/registration processing — gathers all data fields needed for the cancellation confirmation screen. |
| コース履歴_ネット予約取消確認サービス | Javadoc | Course History — Net Reservation Cancellation Confirmation Service |
| 上り項目転記処理 | Javadoc | Upward item transfer processing — the business operation of pushing data fields from the service layer up to the presentation/screen layer. |
| 設定 | Javadoc | Set/Configure — in context, means to populate or set data fields. |
| svcFormBean | Parameter | Service Form Bean — the primary data carrier wrapping the screen/form input for the cancellation confirmation. |
| X31SDataBeanAccess | Type | Service data bean access class — a framework class for accessing and transferring service-layer form data. |
| inputMap | Parameter | Input Map — a shared HashMap<String, Object> used as a mutable data carrier across the entire SC/CC pipeline. |
| funcCd | Parameter | Function Code — a string identifying the calling service context or operation mode, used for conditional routing of SC/CC calls. |
| FUNC_CODE_1 | Constant | Function code value "1" — triggers a variant processing path (additional SC49 and CC51 calls). |
| FUNC_CODE_2 | Constant | Function code value "2" — the default function code used by most SC calls in the pipeline. |
| paramMap | Local Variable | Return parameter map — a HashMap<String, String> that carries response data upward (currently only the telemetry use-case ID). |
| KKSV0395_KKSV0395OPDBMapper | Type | Operation database mapper — a mapper class that orchestrates calls to KKSV0395 service components and common components for database operations. |
| SC (Service Component) | Pattern | Service Component — the SC-layer that delegates to CBS-layer methods for actual database CRUD operations. Named as `setKKSV0395XXSC`. |
| CC (Common Component) | Pattern | Common Component — reusable shared logic components, often for data transformation or cross-cutting concerns. Named as `setKKSV0395XXCC`. |
| TELEGRAM_INFO_USECASE_ID | Constant | Telemetry info use-case ID key — the map key under which the use-case identifier ("KKSV0395") is stored for auditing/telemetry. |
| CourseRkIcjknDelCC | Method | Course Reservation Cancellation Instruction Deletion Common Component — processes deletion of course cancellation instructions. |
| paramBean | Local Variable | Single-element array wrapping svcFormBean for uniform passing through all SC/CC calls. |
| KKW02701SF | Module | Web WebView module — the web presentation module handling the cancellation confirmation screen. |
| X31CWebConst | Class | Web constants class — framework class containing web-tier constant definitions (e.g., TELEGRAM_INFO_USECASE_ID). |
