**Block 13** — EQUIP SUCCESSION CHECK (L2535)

> For specific pricing groups (Home, Mezon, Mansion, HTel, TV_KCAT, TV_KCN, TV_SSS) when not address change/registration and not legal service succession HT-to-IO.

| # | Type | Code |
|---|------|------|
| 1 | SET | `if (PRC_GRP_HOME || PRC_GRP_MEZON || PRC_GRP_MANS || PRC_GRP_HTEL || PRC_GRP_TV_KCAT || PRC_GRP_TV_KCN || PRC_GRP_TV_SSS)` |
| 2 | SET | `if (!IDO_DIV_AD_CHG_ADD.equals(idoDiv))` |
| 3 | SET | `hojinsvkei_hktgi_sbc_cd = workEKK0081A010[0].getString(HOJINSVKEI_HKTGI_SBT_CD);` |
| 4 | SET | `if (!HSVC_KEI_HKTG_SBT_CD_01.equals(hojinsvkei_hktgi_sbc_cd))` |
| 5 | SET | `equipRyuyoUm_rozett = (String)svkeiData.get(JKKKojiAnkenConstCC.EQUIP_RYUYO_UM);` |
| 6 | SET | `if (EQUIP_RYUYO_UMU_ARI_LIST.contains(equipRyuyoUm_rozett))` |
| 7 | EXEC | `shosaOkMapper.editInMsgEKU0081B010(param, i);` |
| 8 | EXEC | `scCall.run(inMsgEKU0081B010Map, handle);` |
| 9 | SET | `svcKeiKaisenUcwkNo = childTemplate.getString(SVC_KEI_KAISEN_UCWK_NO);` |
| 10 | EXEC | `shosaOkMapper.editInMsgEKK0251A010(param, svcKeiKaisenUcwkNo);` |
| 11 | EXEC | `scCall.run(inMsgEKK0251A010Map, handle);` |

**Block 14** — PLACE NUMBER UPDATE (L2604)

| # | Type | Code |
|---|------|------|
| 1 | SET | `wkErrorList = new ArrayList();` |
| 2 | SET | `wkMap = editUpdPlaceNo(param, i, svcSbtCd, rsltShokai, workEKK0251A010);` |
| 3 | EXEC | `wkErrorList = runUpdPlaceNo(handle, param, wkMap);` |
| 4 | SET | `errorList.addAll(wkErrorList);` |

**Block 15** — SMART BATTERY DEVIATION NOTIFICATION (L2622)

> For HNET/HTel services when not address change/registration.

| # | Type | Code |
|---|------|------|
| 1 | SET | `if (!IDO_DIV_AD_CHG_ADD.equals(idoDiv))` |
| 2 | SET | `if (svcSbtCd == HNET || svcSbtCd == HTel)` |
| 3 | EXEC | `instSmtVlTaisho(handle, param, rsltShokai, wkMap, errorList, i);` |

**Block 16** — PROJECT ORDER RECEIPT (L2635)

> For specific pricing groups when not address change/registration and not legal service succession HT-to-IO. This is the major JKKKojiAnkenCC branch.

