---
title: "Detailed Design — FUW01901SFLogic.getCommoninfoBeanInfo()"
description: "Common form Bean info retrieval for the mail access addition request screen"
tags: [FUW01901SFLogic, CommonInfoBean, mail-access, BeanInfo]
---

# Business Logic — FUW01901SFLogic.getCommoninfoBeanInfo() [100 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW01901SF.FUW01901SFLogic` |
| Layer | Service / Logic (Web-layer business logic — `eo.web.webview.*SF`) |
| Module | `FUW01901SF` (Package: `eo.web.webview.FUW01901SF`) |

## 1. Role

### FUW01901SFLogic.getCommoninfoBeanInfo()

This method retrieves and assembles the shared (common) form Bean information required by the **Mail Access Addition Request** screen (FUW01901). It serves as a **data-aggregation and routing utility** within the FUW01901 screen's logic tier, flattening the hierarchical Bean structure (WEB change info → current customer → service contract → option services → billing contract) into a single `Map<String, Object>` that downstream callers can consume to render screen fields.

The method performs three core business operations: (1) **SSO (Single Sign-On) credential extraction** — it walks down the nested Bean tree to pull the SSO SYSID needed for authentication context display; (2) **Mail access extraction** — it iterates over all option service lines to find those matching the **Mail Access** service type (Option Service Code `B001`, Fee Code `B01`) that are **not** in terminated (`910`) or cancelled (`920`) status, and collects the mail address (`MLAD_28`) along with its associated POP credentials when the user has just confirmed/added a new mail address (via `fixMlad` matching); (3) **Bean passthrough** — it places all extracted Beans and summary counters into a result map keyed by `CommonInfoCFConst` constants for screen rendering.

