---
title: "DD — FUW02301SFLogic.getDispInfo()"
---

# Business Logic — FUW02301SFLogic.getDispInfo() [197 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW02301SF.FUW02301SFLogic` |
| Layer | Service / View-Logic (Web Front Controller Layer) |
| Module | `FUW02301SF` (Package: `eo.web.webview.FUW02301SF`) |

## 1. Role

### FUW02301SFLogic.getDispInfo()

This method prepares the display-ready information for the **eoWEB Mail self-service settings screen** (FUW02301SF), which allows customers to manage their optional E-Mail service settings. It reads the current customer's optional service contract data, resolves the matching E-Mail service record by POP ID, and computes display values for five configuration areas: **mail alias subscription status**, **settings inheritance status**, **old email forwarding status**, **mail virus check service status**, and **mail password field**. The method implements a **routing/dispatch pattern**: it iterates through optional service contract records to find the one whose POP ID matches the current user's SSO POP ID and whose service code is `B001` (E-Mail), then branches its output based on inbound flags (`MSKM_SETTE_HKTG` and `MSKM_OLD_MAIL_TENSO`) that indicate whether the customer selected "inherit settings" or "forward from old email." This method serves as the **display data transformer** called from both the screen initialization flow (`cfm()`) and the confirmation flow (`mskm()`), ensuring the customer sees consistent, pre-computed values regardless of the entry point.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["getDispInfo commoninfoBean, bean"])
    SUBWEB["Extract WEB Change Information from commoninfoBean"]
    SSOINFO["Extract SSO Information from WEB Change Information"]
    POPID["Get ssoInfoPopid from SSO POP_ID_21"]
    CUSTINFO["Extract Current Customer Information from WEB Change Information"]
    SVCINFO["Extract Service Contract Information from Current Customer Information"]
    SVCDTLS["Extract Service Contract Details Information from Service Contract Information"]
    OPARRAY["Extract Optional Service Contract Information array from Service Contract Details"]
    FOR1["FOR m = 0 to opSvcKeiInfoArray.getCount()"]
    TMPINFO["Get tmpOpSvcKeiInfoBean from array at index m"]
    POPID2["Get popId from tmpOpSvcKeiInfoBean POP_ID_28"]
    OPSCD["Get opSvCd from tmpOpSvcKeiInfoBean OP_SVC_CD_28"]
    COND1["ssoInfoPopid = popId AND opSvCd = B001"]
    OPINFO["Set opSvcKeiInfoBean = tmpOpSvcKeiInfoBean"]
    CAPA["Get capa from opSvcKeiInfoBean CAPA_28"]
    CAPAINT["Parse capa to int"]
    COND2["capaInt >= 1024"]
    GIGA["capaDecimal = capa / 1024 rounded up<br/>Set MLBOX_CAPA = capaDecimal + GB"]
    MEGA["Set MLBOX_CAPA = capa + MB"]
    INITFLAGS["Initialize mlViruschkFlg=false, mlAlias=null, mlAliasFlg=false"]
    GETFLG1["Get mskmSetteHktgFlg from bean MSKM_SETTE_HKTG"]
    GETFLG2["Get mskmOldMailTenso from bean MSKM_OLD_MAIL_TENSO"]
    COND3["opSvcKeiInfoBean != null"]
    OPKEINO["Get opInfoOpSvcKeiNo from opSvcKeiInfoBean OP_SVC_KEI_NO_28"]
    SBOPARRAY["Get sbopSvcKeiInfoArray from opSvcKeiInfoArray[0]<br/>SBOP_SVC_KEI_INFO"]
    FOR2["FOR n = 0 to sbopSvcKeiInfoArray.getCount()"]
    TMPBOP["Get tmpSbopSvcKeiInfoBean from array at index n"]
    OPKN["Get opSvcKeiNo from tmpSbopSvcKeiInfoBean OP_SVC_KEI_NO_29"]
    SBOPSCD["Get sbopSvCd from tmpSbopSvcKeiInfoBean SBOP_SVC_CD_29"]
    SBOPSTAT["Get sbopSvcKeiStat from tmpSbopSvcKeiInfoBean SBOP_SVC_KEI_STAT_29"]
    COND4["sbopSvcKeiStat = 910 OR 920"]
    COND5["opInfoOpSvcKeiNo = opSvcKeiNo AND sbopSvCd = D01"]
    MLALIAS["mlAlias = alias + sub_domain<br/>mlAliasFlg = true"]
    COND6["opInfoOpSvcKeiNo = opSvcKeiNo AND sbopSvCd = D03"]
    VFLG["mlViruschkFlg = true"]
    COND7["mskmSetteHktgFlg"]
    COND8["mlAliasFlg"]
    SETALIAS1["Set ML_ALIAS = mlAlias"]
    SETALIAS2["Set ML_ALIAS = GORIYOU_NASHI"]
    SETM1["Set MWKML_SETTE = MWKML_SETTE_HIKITUGU"]
    SETALIAS3["Set ML_ALIAS = HIKITUGANAI"]
    SETALIAS4["Set ML_ALIAS = GORIYOU_NASHI"]
    SETM2["Set MWKML_SETTE = MWKML_SETTE_HIKITUGANAI"]
    COND9["mskmOldMailTenso"]
    SETT1["Set OLD_MAIL_TENSO_SETTE = TENSOU_SURU"]
    SETT2["Set OLD_MAIL_TENSO_SETTE = TENSOU_SHINAI"]
    COND10["mlViruschkFlg"]
    SETVIRUS1["Set MLVIRUSCHK = KEIYAKU_CHYU"]
    SETVIRUS2["Set MLVIRUSCHK = GORIYOU_NASHI"]
    SETPWD["Set ML_PWD = ML_PWD_MONGON"]
    RETURN(["Return bean"])

    START --> SUBWEB --> SSOINFO --> POPID
    POPID --> CUSTINFO --> SVCINFO --> SVCDTLS --> OPARRAY --> FOR1
    FOR1 --> TMPINFO --> POPID2 --> OPSCD --> COND1
    COND1 -- "B001 = E-Mail" --> OPINFO --> CAPA --> CAPAINT --> COND2
    COND2 -- ">= 1024" --> GIGA
    COND2 -- "< 1024" --> MEGA
    GIGA --> FOR1
    MEGA --> FOR1
    OPINFO --> FOR1
    FOR1 --> INITFLAGS --> GETFLG1 --> GETFLG2 --> COND3
    COND3 -- "true" --> OPKEINO --> SBOPARRAY --> FOR2
    FOR2 --> TMPBOP --> OPKN --> SBOPSCD --> SBOPSTAT --> COND4
    COND4 -- "Skip" --> FOR2
    COND4 -- "Active" --> COND5
    COND5 -- "D01 = Mail Alias" --> MLALIAS --> COND6
    COND5 -- "not D01" --> COND6
    COND6 -- "D03 = Mail Virus Check" --> VFLG --> FOR2
    COND6 -- "not D03" --> FOR2
    FOR2 --> COND7
    COND7 -- "true" --> COND8
    COND8 -- "true" --> SETALIAS1 --> SETM1 --> COND9
    COND8 -- "false" --> SETALIAS2 --> SETM1
    COND7 -- "false" --> COND8B
    COND8B["Cond8 (else branch)"] --> COND8
    COND8 -- "true" --> SETALIAS3 --> SETM2 --> COND9
    COND8 -- "false" --> SETALIAS4 --> SETM2
    SETM1 --> COND9
    SETM2 --> COND9
    COND9 -- "true" --> SETT1 --> COND10
    COND9 -- "false" --> SETT2 --> COND10
    COND10 -- "true" --> SETVIRUS1 --> SETPWD
    COND10 -- "false" --> SETVIRUS2 --> SETPWD
    SETPWD --> RETURN

    style START fill:#90EE90
    style RETURN fill:#90EE90