| # | Type | Code |
|---|------|------|
| 1 | SET | `if (PRC_GRP_HOME || PRC_GRP_MEZON || PRC_GRP_MANS || PRC_GRP_HTEL || PRC_GRP_TV_KCAT || PRC_GRP_TV_KCN || PRC_GRP_TV_SSS)` |
| 2 | SET | `if (!IDO_DIV_AD_CHG_ADD.equals(idoDiv))` |
| 3 | SET | `if (!HSVC_KEI_HKTG_SBT_CD_01.equals(hojinsvkei_hktgi_sbc_cd))` |
| 4 | SET | `kojiCC = new JKKKojiAnkenCC();` |
| 5 | SET | `workECK0011A010 = getWorkParentData(..., MAP_KEY_ECK0011A010);` |
| 6 | SET | `workEKK0021A010 = getWorkParentData(..., MAP_KEY_EKK0021A010);` |
| 7 | SET | `workEKK0321B002 = getWorkParentData(..., MAP_KEY_EKK0321B002);` |
| 8 | SET | `typeNFlg = JKKBpCommon.isTypeNHantei(param, handle, prcGrpCd, pcrsCd);` |
| 9 | SET | `try {` |
| 10 | SET | `if (HNET == svcSbtCd && isKojiHassei(handle, param, i, workEKK0081A010[0]) && !typeNFlg)` |
| 11 | SET | `tabletHaisoKbn = TABLET_HAISO_KBN_CREATE_KJ_HAISO;` |
| 12 | SET | `if (EQUIP_RYUYO_UMU_ARI_LIST.contains(equipRyuyoUm))` |
| 13 | EXEC | `shosaOkMapper.editInMsgEKU0081B010(param, i);` |
| 14 | EXEC | `scCall.run(inMsgEKU0081B010Map, handle);` |
| 15 | SET | `workEKU0081B010 = getWorkData(EKU0081B010CBSMsg, ...)` |
| 16 | SET | `nrkemtRozettCd = workEKK0251A010[0].getString(ROZETT_STC_STAT_CD);` |
| 17 | SET | `if (NET.equals(svcCd) || TEL.equals(svcCd))` |
| 18 | SET | `ryuyoMtSetsuzokuKikiSbt = this.ryuyoMtSetsuzokuKikiSbtJudge(...)` |
| 19 | SET | `wkMap = updKktkSvcKei(workEKK0081A010, handle, param, i, inMap, rsltShokai, svcSbtCd, nrkemtSvkeiNo, equipRyuyoUm);` |
| 20 | SET | `if (wkMap != null) wkErrorList = runHaisojkCd(handle, param, wkMap);` |
| 21 | SET | `else if (TV.equals(svcCd))` |
| 22 | SET | `vonuRyuyoUm = this.vonuRyuyoUmJudge(workEKU0081B010, handle, param, pcrsCd, pplanCd, i);` |
| 23 | SET | `if ("1".equals(vonuRyuyoUm))` |
| 24 | SET | `wkMap = updKktkSvcKei(...); if (wkMap != null) wkErrorList = runHaisojkCd(handle, param, wkMap);` |
| 25 | SET | `istekkyoKaiyaku = this.tekkyoKaiyakuCk(workEKU0081B010, handle, param, i);` |
| 26 | SET | `if (onuKokankojiflg == false)` // ONU exchange NOT triggered - existing process |
| 27 | SET | `kojiAnkenInfoMap.put(RYUYO_MT_TEL_KEI_RYKK_CD, ryuyoMtSetsuzokuKikiSbt);` |
| 28 | SET | `kojiAnkenInfoMap.put(VONU_RYUYO_UM, vonuRyuyoUm);` |
| 29 | SET | `kojiAnkenInfoMap.put(SHUNKO_RSV_YMD, wkTemEKK0251B003[0].getString(SHUNKO_RSV_YMD));` |
| 30 | SET | `if (!typeNFlg)` |
| 31 | SET | `shosaOkMapper.editMapKojiAnken(param, i, workEKK0021A010[0], workECK0011A010[0], workEKK0321B002[0], idoDiv, tabletHaisoKbn, kojiAnkenInfoMap, nrkemtRozettCd);` |
| 32 | EXEC | `kojiCC.executeKojiAnken(handle, param, KKSV0118_KKSV0118OP.KKSV011806CC);` |
| 33 | SET | `if (!tabletHaisoKbn.isEmpty())` |
| 34 | SET | `kojiAnkenMap = (HashMap)param.getData(KKSV011806CC);` |
| 35 | SET | `tbltButuryuMap.put(RET_TABLET_HAISO_KBN, retTabletHaisoKbn);` |
| 36 | SET | `param.setData("tblt_buturyu_map", tbltButuryuMap);` |
| 37 | SET | `}` // end of try-catch
| 38 | SET | `catch (CCException e)` |
| 39 | SET | `kojiErrorList = (ArrayList)param.getControlMapData(ERROR_INFO);` |
| 40 | SET | `errorList.addAll(kojiErrorList);` |
| 41 | SET | `if (!typeNFlg)` |
| 42 | SET | `kojiak_no = (String)((HashMap)param.getData(KKSV011806CC)).get(NEW_KOJIAK_NO);` |
| 43 | SET | `kojiakStat = (String)((HashMap)param.getData(KKSV011806CC)).get(NEW_KOJIAK_STAT);` |
| 44 | SET | `kojiakSbtCd = (String)((HashMap)param.getData(KKSV011806CC)).get(NEW_KOJIAK_SBT_CD);` |