The method implements a **delegation and traversal pattern**: it navigates a deep nested Bean hierarchy (5 levels: root → WEB_CHG_INFO → SSO / GEN_CUST_KEI_INFO → SVC_KEI_INFO → SVC_KEI_UCWK_INFO → OP_SVC_KEI_INFO) and flattens the results into a flat Map. It is called by the screen's `cfm()`, `init()`, and `mskm()` methods, making it a shared helper that provides the common form data payload across multiple screen lifecycle phases (initialization, confirmation, mask processing).

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["getCommoninfoBeanInfo"])
    INIT["Initialize resultMap, mlad, fixPopidPwd, mladCnt"]
    GET_WEB["GetX31SDataBeanAccess: webChgInfoBean from COMMON_WEB_CHG_INFO"]
    GET_SSO["Get ssoInfoArray from webChgInfoBean.SSO_INFO -> ssoInfoBean[0]"]
    GET_SYSID["Get ssoInfoSysid from ssoInfoBean.SYSID_21"]
    DECLARE_VARS["Declare genCustKeiInfoBean, svcKeiInfoBean, svcKeiUcwkInfoBean, opSvcKeiInfoBean, seikyKeiInfoBean as null"]
    GET_CUST["Get genCustKeiInfoArray from webChgInfoBean.GEN_CUST_KEI_INFO -> genCustKeiInfoBean[0]"]
    GET_SVC["Get svcKeiInfoArray from genCustKeiInfoBean.SVC_KEI_INFO -> svcKeiInfoBean[0]"]
    GET_SVC_UCWK["Get svcKeiUcwkInfoArray from svcKeiInfoBean.SVC_KEI_UCWK_INFO -> svcKeiUcwkInfoBean[0]"]
    GET_OP["Get opSvcKeiInfoArray from svcKeiUcwkInfoBean.OP_SVC_KEI_INFO"]
    LOOP_START{"m 0 to opSvcKeiInfoArray.getCount()"}
    GET_TMP["Get tmpOpSvcKeiInfoBean from opSvcKeiInfoArray[m]"]
    READ_OP_SVC_CD["Read opSvcCd from tmpOpSvcKeiInfoBean.OP_SVC_CD_28"]
    READ_PCRS_CD["Read pcrsCd from tmpOpSvcKeiInfoBean.PCRS_CD_28"]
    READ_STAT["Read opSvcKeiStat from tmpOpSvcKeiInfoBean.OP_SVC_KEI_STAT_28"]
    CHECK_MLAD{opSvcCd equals B001 AND pcrsCd equals B01 AND NOT stat equals 910 OR 920?}
    READ_MLAD["Read mlad from tmpOpSvcKeiInfoBean.MLAD_28, mladCnt++"]
    CHECK_FIX{fixMlad != null AND fixMlad equals mlad?}
    READ_POP["Read fixPopidPwd from tmpOpSvcKeiInfoBean.SHK_POP_ID_PWD_28"]
    LOOP_END["End loop iteration"]
    GET_SEIKY["Get seikyKeiInfoArray from svcKeiInfoBean.SEIKY_KEI_INFO -> seikyKeiInfoBean[0]"]
    PUT_SYSID["Put ssoInfoSysid into resultMap, key SYSID_21"]
    PUT_POP["Put fixPopidPwd into resultMap, key POP_PWD"]
    PUT_CNT["Put mladCnt into resultMap, key MLAD_STKU_CNT"]
    PUT_BEARINFO["Put ssoInfoBean into resultMap, key SSO_INFO"]
    PUT_SVCINFO["Put svcKeiInfoBean into resultMap, key SVC_KEI_INFO"]
    PUT_UCWKINFO["Put svcKeiUcwkInfoBean into resultMap, key SVC_KEI_UCWK_INFO"]
    PUT_OPINFO["Put opSvcKeiInfoBean into resultMap, key OP_SVC_KEI_INFO"]
    PUT_SEIKYINFO["Put seikyKeiInfoBean into resultMap, key SEIKY_KEI_INFO"]
    RETURN["Return resultMap"]

    START --> INIT
    INIT --> GET_WEB
    GET_WEB --> GET_SSO
    GET_SSO --> GET_SYSID
    GET_SYSID --> DECLARE_VARS
    DECLARE_VARS --> GET_CUST
    GET_CUST --> GET_SVC
    GET_SVC --> GET_SVC_UCWK
    GET_SVC_UCWK --> GET_OP
    GET_OP --> LOOP_START
    LOOP_START --> GET_TMP
    GET_TMP --> READ_OP_SVC_CD
    READ_OP_SVC_CD --> READ_PCRS_CD
    READ_PCRS_CD --> READ_STAT
    READ_STAT --> CHECK_MLAD
    CHECK_MLAD -->|True| READ_MLAD
    READ_MLAD --> INCR_CNT
    INCR_CNT --> CHECK_FIX
    CHECK_MLAD -->|False| CHECK_FIX
    CHECK_FIX -->|True| READ_POP
    READ_POP --> LOOP_END
    CHECK_FIX -->|False| LOOP_END
    LOOP_END --> LOOP_START
    LOOP_START --> GET_SEIKY
    GET_SEIKY --> PUT_SYSID
    PUT_SYSID --> PUT_POP
    PUT_POP --> PUT_CNT
    PUT_CNT --> PUT_BEARINFO
    PUT_BEARINFO --> PUT_SVCINFO
    PUT_SVCINFO --> PUT_UCWKINFO
    PUT_UCWKINFO --> PUT_OPINFO
    PUT_OPINFO --> PUT_SEIKYINFO
    PUT_SEIKYINFO --> RETURN
