---

# Business Logic — FUW03901SFLogic.init() [156 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW03901SF.FUW03901SFLogic` |
| Layer | Controller (Web Layer — `eo.web.webview.FUW03901SF`) |
| Module | `FUW03901SF` (Package: `eo.web.webview.FUW03901SF`) |

## 1. Role

### FUW03901SFLogic.init()

This method performs the **initial processing** for the **Certification ID Password Change** screen (SCREEN_ID_FUW03901 / `FUW03901`), which is part of the authentication ID/password change submission workflow in the K-Opticom customer management system. It orchestrates a multi-step validation and data preparation pipeline: first performing an oroshi (dismantling) check, then resolving the SSO authentication context, retrieving the current customer's service contract and its subscription details, matching the ISP authentication identity to the SSO identity, and finally invoking the backend BP (Business Process) to populate the initial fee listing and current contract details for display. The method implements a **dispatch-and-delegate** pattern: when the screen is entered from the `FUW08801` SSO password change screen, it branches into an SSO-specific redirect flow that refreshes the general customer contract and performs a common relation check under `USECASE_ID_FUSV0075`. In the default flow, it directly extracts and cross-validates SSO and service contract data. Its role is the **screen entry point** — it prepares all form beans, maps data to and from the BP layer, sets pricing area display info, and determines navigation targets before returning control to the framework.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["init()"])
    checkOrosi(["checkOrosi"])
    getCommonInfo(["getCommonInfoBean"])
    getServiceForm(["getServiceFormBean"])
    getScreenId(["getScreenId"])
    condFuw08801{"screenId = FUW08801?"}
    getSysId(["getDataBeanItemByPath SYSID_21"])
    getNinshoId(["getDataBeanItemByPath NINSHO_ID_21"])
    setUrlScreenId(["setDataBeanItemByPath URL_SCREEN_ID_21"])
    condSysNinsho{"sysId is null OR ninshoId is null?"}
    errSystem0002(["throw ERROR_CODE_0002"])
    refreshGenCust(["refreshGenCustKei"])
    checkCommon(["checkCommonRelation FUSV0075"])
    reGetCommon(["getCommonInfoBean"])
    getWebChgInfo(["getDataBeanArray WEB_CHG_INFO"])
    getSsoInfo(["getDataBeanArray SSO_INFO"])
    getNowNinshoId(["sendMessageString NINSHO_ID_21 GET"])
    setNowNinsho(["set NOW_NINSHO_ID"])
    condSsoNull{"ssoInfoNinshoId is null?"}
    errSso0002(["throw ERROR_CODE_0002"])
    getGenCustInfo(["getDataBeanArray GEN_CUST_KEI_INFO"])
    getSvcKeiInfo(["getDataBeanArray SVC_KEI_INFO"])
    svcLoop["For k=0 to svcKeiUcwkCount"]
    getIsPNinshoId(["sendMessageString ISP_NINSHO_ID_24"])
    condSvcMatch{"ssoInfoNinshoId.equals svcKeiUcwkISPNinshoId?"}
    setMatchNinsho["ninshoId = svcKeiUcwkISPNinshoId"]
    condNinshoNull{"ninshoId is null?"}
    errContract0102(["throw ERROR_CODE_0102"])
    getSvcKeiStat(["sendMessageString SVC_KEI_STAT_23"])
    condSvcStatus{"svcKeiStat = 210 OR 220?"}
    errStatus0102(["throw ERROR_CODE_0102"])
    setBeanArray(["bean[] = bean, commonInfoBean"])
    setParamMap(["paramMap.put USECASE_ID_FUSV0192"])
    createMapper(["new FUSV0192_FUSV0192OPDBMapper"])
    createDataMap(["dataMap = new HashMap"])
    preMapCC(["setFUSV019201CC FUNC_CD_1 initialFeeListing"])
    preMapSC(["setFUSV019201SC FUNC_CD_3 currentContractDetails"])
    createOutputMap(["outputMap = new HashMap"])
    tryInvoke["invokeService"]
    catchSvcException(["catch JCCWebServiceException"])
    postMapSC(["getFUSV019201SC"])
    setPrcInfo(["setPrcInfoArea"])
    chkPay(["chkPayInitialCost"])
    setPayFlg(["set PAY_FLG"])
    getMansionDiv(["getMansionDiv"])
    setMansionFlg(["set MANSION_DIV"])
    setNextScreen(["set NEXT_SCREEN_ID FUW03901"])
    setNextName(["set NEXT_SCREEN_NAME FUW03901"])
    RETURN(["return true"])

    START --> checkOrosi
    checkOrosi --> getCommonInfo
    getCommonInfo --> getServiceForm
    getServiceForm --> getScreenId
    getScreenId --> condFuw08801
    condFuw08801 -->|Yes| getSysId
    condFuw08801 -->|No| getWebChgInfo
    getSysId --> getNinshoId
    getNinshoId --> setUrlScreenId
    setUrlScreenId --> condSysNinsho
    condSysNinsho -->|Yes| errSystem0002
    condSysNinsho -->|No| refreshGenCust
    refreshGenCust --> checkCommon
    checkCommon --> reGetCommon
    reGetCommon --> getWebChgInfo
    getWebChgInfo --> getSsoInfo
    getSsoInfo --> getNowNinshoId
    getNowNinshoId --> setNowNinsho
    setNowNinsho --> condSsoNull
    condSsoNull -->|Yes| errSso0002
    condSsoNull -->|No| getGenCustInfo
    getGenCustInfo --> getSvcKeiInfo
    getSvcKeiInfo --> svcLoop
    svcLoop --> getIsPNinshoId
    getIsPNinshoId --> condSvcMatch
    condSvcMatch -->|Yes| setMatchNinsho
    condSvcMatch -->|No| svcLoop
    setMatchNinsho --> condSvcMatch
    condSvcMatch -->|No| condNinshoNull
    condNinshoNull -->|Yes| errContract0102
    condNinshoNull -->|No| getSvcKeiStat
    getSvcKeiStat --> condSvcStatus
    condSvcStatus -->|Yes| errStatus0102
    condSvcStatus -->|No| setBeanArray
    setBeanArray --> setParamMap
    setParamMap --> createMapper
    createMapper --> createDataMap
    createDataMap --> preMapCC
    preMapCC --> preMapSC
    preMapSC --> createOutputMap
    createOutputMap --> tryInvoke
    tryInvoke --> postMapSC
    catchSvcException --> postMapSC
    postMapSC --> setPrcInfo
    setPrcInfo --> chkPay
    chkPay --> setPayFlg
    setPayFlg --> getMansionDiv
    getMansionDiv --> setMansionFlg
    setMansionFlg --> setNextScreen
    setNextScreen --> setNextName
    setNextName --> RETURN
