# Business Logic — JKKWrisvcAutoAplyCCMapper.callSvcKeiAllIcrnShokai() [361 LOC]

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

## 1. Role

### JKKWrisvcAutoAplyCCMapper.callSvcKeiAllIcrnShokai()

This method is the service-contract aggregation bridge between the external service component and the internal work-area data model. It invokes the service-contract-list inquiry SC (Service Component) via the `EKK0081B037BSMapper` to fetch all service contracts associated with a set of service-contract numbers, then transforms the heterogeneous SC response into a unified list of work-area service-contract maps. The SC returns a single list where each record is tagged with a `TG_KEI_SKBT_CD` field indicating the contract subtype. Based on this code, the method routes each record into one of five distinct transformation branches, mapping SC-level fields into the appropriate keys of the `KKSV0313_KKSV0313OP_WORK_SVC_KEI` work-area map.

The five contract types handled are: **(03) Service Contract Details** (service contract line items managed in the work area), **(04) Optional Service Contracts**, **(05) Sub-Optional Service Contracts**, **(06) Equipment Provision Service Contracts**, and **(07) Billing Optional Service Contracts**. Each branch extracts a different subset of fields specific to its contract type, always populating common fields like `SVC_KEI_NO` (where available), `PCRS_CD` (price code), `PPLAN_CD` (price plan code), `MSKM_DTL_NO` (billing detail number), `SVC_STA_YMD` (service start date), `SVC_CHRG_STAYMD` (charge start date), `SVC_ENDYMD` (service end date), `SVC_CHRG_ENDYMD` (charge end date), and `TG_KEI_SKBT_CD` (the target contract identification code set to a type-specific constant).

The method implements the **routing/dispatch** design pattern, using a sequential if-else chain on `TG_KEI_SKBT_CD` to dispatch each SC record to its type-specific mapping block. It also follows the **mapper** pattern, translating between the SC response data structure (keys defined in `KKSV0313_KKSV0313OP_KKSV031380SC_EKK0081B037CBSMsg1List`) and the work-area model (keys defined in `KKSV0313_KKSV0313OP_WORK_SVC_KEI`). This method is a shared utility called by the CBS controller `JKKWrisvcAutoAplyCC.getWribSvcKeiInfo()` to populate the service-contract list used throughout the Wrisvc auto-application screen flows.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["callSvcKeiAllIcrnShokai ccMap svcKeiNo funcCd"])
    SetupMap["Setup mapName from ccMapNm + KKSV031380SC"]
    CreateInMap["Create inMap HashMap"]
    SetMap["cmnParam.setData mapName inMap"]
    PutFuncCode["inMap.put FUNC_CODE funcCd"]
    PutSvcKeiNo["inMap.put KEY_SVC_KEI_NO svcKeiNo"]
    CreateMapper["Create EKK0081B037BSMapper"]
    EditInMsg["mapper.editInMsg cmnParam -> paramMap"]
    CreateInvoker["Create ServiceComponentRequestInvoker"]
    ScRun["scCall.run paramMap cmnHandle -> result"]
    EditResultRP["cmnParam = mapper.editResultRP result cmnParam"]
    CheckExecResult["checkExecutionResult result"]
    GetOutMap["outMap = cmnParam.getData mapName"]
    GetList["list = outMap.get EKK0081B037CBSMSG1LIST"]
    CreateSvcKeiList["svcKeiAllList = new ArrayList"]
    LoopStart["for each outMapSvcKeiAll in list"]
    CreateSvcKeiMap["mapSvcKeiAll = new HashMap"]
    Check03{{TG_KEI_SKBT_CD = 03}}
    Block03["Block 1 Service Contract Details Map 11 fields"]
    Check04{{TG_KEI_SKBT_CD = 04}}
    Block04["Block 2 Optional Service Contract Map 11 fields"]
    Check05{{TG_KEI_SKBT_CD = 05}}
    Block05["Block 3 Sub Optional Service Contract Map 10 fields"]
    Check06{{TG_KEI_SKBT_CD = 06}}
    Block06["Block 4 Equipment Provision Service Contract Map 11 fields"]
    Check07{{TG_KEI_SKBT_CD = 07}}
    Block07["Block 5 Billing Optional Service Contract Map 9 fields"]
    AddToList["svcKeiAllList.add mapSvcKeiAll"]
    ReturnList["return svcKeiAllList"]
    END(["End"])

    START --> SetupMap
    SetupMap --> CreateInMap
    CreateInMap --> SetMap
    SetMap --> PutFuncCode
    PutFuncCode --> PutSvcKeiNo
    PutSvcKeiNo --> CreateMapper
    CreateMapper --> EditInMsg
    EditInMsg --> CreateInvoker
    CreateInvoker --> ScRun
    ScRun --> EditResultRP
    EditResultRP --> CheckExecResult
    CheckExecResult --> GetOutMap
    GetOutMap --> GetList
    GetList --> CreateSvcKeiList
    CreateSvcKeiList --> LoopStart
    LoopStart --> CreateSvcKeiMap
    CreateSvcKeiMap --> Check03
    Check03 -->|Yes| Block03
    Check03 -->|No| Check04
    Check04 -->|Yes| Block04
    Check04 -->|No| Check05
    Check05 -->|Yes| Block05
    Check05 -->|No| Check06
    Check06 -->|Yes| Block06
    Check06 -->|No| Check07
    Check07 -->|Yes| Block07
    Check07 -->|No| AddToList
    Block03 --> AddToList
    Block04 --> AddToList
    Block05 --> AddToList
    Block06 --> AddToList
    Block07 --> AddToList
    AddToList --> LoopStart
    LoopStart --> END
    END --> ReturnList
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `ccMap` | `HashMap<String, Object>` | The work-area map (作業領域) that holds transient session state across the screen flow. In this method, it is primarily used indirectly via `this.cmnParam` for data exchange with the service component. |
| 2 | `svcKeiNo` | `String` | Service-contract numbers (multiple) — the identifier(s) of the service contracts to look up. Corresponds to the input key `KEY_SVC_KEI_NO` passed to the SC. Represents the "Service Contract Numbers (Multiple Designated)" field. |
| 3 | `funcCd` | `String` | Function code — indicates the calling context or screen operation type. Mapped to the `FUNC_CODE` ("func_code") key sent to the SC. Used by the SC to determine which service logic path to execute. |

