# Business Logic — KKW00804SFLogic.executeInitSvc() [105 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00804SF.KKW00804SFLogic` |
| Layer | Controller (Web MVC logic layer) |
| Module | `KKW00804SF` (Package: `eo.web.webview.KKW00804SF`) |

## 1. Role

### KKW00804SFLogic.executeInitSvc()

This method is the **initial display service handler** for the "My Homepage" information registration screen (MY ホームページ情報登録初期表示). When a user accesses the My Homepage screen, this method orchestrates the retrieval and initialization of all business data required to populate the page. It follows a **three-phase processing pattern**: (1) **Parameter assembly** — it builds mapping HashMaps for eight distinct data queries via the `KKSV0005_KKSV0005OPDBMapper` data mapper, (2) **Service invocation** — it delegates to `invokeService` (inherited from a superclass) to execute all data queries against backend CBS/SC components, and (3) **Result mapping** — it pulls the query results from the output map back into the `paramBean` DataBean and initializes pulldown list values for the homepage capacity and access analytics fields. The method serves as the primary entry point for screen initialization, acting as a **facade/delegate** that coordinates data gathering from multiple service domains (contract, ISP, customer, cost, analytics) into a single coherent screen state.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["executeInitSvc Start"])
    INIT_MAPS["Initialize paramMap, inputMap, outputMap as HashMap"]
    SET_SVC_CD["Set OP_SVC_CD to MY_HP constant"]
    SET_USECASE["Set TELEGRAM_INFO_USECASE_ID to KKSV0005"]
    NEW_MAPPER["Create new KKSV0005_KKSV0005OPDBMapper"]
    SET_04["setKKSV000504SC - Op. Service Contract List"]
    SET_01["setKKSV000501SC - Op. Service Contract ISP Agreement"]
    SET_02["setKKSV000502SC - Homepage Capacity Info"]
    SET_03["setKKSV000503SC - Access Analytics Info"]
    SET_05["setKKSV000505SC - Business Parameter Management"]
    SET_DATE["Set UNYO_YMD via JCCWebCommon.getOpeDate"]
    SET_06["setKKSV000506SC - Customer Agreement"]
    SET_07["setKKSV000507SC - Service Contract Agreement"]
    SET_08["setKKSV000508SC - Service Cost / Sub. Service List"]
    INVOKE["invokeService(paramMap, inputMap, outputMap)"]
    GET_04["getKKSV000504SC - Contract List mapping"]
    GET_01["getKKSV000501SC - ISP Agreement mapping"]
    GET_02["getKKSV000502SC - Homepage Capacity pulldown"]
    GET_03["getKKSV000503SC - Access Analytics pulldown"]
    GET_05["getKKSV000505SC - Business Parameter mapping"]
    GET_06["getKKSV000506SC - Customer Status mapping"]
    GET_07["getKKSV000507SC - Service Contract details"]
    GET_08["getKKSV000508SC - Service Cost data"]
    GET_HPCAPASHK["Read SVCTK_BUT_SHK_VALUE from DataBean"]
    CHECK_HPCAPASHK["Is hp_capa_shk null or empty?"]
    PARSE_HPCAPASHK["Parse hp_capa_shk to int hp_capa_shk_val"]
    GET_HPCAPAMAX["Read SVCTK_BUT_MAX_VALUE from DataBean"]
    CHECK_HPCAPAMAX["Is hp_capa_max null or empty?"]
    PARSE_HPCAPAMAX["Parse hp_capa_max to int hp_capa_max_val"]
    GET_HPCAPAZOUG["Read SVCTK_BUT_ZOUGEN_VALUE from DataBean"]
    CHECK_HPCAPAZOUG["Is hp_capa_zougen null or empty?"]
    PARSE_HPCAPAZOUG["Parse hp_capa_zougen to int hp_capa_zougen_val"]
    PULLDOWN_HPCAP["JKKWebCommon.setPulldownListNoIndex for HP_CAPA_INFO"]
    PULLDOWN_ACC["JKKWebCommon.setPulldownListNoIndex for ACCSS_BNSK_INFO"]
    LOG["Log DataBean dump via JSYwebLog.println"]

    START --> INIT_MAPS
    INIT_MAPS --> SET_SVC_CD
    SET_SVC_CD --> SET_USECASE
    SET_USECASE --> NEW_MAPPER
    NEW_MAPPER --> SET_04
    SET_04 --> SET_01
    SET_01 --> SET_02
    SET_02 --> SET_03
    SET_03 --> SET_05
    SET_05 --> SET_DATE
    SET_DATE --> SET_06
    SET_06 --> SET_07
    SET_07 --> SET_08
    SET_08 --> INVOKE
    INVOKE --> GET_04
    GET_04 --> GET_01
    GET_01 --> GET_02
    GET_02 --> GET_03
    GET_03 --> GET_05
    GET_05 --> GET_06
    GET_06 --> GET_07
    GET_07 --> GET_08
    GET_08 --> GET_HPCAPASHK
    GET_HPCAPASHK --> CHECK_HPCAPASHK
    CHECK_HPCAPASHK -- No --> CHECK_HPCAPAMAX
    CHECK_HPCAPASHK -- Yes --> PARSE_HPCAPASHK
    PARSE_HPCAPASHK --> CHECK_HPCAPAMAX
    CHECK_HPCAPAMAX -- No --> CHECK_HPCAPAZOUG
    CHECK_HPCAPAMAX -- Yes --> PARSE_HPCAPAMAX
    PARSE_HPCAPAMAX --> CHECK_HPCAPAZOUG
    CHECK_HPCAPAZOUG -- No --> PULLDOWN_HPCAP
    CHECK_HPCAPAZOUG -- Yes --> PARSE_HPCAPAZOUG
    PARSE_HPCAPAZOUG --> PULLDOWN_HPCAP
    PULLDOWN_HPCAP --> PULLDOWN_ACC
    PULLDOWN_ACC --> LOG
    LOG --> END(["executeInitSvc End"])
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `paramBean` | `X31SDataBeanAccess[]` | Array of DataBean objects carrying the screen's business state. Index [0] holds the primary DataBean instance for the My Homepage registration screen. It carries inbound parameters (customer SYSID, service contract number, operation service code) and receives outbound initialized values (homepage capacity, access analytics, customer status, service agreement details, etc.) after this method completes. |
| - | `this` (implicit instance field) | `KKW00804SFLogic` | The enclosing logic object passed as `this` to `JCCWebCommon.getOpeDate()` for operation date resolution. |