```

**Constant Resolution Reference:**

| Constant | Resolved Value | Business Meaning |
|----------|---------------|-----------------|
| `JFUStrConst.CD00136_B001` | `"B001"` | Operation Service Code — E-Mail |
| `JFUStrConst.CD00037_910` | `"910"` | Service Contract Status — Terminated |
| `JFUStrConst.CD00037_920` | `"920"` | Service Contract Status — Cancelled |
| `JFUStrConst.CD00137_D01` | `"D01"` | Sub-Operation Service Code — Mail Alias |
| `JFUStrConst.CD00137_D03` | `"D03"` | Sub-Operation Service Code — Mail Virus Check |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `commoninfoBean` | `X31SDataBeanAccess` | Shared form bean carrying the current session's context, including the WEB change information structure. It serves as the top-level container for navigating into nested data trees: WEB Change Info → SSO Info → Current Customer Info → Service Contract Info → Service Contract Details Info → Optional Service Contract Info array. This bean originates from the shared form mechanism and represents the customer's identity and service context for the current page request. |
| 2 | `bean` | `X31SDataBeanAccess` | Output data bean to which the method writes all display values. The method populates this bean's fields with computed results: mailbox capacity (MB or GB), mail alias (actual alias or status message), settings inheritance display text, old mail forwarding display text, mail virus check service status, and mail password placeholder. This bean is the contract output returned to the caller for rendering on the web screen. |

**Instance fields / external state read:**

| Name | Type | Description |
|------|------|-------------|
| `GIGA_BYTE` | `String` | Private constant `"GB"` — unit suffix for gigabyte display |
| `MEGA_BYTE` | `String` | Private constant `"MB"` — unit suffix for megabyte display |
| `KEIYAKU_CHYU` | `String` | Private constant `"契約中"` (Under contract) — display text when mail virus check is active |
| `GORIYOU_NASHI` | `String` | Private constant `"ご利用なし"` (Not in use) — display text when a service is not active |
| `HIKITUGANAI` | `String` | Private constant `"引き継がない"` (Do not inherit) — display text for settings inheritance rejection |
| `MWKML_SETTE_HIKITUGU` | `String` | Private constant `"eoWEBメールで設定されていた場合は引き継ぐ"` (Inherit if set in eoWEB Mail) — display text for settings inheritance acceptance |
| `MWKML_SETTE_HIKITUGANAI` | `String` | Private constant `"eoWEBメールで設定されていても引き継がない"` (Do not inherit even if set in eoWEB Mail) — display text for settings inheritance rejection in the non-inheritance branch |
| `TENSOU_SURU` | `String` | Private constant `"転送する"` (Forward) — display text when forwarding from old email is selected |
| `TENSOU_SHINAI` | `String` | Private constant `"転送しない"` (Do not forward) — display text when forwarding from old email is not selected |
| `ML_PWD_MONGON` | `String` | Private constant `"変更前ののお申し込み内容を引継ぐ"` (Inherit pre-change order details) — placeholder for the mail password field |
| `BIGDECMAL1024` | `BigDecimal` | Constant value `1024` — threshold used to decide whether mailbox capacity should be displayed in GB or MB |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `CommonInfoCFConst` field access | — | — | Reads nested data bean structures via `getDataBeanArray()` and `getDataBean()` on `commoninfoBean` to extract WEB Change Information, SSO Information, Current Customer Information, Service Contract Information, Service Contract Details Information, and Optional Service Contract Information. No database hit — these are in-memory data bean traversals. |
| R | `sendMessageString` (parameter reads) | — | — | Reads POP ID, optional service code, mailbox capacity, optional service contract numbers, sub-operation service codes, sub-operation service contract status, alias values, and display flags from data bean objects using `sendMessageString(value, X31CWebConst.DATABEAN_GET_VALUE)`. |
| R | `sendMessageBoolean` (parameter reads) | — | — | Reads boolean flags `MSKM_SETTE_HKTG` (Settings Inheritance) and `MSKM_OLD_MAIL_TENSO` (Old Email Forwarding) from the input bean. These flags come from the customer's screen selection. |
| R | `OneStopDataBeanAccessArray.getCount()` | OneStopDataBeanAccessArray | — | Iterates over optional service contract information array entries to find the matching E-Mail service record. |
| R | `OneStopDataBeanAccessArray.getDataBean(int)` | OneStopDataBeanAccessArray | — | Retrieves individual array elements by index during the optional service contract and sub-operation service contract iteration loops. |
| R | `OneStopDataBeanAccess.getDataBeanArray(String)` | OneStopDataBeanAccess | — | Navigates nested data bean hierarchies (e.g., extracting Optional Service Contract Information array from Service Contract Details Information). |
| - | `sendMessageString` (output writes) | — | — | Writes computed display values to the output bean: mailbox capacity, mail alias, settings inheritance text, old mail forwarding text, mail virus check status, and mail password placeholder. |
| - | `sendMessageString` (POP ID reads) | — | — | Reads POP ID from SSO info and from each optional service contract entry. Used for matching the current customer's E-Mail service record. |

**Note:** This method performs **no direct database operations**. All data is retrieved from in-memory data bean structures (`X31SDataBeanAccess` / `X31SDataBeanAccessArray`) that were populated earlier in the request lifecycle by other screen components. The method acts as a **display transformer**, not a data accessor.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Method: `FUW02301SFLogic.cfm()` | `cfm()` → `getDispInfo(commoninfoBean, bean)` | `sendMessageString` [-] (writes to output bean) |
| 2 | Method: `FUW02301SFLogic.mskm()` | `mskm()` → `getDispInfo(commoninfoBean, bean)` | `sendMessageString` [-] (writes to output bean) |

**Terminal operations from `getDispInfo`:** The method exclusively writes display values via `sendMessageString()` calls on the output `bean` parameter. It does not invoke any SC (Service Component) or CBS (Composite Business Service) methods, and does not reach any database tables. The terminal operations are all in-memory bean writes.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] Extract Nested Data Bean Structures (L624)

> Reads the WEB Change Information, SSO Information, current customer information, service contract information, service contract details, and optional service contract information array from the `commoninfoBean` hierarchy using chained `getDataBeanArray()` and `getDataBean()` calls.

| # | Type | Code |
|---|------|------|
| 1 | SET | `webChgInfoBean = commoninfoBean.getDataBeanArray(WEB_CHG_INFO).getDataBean(0)` |
| 2 | SET | `ssoInfoBean = webChgInfoBean.getDataBeanArray(SSO_INFO).getDataBean(0)` |
| 3 | SET | `ssoInfoPopid = ssoInfoBean.sendMessageString(POP_ID_21, DATABEAN_GET_VALUE)` |
| 4 | SET | `genCustKeiInfoBean = webChgInfoBean.getDataBeanArray(GEN_CUST_KEI_INFO).getDataBean(0)` |
| 5 | SET | `svcKeiInfoBean = genCustKeiInfoBean.getDataBeanArray(SVC_KEI_INFO).getDataBean(0)` |
| 6 | SET | `svcKeiUcwkInfoBean = svcKeiInfoBean.getDataBeanArray(SVC_KEI_UCWK_INFO).getDataBean(0)` |
| 7 | SET | `opSvcKeiInfoBean = null` |
| 8 | SET | `opSvcKeiInfoArray = svcKeiUcwkInfoBean.getDataBeanArray(OP_SVC_KEI_INFO)` |

---

**Block 2** — [FOR LOOP] Iterate Optional Service Contract Information Entries (L636)

> Iterates through all optional service contract information entries to find the one matching the current user's SSO POP ID with service code `B001` (E-Mail).

| # | Type | Code |
|---|------|------|
| 1 | SET | `m = 0; m < opSvcKeiInfoArray.getCount(); m++` |
| 2 | SET | `tmpOpSvcKeiInfoBean = opSvcKeiInfoArray.getDataBean(m)` |
| 3 | SET | `popId = tmpOpSvcKeiInfoBean.sendMessageString(POP_ID_28, DATABEAN_GET_VALUE)` |
| 4 | SET | `opSvCd = tmpOpSvcKeiInfoBean.sendMessageString(OP_SVC_CD_28, DATABEAN_GET_VALUE)` |

---

**Block 2.1** — [IF] POPID Match AND E-Mail Service Code (L644) `[ssoInfoPopid = popId AND opSvCd = B001 (E-Mail)]` (L644)

> When the optional service entry's POP ID matches the current SSO user's POP ID AND the service code is `B001` (E-Mail), this branch captures the matching optional service contract bean and computes the mailbox capacity display.

| # | Type | Code |
|---|------|------|
| 1 | SET | `opSvcKeiInfoBean = tmpOpSvcKeiInfoBean` (Assign matched service bean) |
| 2 | SET | `capa = opSvcKeiInfoBean.sendMessageString(CAPA_28, DATABEAN_GET_VALUE)` |
| 3 | SET | `capaInt = Integer.parseInt(capa)` |

---

**Block 2.1.1** — [IF] Capacity >= 1024 MB (L654) `[1024 <= capaInt]` (L654)

> When mailbox capacity is 1024 MB or greater, convert to GB by dividing by 1024, rounding up, and display with "GB" suffix.

| # | Type | Code |
|---|------|------|
| 1 | SET | `capaDecimal = new BigDecimal(capa).divide(BIGDECMAL1024)` |
| 2 | SET | `capaDecimal = capaDecimal.setScale(1, ROUND_UP)` |
| 3 | SET | `bean.sendMessageString(MLBOX_CAPA, DATABEAN_SET_VALUE, capaDecimal + "GB")` |

---

**Block 2.1.2** — [ELSE] Capacity < 1024 MB (L658) `[capaInt < 1024]` (L658)

> When mailbox capacity is less than 1024 MB, display the raw capacity value with "MB" suffix.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(MLBOX_CAPA, DATABEAN_SET_VALUE, capa + "MB")` |

