---
# Business Logic — FUW00943SFLogic.setServiceForm() [152 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW00943SF.FUW00943SFLogic` |
| Layer | Controller / Web Logic |
| Module | `FUW00943SF` (Package: `eo.web.webview.FUW00943SF`) |

## 1. Role

### FUW00943SFLogic.setServiceForm()

This method populates the service form bean (`X31SDataBeanAccess`) with computed brand codes and service type codes based on the customer's selected services in the web new registration flow for the **Anketo (Retail/Visiting Sales)** screen. It reads from the shared common info bean (`CommonInfoCFConst`), which holds pre-collected screen data entered by the customer during the web ordering process.

The method performs **conditional routing** across five independent service domains: Net (internet), Phone, TV, Mobile, and Electricity. For each domain, it checks whether the customer has selected the corresponding service (indicated by a "Choice" flag value of `"1"`) and, if so, assigns the appropriate **eo brand code** — a composite identifier used for front-end display decisions and downstream service registration. The Net domain has the most complex branching, distinguishing between **Home type** (detached houses), **Mansion type** (apartments), and **Mezon type** (mid-rise apartments) based on the building category and building type fields.

For the sales channel determination, the method reads the "Other Information" bean (via `getElseInfo`) to check if the order originated from an **au sales store**, then falls through a chain of sales type checks: **Retail** (`HNBAI_TYPE_RYOHAN`) and **Visiting Sales** (`HNBAI_TYPE_HOHAN`). The determined channel code is written to the output bean.

The method follows a **builder pattern** — it accumulates brand codes into individual variables (one per service domain) and then concatenates them into a single composite `brandCd` string. This composite is used by the screen to determine which eo brand sections to display in the enquiry view. The method's role in the larger system is to serve as a **data transformer** that bridges pre-validated screen input data to display-ready form data consumed by the subsequent screen rendering logic.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setServiceForm bean"])
    START --> GET_COMMON[Get common info bean]
    GET_COMMON --> EXTRACT_WEB[Extract WEB new info beans]
    EXTRACT_WEB --> CHECK_NET{Check net service: SELECT_SVC_NET_CHOICE = 1}

    CHECK_NET -->|Yes| HOME_CHECK{Check MSKM_KSN_SVC = 1}
    HOME_CHECK -->|Yes| SET_HF[Set svcTypCd = CD01176_HF and brandCdNet = CD01352_01]
    HOME_CHECK -->|No| MANSION_CHECK{Check MSKM_KSN_SVC = 2}
    MANSION_CHECK -->|Yes| MNS_TYPE_CHECK{Check MSKM_MNS_TYPE = 1}
    MNS_TYPE_CHECK -->|Yes| SET_MF[Set svcTypCd = CD01176_MF and brandCdNet = CD01352_01]
    MNS_TYPE_CHECK -->|No| MEZON_CHECK{Check MSKM_MNS_TYPE = 2}
    MEZON_CHECK -->|Yes| SET_MZ[Set svcTypCd = CD01176_MZ and brandCdNet = CD01352_01]
    MEZON_CHECK -->|No| SKIP_NET[Skip net]
    MANSION_CHECK -->|No| SKIP_NET
    CHECK_NET -->|No| SKIP_NET

    SKIP_NET --> CHECK_TEL{Check tel: SELECT_SVC_CHOICE = 1}
    CHECK_TEL -->|Yes| SET_TEL[Set brandCdTel = CD01352_02]
    CHECK_TEL -->|No| CHECK_TV{Check tv: SELECT_SVC_TV_CHOICE = 1}
    CHECK_TV -->|Yes| SET_TV[Set brandCdTv = CD01352_03]
    CHECK_TV -->|No| CHECK_MOBILE{Check mobile course}
    CHECK_MOBILE -->|Yes| SET_MOB[Set brandCdMob = CD01352_04]
    CHECK_MOBILE -->|No| CHECK_ELEC{Check elec request: ELEC_MSKM_UM_ARI = 1}
    CHECK_ELEC -->|Yes| SET_ELEC[Set brandCdElec = CD01352_08]
    CHECK_ELEC -->|No| CONCAT_BRAND[Concat brandCd from all brand parts]
    SET_TEL --> CONCAT_BRAND
    SET_TV --> CONCAT_BRAND
    SET_MOB --> CONCAT_BRAND
    SET_ELEC --> CONCAT_BRAND
    CONCAT_BRAND --> GET_HANBAI[Get sales type HANBAI_TYPE]
    GET_HANBAI --> GET_ELSE[getElseInfo]
    GET_ELSE --> CHECK_AU{Check AU_SHOP_TRAT_FLG = 1}
    CHECK_AU -->|Yes| SET_AU[Set channel CD = MSKM_CHANNEL_CD_4 = 4]
    CHECK_AU -->|No| CHECK_RYOHAN{Check HNBAI_TYPE_RYOHAN = 1}
    CHECK_RYOHAN -->|Yes| SET_RYOHAN[Set channel CD = MSKM_CHANNEL_CD_2 = 2]
    CHECK_RYOHAN -->|No| CHECK_HOHAN{Check HNBAI_TYPE_HOHAN = 2}
    CHECK_HOHAN -->|Yes| SET_HOHAN[Set channel CD = MSKM_CHANNEL_CD_3 = 3]
    CHECK_HOHAN -->|No| SET_BRAND[Set ENQT_DSP_JDG_EO_BRAND_CD and SVC_TYPE_SKBT_CD]
    SET_AU --> SET_BRAND
    SET_RYOHAN --> SET_BRAND
    SET_HOHAN --> SET_BRAND
    SET_BRAND --> END_NODE(["End"])