```

**Branch Descriptions:**

| Branch | Condition | Business Meaning |
|--------|-----------|-----------------|
| B1 | `SCREEN_ID_FUW08801` SSO password change screen redirect flow | When entering from the SSO Certification ID Password Change screen, extracts SSO context (SYSID_21, NINSHO_ID_21), sets the redirect target URL screen ID, refreshes general customer contract info, and performs a common relation check for use case `FUSV0075`. Then re-acquires the common info bean before proceeding. |
| B2 | Default flow (direct access to `FUW03901`) | Extracts SSO authentication ID, web change info, general customer contract info, and service contract info. Iterates through service contract subscription details to match the ISP authentication ID with the SSO authentication ID. |
| B3 | `ssoInfoNinshoId` is null | System error — SSO authentication ID was not set in the session. Throws `ERROR_CODE_0002`. |
| B4 | No matching `ninshoId` found across all subscription detail records | Contract status error — no service contract subscription detail has a matching ISP authentication ID. Throws `ERROR_CODE_0102`. |
| B5 | `svcKeiStat_23` = `210` or `220` | Contract status error — the service contract status indicates a terminated or suspended state. Throws `ERROR_CODE_0102`. |
| B6 | `invokeService` throws `JCCWebServiceException` | System error — the backend BP invocation failed. Translates to `ERROR_CODE_0002`. |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. All input data is obtained from shared DataBeans accessible via `super.getCommonInfoBean()` and `super.getServiceFormBean()`, which are populated by the web framework. |

**External state (instance fields and inherited state) read by this method:**

| Source | Accessor | Purpose |
|--------|----------|---------|
| Common Info Bean | `super.getCommonInfoBean()` | Returns `X31SDataBeanAccess` holding shared screen context including SSO info, web change info, general customer contract info, and next screen navigation info |
| Service Form Bean | `super.getServiceFormBean()` | Returns `X31SDataBeanAccess` holding the form-level service contract data for the current screen |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `checkOrosi` | - | - | Calls `checkOrosi` in `JFUWebCommon` — performs oroshi (dismantling/termination) check on the customer |
| R | `getScreenId` | JFUWebCommon | - | Calls `getScreenId` in `JFUWebCommon` — retrieves current screen identifier |
| R | `getDataBeanItemByPath` | JFUWebCommon | - | Calls `getDataBeanItemByPath` in `JFUWebCommon` — extracts a value from a DataBean by dotted path (SSO info SYSID_21, NINSHO_ID_21) |
| - | `setDataBeanItemByPath` | JFUWebCommon | - | Calls `setDataBeanItemByPath` in `JFUWebCommon` — sets a value in a DataBean by dotted path (URL_SCREEN_ID_21) |
| - | `isNull` | JFUWebCommon | - | Calls `isNull` in `JFUWebCommon` — null check utility |
| - | `refreshGenCustKei` | JFUWebCommon | - | Calls `refreshGenCustKei` in `JFUWebCommon` — refreshes general customer contract information |
| - | `checkCommonRelation` | JFUWebCommon | - | Calls `checkCommonRelation` in `JFUWebCommon` — performs common relation check for use case `FUSV0075` |
| R | `getDataBeanArray` | X31SDataBeanAccess | - | Calls `getDataBeanArray` in `X31SDataBeanAccess` — retrieves nested DataBean arrays (WEB_CHG_INFO, SSO_INFO, GEN_CUST_KEI_INFO, SVC_KEI_INFO, SVC_KEI_UCWK_INFO) |
| R | `sendMessageString` | X31SDataBeanAccess | - | Calls `sendMessageString` — retrieves string values from DataBeans (SSO NINSHO_ID_21, ISP_NINSHO_ID_24, SVC_KEI_STAT_23) |
| - | `sendMessageString` | X31SDataBeanAccess | - | Calls `sendMessageString` — sets string values in DataBeans (NOW_NINSHO_ID, NEXT_SCREEN_ID, NEXT_SCREEN_NAME) |
| - | `sendMessageBoolean` | X31SDataBeanAccess | - | Calls `sendMessageBoolean` — sets boolean values in DataBeans (PAY_FLG, MANSION_DIV) |
| - | `getCount` | X31SDataBeanAccessArray | - | Calls `getCount` in `X31SDataBeanAccessArray` — counts subscription detail records |
| R | `getDataBean` | X31SDataBeanAccessArray | - | Calls `getDataBean` in `X31SDataBeanAccessArray` — retrieves DataBean at index k |
| C | `FUSV0192` | FUSV0192BP | - | Invokes BPM `FUSV0192` via `invokeService` — Authentication ID Password Change Submission (Initial Display) |
| R | `EKK0721A010CBS` | EKK0721A010CBS | EKK0721A010CBS | Called by `setFUSV019201CC` (FUNC_CD_1) — Initial Fee Listing Component CC — reads initial fee data |
| R | `EKK0161B504CBS` | EKK0161B504CBS | EKK0161B504CBS | Called by `setFUSV019201SC` (FUNC_CD_3) — Current Contract Details Component SC — reads current service contract subscription details |
| R | `getFUSV019201SC` | FUSV0192DBMapper | - | Post-mapping read — retrieves and processes service subscription detail count |
| - | `setPrcInfoArea` | JFUWebCommon | - | Calls `setPrcInfoArea` in `JFUWebCommon` — sets pricing info area display data on the bean |
| - | `chkPayInitialCost` | FUW03901SFLogic | - | Internal method — checks whether initial fees exist, returns payment flag |
| - | `getMansionDiv` | FUW03901SFLogic | - | Internal method — determines whether the customer is a mansion-type contract |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen: FUW03901 (FUW03901SFController / Framework) | `ScreenController.init()` -> `FUW03901SFLogic.init()` | `invokeService [C] EKK0721A010CBS, EKK0161B504CBS` |
| 2 | Screen: FUW03901 (SSO redirect from FUW08801) | `FUW08801Screen` -> `FUW03901SFLogic.init()` (with SCREEN_ID_FUW08801) | `invokeService [C] EKK0721A010CBS, EKK0161B504CBS` |

**Notes:**
- `FUW03901SFLogic` extends `JCCWebBusinessLogic` and is instantiated by the screen framework for the `FUW03901` screen.
- `FUW03901SFChecker` references `FUW03901SFLogic` for validation but does not directly call `init()`.
- The terminal SC Codes reached through this method are `EKK0721A010CBS` (initial fee listing, called via `setFUSV019201CC` with FUNC_CD_1) and `EKK0161B504CBS` (current contract subscription details, called via `setFUSV019201SC` with FUNC_CD_3), both invoked through the `FUSV0192` BP via `invokeService`.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `checkOrosi` (L100)
> Performs oroshi (dismantling/termination) check on the current customer. Added in v73.00 (ANK-4427-00-00) for NTT dismantling support.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JFUWebCommon.checkOrosi(this)` // ANK-4427-00-00: NTT dismantling check |