---

**Block 3** — [SET] Initialize Mail Configuration Flags (L671)

> Resets the mail virus check flag, mail alias, and mail alias flag to defaults before scanning the sub-operation service contracts.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mlViruschkFlg = false` |
| 2 | SET | `mlAlias = null` |
| 3 | SET | `mlAliasFlg = false` |
| 4 | SET | `mskmSetteHktgFlg = bean.sendMessageBoolean(MSKM_SETTE_HKTG, DATABEAN_GET_VALUE)` |
| 5 | SET | `mskmOldMailTenso = bean.sendMessageBoolean(MSKM_OLD_MAIL_TENSO, DATABEAN_GET_VALUE)` |

---

**Block 4** — [IF] Optional Service Contract Bean Exists (L679) `[opSvcKeiInfoBean != null]` (L679)

> Only process sub-operation service contracts if an E-Mail service was found for this customer.

---

**Block 4.1** — [SET] Extract Sub-Operation Service Contract Array (L682)

| # | Type | Code |
|---|------|------|
| 1 | SET | `opInfoOpSvcKeiNo = opSvcKeiInfoBean.sendMessageString(OP_SVC_KEI_NO_28, DATABEAN_GET_VALUE)` |
| 2 | SET | `sbopSvcKeiInfoArray = opSvcKeiInfoArray.getDataBean(0).getDataBeanArray(SBOP_SVC_KEI_INFO)` |

---

**Block 4.2** — [FOR LOOP] Iterate Sub-Operation Service Contract Entries (L687)

> Iterates through sub-operation service contract information to find Mail Alias (D01) and Mail Virus Check (D03) entries.

| # | Type | Code |
|---|------|------|
| 1 | SET | `n = 0; n < sbopSvcKeiInfoArray.getCount(); n++` |
| 2 | SET | `tmpSbopSvcKeiInfoBean = sbopSvcKeiInfoArray.getDataBean(n)` |
| 3 | SET | `opSvcKeiNo = tmpSbopSvcKeiInfoBean.sendMessageString(OP_SVC_KEI_NO_29, DATABEAN_GET_VALUE)` |
| 4 | SET | `sbopSvCd = tmpSbopSvcKeiInfoBean.sendMessageString(SBOP_SVC_CD_29, DATABEAN_GET_VALUE)` |
| 5 | SET | `sbopSvcKeiStat = tmpSbopSvcKeiInfoBean.sendMessageString(SBOP_SVC_KEI_STAT_29, DATABEAN_GET_VALUE)` |

---

**Block 4.2.1** — [IF] Skip Terminated or Cancelled (L699) `[sbopSvcKeiStat = 910 (Terminated) OR 920 (Cancelled)]` (L699)

> If the sub-operation service contract status is "Terminated" (`910`) or "Cancelled" (`920`), skip this entry entirely (continue to next iteration).

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `continue` (Skip this sub-operation entry) |

---

**Block 4.2.2** — [IF] Mail Alias Sub-Operation (L705) `[opInfoOpSvcKeiNo = opSvcKeiNo AND sbopSvCd = D01 (Mail Alias)]` (L705)

> When the sub-operation service contract number matches the optional service contract number AND the code is `D01` (Mail Alias), extract the alias email address and set the alias flag.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mlAlias = alias_29 + bean.sendMessageString(SUB_DOMAIN, DATABEAN_GET_VALUE)` |
| 2 | SET | `mlAliasFlg = true` |