```

**Constant Resolution:**

| Constant | Resolved Value | Business Meaning |
|----------|---------------|-----------------|
| `JFUStrConst.SELECT_SVC_NET_CHOICE` | `"1"` | Net service selection = Choice (customer selected net service) |
| `JFUStrConst.MSKM_KSN_SVC_HOME` | `"1"` | Building type = Home (detached house) |
| `JFUStrConst.MSKM_KSN_SVC_MANSION` | `"2"` | Building type = Mansion |
| `JFUStrConst.MSKM_MNS_TYPE_MANSION` | `"1"` | Mansion type = Mansion (full apartment) |
| `JFUStrConst.MSKM_MNS_TYPE_MEZON` | `"2"` | Mansion type = Mezon (mid-rise apartment) |
| `JFUStrConst.SELECT_SVC_CHOICE` | `"1"` | Phone service selection = Choice |
| `JFUStrConst.SELECT_SVC_TV_CHOICE` | `"1"` | TV service selection = Choice |
| `JFUStrConst.MOBILE_COURSE_WIFI` | `"1"` | Mobile course = WiFi |
| `JFUStrConst.MOBILE_COURSE_3G_7_2M` | `"3"` | Mobile course = 3G 7.2M |
| `JFUStrConst.MOBILE_COURSE_3G_HHB` | `"6"` | Mobile course = 3G 7.2M Hikari Hybrid |
| `JFUStrConst.MOBILE_COURSE_3G_21M` | `"4"` | Mobile course = 3G 21M |
| `JFUStrConst.MOBILE_COURSE_3G_21M_HHB` | `"7"` | Mobile course = 3G 21M Hikari Hybrid |
| `JFUStrConst.MOBILE_COURSE_WIMAX` | `"5"` | Mobile course = WiMAX |
| `JFUStrConst.ELEC_MSKM_UM_ARI` | `"1"` | Electricity request = Yes |
| `JFUStrConst.AU_SHOP_TRAT_FLG_AU` | `"1"` | au shop treatment flag = au |
| `JFUStrConst.HNBAI_TYPE_RYOHAN` | `"1"` | Sales type = Retail |
| `JFUStrConst.HNBAI_TYPE_HOHAN` | `"2"` | Sales type = Visiting Sales |
| `JFUStrConst.CD01176_HF` | — | Service type code: eo Hikari Net Home |
| `JFUStrConst.CD01176_MF` | — | Service type code: eo Hikari Net Mansion |
| `JFUStrConst.CD01176_MZ` | — | Service type code: eo Hikari Net Mezon |
| `JFUStrConst.CD01352_01` | — | eo Net brand code |
| `JFUStrConst.CD01352_02` | — | eo Hikari Phone brand code |
| `JFUStrConst.CD01352_03` | — | eo Hikari TV brand code |
| `JFUStrConst.CD01352_04` | — | eo Mobile brand code |
| `JFUStrConst.CD01352_08` | — | eo Electricity brand code |
| `MSKM_CHANNEL_CD_2` | `"2"` | Sales channel: Retail shop |
| `MSKM_CHANNEL_CD_3` | `"3"` | Sales channel: Visiting sales |
| `MSKM_CHANNEL_CD_4` | `"4"` | Sales channel: au sales store |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `bean` | `X31SDataBeanAccess` | The service form bean being populated. This is the target bean that will carry computed brand codes, service type codes, and channel codes to the enquiry display screen. It acts as the output contract for this logic method. |

**External/Instance State Read:**

| # | Source | Access | Business Description |
|---|--------|--------|---------------------|
| 1 | `super.getCommonInfoBean()` | Instance method | Retrieves the shared common info bean that holds all data collected during the web new registration flow — including contract service selections, building type, mobile course, and other supplementary information. |
| 2 | `getElseInfo(bean)` | Local method call | Reads the "Other Information" data bean, which contains supplementary data such as the au shop treatment flag used for sales channel determination. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `OneStopDataBeanAccessArray.getDataBean` | OneStopDataBeanAccessArray | - | Reads data beans from the common info bean array to extract WEB new info records |
| R | `OneStopDataBeanAccess.getDataBeanArray` | OneStopDataBeanAccess | - | Retrieves data bean arrays for contract service info, eo mobile, etc. |
| - | `OneStopDataBeanAccess.sendMessageStringString` | OneStopDataBeanAccess | - | Reads field values from data beans (getter operations with `DATABEAN_GET_VALUE`) and sets field values (`DATABEAN_SET_VALUE`) |
| R | `FUW00943SFLogic.getElseInfo` | FUW00943SFLogic | - | Reads the "Other Information" data bean array from the WEB new info bean to access supplementary data (au shop flag, etc.) |

**Detailed Analysis:**

This method performs **no direct database operations** (no C/R/U/D against database tables). It is a **pure in-memory data transformation** method that:

1. Extracts data from the shared common info bean (pre-populated by the screen's data acquisition logic)
2. Reads field values using `sendMessageString` with `X31CWebConst.DATABEAN_GET_VALUE`
3. Computes brand codes and service type codes through conditional logic
4. Writes computed values back to the output bean using `sendMessageString` with `X31CWebConst.DATABEAN_SET_VALUE`

All data access is via the **data bean access layer** (X31SDataBeanAccess / X31SDataBeanAccessArray), which serves as the in-memory DTO container bridging the web presentation layer and the business logic layer. No SC (Service Component) or CBS (Common Business Service) calls are made.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `getCommonInfoBean` | - | In-memory CommonInfoBean | Retrieves shared common info data bean holding pre-collected screen data |
| R | `getDataBeanArray` | - | In-memory data bean arrays | Extracts nested data bean arrays (WEB_NEW_INFO, KEIYAKU_SVC_INFO, EOMOBILE) from the common info bean |
| R | `sendMessageString DATABEAN_GET_VALUE` | - | In-memory field values | Reads string field values from data beans for conditional evaluation |
| R | `getElseInfo` | - | In-memory elseInfo Bean | Retrieves supplementary information bean containing au shop treatment flag and other meta-data |
| - | `sendMessageString DATABEAN_SET_VALUE` | - | In-memory bean fields | Sets computed values (channel code, brand code, service type code) into the output bean |

## 5. Dependency Trace

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

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

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `FUW00943SFLogic.init()` | `FUW00943SFLogic.init()` -> `FUW00943SFLogic.setServiceForm(bean)` | All `sendMessageString` calls (in-memory bean reads/writes), `getElseInfo` [R] |

**Description:** This method is called from `FUW00943SFLogic.init()`, which is the initialization entry point for the **FUW00943SF Anketo (Retail/Visiting Sales)** screen. The `init()` method sets up the screen's initial state by calling `setServiceForm()` to populate the service form bean with brand codes and channel codes before rendering the enquiry display. The method does not invoke any database operations or remote services — all data flows through in-memory data beans.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] Initialize common info bean and extract data bean arrays (L1791-1799)

This block retrieves the shared common info bean and extracts nested data bean arrays for WEB new info, contract service info, and eo mobile. These are the primary data sources for all subsequent processing.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commoninfoBean = super.getCommonInfoBean()` // Retrieve shared common info bean |
| 2 | CALL | `web_new_info = commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)` // Extract WEB new info array |
| 3 | CALL | `web_new_infobean = web_new_info.getDataBean(0)` // Get first WEB new info bean |
| 4 | CALL | `contract_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO)` // Extract contract service info array |
| 5 | CALL | `contract_infobean = contract_info.getDataBean(0)` // Get first contract service info bean |
| 6 | CALL | `mobile_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOMOBILE)` // Extract eo mobile array |
| 7 | CALL | `mobile_infobean = mobile_info.getDataBean(0)` // Get first eo mobile bean |
| 8 | SET | `svcTypCd = null` // Service type code (net only, initialized null) |
| 9 | SET | `brandCdNet = ""` // Brand code for net |
| 10 | SET | `brandCdTv = ""` // Brand code for TV |
| 11 | SET | `brandCdTel = ""` // Brand code for phone |
| 12 | SET | `brandCdMob = ""` // Brand code for mobile |
| 13 | SET | `brandCdElec = ""` // Brand code for electricity |
| 14 | SET | `brandCd = ""` // Composite brand code |

