# Business Logic — KKA16701SFLogic.setKKSV0395() [79 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA16701SF.KKA16701SFLogic` |
| Layer | Service (Web Service Logic — sits in the webview package, acts as a service-layer coordinator that delegates to an OPDBMapper) |
| Module | `KKA16701SF` (Package: `eo.web.webview.KKA16701SF`) |

## 1. Role

### KKA16701SFLogic.setKKSV0395()

This method is the **upbound (inbound) item transfer handler** for the **Course History — Net Reservation Cancellation Confirmation** service (コース履歴_ネット予約取消確認サービス). Its business purpose is to orchestrate the full suite of data-binding and side-effect operations required when a customer cancels an internet-reserved service through the course history workflow.

The method acts as a **sequential delegation coordinator**: it does not contain conditional business logic of its own (beyond two `funcCd` gates), but instead invokes **38 mapper methods** in a defined order to populate, validate, update, and clean up data across the course cancellation domain. The design pattern used is **delegation via a Data Access Mapper** (`KKSV0395_KKSV0395OPDBMapper`), which routes each operation to the appropriate SC (Service Component) or CC (Common Component) layer.

The method processes the cancellation in stages: first it sets up core service items (01–06), then work-item related data (15–34), followed by post-cancellation cleanup and confirmation routines (37–52). Two conditional branches (`funcCd == "1"`) selectively enable additional operations — the `setKKSV039549SC` operation and the `setKKSV039551CC` confirmation — both gated by a specific function code that typically denotes a **web/internet** cancellation channel versus a counter-based one.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setKKSV0395 params"])
    START --> INIT["Initialize paramMap, mapper, paramBean"]

    INIT --> SEQ["Sequential mapper calls v4.02.00 - v5.00.02"]
    SEQ --> COND1{funcCd == FUNC_CODE_1}
    COND1 -- "Yes 1" --> C1["mapper.setKKSV039549SC"]
    COND1 -- "No" --> COND2

    C1 --> COND2{funcCd == FUNC_CODE_1}
    COND2 -- "Yes 1" --> C2["mapper.setKKSV039551CC"]
    COND2 -- "No" --> COND3

    C2 --> COND3["mapper.setKKSV039552SC"]
    COND3 -- "Always" --> FINAL["setKKSV0395 to paramMap"]

    FINAL --> END(["Return paramMap"])

    subgraph SEQ_CALLS["Sequential Mapper Calls"]
        S1["setKKSV039536SC FUNC_CODE_2"]
        S2["setKKSV039501SC - setKKSV039506SC"]
        S3["setKKSV039504CC - setKKSV039502CC"]
        S4["setKKSV039515SC - setKKSV039526SC"]
        S5["setKKSV039527SC FUNC_CODE_1"]
        S6["setKKSV039528SC - setKKSV039534SC"]
        S7["setKKSV039505CC - setKKSV0395WorkSC"]
        S8["setKKSV039537CC - setKKSV039539CC"]
        S9["setKKSV039540CC"]
        S10["setKKSV039548CC"]
    end

    SEQ --> SEQ_CALLS
    SEQ_CALLS --> COND1
    COND2 --> COND3