**Instance fields read:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `this.ccMapNm` | `String` | The work-area map name prefix, used to construct the unique key `mapName` for data exchange with the SC. |
| `this.cmnParam` | `JBSbatAKKshkmRsltInfoTukiawsday` (or similar) | The common parameter object holding the shared work-area state across CBS operations. Read and written throughout the method. |
| `this.cmnHandle` | `Handle` | The system handle used by the `ServiceComponentRequestInvoker` to execute the SC call. |

## 4. CRUD Operations / Called Services

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

The following table classifies all method calls within `callSvcKeiAllIcrnShokai`:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `KKSV0313_KKSV0313OP_EKK0081B037BSMapper.editInMsg` | EKK0081B037 | - | Invokes the mapper to transform common params into the SC input message structure (paramMap) |
| R | `ServiceComponentRequestInvoker.run` | EKK0081B037 | KK_T_OPSVKEI (implied) | Executes the external service component call to retrieve the service-contract list inquiry data (service contract details, optional services, sub-optional services, equipment provision services, billing optional services) |
| U | `KKSV0313_KKSV0313OP_EKK0081B037BSMapper.editResultRP` | EKK0081B037 | - | Transforms the SC response result back into the common parameter, populating the output map under `mapName` |
| - | `checkExecutionResult` | - | - | Validates the SC execution result, checking for errors or exception conditions |
| R | `JBSbatAKKshkmRsltInfoTukiawsday.getData` | - | - | Retrieves the output map (`outMap`) from `cmnParam` using the `mapName` key |

**Classification rationale:**
- **R (Read):** The single external call is `scCall.run(paramMap, this.cmnHandle)`, which calls the SC `EKK0081B037` to query service contract records. The SC returns a list of service contracts (mapped to `EKK0081B037CBSMSG1LIST`), each containing fields like `TG_KEI_SKBT_CD`, `SVC_KEI_NO`, `SVC_KEI_UCWK_STAT`, `OP_SVC_KEI_NO`, `SBOP_SVC_KEI_NO`, `KKTK_SVC_KEI_NO`, `SEIOPSVC_KEI_NO`, pricing codes, and date fields. These correspond to database entities for service contracts (e.g., `KK_T_OPSVKEI_ISP` for ISP service contracts, `KK_T_ODR_HAKKO_JOKEN` for order-issued conditions, and related tables).
- **U (Update):** `editResultRP` updates the `cmnParam` with the SC response. `setData` / `getData` on `cmnParam` update/read the common parameter state.
- **- (No CRUD):** `editInMsg` is a local mapper transformation; `checkExecutionResult` is a local validation check.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CBS:JKKWrisvcAutoAplyCC | `JKKWrisvcAutoAplyCC.getWribSvcKeiInfo()` -> `JKKWrisvcAutoAplyCCMapper.callSvcKeiAllIcrnShokai()` | `scCall.run [R] KK_T_OPSVKEI (service contracts)`, `checkExecutionResult [-]`, `editResultRP [U]`, `editInMsg [-]`, `getData [R]` |

