## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:FUW00115 | `FUW00115SFLogic` (payment confirmation) -> `finMskm()` | `invokeService [C] KK_T_APPLICATION, KK_T_CONTRACT, KK_T_BILLING` |
| 2 | Screen:FUW00116 | `FUW00116SFLogic.finMskm()` (same screen, next button) | `invokeService [C] KK_T_APPLICATION, KK_T_CONTRACT, KK_T_BILLING` |
| 3 | Screen:FUW00943 | `FUW00943SFLogic.finMskm()` calls `finMskm()` via delegation | `invokeService [C] KK_T_APPLICATION, KK_T_CONTRACT` |

**How this method ultimately calls:**

| # | Called Method | SC Code | CRUD | Entity / DB |
|---|--------------|---------|------|-------------|
| 1 | `invokeService` | JCCBatCommon | C | KK_T_APPLICATION, KK_T_CONTRACT, KK_T_BILLING (via CBS generation) |
| 2 | `setMskmDmenXmlMap` | EKK0011 | C | KK_T_APPLICATION |
| 3 | `setEKK0011C050` | EKK0011C050 | C | KK_T_APPLICATION |
| 4 | `setEKK0011C110` | EKK0011C110 | C | KK_T_APPLICATION |
| 5 | `setEKK0341D010` | EKK0341D010 | C | KK_T_DEVICE_PROVIDE_CONTRACT |
| 6 | `setEKK0091A010` | EKK0091A010 | C | KK_T_SERVICE_CONSENT |
| 7 | `setEKK0361D010` | EKK0361D010 | C | KK_T_OPTION_ISP |
| 8 | `setEKK0191C012` | EKK0191C060 | C | KK_T_SERVICE_CONTRACT_DETAIL |
| 9 | `setEKK0371D010` | EKK0371D010 | C | KK_T_OPTION_TELEPHONE |
| 10 | `setEKK0381D010` | EKK0381D010 | C | KK_T_OPTION_TV |
| 11 | `setEKK0491C240` | EKK0491C240 | C | KK_T_INVOICE_CONTRACT |
| 12 | `setEKK0491C060` | EKK0491C060 | C | KK_T_INVOICE_CONTRACT_DETAIL |
| 13 | `setEKK0081C012` | EKK0081C012 | C | KK_T_SERVICE_CONTRACT_PAY |
| 14 | `setEKK1031D010` | EKK1031D010 | C | KK_T_AOSORI_RECORD |
| 15 | `setEKK0521D010` | EKK0521D010 | C | KK_T_CREDIT_INVOICE |
| 16 | `setEKK0521D020` | EKK0521D020 | C | KK_T_CREDIT_APPROVAL |
| 17 | `setEZM0121D010` | EZM0121D010 | C | KK_T_TELEPHONE |
| 18 | `setEZM0111D010` | EZM0111D010 | C | KK_T_AGING |
| 19 | `setEKK0391D010` | EKK0391D010 | C | KK_T_OPTION_CONTRACT |
| 20 | `setJFUAddAgntCC` | JFU00116 | C | KK_T_AGENT |
| 21 | `setEKK1091D010` | EKK1091D010 | C | KK_T_PROGRESS_REGISTRATION |
| 22 | `setECC0021D010` | ECC0021D010 | C | KK_T_MAIL_SEND_INFO |
| 23 | `setEKK2201A010` | EKK2201A010 | C | KK_T_SCREEN_SUPPORT |
| 24 | `setJFUMskmDtlUpdCC` | - | C | KK_T_SUBMISSION_DETAIL |
| 25 | `setJFUBackyardMappingCC` | - | C | KK_T_WIFI_SET |
| 26 | `setECR0511D010` | ECR0511D010 | C | KK_T_CASE_FILE |
| 27 | `setJFUMineoSetPlanRenkeiCC` | EKKA0070001 | C | KK_MINEO_SETPLAN |
| 28 | `setJKKTmcpOperateCC` | JKKTmcp | C | KK_T_TERMINAL_SUPPORT |
| 29 | `setFUSV016040SC` | FUSV016040 | C | KK_T_SECURITY_PACK |
| 30 | `setFUSV016047SC` | FUSV016047 | C | KK_T_CREDIT_PAY |

## 6. Per-Branch Detail Blocks

**Block 1** — SET (Bean Initialization) (L1046)

> Initializes all form beans from the common info bean and session.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `commoninfoBean = getCommonInfoBean()` |
| 2 | CALL | `web_new_info = commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)` |
| 3 | CALL | `web_new_infobean = web_new_info.getDataBean(0)` |
| 4 | CALL | `serviceFormBean = getServiceFormBean()` |
| 5 | CALL | `bnEoNet = getEonet(web_new_infobean)` |
| 6 | CALL | `bnEoTv = getEotv(web_new_infobean)` |
| 7 | CALL | `bnEoTel = getEotel(web_new_infobean)` |
| 8 | CALL | `keiyakuSvc = getKeiyakusvcinfo(web_new_infobean)` |
| 9 | CALL | `mansioninfo = getMansioninfo(web_new_infobean)` |
| 10 | CALL | `payWayInfo = getPywyInfo(web_new_infobean)` |
| 11 | CALL | `redirectInfo = getRedirectinfo(web_new_infobean)` |
| 12 | CALL | `elseInfo = getelseInfo(web_new_infobean)` |