### Constants used in the method

| Constant | Value | Source Location |
|----------|-------|-----------------|
| `FUNC_CD_1` | `"1"` | `JPCModelConstant.java:29` |
| `FUNC_CD_2` | `"2"` | `JPCModelConstant.java:32` |
| `CD00665` | (Homepage capacity key code) | `JZM0171Constant.java` |
| `CD00002` | (Access analytics key code) | `JZM0171Constant.java` |

> **Note:** `FUNC_CD_1 = "1"` and `FUNC_CD_2 = "2"` are feature flag codes used by the mapper to differentiate between data query modes (e.g., master data lookup vs. contract-specific lookup). `FUNC_CD_2` is used for queries that require context-specific keys (e.g., ISP contract number, customer SYSID), while `FUNC_CD_1` is used for reference/lookup queries.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `KKSV0005_KKSV0005OPDBMapper.setKKSV000504SC` | KKSV000504SC | - | Maps operation service contract filter data to input map for contract list query |
| R | `KKSV0005_KKSV0005OPDBMapper.setKKSV000501SC` | KKSV000501SC | - | Maps operation service contract number to input map for ISP agreement query |
| R | `KKSV0005_KKSV0005OPDBMapper.setKKSV000502SC` | KKSV000502SC | - | Maps homepage capacity key code to input map for capacity info query |
| R | `KKSV0005_KKSV0005OPDBMapper.setKKSV000503SC` | KKSV000503SC | - | Maps access analytics key code to input map for analytics data query |
| R | `KKSV0005_KKSV0005OPDBMapper.setKKSV000505SC` | KKSV000505SC | - | Maps business parameter ID (`KK_URL_DOMAIN`) to input map for parameter query |
| R | `KKSV0005_KKSV0005OPDBMapper.setKKSV000506SC` | KKSV000506SC | - | Maps customer SYSID and operation date to input map for customer agreement query |
| R | `KKSV0005_KKSV0005OPDBMapper.setKKSV000507SC` | KKSV000507SC | - | Maps service contract number and operation date to input map for service contract agreement query |
| R | `KKSV0005_KKSV0005OPDBMapper.setKKSV000508SC` | KKSV000508SC | - | Maps subscription operation service code to input map for service cost query |
| R | `JCCWebCommon.getOpeDate` | - | - | Retrieves the current operation date from system settings |
| - | `invokeService` (inherited) | - | - | Invokes the composite service with all prepared input maps and stores results in outputMap |
| R | `KKSV0005_KKSV0005OPDBMapper.getKKSV000504SC` | KKSV000504SC | - | Maps contract list results (EKK0351B010CBSMsg1List) back to DataBean, extracting a valid (non-cancelled) operation service contract number |
| R | `KKSV0005_KKSV0005OPDBMapper.getKKSV000501SC` | KKSV000501SC | - | Maps ISP agreement results (EKK0361A010CBSMsg1List) to DataBean: capacity, WebID, domain URL, account URL, last update datetime |
| R | `KKSV0005_KKSV0005OPDBMapper.getKKSV000502SC` | KKSV000502SC | - | Initializes homepage capacity pulldown list via JKKWebCommon.setPulldownList |
| R | `KKSV0005_KKSV0005OPDBMapper.getKKSV000503SC` | KKSV000503SC | - | Initializes access analytics pulldown list via JKKWebCommon.setPulldownList |
| R | `KKSV0005_KKSV0005OPDBMapper.getKKSV000505SC` | KKSV000505SC | - | Maps business parameter results (EZM0321A010CBSMsg1List) to DataBean: URL domain value |
| R | `KKSV0005_KKSV0005OPDBMapper.getKKSV000506SC` | KKSV000506SC | - | Maps customer agreement results (ECK0011A010CBSMsg1List) to DataBean: customer status |
| R | `KKSV0005_KKSV0005OPDBMapper.getKKSV000507SC` | KKSV000507SC | - | Maps service contract agreement results (EKK0081A010CBSMsg1List) to DataBean: generation datetime, service contract status; also extracts application number and last update datetime |
| R | `KKSV0005_KKSV0005OPDBMapper.getKKSV000508SC` | KKSV000508SC | - | Maps service cost results to DataBean: initial value, max value, increase/decrease value, free value |
| - | `JKKWebCommon.setPulldownListNoIndex` | - | - | Initializes pulldown list items with no-index option for capacity and access analytics fields |