**Block 17** — ADSL PROJECT REGISTRATION (L2782)

| # | Type | Code |
|---|------|------|
| 1 | SET | `else if (prcGrpCd.equals(PRC_GRP_CD_EACCESS))` |
| 2 | EXEC | `addAdslKoji(handle, param, i, rsltShokai);` |

**Block 18** — EQUIP SUCCESSION CANCELLATION CHECK (L2789)

| # | Type | Code |
|---|------|------|
| 1 | SET | `if (istekkyoKaiyaku)` |
| 2 | SET | `plnNrkeFlg = (String)netMap.get("pln_nrke_flg");` |
| 3 | EXEC | `this.ryuyoMtAkTekkyoKaiyaku(workEKU0081B010, handle, param, ryuyoMtAkNo, ryuyoKiboYmd, vonuRyuyoUm, equipRyuyoUm, plnNrkeFlg, nrkemtRozettCd)` |
| 4 | SET | `if (result is true)` |
| 5 | SET | `setExceptionErr(param, inMap, EKU0081B010, key_svc_kei_no_err);` |
| 6 | SET | `setExceptionErr(param, inMap, EKU0081B010, key_kojiak_no_err);` |
| 7 | SET | `param.setData(SVKEI_SHOSA_CC_TRAN_RSLT_CD, "1");` |
| 8 | SET | `param.setData(SVKEI_SHOSA_CC_TRAN_MESSAGE_LIST, ccMap.get("message_list"));` |
| 9 | THROWS | `throw new CCException(SVKEI_SHOSA_CC_TRAN_RSLT_CD, new Exception());` |

**Block 19** — PHONE SERVICE PROCESS (L2828)

> For HTel service when not address change/registration. Handles VLAN audit issuance for phone VLAN.

| # | Type | Code |
|---|------|------|
| 1 | SET | `if (svcSbtCd == HTel)` |
| 2 | SET | `if (!IDO_DIV_AD_CHG_ADD.equals(idoDiv))` |
| 3 | SET | `msgWorkArray = getWorkParentData(EKK0021A010CBSMsg, rsltShokai, MAP_KEY_EKK0021A010);` |
| 4 | SET | `mskmshoNo = msgEKK0021A010.getString(MSKMSHO_NO);` |
| 5 | EXEC | `shosaOkMapper.editInMsgEKU0081B020(param, i, kisnNo);` |
| 6 | EXEC | `scCall.run(inMsgEKU0081B020Map, handle);` |
| 7 | SET | `kojiak_stat = Integer.parseInt(outMsgEKU0081B020List[0].getString(KOJIAK_STAT));` |
| 8 | SET | `if (kojiak_stat >= 160 && kojiak_stat <= 200)` |
| 9 | EXEC | `shosaOkMapper.editInMsgESC0021D010(param, i, outMsgEKU0081B020List[0].getString(KOJIAK_NO), mskmshoNo);` |
| 10 | EXEC | `scCall.run(rslt, handle);` // Phone VLAN audit issuance |
| 11 | EXEC | `if (isHikariConsent(handle, param, workEKK0081A010[0].getString(TK_HOSHIKI_KEI_NO)))` |
| 12 | EXEC | `shosaOkMapper.editInMsgHikariConsentEKU0081B020(param, i, kisnNo);` |
| 13 | SET | `mans_kojiak_stat_cd = Integer.parseInt(outMsgEKU0081B020HikariConsentList[0].getString(MANS_KOJIAK_STAT_CD));` |
| 14 | SET | `if (mans_kojiak_stat_cd >= 160 && mans_kojiak_stat_cd <= 200)` |
| 15 | EXEC | `shosaOkMapper.editInMsgESC0021D010(param, i, outMsgEKU0081B020HikariConsentList[0].getString(KOJIAK_NO), mskmshoNo);` |
| 16 | EXEC | `shokaiMapper.editInMsgEKK0341B022(param, 0, "020,030,100,110,210");` |
| 17 | EXEC | `scCall.run(inMsgEKK0341B022Map, handle);` |
| 18 | SET | `workEKK0341B022Array.add(rsltEKK0341B022);` |
| 19 | EXEC | `editMapShokaiUcwkHTel(param, rsltShokai);` |
| 20 | EXEC | `runShokai(param, handle, wkRsltShokaiMap, new String[] {MAP_KEY_EKK0191A010});` |
| 21 | SET | `wkErrorList = new ArrayList();` |
| 22 | SET | `wkMap = editMapUpdUcwkHTel(handle, param, rsltShokai, idoDiv, canCncSvcKei);` |
| 23 | EXEC | `wkErrorList = runUpdUcwkHTel(handle, param, wkMap, canCncSvcKei);` |
| 24 | SET | `errorList.addAll(wkErrorList);` |