**Block 2** — [IF] Net service check: `SELECT_SVC_NET_CHOICE` (L1801)

Checks if the customer selected the net service ("Choice" = "1"). This is the first and most complex conditional branch because the net service has sub-classifications based on building type.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE)` // Get net service selection |
| 2 | IF | `JFUStrConst.SELECT_SVC_NET_CHOICE` = "1" (Choice) |

**Block 2.1** — [IF] Home type check: `MSKM_KSN_SVC_HOME` (L1804)

Nested within the net service selection. Checks if the building type is a home (detached house) = "1".

| # | Type | Code |
|---|------|------|
| 1 | CALL | `web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE)` // Get building type |
| 2 | IF | `JFUStrConst.MSKM_KSN_SVC_HOME` = "1" (Home type) |

**Block 2.1.1** — [SET] eo Net Home type (L1806-1808)

Sets the service type to eo Hikari Net Home and assigns the net brand code.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcTypCd = JFUStrConst.CD01176_HF` // Service type: eo Hikari Net Home |
| 2 | SET | `brandCdNet = JFUStrConst.CD01352_01` // eo Net brand code |

**Block 2.2** — [ELSE-IF] Mansion type check: `MSKM_KSN_SVC_MANSION` (L1811)

Checks if the building type is a mansion = "2".