### SC Code inference from called method sources:

The mapper's `get` methods reference CBS message list keys that reveal the actual SC codes:

| SC Code | CBS Reference | Entity / DB Table (inferred) | Description |
|---------|---------------|------------------------------|-------------|
| `EKK0351B010CBS` | EKK0351B010CBSMsg1List (from getKKSV000504SC) | KK_T_OP_SVC_CONTRACT (inferred) | Operation Service Contract list query |
| `EKK0361A010CBS` | EKK0361A010CBSMsg1List (from getKKSV000501SC) | KK_T_OP_SVC_ISP_AGREEMENT (inferred) | Operation Service Contract ISP Agreement data |
| `EZM0171B010CBS` | EZM0171B010CBSMsg1List (from setKKSV000502SC) | KK_T_HOMEPAGE_CAPACITY (inferred) | Homepage capacity information |
| `EZM0171B010CBS` | EZM0171B010CBSMsg1List (from setKKSV000503SC) | KK_T_ACCESS_ANALYTICS (inferred) | Access analytics information |
| `EZM0321A010CBS` | EZM0321A010CBSMsg1List (from getKKSV000505SC) | KK_T_BIZ_PARAMETER (inferred) | Business parameter management |
| `ECK0011A010CBS` | ECK0011A010CBSMsg1List (from getKKSV000506SC) | KK_T_CUSTOMER (inferred) | Customer agreement / status |
| `EKK0081A010CBS` | EKK0081A010CBSMsg1List (from getKKSV000507SC) | KK_T_SVC_CONTRACT (inferred) | Service contract agreement details |