**Block 2** — [SET] `getDataBeanAccess instances` (L103-L106)
> Acquires references to the common info DataBean and service form DataBean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `commonInfoBean = super.getCommonInfoBean()` // Gets shared form DataBean access |
| 2 | SET | `bean = super.getServiceFormBean()` // Gets service form DataBean access |

**Block 3** — [IF] `if (SCREEN_ID_FUW08801.equals(screeId))` [L108]
> SSO Password Change redirect flow — when the user navigates from the SSO Certification ID Password Change screen.
> CONSTANT: `SCREEN_ID_FUW08801` = "FUW08801" (SSO Authentication ID Password Change Screen)

| # | Type | Code |
|---|------|------|
| 1 | SET | `screeId = JFUWebCommon.getScreenId(this)` // Gets current screen ID |
| 2 | SET | `sysId = getDataBeanItemByPath(commonInfoBean, SSO_INFO + SEP_0 + CommonInfoCFConst.SYSID_21)` // SSO System ID 21 |
| 3 | SET | `ninshoId = getDataBeanItemByPath(commonInfoBean, SSO_INFO + SEP_0 + CommonInfoCFConst.NINSHO_ID_21)` // SSO Authentication ID 21 |
| 4 | SET | `setDataBeanItemByPath(commonInfoBean, SSO_INFO + SEP_0 + URL_SCREEN_ID_21, "CERTIFY_ID_PASSWORD_CHANGE")` // Sets redirect URL screen ID |
| 5 | IF | `if (sysId is null OR ninshoId is null)` [L124] [CONSTANT: `ERROR_CODE_0002` = "0002" (System Error)] |