**Call chain detail:**
- `JKKWrisvcAutoAplyCC.getWribSvcKeiInfo()` is the CBS controller method that orchestrates the retrieval of work-area service-contract information. It calls `callSvcKeiAllIcrnShokai()` to fetch all service contracts for the given service-contract numbers, then uses the returned list to populate the work-area maps for the screen.

**Terminal operations from this method:**

| Terminal Operation | CRUD | Description |
|--------------------|------|-------------|
| `scCall.run(paramMap, cmnHandle)` | R | External SC call that reads service-contract data from the database |
| `checkExecutionResult(result)` | - | Validates SC execution outcome |
| `mapper.editResultRP(result, cmnParam)` | U | Updates common params with SC response |
| `mapper.editInMsg(cmnParam)` | - | Transforms params to SC input format |
| `cmnParam.getData(mapName)` | R | Reads the output map from common params |

## 6. Per-Branch Detail Blocks

**Block 1** — SETUP `(mapName construction)` (L11151)

> Constructs a unique map name for data exchange with the SC by concatenating the class-level map name prefix with the screen code suffix.

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

**Block 2** — SETUP `CC -> SC Item Mapping` (L11157)

> Prepares the SC input map: creates a new HashMap, stores it in `cmnParam`, and populates the function code and service-contract number.

| # | Type | Code |
|---|------|------|
| 1 | SET | `inMap = new HashMap<String, Object>()` |
| 2 | EXEC | `this.cmnParam.setData(mapName, inMap)` |
| 3 | SET | `inMap.put(FUNC_CODE, funcCd)` // func_code -> 機能コード (Function Code) [-> FUNC_CODE="func_code"] |
| 4 | SET | `inMap.put(KKSV0313_KKSV0313OP_KKSV031380SC.KEY_SVC_KEI_NO, svcKeiNo)` // 作業領域.サービス契約マップ.サービス契約番号 -> サービス契約一覧照会（割引用）マップ.KEY_サービス契約番号 (Work Area Service Contract Map.Service Contract Number -> SC Inquiry Map.KEY_Service Contract Number) |

**Block 3** — EXEC `ServiceIF Execution` (L11167)

> Invokes the external service component to perform the service-contract list inquiry. Creates a mapper, builds the input message, executes the SC, processes the response, and validates the result.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mapper = new KKSV0313_KKSV0313OP_EKK0081B037BSMapper(mapName)` |
| 2 | SET | `paramMap = mapper.editInMsg(this.cmnParam)` |
| 3 | SET | `scCall = new ServiceComponentRequestInvoker()` |
| 4 | SET | `result = scCall.run(paramMap, this.cmnHandle)` |
| 5 | SET | `this.cmnParam = mapper.editResultRP(result, this.cmnParam)` |
| 6 | EXEC | `checkExecutionResult(result)` |

**Block 4** — SETUP `SC -> CC Item Mapping` (L11180)

> Extracts the SC response from the common parameter and retrieves the list of service contract details (EKK0081B037CBSMSG1LIST).

| # | Type | Code |
|---|------|------|
| 1 | SET | `outMap = (HashMap<String, Object>)this.cmnParam.getData(mapName)` // 作業領域.get (Work Area.get) |
| 2 | SET | `list = (ArrayList<HashMap<String, Object>>)outMap.get(KKSV0313_KKSV0313OP_KKSV031380SC_EKK0081B037CBSMsg1List.EKK0081B037CBSMSG1LIST)` // サービス契約一覧照会（割引用）マップ.サービス契約一覧照会（割引用）詳細 (SC Inquiry Map.SC Inquiry Details) |
| 3 | SET | `svcKeiAllList = new ArrayList<HashMap<String, Object>>()` // サービス契約リスト（各種サービス契約） (Service Contract List - Various Service Contracts) |

**Block 5** — FOR LOOP (L11186)

> Iterates over each service-contract record returned by the SC. For each record, creates a new mapping HashMap, dispatches to a type-specific block based on `TG_KEI_SKBT_CD`, then adds the mapped record to the result list.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mapSvcKeiAll = new HashMap<String, Object>()` |
| 2 | EXEC | Branch based on `TG_KEI_SKBT_CD` (see Blocks 5.1-5.5 below) |
| 3 | EXEC | `svcKeiAllList.add(mapSvcKeiAll)` |