**Block 20** — DELIVERY SUPPRESSION / MANDATORY DELIVERY (L2926)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `updKktkSvcTblt(handle, param, rsltShokai, svcSbtCd, pcrsCd, svc_kei_no, wkMap, errorList, i, kojiakStat, kojiakSbtCd, tkHoshiKiKeiNo);` |
| 2 | EXEC | `setChokusoTblt(handle, param, rsltShokai, pcrsCd, svc_kei_no, errorList, i, idoDiv);` |

**Block 21** — TAIL ORR RECORD NOTIFICATION (L2943)

> For HTel service: Taiorrk (response history) phone application notification.

| # | Type | Code |
|---|------|------|
| 1 | SET | `if (svcSbtCd == HTel)` |
| 2 | EXEC | `addTaiorrki(handle, param, rsltShokai, wkMap, errorList, i, "taiorrk", svc_kei_no, kidoCd, svkeiData);` |

**Block 22** — SET APPLICATION CHECK (L2971)

> When kidoCd = SHOSA_TRN_DIV_BT: type-specific verification contracts.

| # | Type | Code |
|---|------|------|
| 1 | SET | `if (kidoCd.equals(SHOSA_TRN_DIV_BT))` |
| 2 | SET | `switch (svcSbtCd)` |
| 3 | SET | `case HNET: shosaOkMapper.editInMsgEKK0091C012(param, i);` |
| 4 | SET | `case HTv: shosaOkMapper.editInMsgEKK0101C012(param, i);` |
| 5 | SET | `case HTel: shosaOkMapper.editInMsgEKK0111C012(param, i);` |
| 6 | SET | `case MOBA: shosaOkMapper.editInMsgEKK0121C012(param, i);` |
| 7 | SET | `default (ADSL): shosaOkMapper.editInMsgEKK0141C012(param, i);` |
| 8 | EXEC | `scCall.run(wkMap, handle);` |
| 9 | SET | `workRsltShosa = getWorkData(..., CBSMSG1LIST, ...)` |
| 10 | SET | `wkErrorList = shosaOkMapper.editResultRPEKK0091C012(rsltShosa, param);` |
| 11 | SET | `if (workRsltShosa != null) shosaErrorInfo = chgErrorCd(workRsltShosa);` |
| 12 | SET | `if (shosaErrorInfo != null && !shosaErrorInfo.isEmpty())` |
| 13 | SET | `svkeiData.put(STATUS, SHOSA_RLT_NG);` |
| 14 | SET | `svkeiData.put(SHOSA_ERR_SBT_CD, errData.get(SHOSA_ERR_SBT_CD));` |
| 15 | SET | `svkeiData.put(SHOSA_ERR_MSG_ID, errData.get(SHOSA_ERR_MSG_ID));` |
| 16 | THROWS | `throw new BPMFlowException((RequestParameter)param, "disposition error");` |