```

### Block-by-block explanation

**Phase 1 — Initialization & Hierarchical Bean Traversal (Lines 606–638)**

The method starts by creating an empty `resultMap` and then traverses the nested `X31SDataBeanAccess` structure depth-first:

1. `webChgInfoBean` is obtained by calling `getX31SDataBeanAccess(commoninfoBean, "WEB変更情報")` — this is the top-level **WEB change information** container.
2. From `webChgInfoBean`, the `SSO_INFO` child array is extracted and the first element (index 0) becomes `ssoInfoBean`.
3. The SSO SYSID is read from `ssoInfoBean` via `sendMessageString("SYSID_21", DATABEAN_GET_VALUE)`.
4. A set of null-initialized Bean references are declared for the customer, service contract, service detail, option service, and billing contract info.
5. The traversal continues down through `GEN_CUST_KEI_INFO → SVC_KEI_INFO → SVC_KEI_UCWK_INFO → OP_SVC_KEI_INFO` (option services).

**Phase 2 — Option Service Loop: Mail Access Detection (Lines 640–670)**

For each option service line in `opSvcKeiInfoArray`, the method reads three fields and applies a compound filter:

| Field | Constant Key | Business Meaning |
|-------|-------------|-----------------|
| `opSvcCd` | `OP_SVC_CD_28` | Option service code |
| `pcrsCd` | `PCRS_CD_28` | Fee code |
| `opSvcKeiStat` | `OP_SVC_KEI_STAT_28` | Option service contract status |

The filter condition requires:
- **Option Service Code = "B001"** (`JFUStrConst.CD00136_B001`) — **Mail Access service**
- **Fee Code = "B01"** (`JFUStrConst.CD00134_B01`) — **Mail Access fee code**
- **Contract Status ≠ "910"** AND **≠ "920"** (`JFUStrConst.CD00037_910` = "910: Terminated", `CD00037_920` = "920: Cancelled") — service must be active

When all three conditions match, the mail address is extracted from `MLAD_28` and `mladCnt` is incremented.

Additionally, if `fixMlad` (the confirmed/newly-added mail address) is non-null and matches the current iteration's `mlad`, the initial POP ID and password (`SHK_POP_ID_PWD_28`) are retrieved for that specific mail address.

**Phase 3 — Billing Contract Bean Extraction (Lines 672–674)**

The billing contract info array is extracted from `svcKeiInfoBean` and the first element is assigned to `seikyKeiInfoBean`.

**Phase 4 — Result Map Population (Lines 677–694)**

All collected data is placed into `resultMap` with the following keys:
- `SYSID_21` → SSO SYSID string
- `POP_PWD` → Confirmed POP password (may be null)
- `MLAD_STKU_CNT` → Mail access count (int)
- `SSO_INFO` → SSO Bean
- `SVC_KEI_INFO` → Service contract Bean
- `SVC_KEI_UCWK_INFO` → Service contract detail Bean
- `OP_SVC_KEI_INFO` → Option service contract Bean (last iterated)
- `SEIKY_KEI_INFO` → Billing contract Bean

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `commoninfoBean` | `X31SDataBeanAccess` | The root-level shared form Bean that carries the entire hierarchical WEB change information payload. This Bean contains nested child arrays for SSO info, current customer data, service contracts, option services, and billing contracts. It originates from the screen's data binding layer and represents the complete customer service state for the current WEB change session. |
| 2 | `fixMlad` | `String` | The confirmed mail address (POP account) that was just added or set during the current screen operation. Used to detect which option service entry corresponds to the newly-confirmed mail address, so its initial POP credentials can be extracted. When null (not a fresh confirmation), no POP password retrieval occurs. |

**Additional state read by the method:**

| Source | Description |
|--------|-------------|
| `getX31SDataBeanAccess()` (method call within class) | Retrieves a child `X31SDataBeanAccess` from the parent by key |
| `CommonInfoCFConst.*` constant keys | Used throughout for Bean path lookups and map keys |
| `JFUStrConst.CD00136_B001` / `CD00134_B01` / `CD00037_910` / `CD00037_920` | Enum-like constant values used in the option service filtering condition |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `getX31SDataBeanAccess` (FUW01901SFLogic) | FUW01901SFLogic | — | Retrieves a child Bean from the parent Bean tree by key (intra-class delegation) |
| R | `OneStopDataBeanAccessArray.getDataBean` | OneStopDataBeanAccessArray | — | Extracts a child data Bean by array index from a nested Bean array |
| R | `OneStopDataBeanAccess.getDataBeanArray` | OneStopDataBeanAccess | — | Extracts a child Bean array from a parent data Bean by key |
| R | `OneStopDataBeanAccess.sendMessageString` | OneStopDataBeanAccess | — | Reads a string value field from a data Bean (getter via message dispatch) |
| R | `OneStopDataBeanAccess.getCount` | OneStopDataBeanAccess | — | Returns the element count of a data Bean array (used for loop bound) |

### Detailed analysis:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `getX31SDataBeanAccess(commoninfoBean, WEB_CHG_INFO)` | FUW01901SFLogic | — | Retrieves the WEB change information child Bean from the root common info Bean |
| R | `webChgInfoBean.getDataBeanArray(SSO_INFO)` | OneStopDataBeanAccess | — | Extracts the SSO information array from WEB change info (Read Bean child array) |
| R | `webChgInfoBean.getDataBeanArray(GEN_CUST_KEI_INFO)` | OneStopDataBeanAccess | — | Extracts the current customer information array from WEB change info (Read Bean child array) |
| R | `genCustKeiInfoBean.getDataBeanArray(SVC_KEI_INFO)` | OneStopDataBeanAccess | — | Extracts the service contract information array from current customer info (Read Bean child array) |
| R | `svcKeiInfoBean.getDataBeanArray(SVC_KEI_UCWK_INFO)` | OneStopDataBeanAccess | — | Extracts the service contract detail information array from service contract info (Read Bean child array) |
| R | `svcKeiUcwkInfoBean.getDataBeanArray(OP_SVC_KEI_INFO)` | OneStopDataBeanAccess | — | Extracts the option service contract information array from service contract detail (Read Bean child array) |
| R | `tmpOpSvcKeiInfoBean.sendMessageString(OP_SVC_CD_28)` | OneStopDataBeanAccess | — | Reads the option service code field from the option service Bean |
| R | `tmpOpSvcKeiInfoBean.sendMessageString(PCRS_CD_28)` | OneStopDataBeanAccess | — | Reads the fee code field from the option service Bean |
| R | `tmpOpSvcKeiInfoBean.sendMessageString(OP_SVC_KEI_STAT_28)` | OneStopDataBeanAccess | — | Reads the option service contract status field from the option service Bean |
| R | `tmpOpSvcKeiInfoBean.sendMessageString(MLAD_28)` | OneStopDataBeanAccess | — | Reads the mail address field from the option service Bean (when filter matches) |
| R | `tmpOpSvcKeiInfoBean.sendMessageString(SHK_POP_ID_PWD_28)` | OneStopDataBeanAccess | — | Reads the confirmed initial POP ID/password field from the option service Bean |
| R | `svcKeiInfoBean.getDataBeanArray(SEIKY_KEI_INFO)` | OneStopDataBeanAccess | — | Extracts the billing contract information array from service contract info (Read Bean child array) |

**Note:** This method performs **no database or CBS operations** directly. It operates entirely in the web-tier Bean layer, reading from already-loaded data Bean structures passed in via `commoninfoBean`. All data sources are ultimately backed by database queries executed by earlier callers in the request flow.

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 3 methods.
Terminal operations from this method: `getDataBean` [R], `getDataBean` [R], `getDataBean` [R], `getDataBean` [R], `getDataBeanArray` [R], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `getDataBean` [R], `getDataBean` [R], `getDataBean` [R], `getDataBean` [R], `getCount` [R]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Method: `FUW01901SFLogic.cfm()` | `cfm()` → `getCommoninfoBeanInfo(commoninfoBean, fixMlad)` | `getDataBean` [R], `getDataBeanArray` [R], `sendMessageString` [R] |
| 2 | Method: `FUW01901SFLogic.init()` | `init()` → `getCommoninfoBeanInfo(commoninfoBean, fixMlad)` | `getDataBean` [R], `getDataBeanArray` [R], `sendMessageString` [R] |
| 3 | Method: `FUW01901SFLogic.mskm()` | `mskm()` → `getCommoninfoBeanInfo(commoninfoBean, fixMlad)` | `getDataBean` [R], `getDataBeanArray` [R], `sendMessageString` [R] |

**Screen context:** The FUW01901 screen is the **Mail Access Addition Request** screen (`メールアクセス追加申請`, screen ID `FUW01901`) as defined in `JFUScreenConst.SCREEN_NAME_FUW01901`. The three callers represent:
- **`init()`** — Initial screen load: retrieves Bean info to display the current state of mail access services.
- **`cfm()`** — Confirmation processing: retrieves Bean info during the confirmation step to validate and display the request.
- **`mskm()`** — Mask processing: retrieves Bean info during masked screen operations (e.g., when handling partial screen updates or AJAX-driven UI interactions).

All three callers operate within the same `FUW01901SFLogic` class, and this method serves as a **shared data provider** for the screen's Bean information across multiple processing phases.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `resultMap = new HashMap<String, Object>()` (L607)
> Initializes the result map that will hold all extracted information for screen rendering.

| # | Type | Code |
|---|------|------|
| 1 | SET | `resultMap = new HashMap<String, Object>()` // Result map for extracted Bean info |

---

**Block 2** — [SET] `webChgInfoBean = getX31SDataBeanAccess(commoninfoBean, CommonInfoCFConst.WEB_CHG_INFO)` (L610)
> Retrieves the WEB change information child Bean from the root `commoninfoBean`. This is the root of the nested Bean hierarchy that contains all subsequent data.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `webChgInfoBean = getX31SDataBeanAccess(commoninfoBean, CommonInfoCFConst.WEB_CHG_INFO)` |

---

**Block 3** — [SET] `ssoInfoArray = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.SSO_INFO)` (L613)
> Extracts the SSO (Single Sign-On) information array from the WEB change info Bean.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ssoInfoArray = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.SSO_INFO)` |
| 2 | SET | `ssoInfoBean = ssoInfoArray.getDataBean(0)` // First element from SSO info array |