**Block 5.1** — IF `[TG_KEI_SKBT_CD = "03" (Service Contract Details)]` (L11191)

> Handles service-contract detail records (サービス契約内容). Maps 11 fields from the SC response to the work-area map, including the contract's work-area status, number, billing detail number, price code, price plan, service start/end dates, charge start/end dates, and the type code constant `"03"`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mapSvcKeiAll.put(SVC_KEI_UCWK_STAT, outMapSvcKeiAll.get(SVC_KEI_UCWK_STAT))` // サービス契約マップ.サービス契約詳細ステータス <- ... (Service Contract Map.Service Contract Detail Status) [-> TG_KEI_SKBT_CD_SVC_KEI_UCWK="03"] |
| 2 | SET | `mapSvcKeiAll.put(SVC_KEI_NO, outMapSvcKeiAll.get(SVC_KEI_NO))` // 業務領域.サービス契約マップ.サービス契約番号 <- ... (Work Area.Service Contract Map.Service Contract Number) |
| 3 | SET | `mapSvcKeiAll.put(MSKM_DTL_NO, outMapSvcKeiAll.get(MSKM_DTL_NO))` // サービス契約マップ.請求詳細番号 <- ... (Service Contract Map.Billing Detail Number) |
| 4 | SET | `mapSvcKeiAll.put(PCRS_CD, outMapSvcKeiAll.get(PCRS_CD))` // サービス契約マップ.料金コースコード <- ... (Service Contract Map.Price Code) |
| 5 | SET | `mapSvcKeiAll.put(PPLAN_CD, outMapSvcKeiAll.get(PPLAN_CD))` // サービス契約マップ.料金プランコード <- ... (Service Contract Map.Price Plan Code) |
| 6 | SET | `mapSvcKeiAll.put(SVC_STA_YMD, outMapSvcKeiAll.get(SVC_STA_YMD))` // サービス契約マップ.サービス開始年月日 <- ... (Service Contract Map.Service Start Date) |
| 7 | SET | `mapSvcKeiAll.put(SVC_CHRG_STAYMD, outMapSvcKeiAll.get(SVC_CHRG_STAYMD))` // サービス契約マップ.サービス課金開始年月日 <- ... (Service Contract Map.Service Charge Start Date) |
| 8 | SET | `mapSvcKeiAll.put(SVC_ENDYMD, outMapSvcKeiAll.get(SVC_ENDYMD))` // サービス契約マップ.サービス終了年月日 <- ... (Service Contract Map.Service End Date) |
| 9 | SET | `mapSvcKeiAll.put(SVC_CHRG_ENDYMD, outMapSvcKeiAll.get(SVC_CHRG_ENDYMD))` // サービス契約マップ.サービス課金終了年月日 <- ... (Service Contract Map.Service Charge End Date) |
| 10 | SET | `mapSvcKeiAll.put(TG_KEI_SKBT_CD, TG_KEI_SKBT_CD_SVC_KEI_UCWK)` // 対象契約識別コード（サービス契約詳細） <- ... (Target Contract ID Code - Service Contract Details) [-> TG_KEI_SKBT_CD_SVC_KEI_UCWK="03"] |
| 11 | SET | `mapSvcKeiAll.put(SVC_KEI_UCWK_NO, outMapSvcKeiAll.get(SVC_KEI_UCWK_NO))` // サービス契約マップ.サービス契約詳細番号 <- ... (Service Contract Map.Service Contract Detail Number) |

**Block 5.2** — ELSE-IF `[TG_KEI_SKBT_CD = "04" (Optional Service Contract)]` (L11240)