| # | Type | Code |
|---|------|------|
| 1 | IF | `JFUStrConst.MSKM_KSN_SVC_MANSION` = "2" (Mansion type) |

**Block 2.2.1** — [IF] Mansion subtype check: `MSKM_MNS_TYPE_MANSION` (L1814)

Nested within mansion type. Checks if the mansion subtype is a full mansion = "1".

| # | Type | Code |
|---|------|------|
| 1 | CALL | `web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE)` // Get mansion subtype |
| 2 | IF | `JFUStrConst.MSKM_MNS_TYPE_MANSION` = "1" (Mansion subtype) |

**Block 2.2.1.1** — [SET] eo Net Mansion type (L1816-1818)

Sets the service type to eo Hikari Net Mansion and assigns the net brand code.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcTypCd = JFUStrConst.CD01176_MF` // Service type: eo Hikari Net Mansion |
| 2 | SET | `brandCdNet = JFUStrConst.CD01352_01` // eo Net brand code |

**Block 2.2.2** — [ELSE-IF] Mezon type check: `MSKM_MNS_TYPE_MEZON` (L1821)

Checks if the mansion subtype is a Mezon (mid-rise apartment) = "2".

| # | Type | Code |
|---|------|------|
| 1 | IF | `JFUStrConst.MSKM_MNS_TYPE_MEZON` = "2" (Mezon subtype) |

**Block 2.2.2.1** — [SET] eo Net Mezon type (L1823-1825)

Sets the service type to eo Hikari Net Mezon and assigns the net brand code.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcTypCd = JFUStrConst.CD01176_MZ` // Service type: eo Hikari Net Mezon |
| 2 | SET | `brandCdNet = JFUStrConst.CD01352_01` // eo Net brand code |

**Block 3** — [IF] Phone service check: `SELECT_SVC_CHOICE` (L1833)