---

**Block 4** — [SET] `ssoInfoSysid = ssoInfoBean.sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE)` (L616)
> Reads the SSO SYSID value from the SSO info Bean. This system identifier is used for authentication context on the screen.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ssoInfoSysid = ssoInfoBean.sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE)` |

---

**Block 5** — [SET] Bean variable declarations (L618–L624)
> Declares five null-initialized Bean references for the customer, service contract, service detail, option service, and billing contract information Beans.

| # | Type | Code |
|---|------|------|
| 1 | SET | `genCustKeiInfoBean = null` // Current customer information |
| 2 | SET | `svcKeiInfoBean = null` // Service contract information |
| 3 | SET | `svcKeiUcwkInfoBean = null` // Service contract detail information |
| 4 | SET | `opSvcKeiInfoBean = null` // Option service information |
| 5 | SET | `seikyKeiInfoBean = null` // Billing contract information |

---

**Block 6** — [SET] Local variable declarations (L627–L632)
> Declares variables to hold the extracted mail address, POP credentials, and mail count.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mlad = null` // Mail address |
| 2 | SET | `fixPopidPwd = null` // Confirmed (initial) POP password |
| 3 | SET | `mladCnt = 0` // Retrieved mail address count |

---

**Block 7** — [SET] Current customer info extraction (L635–L636)
> Extracts the current customer information Bean array and assigns the first element.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `genCustKeiInfoArray = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO)` |
| 2 | SET | `genCustKeiInfoBean = genCustKeiInfoArray.getDataBean(0)` |