> Handles optional service-contract records (オプションサービス契約). Maps 11 fields including optional service status, optional service number, optional service code, plus common pricing and date fields. Sets the type code constant to `"04"`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mapSvcKeiAll.put(OP_SVC_KEI_STAT, outMapSvcKeiAll.get(OP_SVC_KEI_STAT))` // サービス契約マップ.オプションサービス契約ステータス <- ... (Service Contract Map.Optional Service Contract Status) |
| 2 | SET | `mapSvcKeiAll.put(SVC_STA_YMD, outMapSvcKeiAll.get(SVC_STA_YMD))` // サービス契約マップ.サービス開始年月日 <- ... (Service Contract Map.Service Start Date) |
| 3 | SET | `mapSvcKeiAll.put(SVC_ENDYMD, outMapSvcKeiAll.get(SVC_ENDYMD))` // サービス契約マップ.サービス終了年月日 <- ... (Service Contract Map.Service End Date) |
| 4 | SET | `mapSvcKeiAll.put(OP_SVC_KEI_NO, outMapSvcKeiAll.get(OP_SVC_KEI_NO))` // サービス契約マップ.オプションサービス契約番号 <- ... (Service Contract Map.Optional Service Contract Number) |
| 5 | SET | `mapSvcKeiAll.put(OP_SVC_CD, outMapSvcKeiAll.get(OP_SVC_CD))` // サービス契約マップ.オプションサービスコード <- ... (Service Contract Map.Optional Service Code) |
| 6 | SET | `mapSvcKeiAll.put(SVC_KEI_NO, outMapSvcKeiAll.get(SVC_KEI_NO))` // サービス契約マップ.サービス契約番号 <- ... (Service Contract Map.Service Contract Number) |
| 7 | SET | `mapSvcKeiAll.put(PCRS_CD, outMapSvcKeiAll.get(PCRS_CD))` // サービス契約マップ.料金コースコード <- ... (Service Contract Map.Price Code) |
| 8 | SET | `mapSvcKeiAll.put(PPLAN_CD, outMapSvcKeiAll.get(PPLAN_CD))` // サービス契約マップ.料金プランコード <- ... (Service Contract Map.Price Plan Code) |
| 9 | SET | `mapSvcKeiAll.put(MSKM_DTL_NO, outMapSvcKeiAll.get(MSKM_DTL_NO))` // サービス契約マップ.請求詳細番号 <- ... (Service Contract Map.Billing Detail Number) |
| 10 | SET | `mapSvcKeiAll.put(SVC_CHRG_STAYMD, outMapSvcKeiAll.get(SVC_CHRG_STAYMD))` // サービス契約マップ.サービス課金開始年月日 <- ... (Service Contract Map.Service Charge Start Date) |
| 11 | SET | `mapSvcKeiAll.put(SVC_CHRG_ENDYMD, outMapSvcKeiAll.get(SVC_CHRG_ENDYMD))` // サービス契約マップ.サービス課金終了年月日 <- ... (Service Contract Map.Service Charge End Date) |
| 12 | SET | `mapSvcKeiAll.put(TG_KEI_SKBT_CD, TG_KEI_SKBT_CD_OP_SVC_KEI)` // 対象契約識別コード（オプションサービス契約） <- ... (Target Contract ID Code - Optional Service Contract) [-> TG_KEI_SKBT_CD_OP_SVC_KEI="04"] |

**Block 5.3** — ELSE-IF `[TG_KEI_SKBT_CD = "05" (Sub-Optional Service Contract)]` (L11321)

> Handles sub-optional service-contract records (サブオプションサービス契約). Maps 10 fields including sub-optional service number and status, plus common pricing and date fields. Sets the type code constant to `"05"`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mapSvcKeiAll.put(OP_SVC_KEI_NO, outMapSvcKeiAll.get(OP_SVC_KEI_NO))` // サービス契約マップ.オプションサービス契約番号 <- ... (Service Contract Map.Optional Service Contract Number) |
| 2 | SET | `mapSvcKeiAll.put(SBOP_SVC_KEI_NO, outMapSvcKeiAll.get(SBOP_SVC_KEI_NO))` // サービス契約マップ.サブオプションサービス契約番号 <- ... (Service Contract Map.Sub-Optional Service Contract Number) |
| 3 | SET | `mapSvcKeiAll.put(SBOP_SVC_KEI_STAT, outMapSvcKeiAll.get(SBOP_SVC_KEI_STAT))` // サービス契約マップ.サブオプションサービス契約ステータス <- ... (Service Contract Map.Sub-Optional Service Contract Status) |
| 4 | SET | `mapSvcKeiAll.put(PCRS_CD, outMapSvcKeiAll.get(PCRS_CD))` // サービス契約マップ.料金コースコード <- ... (Service Contract Map.Price Code) |
| 5 | SET | `mapSvcKeiAll.put(PPLAN_CD, outMapSvcKeiAll.get(PPLAN_CD))` // サービス契約マップ.料金プランコード <- ... (Service Contract Map.Price Plan Code) |
| 6 | SET | `mapSvcKeiAll.put(MSKM_DTL_NO, outMapSvcKeiAll.get(MSKM_DTL_NO))` // サービス契約マップ.請求詳細番号 <- ... (Service Contract Map.Billing Detail Number) |
| 7 | SET | `mapSvcKeiAll.put(SVC_STA_YMD, outMapSvcKeiAll.get(SVC_STA_YMD))` // サービス契約マップ.サービス開始年月日 <- ... (Service Contract Map.Service Start Date) |
| 8 | SET | `mapSvcKeiAll.put(SVC_CHRG_STAYMD, outMapSvcKeiAll.get(SVC_CHRG_STAYMD))` // サービス契約マップ.サービス課金開始年月日 <- ... (Service Contract Map.Service Charge Start Date) |
| 9 | SET | `mapSvcKeiAll.put(SVC_ENDYMD, outMapSvcKeiAll.get(SVC_ENDYMD))` // サービス契約マップ.サービス終了年月日 <- ... (Service Contract Map.Service End Date) |
| 10 | SET | `mapSvcKeiAll.put(SVC_CHRG_ENDYMD, outMapSvcKeiAll.get(SVC_CHRG_ENDYMD))` // サービス契約マップ.サービス課金終了年月日 <- ... (Service Contract Map.Service Charge End Date) |
| 11 | SET | `mapSvcKeiAll.put(TG_KEI_SKBT_CD, TG_KEI_SKBT_CD_SBOP_SVC_KEI)` // 対象契約識別コード（サブオプションサービス契約） <- ... (Target Contract ID Code - Sub-Optional Service Contract) [-> TG_KEI_SKBT_CD_SBOP_SVC_KEI="05"] |