Checks if the customer selected the phone service ("Choice" = "1"). Independent of net service.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE)` // Get phone service selection |
| 2 | IF | `JFUStrConst.SELECT_SVC_CHOICE` = "1" (Phone service = Choice) |

**Block 3.1** — [SET] eo Hikari Phone brand code (L1836)

| # | Type | Code |
|---|------|------|
| 1 | SET | `brandCdTel = JFUStrConst.CD01352_02` // eo Hikari Phone brand code |

**Block 4** — [IF] TV service check: `SELECT_SVC_TV_CHOICE` (L1843)

Checks if the customer selected the TV service ("Choice" = "1"). Independent of all previous checks.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE)` // Get TV service selection |
| 2 | IF | `JFUStrConst.SELECT_SVC_TV_CHOICE` = "1" (TV service = Choice) |

**Block 4.1** — [SET] eo Hikari TV brand code (L1846)

| # | Type | Code |
|---|------|------|
| 1 | SET | `brandCdTv = JFUStrConst.CD01352_03` // eo Hikari TV brand code |

**Block 5** — [IF] Mobile course check (L1853)

Checks if the mobile course is one of the supported courses: WiFi (1), 3G 7.2M (3), 3G 7.2M Hikari Hybrid (6), 3G 21M (4), 3G 21M Hikari Hybrid (7), or WiMAX (5). All six conditions are OR'd together into a single compound boolean expression.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE)` // Get mobile course |
| 2 | IF | `JFUStrConst.MOBILE_COURSE_WIFI` = "1" (WiFi) |
| 3 | IF (OR) | `JFUStrConst.MOBILE_COURSE_3G_7_2M` = "3" (3G 7.2M) |
| 4 | IF (OR) | `JFUStrConst.MOBILE_COURSE_3G_HHB` = "6" (3G 7.2M HHB) |
| 5 | IF (OR) | `JFUStrConst.MOBILE_COURSE_3G_21M` = "4" (3G 21M) |
| 6 | IF (OR) | `JFUStrConst.MOBILE_COURSE_3G_21M_HHB` = "7" (3G 21M HHB) |
| 7 | IF (OR) | `JFUStrConst.MOBILE_COURSE_WIMAX` = "5" (WiMAX) |

**Block 5.1** — [SET] eo Mobile brand code (L1868)

| # | Type | Code |
|---|------|------|
| 1 | SET | `brandCdMob = JFUStrConst.CD01352_04` // eo Mobile brand code |

**Block 6** — [IF] Electricity request check: `ELEC_MSKM_UM_ARI` (L1873)

Checks if the customer indicated intent to apply for electricity service simultaneously ("Yes" = "1").

| # | Type | Code |
|---|------|------|
| 1 | CALL | `web_new_infobean.sendMessageString(CommonInfoCFConst.EOELEC_DOJI_MSKM_ISHI_UM_06, X31CWebConst.DATABEAN_GET_VALUE)` // Get electricity request flag |
| 2 | IF | `JFUStrConst.ELEC_MSKM_UM_ARI` = "1" (Electricity request = Yes) |

**Block 6.1** — [SET] eo Electricity brand code (L1876)

| # | Type | Code |
|---|------|------|
| 1 | SET | `brandCdElec = JFUStrConst.CD01352_08` // eo Electricity brand code |

**Block 7** — [EXEC] Concatenate brand codes (L1879)

Combines all five individual brand codes (Net, Phone, TV, Mobile, Electricity) into a single composite brand code string via chained `concat()` calls. This composite is used for front-end display decisions.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `brandCd = brandCdNet.concat(brandCdTel.concat(brandCdTv.concat(brandCdMob.concat(brandCdElec))))` // Concatenate all brand codes into composite |

**Block 8** — [SET] Get sales type (L1882)

| # | Type | Code |
|---|------|------|
| 1 | SET | `strHanbaiType = web_new_infobean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE)` // Get sales type field value |

**Block 9** — [CALL] Get other information (L1885)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `elseInfoBean = getElseInfo(web_new_infobean)` // Retrieve "Other Information" bean containing supplementary data |

**Block 10** — [IF-ELSE-IF-ELSE] Sales channel determination (L1887-1931)

