# Business Logic — KKW00128SFLogic.invokeInitService() [201 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00128SF.KKW00128SFLogic` |
| Layer | Controller (Web presentation logic layer) |
| Module | `KKW00128SF` (Package: `eo.web.webview.KKW00128SF`) |

## 1. Role

### KKW00128SFLogic.invokeInitService()

This method implements the **initial display service call processing** (`初期表示サービス呼出処理`) for the Service Contract Information Update screen (KKSV0059) within the KKW00128 workflow. It orchestrates the complete data preparation lifecycle required to render a service contract modification and registration form to the end user. The method operates as a **facade-style routing pattern**: it first establishes a service execution context by setting the use-case ID (`UCID_KKSV0059`) and operation ID (`OPID_KKSV0059OP`), then populates a comprehensive `inputMap` by invoking over 65 `set`-prefixed SC (Service Component) and CC (Common Component) methods through the `KKSV0059_KKSV0059OPDBMapper`. These `set` methods extract, transform, and organize form data and reference data from the `paramBean` into structured maps keyed by function codes (FUNC_CD 1 through 4). The method then delegates to `invokeService(paramMap, inputMap, outputMap)` — a parent-class method that executes the actual KKSV0059 initialization service. Following the service call, the method invokes approximately 43 `get`-prefixed SC/CC methods to pull results back from the `outputMap` into the `paramBean`, populating all form fields, dropdown lists, and display-ready data. This method serves as the **central entry point** for the initial screen load of the service contract update flow and is called by `actionInitKKW00128()` in `KKW00128SFLogic`.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["invokeInitService paramBean"])
    INIT["Initialize paramMap, inputMap, outputMap"]
    SET_TE["Set tele - Set use-case and operation ID"]
    CREATE_MAPPER["Create KKSV0059_KKSV0059OPDBMapper mapper"]
    BATCH_SET["setKKSV0059 SC/CC methods (set01-set05, set07-set09, set12-set32, set33-set39, set46-set54, set55, set59-set62, set65-set74, set77-set81)"]
    INVOKE["invokeService paramMap inputMap outputMap"]
    BATCH_GET["getKKSV0059 SC/CC methods (get01-get11, get33-get40, get45-get56, get58-get64, get65CC, get68-get81)"]
    RETURN(["Return outputMap"])

    START --> INIT --> SET_TE --> CREATE_MAPPER --> BATCH_SET --> INVOKE --> BATCH_GET --> RETURN