---

**Block 4.2.3** — [IF] Mail Virus Check Sub-Operation (L713) `[opInfoOpSvcKeiNo = opSvcKeiNo AND sbopSvCd = D03 (Mail Virus Check)]` (L713)

> When the sub-operation service contract number matches AND the code is `D03` (Mail Virus Check), enable the virus check flag.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mlViruschkFlg = true` |

---

**Block 5** — [IF] Settings Inheritance Flag Selected (L732) `[mskmSetteHktgFlg = true]` (L732)

> The customer selected "Inherit Settings" (`申し込む（設定引き継ぎ）`). Set the mail alias display and settings inheritance message for the inheritance-accepted branch.

---

**Block 5.1** — [IF] Mail Alias Contracted (L735) `[mlAliasFlg = true]` (L735)

> Customer currently has a mail alias contract — display the actual alias email address.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(ML_ALIAS, DATABEAN_SET_VALUE, mlAlias)` |

---

**Block 5.2** — [ELSE] No Mail Alias Contract (L741) `[mlAliasFlg = false]` (L741)

> Customer does not have a mail alias contract — display "Not in use" message.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(ML_ALIAS, DATABEAN_SET_VALUE, "ご利用なし")` |

---

**Block 5.3** — [SET] Settings Inheritance Acceptance Message (L746)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(MWKML_SETTE, DATABEAN_SET_VALUE, "eoWEBメールで設定されていた場合は引き継ぐ")` |