Determines the submission channel code based on the source of the order. Checks are performed in priority order: au sales store, retail, visiting sales.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `elseInfoBean.sendMessageString(CommonInfoCFConst.AU_SHOP_TRAT_FLG_18, X31CWebConst.DATABEAN_GET_VALUE)` // Get au shop treatment flag |
| 2 | IF | `JFUStrConst.AU_SHOP_TRAT_FLG_AU` = "1" (au shop treatment) |

**Block 10.1** — [SET] au sales store channel (L1890-1891)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(FUW00943SFConst.MSKM_CHANNEL_CD, X31CWebConst.DATABEAN_SET_VALUE, MSKM_CHANNEL_CD_4)` // Channel = 4 (au sales store) |

**Block 10.2** — [ELSE-IF] Retail check: `HNBAI_TYPE_RYOHAN` (L1893-1894)

| # | Type | Code |
|---|------|------|
| 1 | IF | `JFUStrConst.HNBAI_TYPE_RYOHAN` = "1" (Retail sales type) |

**Block 10.2.1** — [SET] Retail channel (L1897-1898)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(FUW00943SFConst.MSKM_CHANNEL_CD, X31CWebConst.DATABEAN_SET_VALUE, MSKM_CHANNEL_CD_2)` // Channel = 2 (Retail shop) |

**Block 10.3** — [ELSE-IF] Visiting sales check: `HNBAI_TYPE_HOHAN` (L1900-1901)

| # | Type | Code |
|---|------|------|
| 1 | IF | `JFUStrConst.HNBAI_TYPE_HOHAN` = "2" (Visiting sales type) |