**Block 2** — IF (Campaign Check) `(condition: !JFUWebCommon.campaignCheck(web_new_infobean, this))` (L1062) [Constants: ANK-3473-00-00]

> If campaign check fails, sets result code "1" (data none) and redirects to FUW00166.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `elseInfo.sendMessageString(CommonInfoCFConst.CAMPAIGN_RESULTCODE_18, DATABEAN_SET_VALUE, "1")` |
| 2 | EXEC | `web_new_infobean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_MODE_KAKUNIN)` |
| 3 | EXEC | `commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, DATABEAN_SET_VALUE, SCREEN_ID_FUW00166)` |
| 4 | EXEC | `commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, DATABEAN_SET_VALUE, SCREEN_NAME_FUW00166)` |
| 5 | RETURN | `return true` |

**Block 3** — IF (New Customer Check) `(condition: JFUStrConst.MSKM_KBN_NEW.equals(mskm_kbn))` (L1080)

> For new applications, verifies customer info.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mapper = new FUSV0012_FUSV0012OPDBMapper()` |
| 2 | CALL | `mapper.checkKeishaInfo(web_new_infobean, this)` |
| 3 | IF | `if (!checkResult)` |
| 4 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0013)` // Contract Status Error |

**Block 4** — SET (Get Operational Date) (L1091)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `opeDate = JFUWebCommon.getOpeDate(this, null)` |

**Block 5** — EXEC (Mail Form Bean) (L1096)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setFormBeanMailInfo(web_new_infobean, serviceFormBean)` |

**Block 6** — EXEC (mineo Set Plan Info) (L1101)

> Sets mineo set plan info to common form bean. [ANK-3436-00-00]

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setmineoSetPlanInfo(commoninfoBean, serviceFormBean)` |
| 2 | CALL | `dnskhDoiUmFlg = serviceFormBean.sendMessageString(FUW00116SFConst.DNSKH_DOI_ZM_FLG, DATABEAN_GET_VALUE)` |
| 3 | EXEC | `web_new_infobean.sendMessageString(CommonInfoCFConst.DNSKH_DOI_UM_SCREEN_06, DATABEAN_SET_VALUE, dnskhDoiUmFlg)` |
| 4 | EXEC | `bnEoNet.sendMessageString(CommonInfoCFConst.DNSKH_DOI_ZM_FLG_11, DATABEAN_SET_VALUE, dnskhDoiUmFlg)` |
| 5 | FOR | `for (X31SDataBeanAccess telBean : bnEoTel)` |
| 6 | EXEC | `telBean.sendMessageString(CommonInfoCFConst.DNSKH_DOI_ZM_FLG_12, DATABEAN_SET_VALUE, dnskhDoiUmFlg)` |
| 7 | EXEC | `bnEoTv.sendMessageString(CommonInfoCFConst.DNSKH_DOI_ZM_FLG_13, DATABEAN_SET_VALUE, dnskhDoiUmFlg)` |
| 8 | SET | `addInputMap = new HashMap<String, Object>()` |
| 9 | CALL | `JFUWebCommon.setMskmDmenXmlMapWebNew(addInputMap, this)` |
| 10 | SET | `super.setSessionObject("add_input_map", addInputMap)` |

**Block 7** — IF (Wiring Service Type Check) (L1117)