**Block 3.1** — [ELSE-IF / IF body] System error throw (L125-L126)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `throw new JCCBusinessException(ERROR_CODE_0002)` // System error |

**Block 3.2** — [IF body continued] SSO flow processing (L129-L135) [executed when sysId AND ninshoId are valid]

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JFUWebCommon.refreshGenCustKei(this)` // Refreshes general customer contract info |
| 2 | CALL | `JFUWebCommon.checkCommonRelation(this, USECASE_ID_FUSV0075)` // Common relation check |
| 3 | SET | `commonInfoBean = super.getCommonInfoBean()` // Re-acquires common info bean |

**Block 4** — [SET] `Bean hierarchy extraction` (L141-L149)
> Extracts the nested DataBean hierarchy: Common Info -> Web Change Info -> SSO Info. Also extracts General Customer Contract -> Service Contract.

| # | Type | Code |
|---|------|------|
| 1 | SET | `webChgInfoBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0)` // WEB_CHG_INFO (WEB change info) |
| 2 | SET | `ssoInfoBean = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.SSO_INFO).getDataBean(0)` // SSO info |
| 3 | SET | `genCustKeiInfoBean = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO).getDataBean(0)` // GEN_CUST_KEI_INFO (General customer contract info) |
| 4 | SET | `svcKeiInfoBean = genCustKeiInfoBean.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO).getDataBean(0)` // SVC_KEI_INFO (Service contract info) |
| 5 | SET | `svcKeiUcwkInfoBean = null` // SVC_KEI_UCWK_INFO (Service contract subscription detail) |
| 6 | SET | `ninshoId = null` // Reset ninshoId for loop matching |

**Block 5** — [FOR] `for (int k = 0; k < svcKeiUcwkInfoArray.getCount(); k++)` (L152)
> Iterates through all service contract subscription detail records to find one whose ISP authentication ID matches the current SSO authentication ID.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiUcwkInfoBean = svcKeiUcwkInfoArray.getDataBean(k)` // Get subscription detail at index k |
| 2 | SET | `svcKeiUcwkInfoISPNinshoId = svcKeiUcwkInfoBean.sendMessageString(CommonInfoCFConst.ISP_NINSHO_ID_24, GET)` // ISP Authentication ID 24 |
| 3 | IF | `if (ssoInfoNinshoId.equals(svcKeiUcwkInfoISPNinshoId))` [L158] |