> **Note:** Entity/DB table names are inferred from CBS message list naming conventions and the business context of the mapper. The actual table schemas would require further investigation of the CBS layer.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0005 | `KKW00804SFLogic.actionInit()` -> `executeInitSvc` | `getKKSV000504SC [R] KK_T_OP_SVC_CONTRACT`, `getKKSV000501SC [R] KK_T_OP_SVC_ISP_AGREEMENT`, `getKKSV000502SC [R] KK_T_HOMEPAGE_CAPACITY`, `getKKSV000503SC [R] KK_T_ACCESS_ANALYTICS`, `getKKSV000505SC [R] KK_T_BIZ_PARAMETER`, `getKKSV000506SC [R] KK_T_CUSTOMER`, `getKKSV000507SC [R] KK_T_SVC_CONTRACT` |

**Direct callers:** 1 method found — `KKW00804SFLogic.actionInit()`

**Terminal operations reached from this method:**
- `setPulldownListNoIndex` [-] (×10) — Pulldown initialization for 8 service types + 2 extra fields
- `sendMessageString` [-] (×16) — DataBean value set/get operations
- `getKKSV000508SC [R]` — Service provision cost data read
- `getKKSV000507SC [R]` — Service contract agreement details read
- `getKKSV000506SC [R]` — Customer agreement status read
- `getKKSV000505SC [R]` — Business parameter read
- `getKKSV000504SC [R]` — Operation service contract list read
- `getKKSV000503SC [R]` — Access analytics read
- `getKKSV000502SC [R]` — Homepage capacity read
- `getKKSV000501SC [R]` — ISP agreement read

## 6. Per-Branch Detail Blocks

### Block 1 — [SET] Local variable initialization (L307)

> Declares three HashMap local variables used for parameter passing.

| # | Type | Code |
|---|------|------|
| 1 | SET | `HashMap<String, Object> paramMap = null;` |
| 2 | SET | `HashMap<String, Object> inputMap = null;` |
| 3 | SET | `HashMap<String, Object> outputMap = null;` |

### Block 2 — [SET] HashMap instantiation (L314–316)

> Initializes the three maps used for service parameter and result management. The Javadoc comment reads "Parameter setting map / Input map / Result storage map".

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramMap = new HashMap<String, Object>();` // Parameter setting map |
| 2 | SET | `inputMap = new HashMap<String, Object>();` // Input map |
| 3 | SET | `outputMap = new HashMap<String, Object>();` // Result storage map |

### Block 3 — [SET] Set operation service code (L319)

> Sets the operation service code to MY_HOME_PAGE. The Javadoc comment reads "Operation service service code". This identifies the screen context as My Homepage information registration.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `paramBean[0].sendMessageString(OP_SVC_CD_MY_HP, DATABEAN_SET_VALUE, ...)` // Set OP_SVC_CD constant (MY HOME PAGE) |

### Block 4 — [SET] Set usecase ID (L321)

> Sets the Telegram usecase identifier to KKSV0005, linking this logic to the KKSV0005 screen module. The comment reads "Parameter setting".

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramMap.put(TELEGRAM_INFO_USECASE_ID, "KKSV0005");` |

### Block 5 — [SET] Mapper instantiation (L324)

> Creates a new data mapper instance to build input/output maps for all 8 service queries. The comment reads "Upper mapping (service item - DataBean item mapping)".

| # | Type | Code |
|---|------|------|
| 1 | SET | `KKSV0005_KKSV0005OPDBMapper mapper = new KKSV0005_KKSV0005OPDBMapper();` |

### Block 6 — [CALL] setKKSV000504SC (L327) — Operation Service Contract List

> Sets up the contract list query filter. Comment reads "Operation service service contract list SC". Uses `FUNC_CD_1 = "1"` (reference lookup). The mapper extracts the service contract number and operation service code from the DataBean to filter the contract list.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV000504SC(paramBean, inputMap, FUNC_CD_1);` [-> FUNC_CD_1="1" (JPCModelConstant.java:29)] |

**Mapper detail (KKSV000504SC):**
- Reads "Service Contract Number" (サービス契約番号) from DataBean -> `key_svc_kei_no`
- Reads "Operation Service Code" (オペレーションサービスコード) from DataBean -> `key_op_svc_cd`
- Stores in parentMap under `KKSV000504SC`

### Block 7 — [CALL] setKKSV000501SC (L330) — ISP Agreement

> Sets up ISP agreement query. Comment reads "Operation service service contract <ISP> agreement SC". Uses `FUNC_CD_2 = "2"` (contract-specific lookup).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV000501SC(paramBean, inputMap, FUNC_CD_2);` [-> FUNC_CD_2="2" (JPCModelConstant.java:32)] |