```

### Processing phases:

1. **Initialization**: A `paramMap` (HashMap<String, String>) is created to hold the service's upbound output items. An instance of `KKSV0395_KKSV0395OPDBMapper` is instantiated, and the input bean is wrapped in an array (`paramBean`) for passing to mapper methods.

2. **Sequential mapper calls**: 38 methods are invoked on the mapper in a fixed order. Most receive `paramBean`, `inputMap`, and `funcCd` (or `JKKCommonConst.FUNC_CODE_1` / `FUNC_CODE_2`). This batch covers:
   - Core course cancellation items (01–06): data binding, validation, and update operations.
   - Work-item processing (15–34): operational workflow steps for the cancellation.
   - CC (Common Component) cleanup and confirmation: deletion of course reservation records, work status management, and confirmation routines.
   - Conditional gates: `setKKSV039549SC` and `setKKSV039551CC` are only called when `funcCd` equals `"1"`.

3. **Telemetry tagging**: The string `"KKSV0395"` is stored in `paramMap` under the key `TELEGRAM_INFO_USECASE_ID` for tracking/audit purposes.

4. **Return**: The empty `paramMap` is returned (it carries only the usecase ID tag at this point).

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `svcFormBean` | `X31SDataBeanAccess` | The service form data bean that holds the input/output data for the Net Reservation Cancellation Confirmation service. It carries fields such as service contract numbers, customer IDs, course history identifiers, and reservation details. |
| 2 | `inputMap` | `HashMap<String, Object>` | A map of string-keyed values representing the raw service input data — function codes, cancellation reasons, timestamps, and transient processing flags. Data written by earlier mapper calls flows through this map across the chain. |
| 3 | `funcCd` | `String` | Function code that identifies the **service channel**. `"1"` (`FUNC_CODE_1`) typically indicates a **web/internet** cancellation channel; `"2"` (`FUNC_CODE_2`) indicates a **counter/branch** channel. This code determines whether additional confirmation operations (49, 51) are executed. |

**External state read:**

| No | Field | Type | Business Description |
|----|-------|------|---------------------|
| 1 | `JKKCommonConst.FUNC_CODE_1` | `String = "1"` | Constant identifying the web/internet channel function code. |
| 2 | `JKKCommonConst.FUNC_CODE_2` | `String = "2"` | Constant identifying the counter/branch channel function code. |
| 3 | `X31CWebConst.TELEGRAM_INFO_USECASE_ID` | `String` | Constant key for the telemetry/usecase ID field in the output map. |

## 4. CRUD Operations / Called Services

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

The following **39 mapper methods** are invoked sequentially from `KKSV0395_KKSV0395OPDBMapper`. Each is classified by its method name pattern. SC codes are derived from the method naming convention (`KKSV0395XX` → `EKKSV0395XXSC` / `EKKSV0395XXCC`), and entity/table information is inferred from the method names and domain context (course history / net reservation cancellation).

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `KKSV0395_KKSV0395OPDBMapper.setCourseRkIcjknDelCC` | EKKSV039501CC | KK_T_CRS_RK_ICJK (Course Reservation Record) | Deletes course reservation records during cancellation confirmation (v5.00.02 addition). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039501CC` | EKKSV039501CC | - | Common component processing for core cancellation item 01 (data binding/confirmation). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039501SC` | EKKSV039501SC | - | Service component for core cancellation item 01 (primary data retrieval/update). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039502CC` | EKKSV039502CC | - | Common component processing for core cancellation item 02. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039502SC` | EKKSV039502SC | - | Service component for core cancellation item 02 (data binding, FUNC_CODE_2). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039503CC` | EKKSV039503CC | - | Common component processing for core cancellation item 03. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039503SC` | EKKSV039503SC | - | Service component for core cancellation item 03 (FUNC_CODE_2). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039504CC` | EKKSV039504CC | - | Common component processing for core cancellation item 04. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039504SC` | EKKSV039504SC | - | Service component for core cancellation item 04 (FUNC_CODE_2). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039505CC` | EKKSV039505CC | - | Common component processing for core cancellation item 05 (called twice: after item 06 and after work SC). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039505SC` | EKKSV039505SC | - | Service component for core cancellation item 05. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039506SC` | EKKSV039506SC | - | Service component for core cancellation item 06 (last core item). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039515SC` | EKKSV039515SC | - | Work-item processing step 15 (cancellation workflow). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039516SC` | EKKSV039516SC | - | Work-item processing step 16. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039517SC` | EKKSV039517SC | - | Work-item processing step 17. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039518SC` | EKKSV039518SC | - | Work-item processing step 18. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039519SC` | EKKSV039519SC | - | Work-item processing step 19. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039520SC` | EKKSV039520SC | - | Work-item processing step 20. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039521SC` | EKKSV039521SC | - | Work-item processing step 21. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039522SC` | EKKSV039522SC | - | Work-item processing step 22. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039523SC` | EKKSV039523SC | - | Work-item processing step 23. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039524SC` | EKKSV039524SC | - | Work-item processing step 24. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039525SC` | EKKSV039525SC | - | Work-item processing step 25. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039526SC` | EKKSV039526SC | - | Work-item processing step 26. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039527SC` | EKKSV039527SC | - | Work-item processing step 27 (changed from FUNC_CODE_2 to FUNC_CODE_1 per OM-2015-0002629, 2015/10/28). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039528SC` | EKKSV039528SC | - | Work-item processing step 28. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039529SC` | EKKSV039529SC | - | Work-item processing step 29 (uses FUNC_CODE_1). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039530SC` | EKKSV039530SC | - | Work-item processing step 30. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039533SC` | EKKSV039533SC | - | Work-item processing step 33 (v5.00.02: replaced 31/32/35SC calls). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039534SC` | EKKSV039534SC | - | Work-item processing step 34. |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039536SC` | EKKSV039536SC | - | Service component item 36 (v4.02.00 addition, uses FUNC_CODE_2). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039537CC` | EKKSV039537CC | - | Common component processing for item 37 (v4.03.00 addition). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039538CC` | EKKSV039538CC | - | Common component processing for item 38 (v4.03.00 addition). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039539CC` | EKKSV039539CC | - | Common component processing for item 39 (v4.03.00 addition). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039540CC` | EKKSV039540CC | - | Common component processing for item 40 (v5.00.01 addition). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039548CC` | EKKSV039548CC | - | Common component processing for item 48 (ANK-2765 addition). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039549SC` | EKKSV039549SC | - | Service component item 49 (ANK-3949 addition; gated by funcCd == "1"). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039551CC` | EKKSV039551CC | - | Common component processing for item 51 (ANK-3987 addition; gated by funcCd == "1"). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV039552SC` | EKKSV039552SC | - | Service component item 52 (ANK-4287 addition; unconditional). |
| - | `KKSV0395_KKSV0395OPDBMapper.setKKSV0395WorkSC` | EKKSV0395WorkSC | - | Work status processing (no funcCd argument — operates on work-item state). |

**Note**: The exact CRUD operation type (C/R/U/D) for each SC cannot be determined from the `setKKSV0395*` naming pattern alone. These are setter-style methods that typically perform **Update** (U) operations on service data, with some CC methods performing **Read** (R) validation or **Delete** (D) cleanup. The `setCourseRkIcjknDelCC` is clearly a **Delete** (D) operation for course reservation record cleanup.

## 5. Dependency Trace

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

**Notes:**
- `KKA16701SFLogic.setInMsg()` is the sole direct caller of `setKKSV0395()`, as reported by the code graph.
- No screen/batch entry points were found within 8 hops; this method is a **private** handler invoked internally by the `KKA16701SF` screen logic.
- The method is **private** (no access modifier specified defaults to private in Java context for the method signature pattern), meaning it is used exclusively within `KKA16701SFLogic` as part of the inbound message processing flow.

## 6. Per-Branch Detail Blocks

### Block 1 — INIT (Variable initialization) (L1432)

> Initializes the local working structures: output parameter map, mapper instance, and parameter bean array.

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramMap = new HashMap<String, String>()` // Output parameter map for service upbound items |
| 2 | SET | `mapper = new KKSV0395_KKSV0395OPDBMapper()` // Mapper for course reservation cancellation data access |
| 3 | SET | `paramBean = new X31SDataBeanAccess[]{svcFormBean}` // Wraps input bean in array for mapper signature |