**Block 5.1** — [IF body] Match found (L159-L161)

| # | Type | Code |
|---|------|------|
| 1 | SET | `ninshoId = svcKeiUcwkInfoISPNinshoId` // Set matching authentication ID |
| 2 | RETURN | `break` // Exit the for loop |

**Block 6** — [IF] `if (isNull(ninshoId))` (L166)
> Contract status error — no subscription detail record matched the SSO authentication ID.
> CONSTANT: `ERROR_CODE_0102` = "0102" (Contract Status Error)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `throw new JCCBusinessException(ERROR_CODE_0102)` // Contract status error |

**Block 7** — [IF] `if (svcKeiStat equals CD00037_210 OR CD00037_220)` (L173)
> Contract status error — the service contract is in a terminated or suspended state.
> CONSTANT: `CD00037_210` = "210" (Contract Status: Terminated), `CD00037_220` = "220" (Contract Status: Suspended)

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiStat = svcKeiInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_23, GET)` // Gets service contract status |
| 2 | CALL | `throw new JCCBusinessException(ERROR_CODE_0102)` // Contract status error |

**Block 8** — [SET] `Data preparation for BP invocation` (L179-L188)
> Prepares the bean array, parameter map, and DBMapper for the backend BP invocation. Sets up pre-mapping for both initial fee listing (FUNC_CD_1) and current contract details (FUNC_CD_3).
> CONSTANT: `FUNC_CD_1` = "1" (Initial Fee Listing), `FUNC_CD_3` = "3" (Current Contract Subscription Details)

| # | Type | Code |
|---|------|------|
| 1 | SET | `beanArray = { bean, commonInfoBean }` // Bean array for mapping |
| 2 | SET | `paramMap = new HashMap<>(16)` // Parameter map |
| 3 | SET | `paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0192)` // Use case ID |
| 4 | SET | `mapper = new FUSV0192_FUSV0192OPDBMapper()` // DBMapper instance |
| 5 | SET | `dataMap = new HashMap<>()` // Data map for BP |
| 6 | CALL | `mapper.setFUSV019201CC(beanArray, dataMap, FUNC_CD_1)` // Pre-mapping: Initial Fee Listing CC |
| 7 | CALL | `mapper.setFUSV019201SC(beanArray, dataMap, FUNC_CD_3)` // Pre-mapping: Current Contract Details SC |

**Block 9** — [TRY-CATCH] `invokeService` (L190-L203)
> Invokes the backend Business Process (FUSV0192) for Authentication ID Password Change Submission Initial Display.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outputMap = new HashMap<>()` // Output map for BP results |
| 2 | CALL | `invokeService(paramMap, dataMap, outputMap)` // BP invoke: FUSV0192 |

**Block 9.1** — [CATCH] `JCCWebServiceException` (L201-L203)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `throw new JCCBusinessException(ERROR_CODE_0002)` // Translates web service error to system error |

**Block 10** — [POST-MAPPING] `getFUSV019201SC` (L205)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.getFUSV019201SC(bean, outputMap)` // Post-mapping: extracts service subscription detail count |

**Block 11** — [SET] `Pricing info area` (L208)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JFUWebCommon.setPrcInfoArea(bean, outputMap, null, FUSV019201CC, "FUW03901")` // Sets pricing info area display |

**Block 12** — [SET] `Payment flag` (L211)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.set PAY_FLG, chkPayInitialCost(outputMap)` // Sets initial fee existence flag |

**Block 13** — [SET] `Mansion division flag` (L214)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.set MANSION_DIV, getMansionDiv(bean, commonInfoBean)` // Determines mansion-type contract flag |