**Mapper detail (KKSV000501SC):**
- Reads "Operation Service Contract Number" (オペレーションサービス契約番号) from DataBean -> `op_svc_kei_no`
- Stores in parentMap under `KKSV000501SC`

### Block 8 — [CALL] setKKSV000502SC (L333) — Homepage Capacity Info

> Sets up homepage capacity data query. Comment reads "Homepage capacity information acquisition SC". Uses `FUNC_CD_1 = "1"`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV000502SC(paramBean, inputMap, FUNC_CD_1);` [-> FUNC_CD_1="1" (JPCModelConstant.java:29)] |

**Mapper detail (KKSV000502SC):**
- Sets `key_cd_sbt_cd` to `CD00665` (homepage capacity key code constant)
- Stores in parentMap under `KKSV000502SC`

### Block 9 — [CALL] setKKSV000503SC (L336) — Access Analytics Info

> Sets up access analytics data query. Comment reads "Access analysis information acquisition SC". Uses `FUNC_CD_1 = "1"`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV000503SC(paramBean, inputMap, FUNC_CD_1);` [-> FUNC_CD_1="1" (JPCModelConstant.java:29)] |

**Mapper detail (KKSV000503SC):**
- Sets `key_cd_sbt_cd` to `CD00002` (access analytics key code constant)
- Stores in parentMap under `KKSV000503SC`

### Block 10 — [CALL] setKKSV000505SC (L339) — Business Parameter Management

> Sets up business parameter query. Comment reads "Business parameter management agreement SC". Uses `FUNC_CD_1 = "1"`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV000505SC(paramBean, inputMap, FUNC_CD_1);` [-> FUNC_CD_1="1" (JPCModelConstant.java:29)] |

**Mapper detail (KKSV000505SC):**
- Sets `key_work_param_id` to `"KK_URL_DOMAIN"` (URL domain business parameter ID)
- Stores in parentMap under `KKSV000505SC`

### Block 11 — [SET] Operation date setting (L342–343)

> Sets the operation date (YYMD) using the system's current operation date. Comment reads "Operation year/month/day setting". Delegates to `JCCWebCommon.getOpeDate`.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `paramBean[0].sendMessageString(UNYO_YMD, DATABEAN_SET_VALUE, JCCWebCommon.getOpeDate(this, null))` |

### Block 12 — [CALL] setKKSV000506SC (L346) — Customer Agreement

> Sets up customer agreement query. Comment reads "Customer agreement SC". Uses `FUNC_CD_2 = "2"` (requires SYSID context).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV000506SC(paramBean, inputMap, FUNC_CD_2);` [-> FUNC_CD_2="2" (JPCModelConstant.java:32)] |

**Mapper detail (KKSV000506SC):**
- Reads "SYSID" from DataBean -> `key_sysid`
- Reads "Operation YYMD" (運用年月日) from DataBean -> `key_rsv_aply_ymd`
- Stores in parentMap under `KKSV000506SC`

### Block 13 — [CALL] setKKSV000507SC (L349) — Service Contract Agreement

> Sets up service contract agreement query. Comment reads "Service contract agreement SC". Uses `FUNC_CD_2 = "2"`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV000507SC(paramBean, inputMap, FUNC_CD_2);` [-> FUNC_CD_2="2" (JPCModelConstant.java:32)] |

**Mapper detail (KKSV000507SC):**
- Reads "Service Contract Number" (サービス契約番号) from DataBean -> `key_svc_kei_no`
- Reads "Operation YYMD" (運用年月日) from DataBean -> `key_rsv_aply_ymd`
- Stores in parentMap under `KKSV000507SC`

### Block 14 — [CALL] setKKSV000508SC (L352) — Service Cost / Subscription Service List

> Sets up service provision cost query. Comment reads "Service cost - subscription service list SC". Uses `FUNC_CD_1 = "1"`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setKKSV000508SC(paramBean, inputMap, FUNC_CD_1);` [-> FUNC_CD_1="1" (JPCModelConstant.java:29)] |