> Determines the applied wiring service type.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mskm_ksn_svc = web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, DATABEAN_GET_VALUE)` |
| 2 | CALL | `mskmMnsType = web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, DATABEAN_GET_VALUE)` |
| 3 | CALL | `plc_mskm = bnEoNet.sendMessageString(CommonInfoCFConst.PLC_MSKM_11, DATABEAN_GET_VALUE)` |
| 4 | CALL | `mesh_wifi = bnEoNet.sendMessageString(CommonInfoCFConst.MESH_WIFI_11, DATABEAN_GET_VALUE)` |
| 5 | SET | `taknkikiModelCd = null` |
| 6 | SET | `keySvcTypeSkbtCd = null` |

**Block 7.1** — IF (Home Type) `(condition: MSKM_KSN_SVC_HOME.equals(mskm_ksn_svc))` (L1129)

| # | Type | Code |
|---|------|------|
| 1 | SET | `keySvcTypeSkbtCd = "HF"` |

**Block 7.2** — ELSE-IF (Mansion Mezon) `(condition: MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && MSKM_MNS_TYPE_MEZON.equals(mskmMnsType))` (L1133)

| # | Type | Code |
|---|------|------|
| 1 | SET | `keySvcTypeSkbtCd = "MZ"` |

**Block 7.3** — ELSE-IF (Mansion Full) `(condition: MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))` (L1137)

| # | Type | Code |
|---|------|------|
| 1 | SET | `keySvcTypeSkbtCd = "MF"` |

**Block 7.4** — IF (PLC or Mesh WiFi Selected) `(condition: "1".equals(plc_mskm) || "1".equals(mesh_wifi))` (L1141)

> If PLC relay or mesh WiFi is selected, calls callSvcFUSV0376 to get device model codes.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"1".equals(plc_mskm)` |
| 2 | CALL | `dispDefMapModelWlr = JFUWebCommon.getDispItemsAsMap(QUERY_WLR_PATH, QUERY_ATTR_NAME)` |
| 3 | CALL | `taknkikiModelCd = callSvcFUSV0376(keySvcTypeSkbtCd, dispDefMapModelWlr)` |
| 4 | ELSE-IF | `"1".equals(mesh_wifi)` |
| 5 | CALL | `dispDefMapModelMeshwifi = JFUWebCommon.getDispItemsAsMap(QUERY_MESHWIFI_PATH, QUERY_ATTR_NAME)` |
| 6 | CALL | `taknkikiModelCd = callSvcFUSV0376(keySvcTypeSkbtCd, dispDefMapModelMeshwifi)` |
| 7 | IF | `JFUWebCommon.isNull(taknkikiModelCd)` |
| 8 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002)` |

**Block 8** — SET (ParamMap and Mapper Init) (L1174)

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramMap = new HashMap<String, Object>()` |
| 2 | SET | `paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0160)` |
| 3 | SET | `mapper = new FUSV0160_FUSV0160OPDBMapper()` |
| 4 | SET | `mapper_152 = new FUSV0152_FUSV0152OPDBMapper()` |
| 5 | SET | `mapper_161 = new FUSV0161_FUSV0161OPDBMapper()` |
| 6 | SET | `inputMap = (HashMap)super.getSessionObject("add_input_map").get(true)` |
| 7 | SET | `beans = {commoninfoBean, serviceFormBean}` |
| 8 | CALL | `knykeiMskmJokenCd = mansioninfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, DATABEAN_GET_VALUE)` |

**Block 9** — IF (Whole Unit Application) `(condition: KNYKEI_MSKM_JOKEN_CD_13.equals(knykeiMskmJokenCd))` (L1188) [CONSTANT: KNYKEI_MSKM_JOKEN_CD_13 = "13"]