**Block 5.4** — ELSE-IF `[TG_KEI_SKBT_CD = "06" (Equipment Provision Service Contract)]` (L11399)

> Handles equipment-provision service-contract records (機器提供サービス契約). Maps 11 fields including equipment provision service number, code, status, and service type code, plus common pricing and date fields. Includes an IT2-2019-0000007 ADD block that copies `SVC_KEI_NO` for the wireless LAN relay device addition. Sets the type code constant to `"06"`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mapSvcKeiAll.put(KKTK_SVC_KEI_NO, outMapSvcKeiAll.get(KKTK_SVC_KEI_NO))` // サービス契約マップ.機器提供サービス契約番号 <- ... (Service Contract Map.Equipment Provision Service Contract Number) |
| 2 | SET | `mapSvcKeiAll.put(KKTK_SVC_CD, outMapSvcKeiAll.get(KKTK_SVC_CD))` // サービス契約マップ.機器提供サービスコード <- ... (Service Contract Map.Equipment Provision Service Code) |
| 3 | SET | `mapSvcKeiAll.put(KKTK_SVC_KEI_STAT, outMapSvcKeiAll.get(KKTK_SVC_KEI_STAT))` // サービス契約マップ.機器提供サービス契約ステータス <- ... (Service Contract Map.Equipment Provision Service Contract Status) |
| 4 | SET | `mapSvcKeiAll.put(PCRS_CD, outMapSvcKeiAll.get(PCRS_CD))` // サービス契約マップ.料金コースコード <- ... (Service Contract Map.Price Code) |
| 5 | SET | `mapSvcKeiAll.put(PPLAN_CD, outMapSvcKeiAll.get(PPLAN_CD))` // サービス契約マップ.料金プランコード <- ... (Service Contract Map.Price Plan Code) |
| 6 | SET | `mapSvcKeiAll.put(MSKM_DTL_NO, outMapSvcKeiAll.get(MSKM_DTL_NO))` // サービス契約マップ.請求詳細番号 <- ... (Service Contract Map.Billing Detail Number) |
| 7 | SET | `mapSvcKeiAll.put(KKTK_SBT_CD, outMapSvcKeiAll.get(KKTK_SBT_CD))` // サービス契約マップ.機器提供種類コード <- ... (Service Contract Map.Equipment Provision Type Code) |
| 8 | SET | `mapSvcKeiAll.put(SVC_STA_YMD, outMapSvcKeiAll.get(SVC_STA_YMD))` // サービス契約マップ.サービス開始年月日 <- ... (Service Contract Map.Service Start Date) |
| 9 | SET | `mapSvcKeiAll.put(SVC_CHRG_STAYMD, outMapSvcKeiAll.get(SVC_CHRG_STAYMD))` // サービス契約マップ.サービス課金開始年月日 <- ... (Service Contract Map.Service Charge Start Date) |
| 10 | SET | `mapSvcKeiAll.put(SVC_ENDYMD, outMapSvcKeiAll.get(SVC_ENDYMD))` // サービス契約マップ.サービス終了年月日 <- ... (Service Contract Map.Service End Date) |
| 11 | SET | `mapSvcKeiAll.put(SVC_CHRG_ENDYMD, outMapSvcKeiAll.get(SVC_CHRG_ENDYMD))` // サービス契約マップ.サービス課金終了年月日 <- ... (Service Contract Map.Service Charge End Date) |
| 12 | SET | `mapSvcKeiAll.put(TG_KEI_SKBT_CD, TG_KEI_SKBT_CD_KKTK_SVC_KEI)` // 対象契約識別コード（機器提供サービス契約） <- ... (Target Contract ID Code - Equipment Provision Service Contract) [-> TG_KEI_SKBT_CD_KKTK_SVC_KEI="06"] |
| 13 | SET | `mapSvcKeiAll.put(SVC_KEI_NO, outMapSvcKeiAll.get(SVC_KEI_NO))` // IT2-2019-0000007 ADD: 無線LAN中継器追加 - サービス契約番号 (Wireless LAN Relay Device Addition - Service Contract Number) |

**Block 5.5** — ELSE-IF `[TG_KEI_SKBT_CD = "07" (Billing Optional Service Contract)]` (L11467)

> Handles billing optional service-contract records (請求オプションサービス契約). Maps 9 fields including billing optional service number, status, and code, plus common pricing and date fields. Sets the type code constant to `"07"`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mapSvcKeiAll.put(SEIOPSVC_KEI_NO, outMapSvcKeiAll.get(SEIOPSVC_KEI_NO))` // サービス契約マップ.請求オプションサービス契約番号 <- ... (Service Contract Map.Billing Optional Service Contract Number) |
| 2 | SET | `mapSvcKeiAll.put(SEIOPSVC_KEI_STAT, outMapSvcKeiAll.get(SEIOPSVC_KEI_STAT))` // サービス契約マップ.請求オプションサービス契約ステータス <- ... (Service Contract Map.Billing Optional Service Contract Status) |
| 3 | SET | `mapSvcKeiAll.put(SEIOPSVC_CD, outMapSvcKeiAll.get(SEIOPSVC_CD))` // サービス契約マップ.請求オプションサービスコード <- ... (Service Contract Map.Billing Optional Service Code) |
| 4 | SET | `mapSvcKeiAll.put(PCRS_CD, outMapSvcKeiAll.get(PCRS_CD))` // サービス契約マップ.料金コースコード <- ... (Service Contract Map.Price Code) |
| 5 | SET | `mapSvcKeiAll.put(PPLAN_CD, outMapSvcKeiAll.get(PPLAN_CD))` // サービス契約マップ.料金プランコード <- ... (Service Contract Map.Price Plan Code) |
| 6 | SET | `mapSvcKeiAll.put(MSKM_DTL_NO, outMapSvcKeiAll.get(MSKM_DTL_NO))` // サービス契約マップ.請求詳細番号 <- ... (Service Contract Map.Billing Detail Number) |
| 7 | SET | `mapSvcKeiAll.put(SVC_STA_YMD, outMapSvcKeiAll.get(SVC_STA_YMD))` // サービス契約マップ.サービス開始年月日 <- ... (Service Contract Map.Service Start Date) |
| 8 | SET | `mapSvcKeiAll.put(SVC_CHRG_STAYMD, outMapSvcKeiAll.get(SVC_CHRG_STAYMD))` // サービス契約マップ.サービス課金開始年月日 <- ... (Service Contract Map.Service Charge Start Date) |
| 9 | SET | `mapSvcKeiAll.put(SVC_ENDYMD, outMapSvcKeiAll.get(SVC_ENDYMD))` // サービス契約マップ.サービス終了年月日 <- ... (Service Contract Map.Service End Date) |
| 10 | SET | `mapSvcKeiAll.put(SVC_CHRG_ENDYMD, outMapSvcKeiAll.get(SVC_CHRG_ENDYMD))` // サービス契約マップ.サービス課金終了年月日 <- ... (Service Contract Map.Service Charge End Date) |
| 11 | SET | `mapSvcKeiAll.put(TG_KEI_SKBT_CD, TG_KEI_SKBT_CD_SEIOPSVC_KEI)` // 対象契約識別コード（請求オプションサービス契約） <- ... (Target Contract ID Code - Billing Optional Service Contract) [-> TG_KEI_SKBT_CD_SEIOPSVC_KEI="07"] |