---

**Block 6** — [ELSE] Settings Inheritance Flag Not Selected (L750) `[mskmSetteHktgFlg = false]` (L750)

> The customer did NOT select "Inherit Settings". Set the mail alias display and settings inheritance message for the rejection branch.

---

**Block 6.1** — [IF] Mail Alias Contracted (L753) `[mlAliasFlg = true]` (L753)

> Customer currently has a mail alias contract — display the alias with "Not inherited" message.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(ML_ALIAS, DATABEAN_SET_VALUE, "引き継がない")` |

---

**Block 6.2** — [ELSE] No Mail Alias Contract (L759) `[mlAliasFlg = false]` (L759)

> Customer does not have a mail alias contract — display "Not in use" message.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(ML_ALIAS, DATABEAN_SET_VALUE, "ご利用なし")` |

---

**Block 6.3** — [SET] Settings Inheritance Rejection Message (L764)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(MWKML_SETTE, DATABEAN_SET_VALUE, "eoWEBメールで設定されていても引き継がない")` |

---

**Block 7** — [IF] Old Email Forwarding Flag Selected (L773) `[mskmOldMailTenso = true]` (L773)

> The customer selected "Forward from old email" (`申し込む（旧メール転送）`). Display "Forward" message.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(OLD_MAIL_TENSO_SETTE, DATABEAN_SET_VALUE, "転送する")` |