**Block 23** — PROGRESS REGISTRATION (L3035)

> When not address change/registration: registers progress status and smart-battery deviation.

| # | Type | Code |
|---|------|------|
| 1 | SET | `if (!IDO_DIV_AD_CHG_ADD.equals(idoDiv))` |
| 2 | SET | `workEKK1091B001 = getWorkParentData(EKK1091B001CBSMsg, rsltShokai, MAP_KEY_EKK1091B001);` |
| 3 | SET | `if (kojihi_kapu_flg)` |
| 4 | SET | `workEKK3131A010 = getWorkParentData(EKK3131A010CBSMsg, rsltShokai, MAP_KEY_EKK3131A010);` |
| 5 | SET | `if (workEKK3131A010 != null && workEKK3131A010.length > 0)` |
| 6 | SET | `kapPlanCd = workEKK3131A010[0].getString(KAP_PLAN_CD);` |
| 7 | SET | `if (HNET == svcSbtCd && (PRC_GRP_HOME || PRC_GRP_MEZON))` |
| 8 | EXEC | `shosaOkMapper.editInMsgEKK1091D010_2(param, i, idoDiv, workEKK1091B001, kapPlanCd);` |
| 9 | EXEC | `runPrg(handle, param, wkMap, errorList);` |
| 10 | SET | `if (HTel == svcSbtCd && (pplan_cd = HOME/MEZON TEL1/TEL2))` |
| 11 | EXEC | `shosaOkMapper.editInMsgEKK1091D010_2(param, i, idoDiv, workEKK1091B001, kapPlanCd);` |
| 12 | EXEC | `runPrg(handle, param, wkMap, errorList);` |
| 13 | SET | `waoChumnRnkiYoksiFlg = "";` |
| 14 | SET | `if (typeNFlg)` |
| 15 | SET | `waoChumnRnkiYoksiFlg = msgEKK0021A010.getString(WAO_CHUMN_RNKI_YOKSI_FLG);` |
| 16 | SET | `if (WAO_RNKI_YKS_FLG_HI.equals(waoChumnRnkiYoksiFlg))` |
| 17 | SET | `waoChumnRnkiYoksiFlg = WAO_RNKI_YKS_FLG_HI_PRG_TKJK_1;` |
| 18 | SET | `else waoChumnRnkiYoksiFlg = WAO_RNKI_YKS_FLG_YOU_PRG_TKJK_1;` |
| 19 | EXEC | `wkMap = editInMsgCmn(param, shosaOkMapper.editInMsgEKK1091D010(param, i, idoDiv, workEKK1091B001, waoChumnRnkiYoksiFlg));` |
| 20 | EXEC | `rsltPrg = runPrg(handle, param, wkMap, errorList);` |
| 21 | SET | `if (!elecPrgAddZmFlg && !isNull(eoelecSvcKeiNo))` |
| 22 | EXEC | `shosaOkMapper.editInMsgEKK1091D010_3(param, i, idoDiv, workEKK1091B001, eoelecSvcKeiNo);` |
| 23 | EXEC | `runPrg(handle, param, wkMap, errorList);` |
| 24 | SET | `elecPrgAddZmFlg = true;` |
| 25 | SET | `if (HNET == svcSbtCd || HTel == svcSbtCd)` |
| 26 | SET | `trgtData.put(SVC_KEI_NO, svc_kei_no);` |
| 27 | SET | `trgtData.put(SVC_KEI_UCWK_NO, null);` |
| 28 | SET | `trgtData.put(IDO_DIV, idoDiv);` |
| 29 | SET | `trgtData.put(PRG_STAT, rsltPrg.get(PRG_STAT));` |
| 30 | SET | `trgtData.put(PRG_DTM, rsltPrg.get(PRG_DTM));` |
| 31 | EXEC | `JKKBpCommon.addSmtvlIdoInf(handle, param, trgtData, TRGT_DATA);` |