**Block 14** — [SET] `Navigation target setup` (L217-L218)

| # | Type | Code |
|---|------|------|
| 1 | SET | `commonInfoBean.set NEXT_SCREEN_ID, SCREEN_ID_FUW03901` // Sets next screen ID |
| 2 | SET | `commonInfoBean.set NEXT_SCREEN_NAME, SCREEN_NAME_FUW03901` // Sets next screen name |

**Block 15** — [RETURN] (L220)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return true` // Always returns true (per Javadoc) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `FUW03901` | Screen ID | Authentication ID Password Change Initial Display Screen — displays the initial fee listing and current contract subscription details for password change submission |
| `FUW08801` | Screen ID | SSO Authentication ID Password Change Screen — the source screen for SSO redirect flow |
| `SSO` | Acronym | Single Sign-On — authentication system for unified customer identity across K-Opticom services |
| `NINSHO_ID` | Field | Authentication ID — the user's credential identifier in the SSO system (`NINSHO_ID_21` = 21-character SSO auth ID, `ISP_NINSHO_ID_24` = 24-character ISP auth ID) |
| `SYSID_21` | Field | System ID — the SSO system identifier (21-character format) |
| `URL_SCREEN_ID_21` | Field | URL Screen ID — the redirect target screen identifier for SSO flows |
| `WEB_CHG_INFO` | Field | Web Change Information — shared data bean containing web-layer change request data |
| `GEN_CUST_KEI_INFO` | Field | General Customer Contract Information — main customer contract data |
| `SVC_KEI_INFO` | Field | Service Contract Information — details of a specific service contract |
| `SVC_KEI_UCWK_INFO` | Field | Service Contract Subscription Detail — line items within a service contract (e.g., individual services subscribed) |
| `SVC_KEI_STAT_23` | Field | Service Contract Status — status code of the service contract (210 = terminated, 220 = suspended) |
| `NOW_NINSHO_ID` | Field | Current Authentication ID — the authentication ID value stored on the service form bean |
| `PAY_FLG` | Field | Payment Flag — boolean flag indicating whether initial fees exist (TRUE = has initial fees) |
| `MANSION_DIV` | Field | Mansion Division — boolean flag indicating whether the customer has a mansion-type contract |
| `USECASE_ID_FUSV0192` | Field | Use Case ID — identifies the BPM use case for Authentication ID Password Change Submission (Initial Display) |
| `USECASE_ID_FUSV0075` | Field | Use Case ID — identifies the common relation check use case for SSO password change |
| `FUNC_CD_1` | Constant | "1" — Initial Fee Listing Component CC — controls the initial fee display component processing |
| `FUNC_CD_3` | Constant | "3" — Current Contract Subscription Details Component SC — controls the current contract details lookup |
| `FUSV0192` | BP | Authentication ID Password Change Submission Business Process — backend BPM for initial display of password change screen |
| `EKK0721A010CBS` | CBS | Initial Fee Listing CBS — service component that reads initial fee data for display |
| `EKK0161B504CBS` | CBS | Current Contract Subscription Details CBS — service component that reads current service contract subscription details |
| `ERROR_CODE_0002` | Constant | "0002" — System Error — thrown when system data (SSO credentials) is missing or BP invocation fails |
| `ERROR_CODE_0102` | Constant | "0102" — Contract Status Error — thrown when no matching ISP auth ID is found or the contract is terminated/suspended |
| `checkOrosi` | Method | Oroshi (dismantling) check — verifies the customer has no pending dismantling/termination issues |
| `checkCommonRelation` | Method | Common relation check — validates cross-screen/common data consistency |
| `refreshGenCustKei` | Method | Refreshes general customer contract information after SSO context changes |
| `chkPayInitialCost` | Method | Checks whether any initial fees exist for the customer's service contract |
| `getMansionDiv` | Method | Determines whether the customer is a mansion-type (multi-unit building) contract |
| `oroshi` | Business term | Dismantling/termination — the process of decommissioning telecom equipment or services at a customer premises (added in v37.00 for NTT dismantling support, v73.00 for NTT decommissioning) |
| `FUSV019201CC` | Constant | Initial fee listing component constant — used in pricing area setup |

---