---

**Block 8** — [SET] Service contract info extraction (L639–L640)
> Extracts the service contract information Bean array and assigns the first element.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcKeiInfoArray = genCustKeiInfoBean.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO)` |
| 2 | SET | `svcKeiInfoBean = svcKeiInfoArray.getDataBean(0)` |

---

**Block 9** — [SET] Service contract detail info extraction (L643–L644)
> Extracts the service contract detail information Bean array and assigns the first element.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcKeiUcwkInfoArray = svcKeiInfoBean.getDataBeanArray(CommonInfoCFConst.SVC_KEI_UCWK_INFO)` |
| 2 | SET | `svcKeiUcwkInfoBean = svcKeiUcwkInfoArray.getDataBean(0)` |

---

**Block 10** — [FOR] `for (int m = 0; m < opSvcKeiInfoArray.getCount(); m++)` (L647)
> Iterates over all option service contract entries. Each entry is checked to determine if it represents an active Mail Access service, and if so, the mail address and associated POP credentials are extracted.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpOpSvcKeiInfoBean = opSvcKeiInfoArray.getDataBean(m)` |

**Block 10.1** — [SET] Read option service fields (L650–L654)
> Reads three key fields from the current option service entry: the option service code, fee code, and contract status.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `opSvcCd = tmpOpSvcKeiInfoBean.sendMessageString(CommonInfoCFConst.OP_SVC_CD_28, X31CWebConst.DATABEAN_GET_VALUE)` |
| 2 | CALL | `pcrsCd = tmpOpSvcKeiInfoBean.sendMessageString(CommonInfoCFConst.PCRS_CD_28, X31CWebConst.DATABEAN_GET_VALUE)` |
| 3 | CALL | `opSvcKeiStat = tmpOpSvcKeiInfoBean.sendMessageString(CommonInfoCFConst.OP_SVC_KEI_STAT_28, X31CWebConst.DATABEAN_GET_VALUE)` |

**Block 10.2** — [IF] `JFUStrConst.CD00136_B001.equals(opSvcCd) && JFUStrConst.CD00134_B01.equals(pcrsCd) && !(JFUStrConst.CD00037_910.equals(opSvcKeiStat) || JFUStrConst.CD00037_920.equals(opSvcKeiStat))` (L660)
> [Option service code = "B001" (Mail Access) AND fee code = "B01" (Mail Access fee) AND contract status ≠ "910" (Terminated) AND ≠ "920" (Cancelled)]
>
> This filter identifies active Mail Access service entries within the option services list. Only when all three conditions match does the method extract the mail address and increment the count.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mlad = tmpOpSvcKeiInfoBean.sendMessageString(CommonInfoCFConst.MLAD_28, X31CWebConst.DATABEAN_GET_VALUE)` |
| 2 | SET | `mladCnt++` // Increment mail address retrieval count |