**Block 24** — CUSTOMER RECOVERY (L3088)

> After verification: reinstates deactivated customers if needed.

| # | Type | Code |
|---|------|------|
| 1 | SET | `if (PRC_GRP_TV_KCN.equals(prcGrpCd) || PRC_GRP_TV_SSS.equals(prcGrpCd))` |
| 2 | EXEC | `super.editCustKaihkMap(param, CUSTKAIHK_MAP, svc_kei_no);` |
| 3 | EXEC | `(new JCKCustKaihkCmnCC()).execute(handle, param, CUSTKAIHK_MAP);` |
| 4 | SET | `else` |
| 5 | EXEC | `wkRsltShokaiMap = editMapShokai0(param, i);` |
| 6 | EXEC | `rsltShokaiCust = runShokai(param, handle, wkRsltShokaiMap, new String[]{MAP_KEY_ECK0011A010});` |
| 7 | SET | `cust_taikai_ymd = workECK0011A010[0].getString(CUST_TAIKAI_YMD);` |
| 8 | SET | `if (!JKKBpCommon.isNull(cust_taikai_ymd))` |
| 9 | EXEC | `editCustKaihkMap(param, CUSTKAIHK_MAP, svc_kei_no);` |
| 10 | EXEC | `(new JCKCustKaihkCmnCC()).execute(handle, param, CUSTKAIHK_MAP);` |
| 11 | EXEC | `wkRsltShokaiMap = editMapShokai0(param, i);` // Re-fetch customer |
| 12 | EXEC | `kkExclusiveMapper.initParentLastUpdDtm("CK0011", workECK0011A010[0].getString(LAST_UPD_DTM));` |

**Block 25** — OPT-IN MAIL RECEIPT SETTING (L3126)

> For non-eo members (not MBTYPE_CD_MST_NOT): checks option service ISP, opt-in mail receipt settings, and registers opt-in mail receipt if needed.

| # | Type | Code |
|---|------|------|
| 1 | SET | `if (!regitMemberSbtCd.equals(MBTYPE_CD_MST_NOT))` |
| 2 | SET | `wkMap = editInMsgCmn(param, shokaiMapper.editInMsgEKK0361B001(param, svc_kei_no).get(0));` |
| 3 | EXEC | `scCall.run(wkMap, handle);` |
| 4 | SET | `workEKK0361B001 = getWorkData(EKK0361B001CBSMsg, ...)` |
| 5 | SET | `for (ii = 0; ii < workEKK0361B001.length; ii++)` |
| 6 | SET | `mlad = childTemplatekEKK0361B001.getString(MLAD);` |
| 7 | SET | `if (mlad != null && !"".equals(mlad))` |
| 8 | EXEC | `wkMap = editInMsgCmn(param, shokaiMapper.editInMsgECK0141B003(param, currentSysid, mlad).get(0));` |
| 9 | EXEC | `scCall.run(wkMap, handle);` |
| 10 | SET | `if (null == msgECK0141B003List || 0 == msgECK0141B003List.length)` |
| 11 | SET | `workECK0141B002 = getWorkParentData(ECK0141B002CBSMsg, rsltShokai, MAP_KEY_ECK0141B002);` |
| 12 | SET | `for (l = 0; l < workECK0141B002.length; l++)` |
| 13 | SET | `optinm_no = childTemplatekECK0141B002.getString(OPTINM_NO);` |
| 14 | SET | `shk_value_flg = childTemplatekECK0141B002.getString(SHK_VALUE_FLG);` |
| 15 | EXEC | `wkMap = editInMsgCmn(param, shosaOkMapper.editInMsgECK0141D010(param, i, optinm_no, mlad, shk_value_flg).get(0));` |
| 16 | EXEC | `kkExclusiveMapper.mergeSetLastUpdDtm(wkMap);` |
| 17 | EXEC | `wkErrorList = runOptin(handle, param, wkMap);` |
| 18 | EXEC | `kkExclusiveMapper.mergeGetLastUpdDtm(wkMap);` |
| 19 | SET | `errorList.addAll(wkErrorList); errorMapList.addAll(errorList); optinmUmFlg = "1";` |