**Mapper detail (KKSV000508SC):**
- Reads "Subscription Service Code" (サブオペレーションサービスコード) from DataBean -> `key_sbop_svc_cd`
- Stores in parentMap under `KKSV000508SC`

### Block 15 — [CALL] invokeService (L355)

> The core service invocation. All 8 input maps are sent to the CBS layer through `invokeService` (inherited from superclass). The results are stored in `outputMap` keyed by SC name (e.g., `KKSV000501SC`). The Javadoc comment reads "MY Homepage information registration initial display service".

| # | Type | Code |
|---|------|------|
| 1 | CALL | `invokeService(paramMap, inputMap, outputMap);` |

### Block 16 — [CALL] getKKSV000504SC (L358) — Contract List Mapping

> Maps contract list results back to DataBean. Comment reads "Acquired information lower mapping (service item-DataBean item mapping)". The mapper extracts a valid (non-cancelled, non-completed) operation service contract number from the result list.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.getKKSV000504SC(paramBean, outputMap);` |

**Mapper detail (getKKSV000504SC):**
- Reads `EKK0351B010CBSMsg1List` from parentMap
- Iterates through results, skips rows where `op_svc_kei_stat` is DSL (`SVC_KEI_STAT_DSL`) or Cancelled (`SVC_KEI_STAT_CNCL`)
- Sets valid contract number to DataBean field `OP_SVC_KEI_NO`

### Block 17 — [CALL] getKKSV000501SC (L359) — ISP Agreement Mapping

> Maps ISP agreement results back to DataBean. Comment reads "Acquired information lower mapping".

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.getKKSV000501SC(paramBean, outputMap);` |

**Mapper detail (getKKSV000501SC):**
- Reads `EKK0361A010CBSMsg1List` from parentMap
- Extracts first record (N:1 mapping): `capa`, `web_id`, `url_domain`, `url_account`, `last_upd_dtm`
- Sets these fields on the DataBean

### Block 18 — [CALL] getKKSV000502SC (L362) — Homepage Capacity Pulldown

> Initializes pulldown for homepage capacity info. Comment reads "Pulldown information lower mapping".

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.getKKSV000502SC(paramBean, outputMap);` |

**Mapper detail (getKKSV000502SC):**
- Delegates to `JKKWebCommon.setPulldownList(bean[0], outputMap, HP_CAPA_INFO, "KKSV000502SC", false)`

### Block 19 — [CALL] getKKSV000503SC (L363) — Access Analytics Pulldown

> Initializes pulldown for access analytics info. Comment reads "Pulldown information lower mapping".

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.getKKSV000503SC(paramBean, outputMap);` |

**Mapper detail (getKKSV000503SC):**
- Delegates to `JKKWebCommon.setPulldownList(bean[0], outputMap, ACCSS_BNSK_INFO, "KKSV000503SC", false)`

### Block 20 — [CALL] getKKSV000505SC (L366) — Business Parameter Mapping

> Maps business parameter results back to DataBean. Comment reads "Business parameter acquisition lower mapping".

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.getKKSV000505SC(paramBean, outputMap);` |

**Mapper detail (getKKSV000505SC):**
- Reads `EZM0321A010CBSMsg1List` from parentMap
- Sets first record's `work_param_sette_value` to `URL_DOMAIN` field

### Block 21 — [CALL] getKKSV000506SC (L369) — Customer Status Mapping

> Maps customer agreement results back to DataBean. Comment reads "Customer agreement acquisition lower mapping".

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.getKKSV000506SC(paramBean, outputMap);` |

**Mapper detail (getKKSV000506SC):**
- Reads `ECK0011A010CBSMsg1List` from parentMap
- Sets first record's `cust_stat` to `CUST_STAT` field

### Block 22 — [CALL] getKKSV000507SC (L372) — Service Contract Details Mapping