```

### Processing Phases

**Phase 1 — Parameter and Context Setup** (Lines 559-570)
The method initializes three HashMaps: `paramMap` (for use-case ID storage), `inputMap` (for mapping cross-service item-DataBean item results), and `outputMap` (for service call results). It then configures `paramMap` with the use-case ID (`UCID_KKSV0059`) and operation ID (`OPID_KKSV0059OP`), which identify the business context for the service invocation.

**Phase 2 — Input Data Preparation via Mapper** (Lines 572-682)
A new `KKSV0059_KKSV0059OPDBMapper` instance is created. The method then calls approximately 65 `setKKSV0059XX` methods on the mapper, passing `paramBean`, `inputMap`, and a function code. Each `set` method maps data from the DataBean into the `inputMap` organized by function code category:

- **FUNC_CD_1 ("1")**: General service data, display fields, basic information mapping
- **FUNC_CD_2 ("2")**: Service order information, contract details requiring read-write access
- **FUNC_CD_3 ("3")**: Dropdown reference data (pulpdown list sources for various selection fields)
- **FUNC_CD_4 ("4")**: Certificate/authorization data (`setKKSV005977CC` at `FUNC_CD_4`)

**Phase 3 — Service Invocation** (Line 684)
The method delegates to `invokeService(paramMap, inputMap, outputMap)`, which is a parent-class method (inherited from a superclass) that executes the actual KKSV0059 initialization service. This method forwards the prepared parameters to the service layer and receives results in `outputMap`. The business meaning is: "Service contract information update (eo light net) initial display service execution" (`サービス契約情報更新(eo光ネット)初期表示サービス実行`).

**Phase 4 — Result Extraction via Mapper** (Lines 688-747)
Following the service call, the method performs **reverse mapping** (`取得情報の下りマッピング`) — extracting data from the `outputMap` back into the `paramBean` using corresponding `getKKSV0059XX` methods. This populates all form fields, dropdown lists, and display-ready data for the screen. A notable addition is the gigabit gateway eligibility check result obtained before the course change list retrieval (`コース変更可能一覧の取得前に10ギガゲートのエリアチェック結果を取得`).

**Phase 5 — Return** (Line 749)
The populated `outputMap` is returned to the caller.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `paramBean` | `X31SDataBeanAccess[]` | Array containing the screen's form DataBean. Each element holds the input parameters and state for the Service Contract Information Update screen (KKSV0059), including customer information, service contract details, order information, and authentication data. The array contains a single element (a wrapper pattern used throughout the KKW framework). |

**Instance fields read by this method:**
None — this method is stateless with respect to instance fields. All state is passed through parameters and local variables.

**External state:**
- `re_flg` (not accessed in this method directly, but accessed by the caller `actionInitKKW00128()`)
- `ido_div` (not accessed in this method directly, but accessed by the caller)

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005901SC` | KKSV005901SC | Service contract master table | Maps service contract header data into inputMap |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005902SC` | KKSV005902SC | Function code 1 data | Maps function code 1 (general) data |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005903SC` | KKSV005903SC | Service product master | Maps service product information |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005904SC` | KKSV005904SC | Customer account data | Maps customer account details |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005905SC` | KKSV005905SC | Service line data | Maps service line item information |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005907SC` | KKSV005907SC | Customer identification data | Maps customer identification details (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005908SC` | KKSV005908SC | Contact information | Maps contact details |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005909SC` | KKSV005909SC | Billing address data | Maps billing address information |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005912SC` | KKSV005912SC | Work commission reference table | Maps work commission dropdown list data (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005913SC` | KKSV005913SC | Standard abnormality reference table | Maps standard abnormality dropdown list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005914SC` | KKSV005914SC | Reference data category | Maps reference data items (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005915SC` | KKSV005915SC | Reference data category | Maps reference data items (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005916SC` | KKSV005916SC | Standard abnormality division table | Maps standard abnormality division dropdown (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005917SC` | KKSV005917SC | Reference data category | Maps reference data items (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005918SC` | KKSV005918SC | Skekka territory reference table | Maps skekka territory dropdown list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005919SC` | KKSV005919SC | Skekka coverage reference table | Maps skekka coverage dropdown list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005920SC` | KKSV005920SC | PON subtype reference table | Maps PON subtype dropdown list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005921SC` | KKSV005921SC | Additional information reference table | Maps additional info dropdown list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005922SC` | KKSV005922SC | Address form reference table | Maps address form dropdown list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005923SC` | KKSV005923SC | Building entry floor count table | Maps building entry floor count list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005924SC` | KKSV005924SC | Installation scope reference table | Maps installation scope dropdown list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005925SC` | KKSV005925SC | Information connection reason table | Maps information connection reason list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005926SC` | KKSV005926SC | Installation division reference table | Maps installation division dropdown list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005927SC` | KKSV005927SC | Same equipment reservation table | Maps same equipment reservation mask list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005928SC` | KKSV005928SC | Phone number request time table | Maps phone number request time list (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005929SC` | KKSV005929SC | Reference data category | Maps reference data items (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005930SC` | KKSV005930SC | Reference data category | Maps reference data items (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005931SC` | KKSV005931SC | Reference data category | Maps reference data items (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005932SC` | KKSV005932SC | Reference data category | Maps reference data items (FUNC_CD_3) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005933SC` | KKSV005933SC | Service product order data | Maps service product order data (FUNC_CD_2) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005934SC` | KKSV005934SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005935SC` | KKSV005935SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005936SC` | KKSV005936SC | Course change data | Maps course change list data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005937SC` | KKSV005937SC | Course detail data | Maps course detail list data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005938SC` | KKSV005938SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005939SC` | KKSV005939SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005946SC` | KKSV005946SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005947SC` | KKSV005947SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005948SC` | KKSV005948SC | Service product data | Maps service product data (FUNC_CD_2) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005950SC` | KKSV005950SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005951SC` | KKSV005951SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005953SC` | KKSV005953SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005954SC` | KKSV005954SC | Cancellation intent data | Maps cancellation intent data for screen (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005992SC` | KKSV005992SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005993SC` | KKSV005993SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005994SC` | KKSV005994SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005995CC` | KKSV005995CC | Common component data | Maps common component data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005996CC` | KKSV005996CC | Common component data | Maps common component data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005997SC` | KKSV005997SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005998SC` | KKSV005998SC | General service data | Maps general data (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005955SC` | KKSV005955SC | Power outage data | Maps power outage-related data (ADD: IT1-2013-0001255) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005959SC` | KKSV005959SC | ANK-2423 data | Maps ANK-2423 data field (FUNC_CD_2) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005960SC` | KKSV005960SC | New power service data | Maps new power service data (ANK-2480) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005961SC` | KKSV005961SC | New power service data | Maps new power service data (ANK-2480) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005962CC` | KKSV005962CC | Common component | Maps common component data (ANK-2687) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005965CC` | KKSV005965CC | Common component | Maps course change eligibility check area data (ANK-3412) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005967SC` | KKSV005967SC | Reference data | Maps reference data items (ANK-3834, FUNC_CD_3) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005968SC` | KKSV005968SC | ANK-3834 data | Maps ANK-3834 data field (FUNC_CD_2) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005969CC` | KKSV005969CC | Common component | Maps common component data (ANK-3840) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005970SC` | KKSV005970SC | ANK-3987 data | Maps ANK-3987 data field (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005971SC` | KKSV005971SC | ANK-3987 data | Maps ANK-3987 data field (FUNC_CD_1) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005972SC` | KKSV005972SC | ANK-4038 reference | Maps ANK-4038 reference data (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005973SC` | KKSV005973SC | ANK-4038 reference | Maps ANK-4038 reference data (FUNC_CD_3) |
| C | `KKSV0059_KKSV0059OPDBMapper.setKKSV005974SC` | KKSV005974SC | ANK-4038 reference | Maps ANK-4038 reference data (FUNC_CD_3) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005977SC` | KKSV005977SC | OM-2021 data | Maps OM-2021 data field (FUNC_CD_1) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005977CC` | KKSV005977CC | Common component | Maps certificate/authorization common data (ANK-4174, FUNC_CD_4) |
| R | `KKSV0059_KKSV0059OPDBMapper.setKKSV005981SC` | KKSV005981SC | ANK-4427 data | Maps ANK-4427 data field (FUNC_CD_2) |
| SVC | `JCCBatCommon.invokeService` | JCCBatCommon | - | Invokes KKSV0059 initialization service (facade to service layer) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005901SC` | KKSV005901SC | Service contract master table | Extracts service contract header data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005903SC` | KKSV005903SC | Service product master | Extracts service product information to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005904SC` | KKSV005904SC | Customer account data | Extracts customer account details to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005905SC` | KKSV005905SC | Service line data | Extracts service line item information to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005906SC` | KKSV005906SC | Additional service data | Extracts additional service data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005907SC` | KKSV005907SC | Customer identification data | Extracts customer identification details to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005908SC` | KKSV005908SC | Contact information | Extracts contact details to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005909SC` | KKSV005909SC | Billing address data | Extracts billing address information to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005910SC` | KKSV005910SC | Additional data | Extracts additional data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005911SC` | KKSV005911SC | Additional data | Extracts additional data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005933SC` | KKSV005933SC | Service product order data | Extracts service product order data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005936SC` | KKSV005936SC | Course change data | Extracts course change list data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005936_01SC` | KKSV005936_01SC | Course change detail table | Extracts course change detail list to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005937SC` | KKSV005937SC | Course detail data | Extracts course detail list data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005940SC` | KKSV005940SC | General data | Extracts general data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005945SC` | KKSV005945SC | General data | Extracts general data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005946SC` | KKSV005946SC | General data | Extracts general data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005947SC` | KKSV005947SC | General data | Extracts general data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005948SC` | KKSV005948SC | Service product data | Extracts service product data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005950SC` | KKSV005950SC | General data | Extracts general data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005951SC` | KKSV005951SC | General data | Extracts general data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005952SC` | KKSV005952SC | General data | Extracts general data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005953SC` | KKSV005953SC | General data | Extracts general data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005994SC` | KKSV005994SC | General data | Extracts general data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005995CC` | KKSV005995CC | Common component | Extracts common component data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005996CC` | KKSV005996CC | Common component | Extracts common component data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005997SC` | KKSV005997SC | General data | Extracts general data to paramBean |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005955SC` | KKSV005955SC | Power outage data | Extracts power outage data to paramBean (ADD: IT1-2013-0001255) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005956SC` | KKSV005956SC | Cancellation date data | Extracts cancellation date data to paramBean (LT-2013-0000279) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005958SC` | KKSV005958SC | ANK-1918 data | Extracts ANK-1918 data field (ANK-1918-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005959SC` | KKSV005959SC | ANK-2423 data | Extracts ANK-2423 data field (ANK-2423-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005961SC` | KKSV005961SC | New power service data | Extracts new power service data (ANK-2480) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005963SC` | KKSV005963SC | ANK-3095 data | Extracts ANK-3095 data field (ANK-3095-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005964SC` | KKSV005964SC | ANK-3210 data | Extracts ANK-3210 data field (ANK-3210-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005965CC` | KKSV005965CC | Common component | Extracts course change eligibility area check result (ANK-3412) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005968SC` | KKSV005968SC | ANK-3834 data | Extracts ANK-3834 data field (ANK-3834-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005970SC` | KKSV005970SC | ANK-3987 data | Extracts ANK-3987 data field (ANK-3987-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005971SC` | KKSV005971SC | ANK-3987 data | Extracts ANK-3987 data field (ANK-3987-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005975SC` | KKSV005975SC | ANK-4038 data | Extracts ANK-4038 data to paramBean (ANK-4038-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005976CC` | KKSV005976CC | Common component | Extracts ANK-4038 common component data (ANK-4038-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005976SC` | KKSV005976SC | ANK-4129 data | Extracts ANK-4129 data field (ANK-4129-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005977SC` | KKSV005977SC | OM-2021 data | Extracts OM-2021 data field (OM-2021-0000633) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005977CC` | KKSV005977CC | Common component | Extracts certificate/authorization common data (ANK-4174-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005978SC` | KKSV005978SC | ANK-4315 data | Extracts ANK-4315 data field (ANK-4315-00-00) |
| R | `KKSV0059_KKSV0059OPDBMapper.getKKSV005981SC` | KKSV005981SC | ANK-4427 data | Extracts ANK-4427 data field (ANK-4427-00-00) |

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 4 methods.
Terminal operations from this method: `getKKSV005981SC` [R], `getKKSV005978SC` [R], `getKKSV005977CC` [R], `getKKSV005977SC` [R], `getKKSV005976SC` [R], `getKKSV005976CC` [R], `getKKSV005975SC` [R], `getKKSV005971SC` [R], `getKKSV005970SC` [R], `getKKSV005968SC` [R], `getKKSV005964SC` [R], `getKKSV005963SC` [R], `getKKSV005961SC` [R], `getKKSV005959SC` [R], `getKKSV005958SC` [R], `getKKSV005956SC` [R], `getKKSV005955SC` [R], `getKKSV005997SC` [R], `getKKSV005996CC` [R], `getKKSV005995CC` [R]

Trace who calls this method and what this method ultimately calls.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Class:KKW00128SFLogic | `actionInitKKW00128()` -> `invokeInitService(paramBean)` | `getKKSV005981SC [R], getKKSV005978SC [R], getKKSV005977CC [R], getKKSV005977SC [R], getKKSV005976SC [R], getKKSV005976CC [R], getKKSV005975SC [R], getKKSV005971SC [R], getKKSV005970SC [R], getKKSV005968SC [R], getKKSV005964SC [R], getKKSV005963SC [R], getKKSV005961SC [R], getKKSV005959SC [R], getKKSV005958SC [R], getKKSV005956SC [R], getKKSV005955SC [R], getKKSV005997SC [R], getKKSV005996CC [R], getKKSV005995CC [R]` |

**Notes:**
- `KKW00128SFLogic.actionInitKKW00128()` is the primary caller and entry point for the initial screen load flow.
- The method is also defined in multiple other logic classes across the codebase (KKA16601SF, KKW00127SF, KKW00195SF, KKW00194SF, KKW00132SF, ODW00101SF), each implementing their own variant of `invokeInitService` for their respective screen flows.
- `KKW00132SFLogic.invokeInitService` has a different signature (`X31SDataBeanAccess` instead of array) and returns `void`, indicating it is a different method overload/pattern.

## 6. Per-Branch Detail Blocks

This method has **no conditional branches** (if/else, switch, loops). It is a strictly linear processing method that executes all steps sequentially. The blocks below describe each processing phase.

**Block 1** — [SET] Data Structure Initialization (L559-L564)

> Initializes three HashMap instances for the processing pipeline. `paramMap` stores use-case context, `inputMap` collects data to send to the service, and `outputMap` receives results from the service.

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramMap = new HashMap<String, Object>()` // Use-case ID storage HashMap |
| 2 | SET | `inputMap = new HashMap<String, Object>()` // Mapping cross-service results HashMap |
| 3 | SET | `outputMap = new HashMap<String, Object>()` // Service call results HashMap |

**Block 2** — [EXEC] Service Context Setup (L567-L568)

> Sets the use-case ID and operation ID into `paramMap` to identify the business context for the service layer. These IDs route the service call to the correct KKSV0059 operation handler.

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramMap.put(TELEGRAM_INFO_USECASE_ID, UCID_KKSV0059)` // Sets use-case ID for KKSV0059 screen |
| 2 | SET | `paramMap.put(TELEGRAM_INFO_OPERATION_ID, OPID_KKSV0059OP)` // Sets operation ID for KKSV0059 operation |

**Block 3** — [SET] Mapper Creation (L572)

> Creates a new instance of the KKSV0059 data mapping coordinator. The mapper mediates between the DataBean (`paramBean`) and the structured maps (`inputMap`/`outputMap`).

| # | Type | Code |
|---|------|------|
| 1 | SET | `KKSV0059_KKSV0059OPDBMapper mapper = new KKSV0059_KKSV0059OPDBMapper()` // Mapping coordinator instance |

**Block 4** — [CALL] Input Data Population - setKKSV0059XX Methods (L575-L682)

> Invokes approximately 65 mapper methods to populate `inputMap` with data from `paramBean`. Each method maps a specific category of data, classified by function code (FUNC_CD 1-4). Data from `JPCModelConstant.FUNC_CD_1` (value "1") covers general display fields, `FUNC_CD_2` ("2") covers service order and contract data, `FUNC_CD_3` ("3") covers dropdown reference list data, and `FUNC_CD_4` ("4") covers certificate/authorization data.

Sub-blocks by function code category:

**Block 4.1** — FUNC_CD_1 General Data (L576, L578, L580, L599-L605, L607-L611, L613-L614, L616-L619)

| # | Type | Code |
|---|------|------|
| 1 | SET | `FUNC_CD_1 = "1"` (JPCModelConstant.FUNC_CD_1) [General service data category] |
| 2 | CALL | `mapper.setKKSV005902SC(paramBean, inputMap, FUNC_CD_1)` |
| 3 | CALL | `mapper.setKKSV005904SC(paramBean, inputMap, FUNC_CD_1)` |
| 4 | CALL | `mapper.setKKSV005907SC(paramBean, inputMap, FUNC_CD_1)` // IKK-2013-0000009 MOD 2013/02/05 |
| 5 | CALL | `mapper.setKKSV005908SC(paramBean, inputMap, FUNC_CD_1)` |
| 6 | CALL | `mapper.setKKSV005909SC(paramBean, inputMap, FUNC_CD_1)` |
| 7 | CALL | `mapper.setKKSV005934SC(paramBean, inputMap, FUNC_CD_1)` |
| 8 | CALL | `mapper.setKKSV005935SC(paramBean, inputMap, FUNC_CD_1)` |
| 9 | CALL | `mapper.setKKSV005936SC(paramBean, inputMap, FUNC_CD_1)` |
| 10 | CALL | `mapper.setKKSV005937SC(paramBean, inputMap, FUNC_CD_1)` |
| 11 | CALL | `mapper.setKKSV005938SC(paramBean, inputMap, FUNC_CD_1)` |
| 12 | CALL | `mapper.setKKSV005939SC(paramBean, inputMap, FUNC_CD_1)` |
| 13 | CALL | `mapper.setKKSV005946SC(paramBean, inputMap, FUNC_CD_1)` |
| 14 | CALL | `mapper.setKKSV005947SC(paramBean, inputMap, FUNC_CD_1)` |
| 15 | CALL | `mapper.setKKSV005950SC(paramBean, inputMap, FUNC_CD_1)` |
| 16 | CALL | `mapper.setKKSV005951SC(paramBean, inputMap, FUNC_CD_1)` |
| 17 | CALL | `mapper.setKKSV005953SC(paramBean, inputMap, FUNC_CD_1)` |
| 18 | CALL | `mapper.setKKSV005954SC(paramBean, inputMap, FUNC_CD_1)` |
| 19 | CALL | `mapper.setKKSV005992SC(paramBean, inputMap, FUNC_CD_1)` |
| 20 | CALL | `mapper.setKKSV005993SC(paramBean, inputMap, FUNC_CD_1)` |
| 21 | CALL | `mapper.setKKSV005994SC(paramBean, inputMap, FUNC_CD_1)` |
| 22 | CALL | `mapper.setKKSV005995CC(paramBean, inputMap, FUNC_CD_1)` |
| 23 | CALL | `mapper.setKKSV005996CC(paramBean, inputMap, FUNC_CD_1)` |
| 24 | CALL | `mapper.setKKSV005997SC(paramBean, inputMap, FUNC_CD_1)` |
| 25 | CALL | `mapper.setKKSV005998SC(paramBean, inputMap, FUNC_CD_1)` |
| 26 | CALL | `mapper.setKKSV005955SC(paramBean, inputMap, FUNC_CD_1)` // ADD: IT1-2013-0001255 |
| 27 | CALL | `mapper.setKKSV005960SC(paramBean, inputMap, FUNC_CD_1)` // ADD: ANK-2480 New power service |
| 28 | CALL | `mapper.setKKSV005961SC(paramBean, inputMap, FUNC_CD_1)` // ADD: ANK-2480 New power service |
| 29 | CALL | `mapper.setKKSV005962CC(paramBean, inputMap, FUNC_CD_1)` // ADD: ANK-2687 |
| 30 | CALL | `mapper.setKKSV005965CC(paramBean, inputMap, FUNC_CD_1)` // ADD: ANK-3412 |
| 31 | CALL | `mapper.setKKSV005969CC(paramBean, inputMap, FUNC_CD_1)` // ADD: ANK-3840 |
| 32 | CALL | `mapper.setKKSV005970SC(paramBean, inputMap, FUNC_CD_1)` // ADD: ANK-3987 |
| 33 | CALL | `mapper.setKKSV005971SC(paramBean, inputMap, FUNC_CD_1)` // ADD: ANK-3987 |
| 34 | CALL | `mapper.setKKSV005977SC(paramBean, inputMap, FUNC_CD_1)` // ADD: OM-2021 |

**Block 4.2** — FUNC_CD_2 Service Order Data (L575, L577, L612, L660, L666)

| # | Type | Code |
|---|------|------|
| 1 | SET | `FUNC_CD_2 = "2"` (JPCModelConstant.FUNC_CD_2) [Service order/contract data category] |
| 2 | CALL | `mapper.setKKSV005901SC(paramBean, inputMap, FUNC_CD_2)` |
| 3 | CALL | `mapper.setKKSV005903SC(paramBean, inputMap, FUNC_CD_2)` |
| 4 | CALL | `mapper.setKKSV005905SC(paramBean, inputMap, FUNC_CD_2)` |
| 5 | CALL | `mapper.setKKSV005933SC(paramBean, inputMap, FUNC_CD_2)` |
| 6 | CALL | `mapper.setKKSV005948SC(paramBean, inputMap, FUNC_CD_2)` |
| 7 | CALL | `mapper.setKKSV005959SC(paramBean, inputMap, FUNC_CD_2)` // ADD: ANK-2423 |
| 8 | CALL | `mapper.setKKSV005968SC(paramBean, inputMap, FUNC_CD_2)` // ADD: ANK-3834 |

**Block 4.3** — FUNC_CD_3 Dropdown Reference Data (L581-L610, L663, L675-L677)

| # | Type | Code |
|---|------|------|
| 1 | SET | `FUNC_CD_3 = "3"` (JPCModelConstant.FUNC_CD_3) [Dropdown reference list category] |
| 2 | CALL | `mapper.setKKSV005912SC(paramBean, inputMap, FUNC_CD_3)` // Work commission list |
| 3 | CALL | `mapper.setKKSV005913SC(paramBean, inputMap, FUNC_CD_3)` // Standard abnormality list |
| 4 | CALL | `mapper.setKKSV005914SC(paramBean, inputMap, FUNC_CD_3)` |
| 5 | CALL | `mapper.setKKSV005915SC(paramBean, inputMap, FUNC_CD_3)` |
| 6 | CALL | `mapper.setKKSV005916SC(paramBean, inputMap, FUNC_CD_3)` // Standard abnormality division |
| 7 | CALL | `mapper.setKKSV005917SC(paramBean, inputMap, FUNC_CD_3)` |
| 8 | CALL | `mapper.setKKSV005918SC(paramBean, inputMap, FUNC_CD_3)` // Skekka territory |
| 9 | CALL | `mapper.setKKSV005919SC(paramBean, inputMap, FUNC_CD_3)` // Skekka coverage |
| 10 | CALL | `mapper.setKKSV005920SC(paramBean, inputMap, FUNC_CD_3)` // PON subtype |
| 11 | CALL | `mapper.setKKSV005921SC(paramBean, inputMap, FUNC_CD_3)` // Additional info |
| 12 | CALL | `mapper.setKKSV005922SC(paramBean, inputMap, FUNC_CD_3)` // Address form |
| 13 | CALL | `mapper.setKKSV005923SC(paramBean, inputMap, FUNC_CD_3)` // Building entry floor count |
| 14 | CALL | `mapper.setKKSV005924SC(paramBean, inputMap, FUNC_CD_3)` // Installation scope |
| 15 | CALL | `mapper.setKKSV005925SC(paramBean, inputMap, FUNC_CD_3)` // Info connection reason |
| 16 | CALL | `mapper.setKKSV005926SC(paramBean, inputMap, FUNC_CD_3)` // Installation division |
| 17 | CALL | `mapper.setKKSV005927SC(paramBean, inputMap, FUNC_CD_3)` // Same equipment reservation mask |
| 18 | CALL | `mapper.setKKSV005928SC(paramBean, inputMap, FUNC_CD_3)` // Phone number request time |
| 19 | CALL | `mapper.setKKSV005929SC(paramBean, inputMap, FUNC_CD_3)` |
| 20 | CALL | `mapper.setKKSV005930SC(paramBean, inputMap, FUNC_CD_3)` |
| 21 | CALL | `mapper.setKKSV005931SC(paramBean, inputMap, FUNC_CD_3)` |
| 22 | CALL | `mapper.setKKSV005932SC(paramBean, inputMap, FUNC_CD_3)` |
| 23 | CALL | `mapper.setKKSV005967SC(paramBean, inputMap, FUNC_CD_3)` // ADD: ANK-3834 |
| 24 | CALL | `mapper.setKKSV005972SC(paramBean, inputMap, FUNC_CD_3)` // ADD: ANK-4038 |
| 25 | CALL | `mapper.setKKSV005973SC(paramBean, inputMap, FUNC_CD_3)` // ADD: ANK-4038 |
| 26 | CALL | `mapper.setKKSV005974SC(paramBean, inputMap, FUNC_CD_3)` // ADD: ANK-4038 |

**Block 4.4** — FUNC_CD_4 Certificate/Authorization Data (L678)

| # | Type | Code |
|---|------|------|
| 1 | SET | `FUNC_CD_4 = "4"` (JPCModelConstant.FUNC_CD_4) [Certificate/authorization data category] |
| 2 | CALL | `mapper.setKKSV005977CC(paramBean, inputMap, FUNC_CD_4)` // ADD: ANK-4174 |

**Block 5** — [CALL] Service Invocation (L684)

> Delegates to the parent-class `invokeService` method to execute the KKSV0059 initialization service. The `paramMap` carries the use-case context, `inputMap` carries the prepared input data, and `outputMap` receives the service results. Business meaning: "Service contract information update (eo light net) initial display service execution" (`サービス契約情報更新(eo光ネット)初期表示サービス実行`).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `invokeService(paramMap, inputMap, outputMap)` // Executes KKSV0059 init service |

**Block 6** — [CALL] Output Data Extraction - getKKSV0059XX Methods (L688-L747)

> After the service returns, this block extracts results from `outputMap` back into `paramBean` using approximately 43 `get`-prefixed mapper methods. This is the **reverse mapping phase** (`取得情報の下りマッピング`) that populates all form fields with service response data.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.getKKSV005901SC(paramBean, outputMap)` |
| 2 | CALL | `mapper.getKKSV005903SC(paramBean, outputMap)` |
| 3 | CALL | `mapper.getKKSV005904SC(paramBean, outputMap)` |
| 4 | CALL | `mapper.getKKSV005905SC(paramBean, outputMap)` |
| 5 | CALL | `mapper.getKKSV005906SC(paramBean, outputMap)` |
| 6 | CALL | `mapper.getKKSV005907SC(paramBean, outputMap)` |
| 7 | CALL | `mapper.getKKSV005908SC(paramBean, outputMap)` |
| 8 | CALL | `mapper.getKKSV005909SC(paramBean, outputMap)` |
| 9 | CALL | `mapper.getKKSV005910SC(paramBean, outputMap)` |
| 10 | CALL | `mapper.getKKSV005911SC(paramBean, outputMap)` |
| 11 | CALL | `mapper.getKKSV005933SC(paramBean, outputMap)` |
| 12 | CALL | `mapper.getKKSV005936SC(paramBean, outputMap)` |
| 13 | CALL | `mapper.getKKSV005936_01SC(paramBean, outputMap)` |
| 14 | CALL | `mapper.getKKSV005937SC(paramBean, outputMap)` |
| 15 | CALL | `mapper.getKKSV005940SC(paramBean, outputMap)` |
| 16 | CALL | `mapper.getKKSV005945SC(paramBean, outputMap)` |
| 17 | CALL | `mapper.getKKSV005946SC(paramBean, outputMap)` |
| 18 | CALL | `mapper.getKKSV005947SC(paramBean, outputMap)` |
| 19 | CALL | `mapper.getKKSV005948SC(paramBean, outputMap)` |
| 20 | CALL | `mapper.getKKSV005950SC(paramBean, outputMap)` |
| 21 | CALL | `mapper.getKKSV005951SC(paramBean, outputMap)` |
| 22 | CALL | `mapper.getKKSV005952SC(paramBean, outputMap)` |
| 23 | CALL | `mapper.getKKSV005953SC(paramBean, outputMap)` |
| 24 | CALL | `mapper.getKKSV005994SC(paramBean, outputMap)` |
| 25 | CALL | `mapper.getKKSV005995CC(paramBean, outputMap)` |
| 26 | CALL | `mapper.getKKSV005996CC(paramBean, outputMap)` |
| 27 | CALL | `mapper.getKKSV005997SC(paramBean, outputMap)` |
| 28 | CALL | `mapper.getKKSV005955SC(paramBean, outputMap)` // ADD: IT1-2013-0001255 |
| 29 | CALL | `mapper.getKKSV005956SC(paramBean, outputMap)` // ADD: LT-2013-0000279 |
| 30 | CALL | `mapper.getKKSV005958SC(paramBean, outputMap)` // ADD: ANK-1918 |
| 31 | CALL | `mapper.getKKSV005959SC(paramBean, outputMap)` // ADD: ANK-2423 |
| 32 | CALL | `mapper.getKKSV005961SC(paramBean, outputMap)` // ADD: ANK-2480 |
| 33 | CALL | `mapper.getKKSV005963SC(paramBean, outputMap)` // ADD: ANK-3095 |
| 34 | CALL | `mapper.getKKSV005964SC(paramBean, outputMap)` // ADD: ANK-3210 |
| 35 | CALL | `mapper.getKKSV005965CC(paramBean, outputMap)` // ADD: ANK-3412 - area check result before course change list |
| 36 | CALL | `mapper.getKKSV005968SC(paramBean, outputMap)` // ADD: ANK-3834 |
| 37 | CALL | `mapper.getKKSV005970SC(paramBean, outputMap)` // ADD: ANK-3987 |
| 38 | CALL | `mapper.getKKSV005971SC(paramBean, outputMap)` // ADD: ANK-3987 |
| 39 | CALL | `mapper.getKKSV005975SC(paramBean, outputMap)` // ADD: ANK-4038 |
| 40 | CALL | `mapper.getKKSV005976CC(paramBean, outputMap)` // ADD: ANK-4038 |
| 41 | CALL | `mapper.getKKSV005976SC(paramBean, outputMap)` // ADD: ANK-4129 |
| 42 | CALL | `mapper.getKKSV005977SC(paramBean, outputMap)` // ADD: OM-2021 |
| 43 | CALL | `mapper.getKKSV005977CC(paramBean, outputMap)` // ADD: ANK-4174 |
| 44 | CALL | `mapper.getKKSV005978SC(paramBean, outputMap)` // ADD: ANK-4315 |
| 45 | CALL | `mapper.getKKSV005981SC(paramBean, outputMap)` // ADD: ANK-4427 |

**Block 7** — [RETURN] Return (L749)

> Returns the populated `outputMap` to the caller, containing all initialized screen data.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return outputMap` // Returns initialized screen data |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `UCID_KKSV0059` | Constant | Use-case ID for the KKSV0059 screen — identifies the business use case in the telegram-based service routing framework |
| `OPID_KKSV0059OP` | Constant | Operation ID for the KKSV0059 operation — identifies the specific operation within the KKSV0059 use case |
| FUNC_CD_1 to FUNC_CD_4 | Constant | Function code classification values (1, 2, 3, 4) used to categorize data mapping into different functional groups within the inputMap |
| KKSV0059 | Screen code | Service Contract Information Update screen — the UI for viewing and modifying service contract details in the KKW system |
| KKW00128SF | Module | KKW service form module — the presentation logic module for the service contract update workflow |
| KKSV0059_KKSV0059OPDBMapper | Component | Data mapping coordinator — mediates between screen DataBeans and service-layer maps, organizing data by function code categories |
| paramBean | Parameter | Screen form DataBean array — holds all input and output data for the service contract update form; wrapper pattern with single-element array |
| inputMap | Variable | Input parameter map — accumulates data from paramBean organized by function code, sent to the service layer |
| outputMap | Variable | Output result map — receives data from the service layer and is used to populate the screen's display fields |
| paramMap | Variable | Telegram parameter map — carries the use-case ID and operation ID to the service invocation layer for routing |
| invokeService | Method | Parent-class service invocation method — executes the actual KKSV0059 initialization service by forwarding paramMap, inputMap, and outputMap |
| setKKSV0059XX | Method pattern | Mapper set methods — extract data from paramBean into inputMap, preparing data for the service layer |
| getKKSV0059XX | Method pattern | Mapper get methods — extract data from outputMap back into paramBean, preparing data for screen display |
| SC | Acronym | Service Component — a service layer component that handles a specific business operation or data query |
| CC | Acronym | Common Component — a shared component used across multiple services for common data mapping tasks |
| eo light net | Business term | NTT東日本's fiber-optic broadband service brand — the "eo光ネット" service line being managed in this workflow |
| Service Contract Information Update | Business term | The screen purpose — allows users to view and modify existing service contract details |
| re_flg | Instance field | Reply flag — indicates if the screen is being re-displayed (set by caller, affects session data editing) |
| ido_div | Instance field | Movement division — classifies the type of screen transition (e.g., "recovery" = 00004) |
| ANK-XXXX | Change ticket | Internal change request ticket number — tracks software modification requests (e.g., ANK-2480 = New power service addition) |
| IT1-XXXX | Change ticket | IT change request ticket — tracks IT infrastructure-related modifications |
| IKK-XXXX | Change ticket | Internal IKK change request ticket — tracks screen modification change requests |
| OM-XXXX | Change ticket | Operations & Maintenance change request ticket — tracks maintenance-related modifications |
| LT-XXXX | Change ticket | Long-term support change request ticket — tracks support-related modifications |
| 初期表示サービス呼出処理 | Japanese comment | Initial display service call processing — the method's stated purpose in Japanese |
| サービス契約情報更新(eo光ネット)初期表示サービス実行 | Japanese comment | Service contract information update (eo light net) initial display service execution — the service invocation purpose in Japanese |
| マッピング(サービス項目-DataBean項目マッピング) | Japanese comment | Mapping (service item-DataBean item mapping) — describes the set-methods purpose in Japanese |
| 取得情報の下りマッピング | Japanese comment | Reverse mapping of retrieved information — describes the get-methods purpose in Japanese |
| コース変更可能一覧の取得前に10ギガゲートのエリアチェック結果を取得 | Japanese comment | Obtain 10-gigabit gateway area check results before retrieving course change list — the ANK-3412 feature description |