**Block 26** — SHIFT (PRORATION) CHECK (L3227)

> For simple-plan migration (plnNrkeFlg in PLN_NRKE_FLG_LIST): checks migration source option services and discount services, cancels applicable contracts.

| # | Type | Code |
|---|------|------|
| 1 | SET | `netList = (ArrayList)inMap.get("trgt_data_list");` |
| 2 | SET | `plnNrkeFlg = (String)netMap.get("pln_nrke_flg");` |
| 3 | SET | `if (Arrays.asList(PLN_NRKE_FLG_LIST).contains(plnNrkeFlg))` |
| 4 | SET | `nrkemtSvkeiNo = (String)netMap.get("nrkemt_svkei_no");` |
| 5 | EXEC | `shosaOkMapper.editInMsgEKK0351B002(param, 0, nrkemtSvkeiNo);` |
| 6 | EXEC | `scCall.run(inMsgEKK0351B002Map, handle);` |
| 7 | SET | `for (j = 0; j < workEKK0351B002.length; j++)` |
| 8 | SET | `if (!(SVC_KEI_STAT_010.equals(opSvcKeiStat) || SVC_KEI_STAT_020.equals(opSvcKeiStat) || SVC_KEI_STAT_030.equals(opSvcKeiStat) || SVC_KEI_STAT_910.equals(opSvcKeiStat) || SVC_KEI_STAT_920.equals(opSvcKeiStat)))` |
| 9 | SET | `workEKK0351B002_hktgiList.add(workEKK0351B002_hktgi);` |
| 10 | EXEC | `shosaOkMapper.editInMsgEKK0451B002(param, 0, nrkemtSvkeiNo);` |
| 11 | EXEC | `scCall.run(inMsgEKK0451B002Map, handle);` |
| 12 | SET | `if (!(WRIB_SVC_KEI_STAT_010.equals(wribSvcKeiStat) || WRIB_SVC_KEI_STAT_300.equals(wribSvcKeiStat) || WRIB_SVC_KEI_STAT_910.equals(wribSvcKeiStat) || WRIB_SVC_KEI_STAT_920.equals(wribSvcKeiStat)))` |
| 13 | SET | `workEKK0451B002_hktgiList.add(workEKK0451B002_hktgi);` |
| 14 | EXEC | `shosaOkMapper.editInMsgEKK0021A010(param, 0, nrkeskMskmDtlNo);` |
| 15 | EXEC | `scCall.run(inMsgEKK0021A010Map, handle);` |
| 16 | SET | `hktgiOpsvkeiList = childTemplate2.getString(HKTGI_OPSVKEI_LIST);` |
| 17 | SET | `emailOpSvkeiNoList = hktgiOpsvkeiList.split(",");` |
| 18 | SET | `hktgiOptionList.add(emailOpSvcKeiNo);` // Matched option service number |
| 19 | SET | `securityPackUm = false;` |
| 20 | SET | `if (B021.equals(opSvcCd))` // Security pack |
| 21 | SET | `if (W00000010.equals(wribSvcCd)) securityPackUm = true;` |
| 22 | SET | `if (!securityPackUm) hktgiOptionList.add(opSvcKeiNo);` |
| 23 | SET | `if (B004.equals(opSvcCd) || B131.equals(opSvcCd) || B133.equals(opSvcCd) || B134.equals(opSvcCd))` |
| 24 | SET | `hktgiOptionList.add(opSvcKeiNo);` |
| 25 | SET | `if (W00000006.equals(wribSvcCd) || W00000010.equals(wribSvcCd))` |
| 26 | SET | `hktgiPackOptionList.add(wribSvcKeiNo);` |
| 27 | EXEC | `shokaiMapper.editInMsgEKK0081A010(param, nrkemtSvkeiNo);` |
| 28 | EXEC | `scCall.run(inMsgEKK0081A010Map, handle);` |
| 29 | SET | `geneAddDtm = nrkeEKK0081A010[0].getString(LAST_UPD_DTM);` |
| 30 | SET | `mskmDtlNo = workEKK0081A010[0].getString(MSKM_DTL_NO);` |
| 31 | SET | `opHktgskSvcKeiNo = workEKK0081A010[0].getString(SVC_KEI_NO);` |
| 32 | SET | `if (hktgiOptionList != null && hktgiOptionList.size() > 0)` |
| 33 | SET | `for (j = 0; j < hktgiOptionList.size(); j++)` |
| 34 | EXEC | `shosaOkMapper.editInMsgEKK0351C240(param, 0, opSvcKeiNo, mskmDtlNo, geneAddDtm, opHktgskSvcKeiNo);` |
| 35 | EXEC | `scCall.run(inMsgEKK0351C240Map, handle);` // Option service contract cancellation |
| 36 | SET | `if (hktgiPackOptionList != null && hktgiPackOptionList.size() > 0)` |
| 37 | SET | `for (j = 0; j < hktgiPackOptionList.size(); j++)` |
| 38 | EXEC | `shosaOkMapper.editInMsgEKK0451C021(param, 0, wribSvcKeiNo, mskmDtlNo, geneAddDtm, opHktgskSvcKeiNo);` |
| 39 | EXEC | `scCall.run(inMsgEKK0451C021Map, handle);` // Discount service contract cancellation |