> For whole-unit applications, switches USECASE_ID and uses callSetdatamap for bulk mapping.

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0161)` |
| 2 | CALL | `callSetdatamap(mapper_152, mapper, mapper_161, beans, inputMap, taknkikiModelCd)` |

**Block 9.1** — ELSE (Standard Registration) (L1198)

> Standard individual registration path. Invokes the full set of mapper methods.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setMskmDmenXmlMap(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 2 | CALL | `mapper.setFUSV016006CC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 3 | CALL | `mapper.setFUSV016007CC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 4 | CALL | `mapper.setFUSV016008CC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 5 | CALL | `mapper.setFUSV016010CC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 6 | CALL | `mapper.setEKK0011C050(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 7 | CALL | `mapper.setEKK0011C110(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 8 | CALL | `mapper.setEKK0341D010(beans, inputMap, JPCModelConstant.FUNC_CD_1, taknkikiModelCd)` |
| 9 | CALL | `mapper.setEKK2811B503(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 10 | CALL | `mapper.setEKK0341B002(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 11 | CALL | `mapper.setEKK0341C330(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 12 | CALL | `mapper.setEKK0091A010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 13 | CALL | `mapper.setEKK0341D010Tkn(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 14 | CALL | `mapper.setEKK2811D010Net02(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 15 | CALL | `mapper.setEKK2811D010Tel02(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 16 | CALL | `mapper.setEKK0391D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 17 | CALL | `mapper.setFUSV016040SC(beans, inputMap, JPCModelConstant.FUNC_CD_2)` [ANK-3149-00-00] |
| 18 | CALL | `mapper.setJKKSecurityPackOperateCC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` [ANK-3149-00-00] |
| 19 | CALL | `mapper.setJFUFamipaRouterCC(beans, inputMap, JPCModelConstant.FUNC_CD_2, opeDateTime)` |
| 20 | CALL | `mapper.setJFUVaKikiCancelCC(beans, inputMap)` |
| 21 | CALL | `mapper.setJFUWribSvcKeiAutoAddCC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 22 | CALL | `mapper.setFUSV016033CC(beans, inputMap, JPCModelConstant.FUNC_CD_1, opeDate)` |
| 23 | CALL | `mapper.setFUSV016034CC(beans, inputMap, JPCModelConstant.FUNC_CD_1, opeDate)` |
| 24 | CALL | `mapper.setFUSV016021CC(beans, inputMap)` |

**Block 9.2** — IF (Tablet/GH Purchase) `(condition: SMALIN_TABLET_MSKM.equals(tablet) || GH_TANMT_BUY.equals(gh))` (L1228) [Constants: ANK-3217-00-00]

> If tablet or GH device is purchased, registers additional contracts.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setEKK0061A010(beans, inputMap, JPCModelConstant.FUNC_CD_2)` |
| 2 | CALL | `mapper.setJFUSmartLinAdd2CC(beans, inputMap)` [ANK-3217-00-00] |
| 3 | CALL | `mapper.setEKK0361D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 4 | CALL | `mapper.setEKK0341D010Sml(beans, inputMap, JPCModelConstant.FUNC_CD_1, opeDate)` [ANK-3642-00-00] |
| 5 | CALL | `mapper.setEKK2541D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |

**Block 9.3** — Continued Registration Calls (L1244+)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setJFUBmpTelNoAddChkCC(beans, inputMap, JPCModelConstant.FUNC_CD_2)` |
| 2 | CALL | `mapper.setTransferCC(beans, inputMap)` |
| 3 | CALL | `mapper.setJKKChkDobanitenPsbAreaCC(beans, inputMap)` |
| 4 | CALL | `mapper.setJFUMstTelNoUpdCC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 5 | CALL | `mapper.setEZM0121D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 6 | CALL | `mapper.setEZM0111D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 7 | CALL | `mapper.setEKK0191C012(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 8 | CALL | `mapper.setEKK0371D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 9 | CALL | `mapper.setEKK0381D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 10 | CALL | `mapper.setEKK0341C230(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 11 | CALL | `mapper.setEKK0431D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 12 | CALL | `mapper.setEKKA0010003(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 13 | CALL | `mapper.setEKK0521D020(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 14 | CALL | `mapper.setEKK0521D010(beans, inputMap, JPCModelConstant.FUNC_CD_1, NOT_IKT)` |
| 15 | CALL | `mapper.setEKK1031D010(beans, inputMap, JPCModelConstant.FUNC_CD_1, opeDateTime)` |
| 16 | CALL | `mapper.setJFUAddSeikyKozaCC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 17 | CALL | `mapper.setEKK0491C240(beans, inputMap, JPCModelConstant.FUNC_CD_1, opeDate)` |
| 18 | CALL | `mapper.setEKK0491C060(beans, inputMap, JPCModelConstant.FUNC_CD_1, opeDate)` |
| 19 | CALL | `mapper.setEKK0081C012(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 20 | CALL | `mapper.setEKK0491C220(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 21 | CALL | `mapper.setEKK0321D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 22 | CALL | `mapper_152.setJFUAddAgntCC(beans, inputMap, JPCModelConstant.FUNC_CD_1, SCREEN_ID_FUW00116)` |
| 23 | CALL | `mapper.setEKK1091D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 24 | CALL | `mapper.setECC0021D010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 25 | CALL | `mapper.setECC0021D010_PAY(beans, inputMap, JPCModelConstant.FUNC_CD_1)` [ANK-3520-00-00] |
| 26 | CALL | `mapper.setEKK2201A010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 27 | CALL | `mapper.setEKK2201C010(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 28 | CALL | `mapper.setEKK0321B002(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 29 | CALL | `mapper.setJKKWrisvcAutoAplyCC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 30 | CALL | `mapper.setJKKWrisvcAutoAplyCC2(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 31 | CALL | `mapper.setEKK1391C040(beans, inputMap, JPCModelConstant.FUNC_CD_1, opeDate)` |
| 32 | CALL | `mapper.setJFUBackyardMappingCC(beans, inputMap)` |
| 33 | CALL | `mapper.setJFUCustCC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 34 | CALL | `mapper.setJFUSameSeikyusakiCheckCC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 35 | CALL | `mapper.setJFUAddSeikyOpSvcCC(beans, inputMap, "1")` |

**Block 9.4** — IF (Electric Guide) `(condition: ELEC_GUIDE_KIBO_ARI.equals(elecGuide))` (L1319)

> If electric guide magazine is wanted, creates the case file.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `opeDateStamp = JFUWebCommon.getOpeDateTimeStamp(this, null)` |
| 2 | CALL | `mapper.setECR0511D010(beans, inputMap, JPCModelConstant.FUNC_CD_1, opeDateStamp)` |

**Block 9.5** — IF (mineo Set Plan) `(condition: (MINEO_SETPLAN_KBN = "2" && telNo not empty) || (MINEO_SETPLAN_KBN = "1" && UKTK_NO not empty))` (L1328)

> If mineo set plan application is applicable, sets parameters and invokes the CC.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setEKK0011A010(beans, inputMap, JPCModelConstant.FUNC_CD_2)` |
| 2 | CALL | `mapper.setEKK0011C020(beans, inputMap, JPCModelConstant.FUNC_CD_1, SCREEN_ID_FUW00116)` |
| 3 | CALL | `mapper.setJFUMineoSetPlanRenkeiCC(beans, inputMap, getOpeDateTimeStamp(this, null))` |

**Block 9.6** — IF (Terminal Plan) `(condition: PC_PLN_MSKM.equals(netPcpln) || PCW_PLN_MSKM.equals(netPcwpln) || TV_PLN_MSKM.equals(netTvpln))` (L1357)

> If terminal support plan is subscribed, sets the operational date and invokes the CC.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mskmDate = JFUWebCommon.getOpeDate(this, null)` |
| 2 | CALL | `mapper.setJKKTmcpOperateCC(beans, inputMap, JPCModelConstant.FUNC_CD_1, mskmDate)` |

**Block 9.7** — SET (Post-registration mappings) (L1372)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setFUSV016041CC(beans, inputMap)` |
| 2 | CALL | `mapper.setFUSV016042CC(beans, inputMap)` |
| 3 | CALL | `payway = payWayInfo.sendMessageString(CommonInfoCFConst.PAYWAY_15, DATABEAN_GET_VALUE)` |
| 4 | IF | `payway.equals(JFUStrConst.PAYWAY_CREDIT)` |
| 5 | CALL | `mapper.setFUSV016047SC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |

**Block 9.8** — IF (Campaign List) `(condition: HANYO_CD_LIST.getCount() > 0)` (L1382) [ANK-3473-00-00]

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setJFUGetCampaignListCC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |

**Block 9.9** — IF (Referral Code) `(condition: !isNull(intrCd) && intrCd matches [A-Z][0-9]{9})` (L1393)

> If referral code is in valid format (half-width 1 letter + 9 digits), registers referral consent and updates.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mapper.setFUSV016044SC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 2 | CALL | `mapper.setFUSV016043SC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |

**Block 10** — SET (Output Map) (L1401)

| # | Type | Code |
|---|------|------|
| 1 | SET | `outputMap = new HashMap<String, Object>()` |
| 2 | CALL | `mapper.setWorkStrConstMap(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 3 | CALL | `mapper.setFUSV016046SC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 4 | CALL | `cxStartFrom = JFUWebCommon.getDispItem(CX_START_FROM)` [CX_START_FROM = "DISPSETTING/COMMONSETTING/DISPTEXT[@id='KOJIHI_KAP_24_START_YMD']"] |
| 5 | IF | `!isNull(cxStartFrom) && Integer.parseInt(cxStartFrom) <= opeDate` |
| 6 | CALL | `mskmKbn = web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, DATABEAN_GET_VALUE)` |
| 7 | IF | `mskmKbn.equals(JFUStrConst.MSKM_KBN_NEW)` |
| 8 | CALL | `mapper.setJFUEoidInputInfoAddCC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |
| 9 | CALL | `mapper.setJFUMskmDtlUpdCC(beans, inputMap, JPCModelConstant.FUNC_CD_1)` |

**Block 11** — TRY-CATCH (invokeService) (L1413)

> Core service invocation with comprehensive error handling.

| # | Type | Code |
|---|------|------|
| 1 | TRY | `invokeService(paramMap, inputMap, outputMap)` |

**Block 11.1** — CATCH (JCCWebServiceException) (L1419)

> Extracts error details from the exception and routes based on templateId and itemId.

| # | Type | Code |
|---|------|------|
| 1 | SET | `moreInfo = e.getMessageList().getMessageMoreInfoList()` |
| 2 | SET | `info = moreInfo[0]` |
| 3 | SET | `templateid = info.getTemplateId()` |
| 4 | SET | `itemid = info.getItemId()` |
| 5 | SET | `status = info.getStatus()` |
| 6 | SET | `errFlg = info.getItemCheckErr()` |
| 7 | LOG | `X31SWebLog.DEBUG_LOG.info(...)` // Error check log |
| 8 | IF | `status.equals(JPCModelConstant.RELATION_ERR)` |

**Block 11.1.1** — IF (Pre-aosori Error) `(condition: EKKA0010003.equals(templateid) && RELATION_CHECK_ERR_EA.equals(errFlg))` (L1444)

> Error recovery for pre-aosori request.

| # | Type | Code |
|---|------|------|
| 1 | IF | `outputMap.containsKey("EKKA0010003")` |
| 2 | SET | `mapper_368 = new FUSV0368_FUSV0368OPDBMapper()` |
| 3 | SET | `paramMap_368.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0368)` |
| 4 | SET | `parentMap = outputMap.get("EKKA0010003")` |
| 5 | CALL | `mapper_368.setFUSV036801CC(parentMap, inputMap_368, JPCModelConstant.FUNC_CD_1)` |
| 6 | TRY | `invokeService(paramMap_368, inputMap_368, outputMap_368)` |
| 7 | CATCH | `JCCWebServiceException` |
| 8 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002)` |

**Block 11.1.2** — IF (Card Error - py_connect_id) `(condition: ERR_PY_CARDNUMBER.equals(itemid))` (L1477)

> Card number error: sets credit result code NG and redirects to FUW00115.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `payWayInfo.sendMessageString(CommonInfoCFConst.CR_RESULTCODE_15, DATABEAN_SET_VALUE, CR_RESULTCODE_NG)` |
| 2 | EXEC | `web_new_infobean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, DATABEAN_SET_VALUE, SCREEN_MODE_DEF)` |
| 3 | EXEC | `commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, DATABEAN_SET_VALUE, SCREEN_ID_FUW00115)` |
| 4 | EXEC | `commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, DATABEAN_SET_VALUE, SCREEN_NAME_FUW00115)` |
| 5 | RETURN | `return true` |

**Block 11.1.3** — IF (Card Error - py_connect_password) `(condition: ERR_PY_CARDEXP.equals(itemid))` (L1489)

> Card expiry error: sets result code NG_2 and redirects to FUW00115.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `payWayInfo.sendMessageString(CommonInfoCFConst.CR_RESULTCODE_15, DATABEAN_SET_VALUE, CR_RESULTCODE_NG_2)` |
| 2-5 | Same redirect pattern as Block 11.1.2 | |

**Block 11.1.4** — IF (Card Error - py_card_token) `(condition: ERR_PY_AMOUNT.equals(itemid))` (L1505)

> Card token error: sets result code NG_4 and redirects to FUW00115.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `payWayInfo.sendMessageString(CommonInfoCFConst.CR_RESULTCODE_15, DATABEAN_SET_VALUE, CR_RESULTCODE_NG_4)` |
| 2-5 | Same redirect pattern as Block 11.1.2 | |

**Block 11.1.5** — ELSE (Other Payment Errors) (L1521)

> Default payment error handling.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `payWayInfo.sendMessageString(CommonInfoCFConst.CR_RESULTCODE_15, DATABEAN_SET_VALUE, CR_RESULTCODE_NG_3)` |
| 2-5 | Same redirect pattern as Block 11.1.2 | |

**Block 11.2** — IF (Campaign Errors) `(condition: (EKK1351A010 or EKK1351B003 or EKK0841A010 or EKK0841B003).equals(templateid) && RELATION_CHECK_ERR_EA.equals(errFlg))` (L1538) [ANK-3473-00-00]

> Campaign-related error handling.

| # | Type | Code |
|---|------|------|
| 1 | IF | `itemid.equals("notfound")` |
| 2 | EXEC | `elseInfo.sendMessageString(CommonInfoCFConst.CAMPAIGN_RESULTCODE_18, DATABEAN_SET_VALUE, "1")` |
| 3 | EXEC | Redirect to FUW00166 with KAKUNIN mode |
| 4 | RETURN | `return true` |
| 5 | ELSE-IF | `itemid.equals("outofrange")` |
| 6 | EXEC | `elseInfo.sendMessageString(CommonInfoCFConst.CAMPAIGN_RESULTCODE_18, DATABEAN_SET_VALUE, "2")` |
| 7 | EXEC | Redirect to FUW00166 with KAKUNIN mode |
| 8 | RETURN | `return true` |

**Block 11.3** — IF (Service List Agreement Error) `(condition: EKK0081B524.equals(templateid) && errFlg && ITEMID_KEY_SVC_KEI_ERR.equals(itemid))` (L1562)

| # | Type | Code |
|---|------|------|
| 1 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0102)` // Contract Status Error |

**Block 11.4** — IF (Phone Number Agreement Error) `(condition: EZM0121A010.equals(templateid) && errFlg && ITEMID_KEY_TELNO_ERR.equals(itemid))` (L1570)

| # | Type | Code |
|---|------|------|
| 1 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0103)` // Contract Completed Error |

**Block 11.5** — IF (Aging Agreement Error) `(condition: EZM0111B030.equals(templateid) && errFlg && ITEMID_KEY_AGING_TG_VALUE_ERR.equals(itemid))` (L1579)

| # | Type | Code |
|---|------|------|
| 1 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0103)` // Contract Completed Error |

**Block 11.6** — IF (Number Portability Error) `(condition: ETU0071A010.equals(templateid) && errFlg && ITEMID_KEY_JUDGE_KYOKU_NO_ERR.equals(itemid))` (L1588)

| # | Type | Code |
|---|------|------|
| 1 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0103)` // Contract Completed Error |

**Block 11.7** — IF (WiFi Upper Limit) `(condition: "EKK0161B511".equals(templateid) && "upplno".equals(itemid) && RELATION_CHECK_ITEM_CHECK_ERR.equals(errFlg))` (L1597)

| # | Type | Code |
|---|------|------|
| 1 | THROW | `throw new JCCBusinessException("0112")` |

**Block 11.8** — IF (Same-Number Forwarding Error) `(condition: EZM0121C010.equals(templateid) && errFlg && ITEMID_TELNO_ERR.equals(itemid))` (L1605)

| # | Type | Code |
|---|------|------|
| 1 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0102)` // Contract Status Error |

**Block 11.9** — IF (mineo Set Plan Error) `(condition: EKKA0070001.equals(templateid) && errFlg)` (L1616) [ANK-3436-00-00]

> mineo set plan error handling.

| # | Type | Code |
|---|------|------|
| 1 | IF | `itemid.equals("shokai") || itemid.equals("else")` |
| 2 | CALL | `JCCWebCommon.setMessageInfo(this, MSG_EKF2020_NW, MINEO_TEL)` |
| 3 | RETURN | `return true` |
| 4 | ELSE-IF | `itemid.equals("nodata")` |
| 5 | CALL | `JCCWebCommon.setMessageInfo(this, MSG_EKF2030_NW, MINEO_TEL)` |
| 6 | RETURN | `return true` |

**Block 11.10** — IF (mineo Contract Error) `(condition: "EKK0251B502".equals(templateid) && "mineo_stat".equals(itemid))` (L1630)

| # | Type | Code |
|---|------|------|
| 1 | LOG | `outputBusLog("...mineo contract status error...")` |
| 2 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0102)` |

**Block 11.11** — IF (Customer Reservation Error) `(condition: "ECK0011B009".equals(templateid) && "cust_rsv".equals(itemid))` (L1637)

| # | Type | Code |
|---|------|------|
| 1 | LOG | `outputBusLog("...customer reservation error...")` |
| 2 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0102)` |

**Block 11.12** — ELSE (System Error) (L1645)

| # | Type | Code |
|---|------|------|
| 1 | THROW | `throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002)` |

**Block 12** — EXEC (AxM Linkage) (L1650)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JFUWebCommon.executeAxmRenkeiService(this)` |

**Block 13** — IF (Business Regulation Check) `(condition: !REQUEST_RESTRICTION_FLG_ON.equals(frontKadoTrgtKiseiFlg))` (L1657)

> If business regulation is not active, handles bulk registration data retrieval.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `workKiseiListBean = getWorkKiseiList(commoninfoBean)` |
| 2 | IF | `!REQUEST_RESTRICTION_FLG_ON.equals(frontKadoTrgtKiseiFlg)` |
| 3 | IF | `KNYKEI_MSKM_JOKEN_CD_13.equals(knykeiMskmJokenCd)` |
| 4 | CALL | `callGetdatamap(mapper_152, mapper_161, beans, outputMap)` |
| 5 | ELSE | `keiyakuSvc.sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_NO_10, DATABEAN_SET_VALUE, opeDateTime)` |

**Block 14** — SET (Screen Transition) (L1682)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `web_new_infobean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF)` |
| 2 | EXEC | `commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00122)` |
| 3 | EXEC | `commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00122)` |
| 4 | SET | `usecaseId = JFUStrConst.EMPTY` |
| 5 | IF | `KNYKEI_MSKM_JOKEN_CD_13.equals(knykeiMskmJokenCd)` |
| 6 | SET | `usecaseId = USECASE_ID_FUSV0161` |
| 7 | ELSE | `usecaseId = USECASE_ID_FUSV0160` |
| 8 | CALL | `JFUWebCommon.sendMskmFinMail(this, outputMap, usecaseId)` |

**Block 15** — RETURN

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

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `finMskm` | Method | Finalize application (申し込み完了) - completes the order submission |
| `MSKM_KBN_NEW` | Constant | Application type = "new application" (新規申し込み) |
| `MSKM_KBN_HON` | Constant | Main application (本申し込み) |
| `MSKM_KSN_SVC_HOME` | Constant | Home-type applied wiring service (ホームタイプ) |
| `MSKM_KSN_SVC_MANSION` | Constant | Mansion-type applied wiring service (マンションタイプ) |
| `MSKM_MNS_TYPE_MEZON` | Constant | Mansion type = mezon (メゾン) |
| `MSKM_MNS_TYPE_MANSION` | Constant | Mansion type = mansion (マンション) |
| `KNYKEI_MSKM_JOKEN_CD_13` | Constant | Whole-unit application condition code = "13" (全戸一括) |
| `MSKM_CHANNEL_CD_1` | Constant | Application channel code "1" |
| `ELEC_GUIDE_KIBO_ARI` | Constant | Electric guide magazine desired = yes (電気雑誌希望あり) |
| `SMALIN_TABLET_MSKM` | Constant | Small-line tablet application (スマリンタブレット申し込み) |
| `GH_TANMT_BUY` | Constant | GH device purchase (GH端末購入) |
| `PAYWAY_CREDIT` | Constant | Credit card payment method (クレジットカード) |
| `SCREEN_MODE_DEF` | Constant | Default screen mode (標準画面) |
| `SCREEN_MODE_KAKUNIN` | Constant | Confirmation screen mode (確認画面) |
| `CR_RESULTCODE_NG` | Constant | Credit result code NG |
| `CR_RESULTCODE_NG_2` | Constant | Credit result code NG (expiry) |
| `CR_RESULTCODE_NG_3` | Constant | Credit result code NG (other) |
| `CR_RESULTCODE_NG_4` | Constant | Credit result code NG (amount) |
| `RELATION_CHECK_ERR_EA` | Constant | Relation check error EA |
| `NOT_IKT` | Constant | Not all/individual = "0" (一括でない) |
| `IKT` | Constant | All/inclusive = "1" (一括) |
| `USECASE_ID_FUSV0160` | Constant | Service ID for standard registration |
| `USECASE_ID_FUSV0161` | Constant | Service ID for bulk registration |
| `USECASE_ID_FUSV0181` | Constant | Service ID for related process |
| `USECASE_ID_FUSV0319` | Constant | Service ID for mineo process |
| `USECASE_ID_FUSV0368` | Constant | Service ID for card info update |
| FUSV00116SF | Module | Payment confirmation screen module (支払い方法確認画面) |
| FUW00115 | Screen | Payment method confirmation screen (支払い方法確認画面) |
| FUW00122 | Screen | Application completion confirmation screen (申込完了確認画面) |
| FUW00166 | Screen | Campaign result screen (キャンペーン結果画面) |
| eo Hikari | Business term | K-Opticom's fiber optic internet service (eoひかり) |
| eo TV | Business term | K-Opticom's television service (eoテレビ) |
| eo Telephone | Business term | K-Opticom's telephone service (eo電話) |
| PLC | Business term | Power Line Communication - wired LAN relay device (無線LAN中継器) |
| Mesh WiFi | Business term | Mesh WiFi wireless LAN system (メッシュWi-Fi) |
| mineo | Business term | K-Opticom's mobile SIM service (mineo) |
| Set Plan | Business term | mineo discount plan application (セット割) |
| DNSKH_DOI | Field | Electronic delivery agreement flag (電子交付同意フラグ) |
| AOSORI | Acronym | Pre-aosori request (預かり-aosori) - advance billing request |
| ISP | Acronym | Internet Service Provider |
| SC | Acronym | Service Component |
| CBS | Acronym | Center Business Service |
| CC | Acronym | Control Component |
| Mapper | Technical | Data mapping class (e.g., FUSV0160_FUSV0160OPDBMapper) |
| Form Bean | Technical | Data bean for screen form data (X31SDataBeanAccess) |
| JCCBusinessException | Technical | Business-level exception class |
| JCCWebServiceException | Technical | Web service exception class |
| JFUWebCommon | Technical | Web common utility class |
| KNYKEI | Field | Contract application (契約申込) |
| MSKM_KSN_SVC | Field | Applied wiring service (申込回線サービス) |
| MSKM_MNS_TYPE | Field | Mansion type (申込マンションタイプ) |
| PLCK_MSKM | Field | PLC application flag (PLC申込フラグ) |
| MESH_WIFI | Field | Mesh WiFi flag (メッシュWi-Fi) |
| TAKNKIKI_MODEL_CD | Field | Home device model code (宅内機器型式コード) |
| KEY_SVC_TYPE_SKBT_CD | Field | Service type identification code (サービスタイプ識別コード) |
| HF | Constant | Home-type service code (ホームタイプ) |
| MZ | Constant | Mezon-type service code (メゾンタイプ) |
| MF | Constant | Mansion-type service code (マンションタイプ) |
| ERR_PY_CARDNUMBER | Constant | Error item for py_connect_id (カード番号) |
| ERR_PY_CARDEXP | Constant | Error item for py_connect_password (カード有効期限) |
| ERR_PY_AMOUNT | Constant | Error item for py_card_token (カードトークン) |
| ITEMID_KEY_TELNO_ERR | Constant | Error item for key_telno (電話番号) |
| ITEMID_KEY_JUDGE_KYOKU_NO_ERR | Constant | Error item for key_judge_kyoku_no (担当局番号) |
| ITEMID_KEY_AGING_TG_VALUE_ERR | Constant | Error item for key_aging_tg_value (エイジング対象値) |
| ITEMID_TELNO_ERR | Constant | Error item for telno (電話番号) |
| EKKA0010001 | Constant | First-aosori request error template ID (初回-aosori依頼) |
| EKKA0010003 | Constant | Pre-aosori request error template ID (預かり-aosori依頼) |
| EKKA0070001 | Constant | Individual discount application error template (個別割引適用可否) |
| EZM0121A010 | Constant | Telephone number agreement error template (電話番号同意) |
| EZM0111B030 | Constant | Aging agreement list error template (エイジング一覧) |
| ETU0071A010 | Constant | Number portability area agreement error template (番号ポータビリティエリア) |
| EZM0121C010 | Constant | Same-number forwarding area error template (同番転送エリア) |
| CX_START_FROM | Constant | CX start date XPath setting (CX開始日) |
| MSG_EKF2020_NW | Constant | Message ID for mineo error (EKF2020-NW) |
| MSG_EKF2030_NW | Constant | Message ID for mineo data error (EKF2030-NW) |
| MINEO_TEL | Constant | Display field: mineo phone area (mineoTelArea) |