> Maps service contract agreement results back to DataBean. Comment reads "Service contract agreement acquisition lower mapping".

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.getKKSV000507SC(paramBean, outputMap);` |

**Mapper detail (getKKSV000507SC):**
- Reads `EKK0081A010CBSMsg1List` from parentMap
- Sets first record's `gene_add_dtm` to `GENE_ADD_DTM` field
- Sets first record's `svc_kei_stat` to `SVC_KEI_STAT` field
- Sets `mskm_dtl_no` (application detail number) from parentMap
- Sets `last_upd_dtm` (last update datetime) from parentMap

### Block 23 — [CALL] getKKSV000508SC (L375) — Service Cost Data Mapping

> Maps service provision cost results back to DataBean. Comment reads "Service cost - subscription service list acquisition lower mapping".

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.getKKSV000508SC(paramBean, outputMap);` |

**Mapper detail (getKKSV000508SC):**
- Reads from parentMap under `KKSV000508SC` key
- Sets `svctk_but_shk_value`, `svctk_but_max_value`, `svctk_but_zougen_value`, `svctk_but_mryo_value` to DataBean fields

### Block 24 — [IF] Capacity pulldown initial value parsing (L378–386)

> Reads the service provision initial value from the DataBean and parses it as an integer for pulldown initialization. The comment reads "Capacity pulldown initial value". Default is -1 if null/empty.

| # | Type | Code |
|---|------|------|
| 1 | SET | `String hp_capa_shk = paramBean[0].sendMessageString(SVCTK_BUT_SHK_VALUE, DATABEAN_GET_VALUE)` |
| 2 | SET | `int hp_capa_shk_val = -1;` |
| 3 | IF-ELSE | `if (hp_capa_shk != null && !"".equals(hp_capa_shk))` |
| 3.1 | SET (THEN) | `hp_capa_shk_val = Integer.parseInt(hp_capa_shk);` |

### Block 25 — [IF] Capacity pulldown max value parsing (L389–397)

> Reads the service provision max value from the DataBean. The comment reads "Capacity pulldown maximum value". Default is -1 if null/empty.

| # | Type | Code |
|---|------|------|
| 1 | SET | `String hp_capa_max = paramBean[0].sendMessageString(SVCTK_BUT_MAX_VALUE, DATABEAN_GET_VALUE)` |
| 2 | SET | `int hp_capa_max_val = -1;` |
| 3 | IF-ELSE | `if (hp_capa_max != null && !"".equals(hp_capa_max))` |
| 3.1 | SET (THEN) | `hp_capa_max_val = Integer.parseInt(hp_capa_max);` |

### Block 26 — [IF] Capacity pulldown increment/decrement value parsing (L400–408)

> Reads the service provision increase/decrease value from the DataBean. The comment reads "Capacity pulldown increase/decrease value". Default is -1 if null/empty.

| # | Type | Code |
|---|------|------|
| 1 | SET | `String hp_capa_zougen = paramBean[0].sendMessageString(SVCTK_BUT_ZOUGEN_VALUE, DATABEAN_GET_VALUE)` |
| 2 | SET | `int hp_capa_zougen_val = -1;` |
| 3 | IF-ELSE | `if (hp_capa_zougen != null && !"".equals(hp_capa_zougen))` |
| 3.1 | SET (THEN) | `hp_capa_zougen_val = Integer.parseInt(hp_capa_zougen);` |

### Block 27 — [CALL] Capacity pulldown initialization (L410)

> Initializes the homepage capacity pulldown with parsed capacity values. Uses `JKKWebCommon.setPulldownListNoIndex` with the capacity shrink value, max value, and increment/decrement value parameters.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JKKWebCommon.setPulldownListNoIndex(paramBean[0], outputMap, HP_CAPA_INFO, "KKSV000502SC", false, hp_capa_shk_val, hp_capa_max_val, hp_capa_zougen_val);` |

### Block 28 — [CALL] Access analytics pulldown initialization (L411)

> Initializes the access analytics pulldown without additional parameters.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JKKWebCommon.setPulldownListNoIndex(paramBean[0], outputMap, ACCSS_BNSK_INFO, "KKSV000503SC", false);` |

### Block 29 — [EXEC] DataBean logging (L414)