**Block 27** — ERROR CHECK AND FINAL STATUS (L3390)

> Final step: checks error list and sets result status.

| # | Type | Code |
|---|------|------|
| 1 | SET | `errorMapList.addAll(errorList);` |
| 2 | SET | `if (errorList != null && !errorList.isEmpty())` |
| 3 | SET | `for (m = 0; m < errorList.size(); m++)` |
| 4 | SET | `errData = (HashMap)errorList.get(m);` |
| 5 | SET | `errItems = (HashMap)errData.get(ITEM_CHECK_ERRORS);` |
| 6 | SET | `errFlg = (String)errItems.get(ERR_ITEM_UPD_DTM_BF);` |
| 7 | SET | `if (ERR_FLG_EA.equals(errFlg)) errMsg = "disposition control error";` |
| 8 | SET | `else errMsg = "data error";` |
| 9 | SET | `svkeiData.put(STATUS, SHOSA_RLT_DL);` |
| 10 | SET | `returnCode = (Integer)errData.get(ErrorInfoMapKeys.RETURN_CODE);` |
| 11 | SET | `status = (Integer)errData.get(ErrorInfoMapKeys.STATUS);` |
| 12 | SET | `param.setControlMapData(ERROR_INFO, errorList);` |
| 13 | SET | `JSYbpmLog.println(JSYbpmLog.ERROR, getClass(), errorList, "BPX210E009", ...)` |
| 14 | THROWS | `throw new SCCallException(errMsg, returnCode.toString(), status);` |
| 15 | SET | `svkeiData.put(STATUS, SHOSA_RLT_OK);` |
| 16 | SET | `svkeiData.put(SHOSA_ERR_SBT_CD, null);` |
| 17 | SET | `svkeiData.put(SHOSA_ERR_MSG_ID, null);` |
| 18 | SET | `svkeiData.put(KOJIAK_NO, kojiak_no);` |
| 19 | SET | `svkeiData.put(KOJIAK_STATUS, kojiakStat);` |
| 20 | SET | `svkeiData.put(SHK_EOID, shk_eoId);` |
| 21 | SET | `svkeiData.put(NINSHO_ID, ninsho_id);` |
| 22 | SET | `svkeiData.put(KARI_MLAD_HRADSI_UM, mladUmFlg);` |
| 23 | SET | `svkeiData.put(OPTINM_SET_UM, optinmUmFlg);` |
| 24 | RETURN | `return param;` |