### Block 2 — Sequential mapper calls (L1437–L1450)

> **v4.02.00 addition block**: Calls `setKKSV039536SC` with `FUNC_CODE_2`. Then processes core cancellation items 01 through 06 in sequential order. Items 02, 03, 04 use `FUNC_CODE_2` while items 01, 05, 06 use the `funcCd` parameter.

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramBean = {svcFormBean}` // (already in Block 1, referenced here) |
| 2 | CALL | `mapper.setKKSV039536SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2)` // v4.02.00 addition — FUNC_CODE_2 = "2" |
| 3 | CALL | `mapper.setKKSV039501SC(paramBean, inputMap, funcCd)` // Core item 01 SC |
| 4 | CALL | `mapper.setKKSV039502SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2)` // FUNC_CODE_2 = "2" |
| 5 | CALL | `mapper.setKKSV039503CC(paramBean, inputMap, funcCd)` // Core item 03 CC |
| 6 | CALL | `mapper.setKKSV039503SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2)` // FUNC_CODE_2 = "2" |
| 7 | CALL | `mapper.setKKSV039504SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2)` // FUNC_CODE_2 = "2" |
| 8 | CALL | `mapper.setKKSV039505SC(paramBean, inputMap, funcCd)` // Core item 05 SC |
| 9 | CALL | `mapper.setKKSV039506SC(paramBean, inputMap, funcCd)` // Core item 06 SC |

### Block 3 — CC cleanup calls (L1451–L1453)

> Common component calls for course reservation deletion, core CC validation, and confirmation after core items.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039504CC(paramBean, inputMap, funcCd)` // Item 04 CC |
| 2 | CALL | `mapper.setKKSV039501CC(paramBean, inputMap, funcCd)` // Item 01 CC |
| 3 | CALL | `mapper.setKKSV039502CC(paramBean, inputMap, funcCd)` // Item 02 CC |