**Block 6** — RETURN (L11509)

> Returns the fully populated list of transformed service-contract maps.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return svcKeiAllList` // サービス契約リスト（各種サービス契約） (Service Contract List - Various Service Contracts) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_no` | Field | Service Contract Number — the primary identifier for a service contract in the system |
| `svc_kei_ucwk_no` | Field | Service Contract Work Area Number — internal tracking ID for service contract line items in the work area |
| `svc_kei_ucwk_stat` | Field | Service Contract Work Area Status — indicates the current processing status of a service contract detail in the work area |
| `svc_kei_ucwk_stat` | Field | Service Contract Detail Status — the status of a service contract detail record (Block 03 specific) |
| `op_svc_kei_no` | Field | Optional Service Contract Number — the identifier for an optional (add-on) service contract |
| `op_svc_kei_stat` | Field | Optional Service Contract Status — the processing status of an optional service contract |
| `op_svc_cd` | Field | Optional Service Code — the code identifying the type of optional service |
| `sbop_svc_kei_no` | Field | Sub-Optional Service Contract Number — the identifier for a sub-optional (secondary add-on) service contract |
| `sbop_svc_kei_stat` | Field | Sub-Optional Service Contract Status — the processing status of a sub-optional service contract |
| `kktk_svc_kei_no` | Field | Equipment Provision Service Contract Number — the identifier for a service contract involving equipment provisioning (機器提供サービス契約) |
| `kktk_svc_cd` | Field | Equipment Provision Service Code — the code for the type of equipment-provisioned service |
| `kktk_svc_kei_stat` | Field | Equipment Provision Service Contract Status — the status of an equipment provision service contract |
| `kktk_sbt_cd` | Field | Equipment Provision Type Code — the type code for equipment provision services (e.g., router, modem) |
| `seiopsvc_kei_no` | Field | Billing Optional Service Contract Number — the identifier for a billing-related optional service contract |
| `seiopsvc_kei_stat` | Field | Billing Optional Service Contract Status — the status of a billing optional service contract |
| `seiopsvc_cd` | Field | Billing Optional Service Code — the code identifying the type of billing optional service |
| `tg_kei_skbt_cd` | Field | Target Contract Identification Code — a discriminator code that identifies the type of service contract. Values: "01"=Service Contract, "03"=Service Contract Details, "04"=Optional Service, "05"=Sub-Optional Service, "06"=Equipment Provision Service, "07"=Billing Optional Service |
| `pcrs_cd` | Field | Price Code — the pricing tier/code associated with the service contract |
| `pplan_cd` | Field | Price Plan Code — the pricing plan identifier for the service contract |
| `mskm_dtl_no` | Field | Billing Detail Number — the billing detail record number associated with the service contract |
| `svc_sta_ymd` | Field | Service Start Year-Month-Day — the date when the service begins |
| `svc_chrg_staymd` | Field | Service Charge Start Year-Month-Day — the date when billing/charges begin |
| `svc_endymd` | Field | Service End Year-Month-Day — the date when the service terminates |
| `svc_chrg_endymd` | Field | Service Charge End Year-Month-Day — the date when billing/charges end |
| `func_cd` | Field | Function Code — indicates the calling context/screen operation |
| `map_name` | Field | Map Name — unique key used for data exchange between the CC and the SC |
| SOD | Acronym | Service Order Data — telecom order fulfillment entity (from related context) |
| SC | Acronym | Service Component — an external service invoked via the service component framework |
| CBS | Acronym | Customer Billing System — the billing subsystem in the Fujitsu FDX platform |
| CC | Acronym | Common Component — shared business logic components in the custom layer |
| Wrisvc | Acronym | Wireless Service — relates to wireless/broadband service management |
| FTTH | Business term | Fiber To The Home — fiber-optic internet service (referenced in broader order content context) |
| KKSV0313 | Screen ID | The screen module identifier for the service contract auto-application operation |
| EKK0081B037 | SC Code | The service component for service-contract-list inquiry (discount reference) — retrieves all service contract types for given service-contract numbers |
| KK_T_OPSVKEI | DB Entity | Service Contract table — stores service contract records (ISP, optional, sub-optional types) in the database |
| 作業領域 (Sagyoryiki) | Japanese term | Work Area — the transient in-memory data structure holding screen/session state |
| サービス契約 (Saabisu Keiyaku) | Japanese term | Service Contract — the business entity representing a customer's subscribed service |
| 割引用 (Warihiki-yo) | Japanese term | For Discount Reference — the SC operation is called in the context of discount/inquiry processing |
| 機器提供 (Kiki Teikyou) | Japanese term | Equipment Provision — services involving hardware equipment (e.g., wireless LAN routers/modems) |
