# Business Logic — FUW02301SFLogic.init() [137 LOC]

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

## 1. Role

### FUW02301SFLogic.init()

This method serves as the **entry-point initial processing** (初期処理) for the **Mail Address Change Request** screen (メールアドレス変更申込) in K-Opticom's fiber-optic ISP customer self-service portal (eoWEB). It orchestrates a complete round-trip to a backend service (`FUSV0064`) that gathers all data required to display the initial mail address change request page to the customer.

The method performs five categories of work: (1) a device unavailability check to block customers who have devices under maintenance, (2) retrieval and extraction of shared form bean information — including customer contract data, service contract data, optional service contract data, and sub-option service contract data, (3) invocation of six Service Component (SC) calls and two Convenience Component (CC) calls via the `FUSV0064_FUSV0064OPDBMapper` to fetch business parameters, (4) execution of a mail address change restriction date validity check to prevent customers from requesting changes during a prohibited period, and (5) preparation of display values (free flag, mansion division, current POP ID, current/sub-domain mail address, contract agreement flag) plus navigation metadata.

The method implements a **dispatch/delegation pattern**: it does not directly interact with databases or external systems. Instead, it builds request maps, delegates to the `invokeService()` framework method to trigger the remote `FUSV0064Flow` BPM service, and then retrieves the results. Every branch (no conditional business routing exists) follows the same linear path: read → invoke → process → display-prepare → return true. The method is always invoked by the X31 screen framework as the business logic handler for the FUW02301SF screen and always returns `true` to signal successful completion.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["Entry: init"])
    CHECK1["Check device unavailability
checkOrosi"]
    GET1["Get common form bean info
getCommonInfoBean"]
    GET2["Extract bean info
getCommoninfoBean"]
    CHECK2["Input data validation
checkSvcData"]
    GET3["Get service form bean
getServiceFormBean"]
    MAP1["Generate paramMap with
USECASE_ID_FUSV0064 = FUSV0064"]
    MAP2["Create mapper and dataMap"]
    SC1["Call SC FUSV006401
Contract change restriction date"]
    SC2["Call SC FUSV006402
Pre-change mail address
communication period"]
    SC3["Call SC FUSV006403
POP server name"]
    SC4["Call SC FUSV006404
SMTP server name"]
    SC5["Call SC FUSV006405
NG word list
(fluent)"]
    CC1["Call CC FUSV006401
Initial fee details"]
    CC2["Call CC FUSV006402
Mail address change count"]
    MAP3["Create outputMap"]
    INVOKE["Invoke service
invokeService"]
    OUT1["Get SC FUSV006401 result
getFUSV006401SC"]
    OUT2["Get SC FUSV006402 result
getFUSV006402SC"]
    OUT3["Get SC FUSV006403 result
getFUSV006403SC"]
    OUT4["Get SC FUSV006404 result
getFUSV006404SC"]
    OUT5["Get SC FUSV006405 result
getFUSV006405SC"]
    OUT6["Get CC FUSV006402 result
getFUSV006402CC"]
    MAP4["Set price info area
setPrcInfoArea"]
    CHK3{"Mail change count >= 3
(MLAD_CHG_CHK_YUKO_CNT)"}
    CHK4{"mladChgeYmd != null
AND restriction date expired"}
    ERR1["Contract status error
throw ERROR_CODE_0102"]
    SET1["Set FREE_FLG
setFreeFlg"]
    SET2["Set MANSION_DIV
getMansionDiv"]
    SET3["Set NOW_POP_ID
Set NOW_MLAD
Set SUB_DOMAIN
Set KEIYAKU_YAKKAN_DOI"]
    SET4["Set current date for display
setPrcDspNowDay"]
    SET5["Set next screen ID
and screen name"]
    END_NODE(["Return true"])

    START --> CHECK1
    CHECK1 --> GET1
    GET1 --> GET2
    GET2 --> CHECK2
    CHECK2 --> GET3
    GET3 --> MAP1
    MAP1 --> MAP2
    MAP2 --> SC1
    SC1 --> SC2
    SC2 --> SC3
    SC3 --> SC4
    SC4 --> SC5
    SC5 --> CC1
    CC1 --> CC2
    CC2 --> MAP3
    MAP3 --> INVOKE
    INVOKE --> OUT1
    OUT1 --> OUT2
    OUT2 --> OUT3
    OUT3 --> OUT4
    OUT4 --> OUT5
    OUT5 --> OUT6
    OUT6 --> MAP4
    MAP4 --> CHK3
    CHK3 -->|Yes| CHK4
    CHK3 -->|No| SET1
    CHK4 -->|Yes| ERR1
    CHK4 -->|No| SET1
    ERR1 --> SET1
    SET1 --> SET2
    SET2 --> SET3
    SET3 --> SET4
    SET4 --> SET5
    SET5 --> END_NODE
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. All data is obtained from the X31 framework's shared form bean, service form bean, and the instance context (e.g., `this` reference for screen ID). |

**Instance fields / external state read:**

| Source | Business Description |
|--------|---------------------|
| `this` (FUW02301SFLogic) | Provides the screen context for OPE date retrieval (`JCCWebCommon.getOpeDate`), screen ID lookup (`JCCWebCommon.getScreenId`), and service invocation (`invokeService`). |
| `super.getCommonInfoBean()` | Shared form bean containing customer session data: SSO (Single Sign-On) info, service contract info, optional service contract info, and sub-option service contract info. |
| `super.getServiceFormBean()` | Service-specific form bean (`FUW02301SFBean`) containing mail address change request page fields: contract change restriction period (`KEI_CHG_STP_PRD`), mail address change count (`MLAD_CHG_CNT`), and output display fields. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `FUSV0064_FUSV0064OPBPCheck` | FUSV0064 | BPM service | Invokes the backend BPM service flow `FUSV0064Flow` which contains all SCs and CCs. The `FUSV0064_FUSV0064OPBPCheck` class validates the service invocation. |
| - | `JCCBatCommon.invokeService` | JCCBatCommon | - | Framework-level service invocation utility. |
| - | `JCCWebServiceException` | JCCWebServiceException | - | Exception type caught for service invocation failures. |
| - | `JCCBusinessException` | JCCBusinessException | - | Business exception thrown for contract status errors (ERROR_CODE_0102). |
| R | `JCCBPCommon.getOpeDate` | JCCBPCommon | - | Calls `getOpeDate` in `JCCBPCommon` to retrieve the current operation date. |
| C | `JPCUtilCommon.addDay` | JPCUtilCommon | - | Calls `addDay` in `JPCUtilCommon` to add days to a date string for restriction period calculation. |
| - | `JPCUtilCommon.isFutureDate` | JPCUtilCommon | - | Calls `isFutureDate` in `JPCUtilCommon` to check if a date is in the future (used with `METHOD_FLG_ISFUTUREDATE_0 = "0"` meaning "does not include today"). |
| C | `JCCWebCommon.getOpeDate` | JCCWebCommon | - | Calls `getOpeDate` in `JCCWebCommon` to get the current operation date from the web context. |
| C | `JCCWebCommon.getScreenId` | JCCWebCommon | - | Calls `getScreenId` in `JCCWebCommon` to get the current screen's ID for navigation. |
| R | `JFUWebCommon.checkOrosi` | JFUWebCommon | - | Calls `checkOrosi` in `JFUWebCommon` to check device unavailability status. |
| C | `JFUWebCommon.setPrcInfoArea` | JFUWebCommon | - | Calls `setPrcInfoArea` in `JFUWebCommon` to populate the price information area display data. |
| C | `JFUWebCommon.setPrcDspNowDay` | JFUWebCommon | - | Calls `setPrcDspNowDay` in `JFUWebCommon` to set the current date for price table display. |
| - | `JFUWebCommon.isNull` | JFUWebCommon | - | Calls `isNull` in `JFUWebCommon` for null-check on the mail address change date string. |

### SC/CC details (resolved from mapper constants and comments):

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `setFUSV006401SC / getFUSV006401SC` | FUSV006401SC | BPM/EJB: `FUSV0064Flow` → `EZM0321A010BS` | Read business parameter management inquiry — **Contract change restriction date**. Determines the prohibited period length after a mail address change. |
| R | `setFUSV006402SC / getFUSV006402SC` | FUSV006402SC | BPM/EJB: `FUSV0064Flow` → `EZM0321A010BS` | Read business parameter management inquiry — **Pre-change mail address sending/receiving possible period**. Defines the window during which the old mail address can still send/receive. |
| R | `setFUSV006403SC / getFUSV006403SC` | FUSV006403SC | BPM/EJB: `FUSV0064Flow` → `EZM0321A010BS` | Read business parameter management inquiry — **POP server name**. Retrieves the POP3 server configuration for the customer's mail service. |
| R | `setFUSV006404SC / getFUSV006404SC` | FUSV006404SC | BPM/EJB: `FUSV0064Flow` → `EZM0321A010BS` | Read business parameter management inquiry — **SMTP server name**. Retrieves the SMTP server configuration for the customer's mail service. |
| R | `setFUSV006405SC / getFUSV006405SC` | FUSV006405SC | BPM/EJB: `FUSV0064Flow` → `EZM0161B020BS` | Read — **NG word list (fluent)**. Retrieves words that are not allowed in mail address changes. |
| R | `setFUSV006401CC / getFUSV006401CC` | FUSV006401CC | BPM/EJB: `FUSV0064Flow` | Read/Compute — **Initial fee details**. Calculates and returns the initial fees associated with the mail address change service. |
| R | `setFUSV006402CC / getFUSV006402CC` | FUSV006402CC | BPM/EJB: `FUSV0064Flow` | Read — **Mail address change count**. Retrieves how many times the customer has changed their mail address. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:FUW02301 | `VLID FUW02301SF → BL FUW02301SF (FUW02301SFLogic) → init()` | `FUSV006401SC [R] BPM/FUSV0064 Flow`<br>`FUSV006402SC [R] BPM/FUSV0064 Flow`<br>`FUSV006403SC [R] BPM/FUSV0064 Flow`<br>`FUSV006404SC [R] BPM/FUSV0064 Flow`<br>`FUSV006405SC [R] BPM/FUSV0064 Flow`<br>`FUSV006401CC [R] BPM/FUSV0064 Flow`<br>`FUSV006402CC [R] BPM/FUSV0064 Flow` |

**Caller context:** The `FUW02301SFLogic` class is wired as the business logic handler for screen `FUW02301SF` in `x31business_logic_FUW02301SF.xml`. The screen definition (`WEBGAMEN_FUW023010PJP.xml` / `WEBGAMEN_FUW023020PJP.xml`) associates the `FUW02301SF` BL ID with the `FUW02301SFLogic` class. The `WEBVLCOMMANDMAP_FUW023010PJP.xml` maps the `VLID FUW02301SF` to trigger this business logic. The checker class `FUW02301SFChecker` provides GUI-level validation but delegates the main processing to `init()`.

## 6. Per-Branch Detail Blocks

**Block 1** — [PROCESS] Device unavailability check (L147)

The method begins by checking whether the customer has any devices under maintenance. If so, access to the screen is blocked.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JFUWebCommon.checkOrosi(this)` // Device unavailability check (設備卸チェック) |

**Block 2** — [PROCESS] Common form bean retrieval (L150–L159)

Retrieves the shared form bean and extracts customer/sso/service contract data from it.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commoninfoBean = super.getCommonInfoBean()` // Get shared form bean (共有フォームBean) |
| 2 | CALL | `resultMap = getCommoninfoBeanInfo(commoninfoBean)` // Extract bean info (データBeanアクセス) |
| 3 | SET | `ssoInfoBean = resultMap.get(SSO_INFO)` // SSO information (SSO情報) |
| 4 | SET | `svcKeiInfoBean = resultMap.get(SVC_KEI_INFO)` // Service contract info (サービス契約情報) |
| 5 | SET | `opSvcKeiInfoBean = resultMap.get(OP_SVC_KEI_INFO)` // Optional service contract info (オプションサービス契約情報) |
| 6 | SET | `sbopSvcKeiInfoBean = resultMap.get(SBOP_SVC_KEI_INFO)` // Sub-option service contract info (サブオプションサービス契約情報) |

**Block 3** — [PROCESS] Input data validation (L162)

Validates the input data from the extracted common info bean.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `checkSvcData(resultMap)` // Input check (入力チェック) |

**Block 4** — [PROCESS] Service form bean retrieval (L165–L170)

Gets the service-specific form bean and prepares the parameter array and map for the service invocation.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `bean = super.getServiceFormBean()` // Get service form bean (サービスフォームBean) |
| 2 | SET | `paramBean = { bean, ssoInfoBean, svcKeiInfoBean, opSvcKeiInfoBean, sbopSvcKeiInfoBean }` // Service form bean array (サービスフォームBean配列) |
| 3 | SET | `paramMap = new HashMap` // User case ID storage map (ユーザケースID格納用マップ) |
| 4 | EXEC | `paramMap.put(TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0064)` // USECASE_ID_FUSV0064 = "FUSV0064" (メールアドレス変更申込サービス) |
| 5 | SET | `mapper = new FUSV0064_FUSV0064OPDBMapper()` // Mapper for SC/CC invocation |
| 6 | SET | `dataMap = new HashMap` // Data map for service input (サービス入力用マップ) |

**Block 5** — [PROCESS] SC invocations (set phase) — L173–L183

Calls five business parameter management inquiry SCs and two CCs via the mapper. These are "set" (send) calls that prepare the request data for the BPM service.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `dataMap = mapper.setFUSV006401SC(paramBean, dataMap, FUNC_CD_1)` // 1. Business parameter management inquiry SC — Contract change restriction date (契約変更不可能日数) |
| 2 | CALL | `dataMap = mapper.setFUSV006402SC(paramBean, dataMap, FUNC_CD_1)` // 2. Business parameter management inquiry SC — Pre-change mail address sending/receiving possible period (変更前メールアドレス送受信可能期間) |
| 3 | CALL | `dataMap = mapper.setFUSV006403SC(paramBean, dataMap, FUNC_CD_1)` // 3. Business parameter management inquiry SC — POP server name (POPサーバー名) |
| 4 | CALL | `dataMap = mapper.setFUSV006404SC(paramBean, dataMap, FUNC_CD_1)` // 4. Business parameter management inquiry SC — SMTP server name (SMTPサーバー名) |
| 5 | CALL | `dataMap = mapper.setFUSV006405SC(paramBean, dataMap, FUNC_CD_1)` // 5. NG word list inquiry (front) SC (NGワード一覧照会(フロント)SC) |
| 6 | CALL | `dataMap = mapper.setFUSV006401CC(paramBean, dataMap)` // CC 1. Initial fee details inquiry CC (初期費用一覧照会CC) |
| 7 | CALL | `dataMap = mapper.setFUSV006402CC(paramBean, dataMap)` // CC 2. Mail address change count retrieval CC (メールアドレス変更回数取得CC) |

**Block 6** — [PROCESS] Output map creation (L186)

| # | Type | Code |
|---|------|------|
| 1 | SET | `outputMap = new HashMap` // Search result storage map (検索結果格納用マップ) |

**Block 7** — [TRY-CATCH] Service invocation (L188–L197)

Invokes the backend BPM service. Catches `JCCWebServiceException` and re-throws as `JCCBusinessException`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `invokeService(paramMap, dataMap, outputMap)` // Service invocation (サービスの呼び出し) |

**Block 7.1** — [CATCH] JCCWebServiceException (L192–L195)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002)` // System error (システムエラー) |

**Block 8** — [PROCESS] SC/CC result retrieval (get phase) — L200–L209

Retrieves results from all SC and CC calls, populating the service form bean with the data.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `bean = mapper.getFUSV006401SC(bean, outputMap)` // 1. Business parameter management inquiry SC — Contract change restriction date (契約変更不可能日数) |
| 2 | CALL | `bean = mapper.getFUSV006402SC(bean, outputMap)` // 2. Business parameter management inquiry SC — Pre-change mail address sending/receiving possible period (変更前メールアドレス送受信可能期間) |
| 3 | CALL | `bean = mapper.getFUSV006403SC(bean, outputMap)` // 3. Business parameter management inquiry SC — POP server name (POPサーバー名) |
| 4 | CALL | `bean = mapper.getFUSV006404SC(bean, outputMap)` // 4. Business parameter management inquiry SC — SMTP server name (SMTPサーバー名) |
| 5 | CALL | `bean = mapper.getFUSV006405SC(bean, outputMap)` // 5. NG word list inquiry (front) SC (NGワード一覧照会(フロント)SC) |
| 6 | CALL | `bean = mapper.getFUSV006402CC(bean, outputMap)` // CC 2. Mail address change count retrieval CC (メールアドレス変更回数取得CC) |

**Block 9** — [PROCESS] Price info area mapping (L212)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JFUWebCommon.setPrcInfoArea(bean, outputMap, null, CC_TITLE_FUSV006401, SCREEN_ID_FUW02301)` // Set price info area (料金表マッピング) — CC_TITLE_FUSV006401 = "FUSV006401CC" |

**Block 10** — [WHILE-IF] Mail address change restriction date check (L217–L235)

Validates whether the customer is within the prohibited period for mail address changes. This check only applies when the customer has changed their mail address 3 or more times (`MLAD_CHG_CHK_YUKO_CNT = 3`).

| # | Type | Code |
|---|------|------|
| 1 | SET | `mladChgeYmd = opSvcKeiInfoBean.sendMessageString(MLAD_CHGE_YMD_28, DATABEAN_GET_VALUE)` // Mail address change year/month/day (メールアドレス変更年月日) |
| 2 | SET | `keiChgStpPrd = Integer.parseInt(bean.sendMessageString(KEI_CHG_STP_PRD, DATABEAN_GET_VALUE))` // Contract change prohibition period days (変更不可能期間日数) |
| 3 | SET | `mladChgCnt = Integer.parseInt(bean.sendMessageString(MLAD_CHG_CNT, DATABEAN_GET_VALUE))` // Mail address change count (メールアドレス変更回数) |

**Block 10.1** — [IF] Mail change count >= 3 `MLAD_CHG_CHK_YUKO_CNT = "3"` (L221)

| # | Type | Code |
|---|------|------|
| 1 | IF | `mladChgCnt >= MLAD_CHG_CHK_YUKO_CNT` // If mail address change count is 3 or more (メールアドレス変更回数≧3回以上の場合変更期間のチェックを行う) |

**Block 10.1.1** — [IF] Restriction date not yet expired `METHOD_FLG_ISFUTUREDATE_0 = "0"` (L223–L227)

| # | Type | Code |
|---|------|------|
| 1 | IF | `isNull(mladChgeYmd) == false && isFutureDate(addDay(mladChgeYmd, keiChgStpPrd), getOpeDate(this, null), METHOD_FLG_ISFUTUREDATE_0)` // Mail address change date != null AND (mail address change date + prohibition period) > today |
| 2 | RETURN | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0102)` // Contract status error (契約状態エラー) |

**Block 11** — [PROCESS] Display value setting (L237–L249)

Sets various display values on the service form bean for the initial screen rendering.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `bean.sendMessageBoolean(FREE_FLG, DATABEAN_SET_VALUE, setFreeFlg(bean, outputMap))` // Set free flag (無料フラグ) |
| 2 | EXEC | `bean.sendMessageBoolean(MANSION_DIV, DATABEAN_SET_VALUE, getMansionDiv(commoninfoBean, outputMap))` // Set mansion division (マンション区分) |
| 3 | EXEC | `bean.sendMessageString(NOW_POP_ID, DATABEAN_SET_VALUE, opSvcKeiInfoBean.sendMessageString(POP_ID_28, DATABEAN_GET_VALUE))` // Set current POP ID (現在のPOP ID) |
| 4 | SET | `mlAd = opSvcKeiInfoBean.sendMessageString(MLAD_28, DATABEAN_GET_VALUE)` // Current mail address (現在のメールアドレス) |
| 5 | EXEC | `bean.sendMessageString(NOW_MLAD, DATABEAN_SET_VALUE, mlAd)` // Set current mail address (現在のメールアドレス) |
| 6 | EXEC | `bean.sendMessageString(SUB_DOMAIN, DATABEAN_SET_VALUE, ATMARK + mlAd.split(ATMARK)[1])` // Set sub-domain (サブドメイン) — derives sub-domain from mail address by splitting on "@" |
| 7 | EXEC | `bean.sendMessageBoolean(KEIYAKU_YAKKAN_DOI, DATABEAN_SET_VALUE, false)` // Set contract agreement flag (同意 — default false) (契約約款同意) |

**Block 12** — [PROCESS] Set current date for price table display (L252)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JFUWebCommon.setPrcDspNowDay(this)` // Set current date for price table display (料金表表示現在日設定処理) |

**Block 13** — [PROCESS] Navigation setup (L256–L260)

Sets the next screen ID and screen name for navigation routing.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `commoninfoBean.sendMessageString(NEXT_SCREEN_ID, DATABEAN_SET_VALUE, getScreenId(this))` // Set next screen ID (遷移先画面IDを設定) — Fixed logic for top-level screen |
| 2 | EXEC | `commoninfoBean.sendMessageString(NEXT_SCREEN_NAME, DATABEAN_SET_VALUE, SCREEN_NAME_FUW02301)` // Set next screen name (遷移先画面名を設定) |

**Block 14** — [RETURN] Method completion (L263)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return true` // Always returns true (必ずtrue) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `mladChgeYmd` | Field | Mail address change date — the date (YYYYMMDD format) when the customer last changed their mail address |
| `keiChgStpPrd` | Field | Contract change prohibition period — the number of days during which the customer cannot change their mail address again |
| `mladChgCnt` | Field | Mail address change count — the total number of times the customer has changed their mail address |
| `MLAD_CHG_CHK_YUKO_CNT` | Constant | Mail address change check effective count — threshold of 3; if the customer has changed their mail address 3 or more times, the restriction date check is enforced |
| `FREE_FLG` | Field | Free flag — indicates whether the current service is free of charge (無料フラグ) |
| `MANSION_DIV` | Field | Mansion division — distinguishes between standalone house and apartment/mansion residents (マンション区分) |
| `NOW_POP_ID` | Field | Current POP ID — the POP server identifier for the customer's current mail service (現在のPOP ID) |
| `NOW_MLAD` | Field | Current mail address — the customer's existing mail address (現在のメールアドレス) |
| `SUB_DOMAIN` | Field | Sub-domain — the domain portion of the mail address after "@" (サブドメイン) |
| `KEIYAKU_YAKKAN_DOI` | Field | Contract terms agreement — checkbox for customer agreement to contract terms (契約約款同意) |
| `USECASE_ID_FUSV0064` | Constant | Service ID for mail address change request (new display) — "FUSV0064" (メールアドレス変更申込サービス) |
| `CC_TITLE_FUSV006401` | Constant | CC title for initial fee details inquiry — "FUSV006401CC" (初期費用一覧照会CC) |
| `METHOD_FLG_ISFUTUREDATE_0` | Constant | Flag for future date check: "0" means "does not include today" (同日を含む/含まないの指定) |
| `SCREEN_ID_FUW02301` | Constant | Screen ID for mail address change request — "FUW02301" (メールアドレス変更申込画面) |
| FUSV0064 | Service | Mail address change request service — the backend BPM service that handles mail address change data retrieval (メールアドレス変更申込) |
| FUSV006401SC | SC | Business parameter management inquiry — Contract change restriction date (業務パラメータ管理照会SC — 契約変更不可能日数) |
| FUSV006402SC | SC | Business parameter management inquiry — Pre-change mail address sending/receiving possible period (業務パラメータ管理照会SC — 変更前メールアドレス送受信可能期間) |
| FUSV006403SC | SC | Business parameter management inquiry — POP server name (業務パラメータ管理照会SC — POPサーバー名) |
| FUSV006404SC | SC | Business parameter management inquiry — SMTP server name (業務パラメータ管理照会SC — SMTPサーバー名) |
| FUSV006405SC | SC | NG word list inquiry (front) — retrieves prohibited words for mail address changes (NGワード一覧照会(フロント)SC) |
| FUSV006401CC | CC | Initial fee details inquiry — retrieves the initial fees associated with the service (初期費用一覧照会CC) |
| FUSV006402CC | CC | Mail address change count retrieval — retrieves how many times the customer has changed their mail address (メールアドレス変更回数取得CC) |
| `JCCBusinessException` | Exception | Business exception — used for contract status errors (契約状態エラー) and other business logic errors |
| `JCCWebServiceException` | Exception | Web service exception — thrown when the backend BPM service invocation fails (システムエラー) |
| `checkOrosi` | Method | Device unavailability check — blocks access when the customer has devices under maintenance (設備卸チェック) |
| `checkSvcData` | Method | Input data validation — validates the service contract data (入力チェック) |
| `setFreeFlg` | Method | Determines if the service is free of charge (無料フラグ設定) |
| `getMansionDiv` | Method | Determines the housing type division (マンション区分取得) |
| POP | Acronym | Post Office Protocol — the mail retrieval protocol; POP server is the mail server for receiving emails |
| SMTP | Acronym | Simple Mail Transfer Protocol — the mail sending protocol; SMTP server is the mail server for sending emails |
| SC | Acronym | Service Component — a backend service call that queries business data |
| CC | Acronym | Convenience Component — a backend component that performs calculations or auxiliary retrievals |
| BPM | Acronym | Business Process Management — the middleware layer (`FUSV0064Flow`) that orchestrates SC/CC calls |
| eoWEB | Business term | K-Opticom's customer self-service web portal for fiber-optic ISP services |
| FTTH | Business term | Fiber To The Home — K-Opticom's fiber-optic broadband internet service |
| `EKK0721A010_LIST` | Constant | Initial fee details list key — "EKK0721A010CBSMsg1List" (初期費用一覧明細) |
| `ERR_CODE_0002` | Constant | System error code — thrown when the backend service invocation fails (システムエラー) |
| `ERR_CODE_0102` | Constant | Contract status error code — thrown when a customer attempts a mail address change within the prohibited period (契約状態エラー) |