---

**Block 10.3** — [IF] `null != fixMlad && fixMlad.equals(mlad)` (L672)
> [fixMlad is non-null AND matches the current iteration's mail address]
>
> When the confirmed mail address (`fixMlad`) matches the current option service entry's mail address, retrieve the initial POP ID and password. This handles the case where a new mail access was just confirmed and its credentials need to be displayed on the screen.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `fixPopidPwd = tmpOpSvcKeiInfoBean.sendMessageString(CommonInfoCFConst.SHK_POP_ID_PWD_28, X31CWebConst.DATABEAN_GET_VALUE)` |

---

**Block 11** — [SET] Billing contract info extraction (L677–L678)
> Extracts the billing contract information Bean array and assigns the first element.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `seikyKeiInfoArray = svcKeiInfoBean.getDataBeanArray(CommonInfoCFConst.SEIKY_KEI_INFO)` |
| 2 | SET | `seikyKeiInfoBean = seikyKeiInfoArray.getDataBean(0)` |

---

**Block 12** — [SET] Result map population (L681–L694)
> Populates the result map with all extracted data using `CommonInfoCFConst` and `FUW01901SFConst` keys.

| # | Type | Code |
|---|------|------|
| 1 | SET | `resultMap.put(CommonInfoCFConst.SYSID_21, ssoInfoSysid)` |
| 2 | SET | `resultMap.put(FUW01901SFConst.POP_PWD, fixPopidPwd)` |
| 3 | SET | `resultMap.put(FUW01901SFConst.MLAD_STKU_CNT, mladCnt)` |
| 4 | SET | `resultMap.put(CommonInfoCFConst.SSO_INFO, ssoInfoBean)` |
| 5 | SET | `resultMap.put(CommonInfoCFConst.SVC_KEI_INFO, svcKeiInfoBean)` |
| 6 | SET | `resultMap.put(CommonInfoCFConst.SVC_KEI_UCWK_INFO, svcKeiUcwkInfoBean)` |
| 7 | SET | `resultMap.put(CommonInfoCFConst.OP_SVC_KEI_INFO, opSvcKeiInfoBean)` |
| 8 | SET | `resultMap.put(CommonInfoCFConst.SEIKY_KEI_INFO, seikyKeiInfoBean)` |

---

**Block 13** — [RETURN] `return resultMap;` (L697)
> Returns the fully populated result map containing all Bean information and summary data for the calling screen methods.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return resultMap;` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `mlad` | Field | Mail address — the customer's email address used for Mail Access service (POP/IMAP mail retrieval) |
| `fixMlad` | Parameter | Confirmed mail address — the newly added or set mail address during the current screen operation |
| `opSvcCd` | Field | Option service code — identifies the type of option service (e.g., "B001" = Mail Access) |
| `pcrsCd` | Field | Fee code — the pricing code associated with an option service |
| `opSvcKeiStat` | Field | Option service contract status — the current status of the option service contract |
| `ssoInfoSysid` | Field | SSO system identifier — the unique system ID for the user's Single Sign-On session |
| `fixPopidPwd` | Field | Confirmed POP ID/password — the initial POP credentials for the newly confirmed mail address |
| `mladCnt` | Field | Mail address acquisition count — the total number of active Mail Access entries found |
| SSO | Acronym | Single Sign-On — authentication system providing centralized user identity management |
| SYSID | Acronym | System Identifier — unique ID assigned to a user's SSO session |
| POP | Acronym | Post Office Protocol — email retrieval protocol (POP3) used by Mail Access service |
| WEB_CHG_INFO | Field | WEB change information — the root-level data structure containing all WEB change form data |
| GEN_CUST_KEI_INFO | Field | Current customer information — the customer's current (pre-change) contract data |
| SVC_KEI_INFO | Field | Service contract information — the active service contract data for the customer |
| SVC_KEI_UCWK_INFO | Field | Service contract detail information — detailed breakdown of service contract line items |
| OP_SVC_KEI_INFO | Field | Option service contract information — optional add-on services (Mail Access, BBR, STB, etc.) associated with the contract |
| SEIKY_KEI_INFO | Field | Billing contract information — billing-related contract data |
| MLAD_28 | Field | Mail address (index 28) — the mail address field in the option service Bean's 28th element |
| SHK_POP_ID_PWD_28 | Field | Confirmed POP ID/password (index 28) — initial POP credentials in the option service Bean's 28th element |
| OP_SVC_CD_28 | Field | Option service code (index 28) |
| PCRS_CD_28 | Field | Fee code (index 28) |
| OP_SVC_KEI_STAT_28 | Field | Option service contract status (index 28) |
| CD00136_B001 | Constant | "B001" — Option service code for **Mail Access** (メールアクセス) |
| CD00134_B01 | Constant | "B01" — Fee code for **Mail Access** (メールアクセス) |
| CD00037_910 | Constant | "910" — Contract status meaning **Terminated** (解約済み) |
| CD00037_920 | Constant | "920" — Contract status meaning **Cancelled** (キャンセル済み) |
| FUW01901 | Screen | Mail Access Addition Request screen (メールアクセス追加申請) — the web screen where customers can add new mail access (POP) accounts to their service contract |
| X31SDataBeanAccess | Class | Web-layer data Bean access class providing hierarchical child Bean retrieval via `getDataBean()`, `getDataBeanArray()`, and `sendMessageString()` |
| X31SDataBeanAccessArray | Class | Array variant of the data Bean access class, providing `getCount()` and `getDataBean(index)` operations |