### Block 4 — Work item SC processing (L1454–L1478)

> Processes work items 15 through 30. This is the main batch of workflow operations for the cancellation.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039515SC(paramBean, inputMap, funcCd)` // Work item 15 |
| 2 | CALL | `mapper.setKKSV039516SC(paramBean, inputMap, funcCd)` // Work item 16 |
| 3 | CALL | `mapper.setKKSV039517SC(paramBean, inputMap, funcCd)` // Work item 17 |
| 4 | CALL | `mapper.setKKSV039518SC(paramBean, inputMap, funcCd)` // Work item 18 |
| 5 | CALL | `mapper.setKKSV039519SC(paramBean, inputMap, funcCd)` // Work item 19 |
| 6 | CALL | `mapper.setKKSV039520SC(paramBean, inputMap, funcCd)` // Work item 20 |
| 7 | CALL | `mapper.setKKSV039521SC(paramBean, inputMap, funcCd)` // Work item 21 |
| 8 | CALL | `mapper.setKKSV039522SC(paramBean, inputMap, funcCd)` // Work item 22 |
| 9 | CALL | `mapper.setKKSV039523SC(paramBean, inputMap, funcCd)` // Work item 23 |
| 10 | CALL | `mapper.setKKSV039524SC(paramBean, inputMap, funcCd)` // Work item 24 |
| 11 | CALL | `mapper.setKKSV039525SC(paramBean, inputMap, funcCd)` // Work item 25 |
| 12 | CALL | `mapper.setKKSV039526SC(paramBean, inputMap, funcCd)` // Work item 26 |
| 13 | CALL | `mapper.setKKSV039527SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1)` // Work item 27 — **MOD**: changed from FUNC_CODE_2 to FUNC_CODE_1 (OM-2015-0002629, 2015/10/28) — FUNC_CODE_1 = "1" |
| 14 | CALL | `mapper.setKKSV039528SC(paramBean, inputMap, funcCd)` // Work item 28 |
| 15 | CALL | `mapper.setKKSV039529SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1)` // FUNC_CODE_1 = "1" |
| 16 | CALL | `mapper.setKKSV039530SC(paramBean, inputMap, funcCd)` // Work item 30 |

### Block 5 — v5.00.02 replacement block (L1480–L1484)

> **v5.00.02 change block**: Replaced previous calls to `setKKSV039531SC`, `setKKSV039535SC`, and `setKKSV039532SC` (all commented out) with `setCourseRkIcjknDelCC` for course reservation record deletion.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setCourseRkIcjknDelCC(paramBean, inputMap, funcCd)` // v5.00.02 addition — deletes course reservation records |
| 2 | CALL | `mapper.setKKSV039533SC(paramBean, inputMap, funcCd)` // Work item 33 |
| 3 | CALL | `mapper.setKKSV039534SC(paramBean, inputMap, funcCd)` // Work item 34 |
| 4 | CALL | `mapper.setKKSV039505CC(paramBean, inputMap, funcCd)` // Item 05 CC (called again after work items) |
| 5 | CALL | `mapper.setKKSV0395WorkSC(paramBean, inputMap)` // Work status processing |

### Block 6 — v4.03.00 addition block (L1486–L1488)

> Common component processing additions (37, 38, 39).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039537CC(paramBean, inputMap, funcCd)` // v4.03.00 addition |
| 2 | CALL | `mapper.setKKSV039538CC(paramBean, inputMap, funcCd)` // v4.03.00 addition |
| 3 | CALL | `mapper.setKKSV039539CC(paramBean, inputMap, funcCd)` // v4.03.00 addition |

### Block 7 — v5.00.01 addition block (L1490)

> `setKKSV039540CC` addition.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039540CC(paramBean, inputMap, funcCd)` // v5.00.01 addition |