**Block 10.3.1** — [SET] Visiting sales channel (L1904-1905)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(FUW00943SFConst.MSKM_CHANNEL_CD, X31CWebConst.DATABEAN_SET_VALUE, MSKM_CHANNEL_CD_3)` // Channel = 3 (Visiting sales) |

**Block 11** — [EXEC] Set composite brand code and service type code into output bean (L1908-1911)

These are unconditional final writes that set the composite brand code and service type code into the output bean, regardless of which branches were taken earlier.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(FUW00943SFConst.ENQT_DSP_JDG_EO_BRAND_CD, X31CWebConst.DATABEAN_SET_VALUE, brandCd)` // Set composite eo brand code |
| 2 | SET | `bean.sendMessageString(FUW00943SFConst.SVC_TYPE_SKBT_CD, X31CWebConst.DATABEAN_SET_VALUE, svcTypCd)` // Set service type code |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svcTypCd` | Field | Service type code — classifies the specific net service type (Home/Mansion/Mezon) for downstream routing |
| `brandCdNet` | Field | Net brand code — identifies the eo internet service brand for display purposes |
| `brandCdTel` | Field | Phone brand code — identifies the eo Hikari Phone service brand |
| `brandCdTv` | Field | TV brand code — identifies the eo Hikari TV service brand |
| `brandCdMob` | Field | Mobile brand code — identifies the eo Mobile service brand |
| `brandCdElec` | Field | Electricity brand code — identifies the eo Electricity service brand |
| `brandCd` | Field | Composite brand code — concatenated string of all five service brand codes, used by the enquiry display screen to determine which eo brand sections to show |
| `MSKM_CHANNEL_CD` | Field | Submission channel code — identifies the sales channel through which the order was placed (Retail, Visiting Sales, or au Sales Store) |
| `ENQT_DSP_JDG_EO_BRAND_CD` | Field | Enquiry display judgment eo brand code — the brand code used by the front-end screen to render eo brand-specific UI sections |
| `SVC_TYPE_SKBT_CD` | Field | Service type sub-brand code — the specific service type code used for service registration downstream |
| `HANBAI_TYPE` | Field | Sales type — classifies the sales method as Retail (`RYOHAN`) or Visiting Sales (`HOHAN`) |
| `AU_SHOP_TRAT_FLG` | Field | au shop treatment flag — indicates whether the order originated from an au sales store |
| `WEB_NEW_INFO` | Constant | WEB new info — data bean array key for web registration information collected during the ordering flow |
| `KEIYAKU_SVC_INFO` | Constant | Contract service info — data bean array key for the customer's selected contract services |
| `EOMOBILE` | Constant | eo Mobile — data bean array key for eo mobile course selection data |
| `SELECT_SVC_NET` | Constant | Selected service (Net) — field key for net service selection indicator |
| `SELECT_SVC_TEL` | Constant | Selected service (Phone) — field key for phone service selection indicator |
| `SELECT_SVC_TV` | Constant | Selected service (TV) — field key for TV service selection indicator |
| `MSKM_KSN_SVC` | Constant | Building category service — field key for building type (Home/Mansion) |
| `MSKM_MNS_TYPE` | Constant | Mansion type — field key for mansion building subtype (Mansion/Mezon) |
| `MOBILE_COURSE` | Constant | Mobile course — field key for the selected mobile data plan/course |
| `EOELEC_DOJI_MSKM_ISHI_UM` | Constant | eo Electricity simultaneous application intent — field key for electricity service application intent |
| SELECT_SVC_NET_CHOICE | Constant | "1" — Value indicating the customer selected net service |
| MSKM_KSN_SVC_HOME | Constant | "1" — Building type: Home (detached house) |
| MSKM_KSN_SVC_MANSION | Constant | "2" — Building type: Mansion |
| MSKM_MNS_TYPE_MANSION | Constant | "1" — Mansion subtype: Mansion (full apartment building) |
| MSKM_MNS_TYPE_MEZON | Constant | "2" — Mansion subtype: Mezon (mid-rise apartment building) |
| MOBILE_COURSE_WIFI | Constant | "1" — Mobile course: WiFi plan |
| MOBILE_COURSE_3G_7_2M | Constant | "3" — Mobile course: 3G 7.2Mbps plan |
| MOBILE_COURSE_3G_HHB | Constant | "6" — Mobile course: 3G 7.2Mbps Hikari Hybrid plan |
| MOBILE_COURSE_3G_21M | Constant | "4" — Mobile course: 3G 21Mbps plan |
| MOBILE_COURSE_3G_21M_HHB | Constant | "7" — Mobile course: 3G 21Mbps Hikari Hybrid plan |
| MOBILE_COURSE_WIMAX | Constant | "5" — Mobile course: WiMAX plan |
| ELEC_MSKM_UM_ARI | Constant | "1" — Electricity application intent: Yes (customer wants to apply) |
| AU_SHOP_TRAT_FLG_AU | Constant | "1" — au shop treatment: Order from au sales store |
| HNBAI_TYPE_RYOHAN | Constant | "1" — Sales type: Retail (量販) |
| HNBAI_TYPE_HOHAN | Constant | "2" — Sales type: Visiting Sales (訪問販売) |
| CD01176_HF | Constant | Service type code for eo Hikari Net Home (富士通共通コード) |
| CD01176_MF | Constant | Service type code for eo Hikari Net Mansion (富士通共通コード) |
| CD01176_MZ | Constant | Service type code for eo Hikari Net Mezon (富士通共通コード) |
| CD01352_01 | Constant | eo Net brand code (富士通共通コード) |
| CD01352_02 | Constant | eo Hikari Phone brand code (富士通共通コード) |
| CD01352_03 | Constant | eo Hikari TV brand code (富士通共通コード) |
| CD01352_04 | Constant | eo Mobile brand code (富士通共通コード) |
| CD01352_08 | Constant | eo Electricity brand code (富士通共通コード) |
| MSKM_CHANNEL_CD_2 | Constant | "2" — Sales channel: Retail shop (量販店) |
| MSKM_CHANNEL_CD_3 | Constant | "3" — Sales channel: Visiting sales (訪問販売) |
| MSKM_CHANNEL_CD_4 | Constant | "4" — Sales channel: au sales store (au販売店) |
| Anketo | Business term | アンケート — Survey/Questionnaire. The overall screen module for retail and visiting sales orders. |
| eo | Brand | K-Opticom's branded telecommunications services (eo Net, eo Mobile, eo Hikari TV, etc.) |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service |
| HHB | Acronym | Hikari Hybrid — a hybrid plan combining mobile and fiber-optic services |
| WiMAX | Business term | Wireless broadband service technology used by eo Mobile |
| Mezon | Business term | Mid-rise apartment type — a Japanese apartment building classification between low-rise and high-rise |
| RYOHAN | Business term | 量販 — Retail sales, selling through retail stores |
| HOHAN | Business term | 販売 — Visiting sales, where representatives visit customers directly |