---

**Block 7.1** — [ELSE] Old Email Forwarding Flag Not Selected (L777) `[mskmOldMailTenso = false]` (L777)

> The customer did NOT select "Forward from old email". Display "Do not forward" message.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(OLD_MAIL_TENSO_SETTE, DATABEAN_SET_VALUE, "転送しない")` |

---

**Block 8** — [IF] Mail Virus Check Active (L787) `[mlViruschkFlg = true]` (L787)

> A mail virus check sub-operation service was found for this contract. Display "Under contract" status.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(MLVIRUSCHK, DATABEAN_SET_VALUE, "契約中")` |

---

**Block 8.1** — [ELSE] Mail Virus Check Not Active (L790) `[mlViruschkFlg = false]` (L790)

> No mail virus check sub-operation service found. Display "Not in use" status.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(MLVIRUSCHK, DATABEAN_SET_VALUE, "ご利用なし")` |

---

**Block 9** — [SET] Mail Password Placeholder (L796)

> Always set the mail password field to the default placeholder text indicating pre-change order details are inherited.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(ML_PWD, DATABEAN_SET_VALUE, "変更前ののお申し込み内容を引継ぐ")` |

---

**Block 10** — [RETURN] (L800)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return bean` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `eoWEB` | Business term | NTT Communications' web-based customer portal for self-service management of contracted services |
| `FUW02301SF` | Module | Screen module for eoWEB Mail self-service settings — allows customers to configure mail alias, virus check, forwarding, and settings inheritance |
| `X31SDataBeanAccess` | Technical | Shared form data bean — a Map-based structure used to pass structured data between screen components. Supports nested arrays via `getDataBeanArray()` and value reads/writes via `sendMessageString()` / `sendMessageBoolean()` |
| `X31SDataBeanAccessArray` | Technical | Array wrapper for X31SDataBeanAccess — enables iteration over collections of data beans via `getCount()` and `getDataBean(int)` |
| `POP ID` | Field | Post Office Protocol identifier — uniquely identifies a customer's mail service endpoint. Used to match the current SSO user to their E-Mail service contract |
| `SSO` | Acronym | Single Sign-On — authentication mechanism that shares the user's POP ID across services |
| `SSO_INFO` | Field | SSO Information data bean container — holds the user's authentication POP ID |
| `WEB_CHG_INFO` | Field | WEB Change Information — data bean structure carrying the current page's WEB-level context |
| `GEN_CUST_KEI_INFO` | Field | Current Customer Information — top-level customer contract data |
| `SVC_KEI_INFO` | Field | Service Contract Information — data about contracted services |
| `SVC_KEI_UCWK_INFO` | Field | Service Contract Details Information — detailed breakdown of a service contract |
| `OP_SVC_KEI_INFO` | Field | Optional Service Contract Information — array of optional (add-on) services attached to a contract |
| `OP_SVC_CD` | Field | Optional Service Code — classifies the type of optional service (e.g., `B001` = E-Mail) |
| `CAPA` | Field | Mailbox capacity in MB — the storage quota for the E-Mail service |
| `POP_ID_21` | Field | SSO POP ID field key in the data bean structure |
| `POP_ID_28` | Field | POP ID field key for Optional Service Contract Information entries |
| `OP_SVC_CD_28` | Field | Optional Service Code field key for Optional Service Contract Information entries |
| `CAPA_28` | Field | Mailbox capacity field key for Optional Service Contract Information entries |
| `OP_SVC_KEI_NO_28` | Field | Optional Service Contract Number field key for Optional Service Contract Information entries |
| `SBOP_SVC_KEI_INFO` | Field | Sub-Operation Service Contract Information — array of sub-services under an optional service |
| `OP_SVC_KEI_NO_29` | Field | Optional Service Contract Number field key for Sub-Operation entries |
| `SBOP_SVC_CD_29` | Field | Sub-Operation Service Code field key for Sub-Operation entries |
| `SBOP_SVC_KEI_STAT_29` | Field | Sub-Operation Service Contract Status field key for Sub-Operation entries |
| `ALIAS_29` | Field | Mail alias email address field key for Sub-Operation entries |
| `CD00136_B001` | Constant | Operation Service Code for E-Mail service (value: `"B001"`) |
| `CD00137_D01` | Constant | Sub-Operation Service Code for Mail Alias (value: `"D01"`) |
| `CD00137_D03` | Constant | Sub-Operation Service Code for Mail Virus Check (value: `"D03"`) |
| `CD00037_910` | Constant | Service Contract Status for Terminated (value: `"910"`) |
| `CD00037_920` | Constant | Service Contract Status for Cancelled (value: `"920"`) |
| `SUB_DOMAIN` | Field | Sub-domain — the domain suffix appended to the alias local-part to form the full alias email address |
| `MSKM_SETTE_HKTG` | Field | "Order (Settings Inheritance)" flag — customer's selection to inherit settings from eoWEB Mail |
| `MSKM_OLD_MAIL_TENSO` | Field | "Order (Old Email Forwarding)" flag — customer's selection to forward email from old address |
| `MLBOX_CAPA` | Field | Mailbox Capacity — output field for the computed mailbox capacity (MB or GB) |
| `ML_ALIAS` | Field | Mail Alias — output field for the alias email address or status text |
| `MWKML_SETTE` | Field | Settings Inheritance — output field for the inheritance message text |
| `OLD_MAIL_TENSO_SETTE` | Field | Old Email Forwarding — output field for the forwarding selection message |
| `MLVIRUSCHK` | Field | Mail Virus Check Service — output field for the virus check subscription status |
| `ML_PWD` | Field | Mail Password — output field for the mail password input area |
| `GORIYOU_NASHI` | Constant | "Not in use" — Japanese display text for inactive services |
| `KEIYAKU_CHYU` | Constant | "Under contract" — Japanese display text for active subscriptions |
| `HIKITUGANAI` | Constant | "Do not inherit" — Japanese display text when settings inheritance is rejected |
| `TENSOU_SURU` | Constant | "Forward" — Japanese display text when forwarding from old email is selected |
| `TENSOU_SHINAI` | Constant | "Do not forward" — Japanese display text when forwarding from old email is rejected |
| `GB` | Constant | Gigabyte unit suffix |
| `MB` | Constant | Megabyte unit suffix |
| `ML_PWD_MONGON` | Constant | "Inherit pre-change order details" — Japanese placeholder text for mail password field |