### Block 8 — ANK-2765 addition (L1492–L1493)

> `setKKSV039548CC` addition.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039548CC(paramBean, inputMap, funcCd)` // ANK-2765 addition |

### Block 9 — ANK-3949 conditional block (L1494–L1497)

> Conditional branch gated on `funcCd == FUNC_CODE_1` (i.e., funcCd == "1"). Only executed for web/internet channel cancellations.

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKCommonConst.FUNC_CODE_1.equals(funcCd)` // [FUNC_CODE_1 = "1"] — checks if web channel |
| 1.1 | CALL | `mapper.setKKSV039549SC(paramBean, inputMap, funcCd)` // ANK-3949 addition — only for FUNC_CODE_1 |

### Block 10 — ANK-3987 conditional block (L1498–L1503)

> Second conditional branch, also gated on `funcCd == FUNC_CODE_1`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKCommonConst.FUNC_CODE_1.equals(funcCd)` // [FUNC_CODE_1 = "1"] — checks if web channel |
| 1.1 | CALL | `mapper.setKKSV039551CC(paramBean, inputMap, funcCd)` // ANK-3987 addition — only for FUNC_CODE_1 |

### Block 11 — ANK-4287 addition (L1504–L1505)

> Unconditional call — executed regardless of funcCd.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV039552SC(paramBean, inputMap, funcCd)` // ANK-4287 addition |

### Block 12 — Telemetry and return (L1507–L1508)

> Tags the output parameter map with the usecase ID and returns.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0395")` // Sets telemetry/usecase ID for tracking |
| 2 | RETURN | `return paramMap` // Returns HashMap<String, String> with usecase ID |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `setKKSV0395` | Method | Course History — Net Reservation Cancellation Confirmation service: upbound item transfer processing (コース履歴_ネット予約取消確認サービスの上り項目転記処理) |
| `KKA16701SF` | Module | Web screen module for course history / net reservation cancellation confirmation operations |
| `svcFormBean` | Field | Service form data bean (X31SDataBeanAccess) — carries all service-level input/output data for the cancellation workflow |
| `inputMap` | Field | Input map (HashMap<String, Object>) — transient processing data shared across mapper calls |
| `funcCd` | Field | Function code — identifies the service channel type ("1" = web/internet, "2" = counter/branch) |
| `FUNC_CODE_1` | Constant | "1" — Web/internet channel function code |
| `FUNC_CODE_2` | Constant | "2" — Counter/branch channel function code |
| `KKSV0395` | Use Case ID | Net Reservation Cancellation Confirmation service identifier — written to telemetry via TELEGRAM_INFO_USECASE_ID |
| `TELEGRAM_INFO_USECASE_ID` | Constant | Key for the usecase ID field in the output parameter map (X31CWebConst) |
| `KKSV0395_KKSV0395OPDBMapper` | Class | Data access mapper that routes operations to SC (Service Component) and CC (Common Component) layers for the KKSV0395 service |
| `paramBean` | Field | Array of X31SDataBeanAccess — the bean wrapper passed to all mapper method calls |
| `setCourseRkIcjknDelCC` | Method | Delete course reservation record common component — removes reservation records during cancellation (L: 予約取消確認, ICJK = 予約確認) |
| v4.02.00 / v4.03.00 / v5.00.01 / v5.00.02 | Version tags | Release version markers indicating when mapper calls were added or modified in the code |
| OM-2015-0002629 | Change ticket | Change ticket that modified `setKKSV039527SC` from FUNC_CODE_2 to FUNC_CODE_1 (2015/10/28) |
| ANK-2765 / ANK-3949 / ANK-3987 / ANK-4287 | Change tickets | Jira-style ticket identifiers for feature additions to the KKSV0395 service flow |
| SC | Acronym | Service Component — the layer that handles service-specific business logic and data operations |
| CC | Acronym | Common Component — the layer that handles shared/common business logic and data operations across services |
| Mapper | Pattern | KKSV0395_KKSV0395OPDBMapper — the intermediate data access layer that routes calls to SC/CC components |

---

**Document generated from source:** `source/koptWebA/src/eo/web/webview/KKA16701SF/KKA16701SFLogic.java` lines 1430–1508