> Logs the DataBean state for debugging. The Javadoc comment reads "DataBean log output".

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `MY_HP` | Constant | My Homepage — the customer-facing homepage portal feature in this telecom system |
| `OP_SVC_CD` | Field | Operation Service Code — identifies the type of service operation being performed |
| `OP_SVC_CD_MY_HP` | Constant | The MY HOME PAGE operation service code value, used to contextually identify this screen |
| `OP_SVC_KEI_NO` | Field | Operation Service Detail Number — the specific contract number for the operation service |
| `OP_SVC_KEI_STAT` | Field | Operation Service Status — current state of the service contract (active, cancelled, completed, etc.) |
| `SVC_KEI_STAT_DSL` | Constant | Service Status DSL — DSL disconnection status |
| `SVC_KEI_STAT_CNCL` | Constant | Service Status Cancelled — cancelled status |
| `UNYO_YMD` | Constant | Operation Year/Month/Day — the system operation date (YYYYMMDD format) |
| `SVCTK_BUT_SHK_VALUE` | Constant | Service Provision Initial Value — the starting value for service capacity |
| `SVCTK_BUT_MAX_VALUE` | Constant | Service Provision Maximum Value — the maximum capacity threshold |
| `SVCTK_BUT_ZOUGEN_VALUE` | Constant | Service Provision Increase/Decrease Value — the increment or decrement step |
| `SVCTK_BUT_MRYO_VALUE` | Constant | Service Provision Free Value — the free usage amount |
| `HP_CAPA_INFO` | Constant | Homepage Capacity Information — the pulldown list key for homepage capacity data |
| `ACCSS_BNSK_INFO` | Constant | Access Analytics Information — the pulldown list key for access analytics data |
| `CAPA` | Field | Capacity — homepage bandwidth/storage capacity |
| `WEB_ID` | Field | Web ID — the customer's homepage account identifier |
| `HPAD_DOMAIN` | Field | Homepage Domain — the domain URL of the customer's homepage |
| `HPAD_ACCOUNT` | Field | Homepage Account — the account name for the customer's homepage |
| `UPD_DTM_BF` | Field | Update Datetime Before — last update timestamp |
| `URL_DOMAIN` | Field | URL Domain — the business parameter domain URL (e.g., www.example.com) |
| `CUST_STAT` | Field | Customer Status — the current status of the customer account |
| `GENE_ADD_DTM` | Field | Generation Add Datetime — timestamp when the service contract was created/registered |
| `SVC_KEI_STAT` | Field | Service Contract Status — current state of the service contract |
| `FUNC_CD_1` | Constant | Function Code "1" — used for reference/master data lookups |
| `FUNC_CD_2` | Constant | Function Code "2" — used for contract-specific data lookups requiring context (SYSID, contract number) |
| `CD00665` | Constant | Key Code 00665 — the key subtype code for homepage capacity information queries |
| `CD00002` | Constant | Key Code 00002 — the key subtype code for access analytics information queries |
| `KK_URL_DOMAIN` | Constant | Business parameter ID for URL domain — identifies the URL domain configuration parameter |
| `KKSV0005` | Screen ID | The screen module for homepage capacity and analytics information setup |
| `KKSV0005OPDBMapper` | Class | Data Mapper — transforms between DataBean fields and service input/output HashMaps |
| `invokeService` | Method | Composite service invocation — sends all prepared input maps to CBS layers and collects output results |
| `setPulldownListNoIndex` | Method | Initializes a pulldown list with an empty "no index" (blank) option as the first item |
| `setPulldownList` | Method | Initializes a pulldown list from service results |
| EKK0351B010CBS | CBS | Operation Service Contract List CBS — retrieves service contract records |
| EKK0361A010CBS | CBS | Operation Service ISP Agreement CBS — retrieves ISP agreement data |
| EZM0171B010CBS | CBS | Homepage Capacity / Access Analytics CBS — retrieves capacity and analytics reference data |
| EZM0321A010CBS | CBS | Business Parameter CBS — retrieves business parameter settings |
| ECK0011A010CBS | CBS | Customer Agreement CBS — retrieves customer account information |
| EKK0081A010CBS | CBS | Service Contract Agreement CBS — retrieves service contract details |
| JCCWebCommon | Class | Common web utility — provides operation date retrieval and other cross-cutting utilities |
| JKKWebCommon | Class | Web common utility — provides pulldown list initialization and web-related utilities |
| JSYwebLog | Class | Web logging utility — handles DataBean dump logging |
| Databean | Pattern | DataBean — MVC model object carrying screen state between the controller, logic, and view layers |
