
## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 7 methods.
Terminal operations from this method: `editResultRPEKK0341C231` [U], `editResultRPEKK0341C231` [U], `editResultRPEKK0341C231` [U], `getString` [R], `getString` [R], `getString` [R], `getString` [R], `getString` [R], `isNull` [-], `editResultRPEKK0341C530` [U], `editResultRPEKK0341C530` [U], `editResultRPEKK0341C530` [U], `editResultRPEKK3131C030` [U], `editResultRPEKK2811C050` [U], `editResultRPEKK2811C050` [U], `editResultRPEKK2811C050` [U], `editResultRPEKK2811C030` [U], `editResultRPEKK2811C030` [U], `editResultRPEKK2811C030` [U], `editResultRP` [U]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CBS:JKKSvkeiShosaCnc | `runSvkeiShosa` -> `runShosa` | `editResultRP [U] KK_T_OPSVKEI_*` |
| 2 | CBS:JKKSvkeiShosaCnc | `runShosaOkAdsl` -> `runShosa` | `editResultRPEKK0141C010 [U] KK_T_OPSVKEI_ADSL` |
| 3 | CBS:JKKSvkeiShosaCnc | `runShosaOkCmn` -> `runShosa` | `editResultRPEKK0091C010 [U] KK_T_OPSVKEI_ISP` |
| 4 | CBS:JKKSvkeiShosaCnc | `runShosaOkHNet` -> `runShosa` | `editResultRPEKK0091C010 [U] KK_T_OPSVKEI_ISP` |
| 5 | CBS:JKKSvkeiShosaCnc | `runShosaOkHTel` -> `runShosa` | `editResultRPEKK0111C010 [U] KK_T_OPSVKEI_TEL` |
| 6 | CBS:JKKSvkeiShosaCnc | `runShosaOkHTv` -> `runShosa` | `editResultRPEKK0101C010 [U] KK_T_OPSVKEI_TV` |
| 7 | CBS:JKKSvkeiShosaCnc | `runShosaOkMoba` -> `runShosa` | `editResultRPEKK0121C010 [U] KK_T_OPSVKEI_MOBILE` |
| 8 | CBS:JKKSvkeiShosaCnc | `addSmtVal` -> `runShosa` | `editResultRPEKK0021C060 [U] KK_T_OPSVKEI` |
| 9 | CBS:JKKSvkeiShosaCnc | `runHaisojkCd` -> `runShosa` | `editResultRPEKK0091C010 [U] KK_T_OPSVKEI_ISP` |
| 10 | CBS:JKKSvkeiShosaCnc | `runSmtVal` -> `runShosa` | `editResultRP [U] KK_T_OPSVKEI_*` |
| 11 | CBS:JKKSvkeiShosaCnc | `runShosaOk` -> `runShosa` | `editResultRPEKK0091C010 [U] KK_T_OPSVKEI_ISP` |
| 12 | CBS:JKKSvkeiShosaCnc | `runUpdPlaceNo` -> `runShosa` | `editResultRPEKKA0020002 [U] KK_T_PLACE` |
| 13 | CBS:JKKSvkeiShosaCnc | `runUpdUcwkHTel` -> `runShosa` | `editResultRPEKK0191C010 [U] KK_T_OPSVKEI_HTEL` |
| 14 | CBS:JKKSvkeiShosaCnc | `tendTajgswkeiTgkei` -> `runShosa` | `editResultRPEKK0021C060 [U] KK_T_OPSVKEI` |

**Direct callers:** addSmtVal, runHaisojkCd, runShosaOkAdsl, runShosaOkCmn, runShosaOkHNet, runShosaOkHTel, runShosaOkHTv, runShosaOkMoba, runSvkeiShosa, runUpdPlaceNo, runUpdUcwkHTel, tendTajgswkeiTgkei -- all within `JKKSvkeiShosaCC`.

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] `(wkMapArray != null)` (L5756)
> Retrieve the mapKey-specific ArrayList from rsltMap and validate it is not null.

| # | Type | Code |
|---|------|------|
| 1 | SET | `wkMapArray = (ArrayList)rsltMap.get(mapKey)` // Retrieve batch entries for this mapKey [-> rsltMap.get(mapKey)] |
| 2 | SET | `errorList = new ArrayList<Object>()` // Initialize return error list |
| 3 | SET | `scCall = new ServiceComponentRequestInvoker()` // Instantiate SC request invoker, pass class name to log (empty string means no log) [-> ServiceComponentRequestInvoker()] |

**Block 1.1** — [FOR] `(i = 0; i < wkMapArray.size(); i++)` (L5758)
> Iterate over each entry in the batch.

| # | Type | Code |
|---|------|------|
| 1 | SET | `wkMap = (HashMap)wkMapArray.get(i)` // Get the i-th data map from the batch |
| 2 | SET | `wkErrorList = new ArrayList<Object>()` // Initialize per-entry error list |

**Block 1.1.1** — [IF] `(wkMap != null)` (L5763)
> Process non-null map entries only.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `kkExclusiveMapper.mergeSetLastUpdDtm(wkMap)` // Set last-updated timestamp placeholder (Final update date/month/day merge [Set]) |
| 2 | CALL | `rslt = scCall.run(wkMap, handle)` // Execute SC pipeline, get result map |
| 3 | EXEC | `kkExclusiveMapper.mergeGetLastUpdDtm(wkMap)` // Retrieve last-updated timestamp (Final update date/month/day merge [Get]) |

**Block 1.1.1.1** — [IF-ELSE-IF CHAIN on `mapKey.equals(MAP_KEY_EKK0021C060)`] (L5769)
> Route to type-specific validation based on mapKey discriminator.

**Block 1.1.1.1.1** — [IF] `mapKey.equals("EKK0021C060")` (L5769)
> Statement validation and post-processing dispatch. (Submitted detail check / post-processing task delegation)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0021C060(rslt, param)` |

**Block 1.1.1.1.2** — [ELSE-IF] `mapKey.equals("EKK0091C010")` (L5774)
> Service contract: eo hikari network validation. (Service contract: eo hikari network > Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0091C010(rslt, param)` |

**Block 1.1.1.1.3** — [ELSE-IF] `mapKey.equals("EKK0101C010")` (L5779)
> Service contract: eo hikari TV validation. (Service contract: eo hikari TV > Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0101C010(rslt, param)` |

**Block 1.1.1.1.4** — [ELSE-IF] `mapKey.equals("EKK0111C010")` (L5784)
> Service contract: eo hikari phone validation. Additionally extracts PPP authentication ID for aging. (Service contract: eo hikari phone > Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0111C010(rslt, param)` |
| 2 | SET | `ppp_ninsho_id = shosaOkMapper.getResultRPEKK0111C010(rslt, param)` // Get PPP authentication ID |
| 3 | CALL | `ppp_ninsho_id = JKKBpCommon.getAgingNinshoId(ppp_ninsho_id)` // Normalize aging ID (2012-02-23 addition, IT障害1023対応) |
| 4 | SET | `agingWorkMap.put(AGING_SBT_PPP_NINSHO_ID, ppp_ninsho_id)` // Store for deferred billing [-> AGING_SBT_PPP_NINSHO_ID="012"] |

**Block 1.1.1.1.5** — [ELSE-IF] `mapKey.equals("EKK0121C010")` (L5794)
> Service contract: eo mobile validation. (Service contract: eo mobile > Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0121C010(rslt, param)` |

**Block 1.1.1.1.6** — [ELSE-IF] `mapKey.equals("EKK0141C010")` (L5799)
> Service contract: eo ADSL validation. (Service contract: eo ADSL > Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0141C010(rslt, param)` |

**Block 1.1.1.1.7** — [ELSE-IF] `mapKey.equals("EKK0171C010")` (L5804)
> Service contract detail: eo hikari network validation. Extracts ISP authentication ID for aging. (Service contract details <eo hikari network> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0171C010(rslt, param)` |
| 2 | SET | `ninsho_id = shosaOkMapper.getResultRPEKK0171C010(rslt, param)` // Get ISP authentication ID |
| 3 | CALL | `ninsho_id = JKKBpCommon.getAgingNinshoId(ninsho_id)` // Normalize aging ID |
| 4 | SET | `agingWorkMap.put(AGING_SBT_ISP_NINSHO_ID, ninsho_id)` // Store for deferred billing [-> AGING_SBT_ISP_NINSHO_ID="013"] |

**Block 1.1.1.1.8** — [ELSE-IF] `mapKey.equals("EKK0181C010")` (L5814)
> Service contract detail: eo hikari TV validation. (Service contract details <eo hikari TV> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0181C010(rslt, param)` |

**Block 1.1.1.1.9** — [ELSE-IF] `mapKey.equals("EKK0191C010")` (L5819)
> Service contract detail: eo hikari phone validation. Extracts SIP user ID, reads CAANMsg templates to store aging data per service detail work number. (Service contract details <eo hikari phone> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0191C010(rslt, param)` |
| 2 | SET | `ninsho_id = shosaOkMapper.getResultRPEKK0191C010(rslt, param)` // Get SIP user ID |
| 3 | SET | `templates = (CAANMsg[])rslt.get(JCMConstants.TEMPLATE_LIST_KEY)` // Extract template list from result |
| 4 | SET | `template = templates[0]` // Get first template |
| 5 | SET | `agingWorkMap.put(AGING_SBT_SIP_USER_ID + template.getString(EKK0191C010CBSMsg.SVC_KEI_UCWK_NO), ninsho_id)` // Keyed by service detail work number [-> AGING_SBT_SIP_USER_ID="014"] |

**Block 1.1.1.1.10** — [ELSE-IF] `mapKey.equals("EKK0221C010")` (L5831)
> Service contract detail: eo ADSL validation. Extracts ADSL authentication ID (strips "@" suffix per IT1-2013-0001098 fix for missing VR identification) and stores for aging. (Service contract details <eo ADSL> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0221C010(rslt, param)` |
| 2 | SET | `ninsho_id = shosaOkMapper.getResultRPEKK0221C010(rslt, param)` // Get ADSL auth ID |
| 3 | SET | `agingTgValue = ninsho_id.split("@")[0]` // Strip VR identification suffix (IT1-2013-0001098 fix, 2013/04/30) |
| 4 | SET | `agingWorkMap.put(AGING_SBT_ADSL_NINSHO_ID, agingTgValue)` // Store ADSL auth ID [-> AGING_SBT_ADSL_NINSHO_ID="015"] |

**Block 1.1.1.1.11** — [ELSE-IF] `mapKey.equals("EKK0361C010")` (L5845)
> Option service contract: ISP validation. Extracts MLAD (mail list address data) from templates and stores in rsltMap. Also retrieves aging info. (Option service contract <ISP> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0361C010(rslt, param)` |
| 2 | CALL | `shosaOkMapper.getResultRPEKK0361C010(rslt, agingWorkMap)` |
| 3 | SET | `templates = (CAANMsg[])rslt.get(JCMConstants.TEMPLATE_LIST_KEY)` // Extract templates |
| 4 | IF | `!isNull(templates[0].getString(EKK0361C010CBSMsg.MLAD))` |
| 5 | SET | `rsltMap.put(MAP_KEY_EKK0361C010_MLAD, templates[0])` // Store MLAD template in rsltMap [-> MAP_KEY_EKK0361C010_MLAD="EKK0361C010Output"] |

**Block 1.1.1.1.12** — [ELSE-IF] `mapKey.equals("EKK0381C010")` (L5859)
> Option service contract: TV validation. (Option service contract <TV> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0381C010(rslt, param)` |

**Block 1.1.1.1.13** — [ELSE-IF] `mapKey.equals("EKK0371C010")` (L5864)
> Option service contract: phone validation. (Option service contract <phone> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0371C010(rslt, param)` |

**Block 1.1.1.1.14** — [ELSE-IF] `mapKey.equals("EKK0391C010")` (L5869)
> Option service contract: support validation. (Option service contract <support> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0391C010(rslt, param)` |

**Block 1.1.1.1.15** — [ELSE-IF] `mapKey.equals("EKK0411C020")` (L5874)
> Sub-option service contract: ISP validation. (Sub-option service contract <ISP> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0411C020(rslt, param)` |

**Block 1.1.1.1.16** — [ELSE-IF] `mapKey.equals("EKK0421C010")` (L5879)
> Sub-option service contract: TV validation. (Sub-option service contract <TV> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0421C010(rslt, param)` |

**Block 1.1.1.1.17** — [ELSE-IF] `mapKey.equals("EKK0431C010")` (L5884)
> Sub-option service contract: phone validation. (Sub-option service contract <phone> Check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0431C010(rslt, param)` |

**Block 1.1.1.1.18** — [ELSE-IF] `mapKey.equals("EKK0341C030")` (L5889)
> Equipment provision service contract validation. (Equipment provision service contract check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0341C030(rslt, param)` |

**Block 1.1.1.1.19** — [ELSE-IF] `mapKey.equals("ECK0011C120")` (L5897)
> Member type change. Also extracts shk_eoId (validation target eo ID) from CAANMsg templates. (Member type change)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPECK0011C120(rslt, param)` |
| 2 | SET | `eck0011c120Templates = (CAANMsg[])rslt.get(JCMConstants.TEMPLATE_LIST_KEY)` // Extract templates |
| 3 | SET | `eck0011c120Template = eck0011c120Templates[0]` |
| 4 | IF | `!eck0011c120Template.isNull(ECK0011C120CBSMsg.SHK_EOID)` |
| 5 | SET | `shk_eoId = eck0011c120Template.getString(ECK0011C120CBSMsg.SHK_EOID)` // Get validation target eo ID (ロッド2追加案件対応) |

**Block 1.1.1.1.20** — [ELSE-IF] `mapKey.equals("ECK0021C010")` (L5931)
> Individual customer info change. (Customer <individual> content change)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPECK0021C010(rslt, param)` |

**Block 1.1.1.1.21** — [ELSE-IF] `mapKey.equals("ECK0031C010")` (L5936)
> Corporate customer info change. (Customer <corporate> content change)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPECK0031C010(rslt, param)` |

**Block 1.1.1.1.22** — [ELSE-IF] `mapKey.equals("ECK0201D010")` (L5941)
> Contact registration. (Contact registration)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPECK0201D010(rslt, param)` |

**Block 1.1.1.1.23** — [ELSE-IF] `mapKey.equals("ECK0201C010")` (L5949)
> Contact change. (Contact change)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPECK0201C010(rslt, param)` |

**Block 1.1.1.1.24** — [ELSE-IF] `mapKey.equals("ECK0141D010")` (L5954)
> Opt mail access registration. (Opt mail access registration)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPECK0141D010(rslt, param)` |

**Block 1.1.1.1.25** — [ELSE-IF] `mapKey.equals("EKKA0020002")` (L5974)
> Installation location number acquisition. Performs additional error checking and retrieves place_no. (Installation location number acquisition)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKKA0020002(rslt, param)` |
| 2 | EXEC | `errChk(param, rslt, wkErrorList)` // Additional error check |
| 3 | SET | `place_no = shosaOkMapper.getResultRPEKKA0020002(rslt, param)` // Get installation location number |

**Block 1.1.1.1.26** — [ELSE-IF] `mapKey.equals("EKK0251C030")` (L5984)
> Contract line content change. (Service contract line content change)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0251C030(rslt, param)` |

**Block 1.1.1.1.27** — [ELSE-IF] `mapKey.equals("EKK0341C450")` (L5989)
> Equipment installation site reflect. (Equipment installation site reflect)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0341C450(rslt, param)` |

**Block 1.1.1.1.28** — [ELSE-IF] `mapKey.equals("EKK0121C020")` (L5994)
> Service contract: eo mobile completion. (Service contract <eo mobile> Close)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0121C020(rslt, param)` |

**Block 1.1.1.1.29** — [ELSE-IF] `mapKey.equals("EKK0201C030")` (L5999)
> Service contract detail: eo mobile validation completion. (Service contract details <eo mobile> Check Close)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0201C030(rslt, param)` |

**Block 1.1.1.1.30** — [ELSE-IF] `mapKey.equals("EKK0361C030")` (L6004)
> Option service contract: ISP validation completion. Retrieves aging info. (Option service contract <ISP> Check Close)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0361C030(rslt, param)` |
| 2 | CALL | `shosaOkMapper.getResultRPEKK0361C030(rslt, agingWorkMap)` |

**Block 1.1.1.1.31** — [ELSE-IF] `mapKey.equals("EKK0411C040")` (L6009)
> Sub-option service contract: ISP validation completion. (Sub-option service contract <ISP> Check Close)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0411C040(rslt, param)` |

**Block 1.1.1.1.32** — [ELSE-IF] `mapKey.equals("EKK0391C030")` (L6014)
> Option service contract: support validation completion. (Option service contract <support> Check Close)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0391C030(rslt, param)` |

**Block 1.1.1.1.33** — [ELSE-IF] `mapKey.equals("EKK0341C050")` (L6019)
> Equipment provision service contract validation completion. (Equipment provision service contract check close)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0341C050(rslt, param)` |

**Block 1.1.1.1.34** — [ELSE-IF] `mapKey.equals("ECK0111D010")` (L6024)
> Group registration. (Group registration)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPECK0111D010(rslt, param)` |

**Block 1.1.1.1.35** — [ELSE-IF] `mapKey.equals("EKK0091C020")` (L6029)
> Service contract: eo hikari network completion SC. Uses `JKKSvkeiShosaCncMapper` with screen operation key KKSV011889SC. (Service contract: eo hikari network > Close SC)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = JKKSvkeiShosaCncMapper.editResultRPEKK0091C020(rslt, param, KKSV0118_KKSV0118OP.KKSV011889SC)` |

**Block 1.1.1.1.36** — [ELSE-IF] `mapKey.equals("EKK0111C020")` (L6034)
> Service contract: eo hikari phone completion SC. Uses KKSV011890SC. (Service contract: eo hikari phone > Close SC)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = JKKSvkeiShosaCncMapper.editResultRPEKK0111C020(rslt, param, KKSV0118_KKSV0118OP.KKSV011890SC)` |

**Block 1.1.1.1.37** — [ELSE-IF] `mapKey.equals("EKK0141C020")` (L6039)
> Service contract: eo ADSL completion SC. Uses KKSV011891SC. (Service contract: eo ADSL > Close SC)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = JKKSvkeiShosaCncMapper.editResultRPEKK0141C020(rslt, param, KKSV0118_KKSV0118OP.KKSV011891SC)` |

**Block 1.1.1.1.38** — [ELSE-IF] `mapKey.equals("EKK0171C030")` (L6044)
> Service contract detail: eo hikari network validation completion SC. Uses KKSV011892SC. (Service contract details <eo hikari network> Check Close SC)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = JKKSvkeiShosaCncMapper.editResultRPEKK0171C030(rslt, param, KKSV0118_KKSV0118OP.KKSV011892SC)` |

**Block 1.1.1.1.39** — [ELSE-IF] `mapKey.equals("EKK0191C030")` (L6049)
> Service contract detail: eo hikari phone validation completion SC. Uses KKSV011893SC with row index i. (Service contract details <eo hikari phone> Check Close SC)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = JKKSvkeiShosaCncMapper.editResultRPEKK0191C030(rslt, param, KKSV0118_KKSV0118OP.KKSV011893SC, i)` |

**Block 1.1.1.1.40** — [ELSE-IF] `mapKey.equals("EKK0221C030")` (L6054)
> Service contract detail: eo ADSL validation completion SC. Uses KKSV011894SC. (Service contract details <eo ADSL> Check Close SC)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = JKKSvkeiShosaCncMapper.editResultRPEKK0221C030(rslt, param, KKSV0118_KKSV0118OP.KKSV011894SC)` |

**Block 1.1.1.1.41** — [ELSE-IF] `mapKey.equals("EKK0371C030")` (L6059)
> Option service contract: phone validation completion. Uses KKSV011897SC. (Option service contract <phone> Check Close)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = JKKSvkeiShosaCncMapper.editResultRPEKK0371C030(rslt, param, KKSV0118_KKSV0118OP.KKSV011897SC)` |

**Block 1.1.1.1.42** — [ELSE-IF] `mapKey.equals("EKK0431C030")` (L6064)
> Sub-option service contract: phone validation completion. Uses KKSV011899SC. (Sub-option service contract <phone> Check Close)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = JKKSvkeiShosaCncMapper.editResultRPEKK0431C030(rslt, param, KKSV0118_KKSV0118OP.KKSV011899SC)` |

**Block 1.1.1.1.43** — [ELSE-IF] `MAP_KEY_ETU0011D010.equals(mapKey)` (L6069)
> Banpo construction registration. (Banpo construction registration)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPETU0011D010(rslt, param)` |

**Block 1.1.1.1.44** — [ELSE-IF] `MAP_KEY_EZM0121C010.equals(mapKey)` (L6075)
> Phone number change. (Phone number change)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEZM0121C010(rslt, param)` |

**Block 1.1.1.1.45** — [ELSE-IF] `mapKey.equals("EKKA0020003")` (L6082)
> Indoor device uniqueness check (4). Performs additional error checking. (Indoor device uniqueness check (4))

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKKA0020003(rslt, param)` |
| 2 | EXEC | `errChk(param, rslt, wkErrorList)` |

**Block 1.1.1.1.46** — [ELSE-IF] `mapKey.equals("EKKA0020004")` (L6087)
> Equipment location number change. Performs additional error checking. (Equipment location number change)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKKA0020004(rslt, param)` |
| 2 | EXEC | `errChk(param, rslt, wkErrorList)` |

**Block 1.1.1.1.47** — [ELSE-IF] `mapKey.equals("EKK2541C030")` (L6092)
> Assignment contract validation. Uses JKKSvkeiShosaCncMapper with KKSV011850SC. Performs error checking. (Assignment contract check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = JKKSvkeiShosaCncMapper.editResultRPEKK2541C030(rslt, param, "KKSV011850SC")` |
| 2 | EXEC | `errChk(param, rslt, wkErrorList)` |

**Block 1.1.1.1.48** — [ELSE-IF] `mapKey.equals("ECK0121C020")` (L6097)
> Unknown customer info change. Performs error checking.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPECK0121C020(rslt, param)` |
| 2 | EXEC | `errChk(param, rslt, wkErrorList)` |

**Block 1.1.1.1.49** — [ELSE-IF] `mapKey.equals("EKK0441C030")` (L6102)
> Billing option service contract validation. (Billing option service contract check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0441C030(rslt, param)` |

**Block 1.1.1.1.50** — [ELSE-IF] `mapKey.equals("EKK0441C050")` (L6107)
> Billing option service contract validation completion. (Billing option service contract check close)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0441C050(rslt, param)` |

**Block 1.1.1.1.51** — [ELSE-IF] `mapKey.equals("EKK2451C010")` (L6114)
> Third-party discount contract target contract application termination. Passes custom CBS message content from EKK2451C010CBSMsg. (Third-party discount contract target contract application termination)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRP(rslt, param, new EKK2451C010CBSMsg().getContents())` |

**Block 1.1.1.1.52** — [ELSE-IF] `mapKey.equals("EKK0191C060")` (L6120)
> Billing option service contract validation. Passes custom CBS message content from EKK0191C060CBSMsg. (Billing option service contract check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRP(rslt, param, new EKK0191C060CBSMsg().getContents())` |

**Block 1.1.1.1.53** — [ELSE-IF] `mapKey.equals("EKK2451D010")` (L6126)
> Third-party discount contract target contract registration. Passes custom CBS message content from EKK2451D010CBSMsg. (Third-party discount contract target contract registration)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRP(rslt, param, new EKK2451D010CBSMsg().getContents())` |

**Block 1.1.1.1.54** — [ELSE-IF] `mapKey.equals("EKK2811C030")` (L6133)
> Equipment option service contract validation. (Equipment option service contract check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK2811C030(rslt, param)` |

**Block 1.1.1.1.55** — [ELSE-IF] `mapKey.equals("EKK2811C050")` (L6138)
> Equipment option service contract validation completion. (Equipment option service contract check close)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK2811C050(rslt, param)` |

**Block 1.1.1.1.56** — [ELSE-IF] `mapKey.equals("EKK3131C030")` (L6145)
> Construction cost assignment contract validation. Sets `kojihi_kapu_flg = true` after processing. (Construction cost assignment contract check)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK3131C030(rslt, param)` |
| 2 | SET | `kojihi_kapu_flg = true` // Flag set when construction cost assignment validated |

**Block 1.1.1.1.57** — [ELSE-IF] `mapKey.equals("EKK0341C530")` (L6154)
> Equipment contract change. Extracts GENE_ADD_DTM (generation registration date) from templates and writes to wkMap. (Equipment contract change)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0341C530(rslt, param)` |
| 2 | SET | `ekk0341c530Templates = (CAANMsg[])rslt.get(JCMConstants.TEMPLATE_LIST_KEY)` |
| 3 | SET | `ekk0341c530Template = ekk0341c530Templates[0]` |
| 4 | IF | `!ekk0341c530Template.isNull(EKK0341C530CBSMsg.GENE_ADD_DTM)` |
| 5 | SET | `wkMap.put(EKK0341C530CBSMsg.GENE_ADD_DTM, ekk0341c530Template.getString(EKK0341C530CBSMsg.GENE_ADD_DTM))` // Set registration date |

**Block 1.1.1.1.58** — [ELSE-IF] `mapKey.equals("EKK0341C231")` (L6166)
> Equipment contract change. (Equipment contract change)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wkErrorList = shosaOkMapper.editResultRPEKK0341C231(rslt, param)` |

**Block 1.1.1.1.59** — [ELSE-END] (L6171)
> Consolidate per-entry errors into the global error list after all branches.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `errorList.addAll(wkErrorList)` |

**Block 2** — [RETURN] (L6176)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return errorList` // Return accumulated errors for all processed entries |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `shosa` | Japanese | Validation / inspection / check — the business operation of verifying data integrity before contract processing |
| `rsltMap` | Field | Result map — a HashMap keyed by business-type mapKeys, each mapping to an ArrayList of data entries to validate |
| `mapKey` | Field | Map key discriminator — a business-type code (e.g., EKK0021C060, EKK0091C010) that determines which validation branch to execute |
| `agingWorkMap` | Field | Aging work map — a HashMap storing deferred billing related IDs (authentication IDs, SIP user IDs, etc.) for later aging/billing processing |
| `wkMapArray` | Local var | Working map array — the batch of entries for the current mapKey retrieved from rsltMap |
| `wkMap` | Local var | Working map — a single data entry (HashMap) representing one business data item to validate |
| `wkErrorList` | Local var | Working error list — per-entry error collection ArrayList |
| `errorList` | Local var | Error list — the global return value containing all errors across all processed entries |
| `ninsho_id` | Local var | Authentication ID — a generic variable holding various authentication IDs (PPP, ISP, SIP, ADSL) depending on the branch |
| `shk_eoId` | Local var | Validation target eo ID — the eo ID of the member being validated during member type change (ECK0011C120) |
| `place_no` | Local var | Installation location number — the location number acquired during installation location number acquisition (EKKA0020002) |
| `kojihi_kapu_flg` | Local var | Construction cost assignment flag — set to true when construction cost assignment contract is validated (EKK3131C030) |
| `agingTgValue` | Local var | Aging target value — the ADSL authentication ID after stripping the VR identification suffix |
| AGING_SBT_PPP_NINSHO_ID | Constant | Aging subtype: PPP authentication ID — code "012" for deferred PPP authentication |
| AGING_SBT_ISP_NINSHO_ID | Constant | Aging subtype: ISP authentication ID — code "013" for deferred ISP authentication |
| AGING_SBT_SIP_USER_ID | Constant | Aging subtype: SIP user ID — code "014" for deferred SIP user identification |
| AGING_SBT_ADSL_NINSHO_ID | Constant | Aging subtype: ADSL authentication ID — code "015" for deferred ADSL authentication |
| AGING_SBT_EOID | Constant | Aging subtype: eo ID — code "004" for deferred eo identification |
| AGING_SBT_CD | Constant | Aging subtype code — classification code for aging type |
| EKK0021C060 | MapKey | Statement validation and post-processing dispatch code |
| EKK0091C010 | MapKey | eo hikari network service contract validation code |
| EKK0101C010 | MapKey | eo hikari TV service contract validation code |
| EKK0111C010 | MapKey | eo hikari phone service contract validation code |
| EKK0121C010 | MapKey | eo mobile service contract validation code |
| EKK0141C010 | MapKey | eo ADSL service contract validation code |
| EKK0171C010 | MapKey | eo hikari network service contract detail validation code |
| EKK0181C010 | MapKey | eo hikari TV service contract detail validation code |
| EKK0191C010 | MapKey | eo hikari phone service contract detail validation code |
| EKK0221C010 | MapKey | eo ADSL service contract detail validation code |
| EKK0361C010 | MapKey | Option service contract (ISP) validation code |
| EKK0381C010 | MapKey | Option service contract (TV) validation code |
| EKK0371C010 | MapKey | Option service contract (phone) validation code |
| EKK0391C010 | MapKey | Option service contract (support) validation code |
| EKK0411C020 | MapKey | Sub-option service contract (ISP) validation code |
| EKK0421C010 | MapKey | Sub-option service contract (TV) validation code |
| EKK0431C010 | MapKey | Sub-option service contract (phone) validation code |
| EKK0341C030 | MapKey | Equipment provision service contract validation code |
| EKK0341C530 | MapKey | Equipment contract change code |
| EKK0341C231 | MapKey | Equipment contract change code (variant) |
| ECK0011C120 | MapKey | Member type change code |
| ECK0021C010 | MapKey | Individual customer information change code |
| ECK0031C010 | MapKey | Corporate customer information change code |
| ECK0201D010 | MapKey | Contact registration code |
| ECK0201C010 | MapKey | Contact change code |
| ECK0141D010 | MapKey | Opt mail access registration code |
| EKKA0020002 | MapKey | Installation location number acquisition code |
| EKKA0020003 | MapKey | Indoor device uniqueness check code |
| EKKA0020004 | MapKey | Equipment location number change code |
| ETU0011D010 | MapKey | Banpo construction registration code |
| EZM0121C010 | MapKey | Phone number change code |
| EKK2451C010 | MapKey | Third-party discount contract target contract application termination code |
| EKK2451D010 | MapKey | Third-party discount contract target contract registration code |
| EKK2541C030 | MapKey | Assignment contract validation code |
| EKK0441C030 | MapKey | Billing option service contract validation code |
| EKK0441C050 | MapKey | Billing option service contract validation completion code |
| EKK2811C030 | MapKey | Equipment option service contract validation code |
| EKK2811C050 | MapKey | Equipment option service contract validation completion code |
| EKK3131C030 | MapKey | Construction cost assignment contract validation code |
| EKK0191C060 | MapKey | Billing option service contract validation code (variant) |
| EKK0091C020 | MapKey | eo hikari network service contract completion SC code |
| EKK0111C020 | MapKey | eo hikari phone service contract completion SC code |
| EKK0141C020 | MapKey | eo ADSL service contract completion SC code |
| EKK0121C020 | MapKey | eo mobile service contract completion code |
| EKK0171C030 | MapKey | eo hikari network service contract detail validation completion SC code |
| EKK0191C030 | MapKey | eo hikari phone service contract detail validation completion SC code |
| EKK0221C030 | MapKey | eo ADSL service contract detail validation completion SC code |
| EKK0201C030 | MapKey | Mobile service contract detail validation completion code |
| EKK0361C030 | MapKey | Option service contract (ISP) validation completion code |
| EKK0391C030 | MapKey | Option service contract (support) validation completion code |
| EKK0341C050 | MapKey | Equipment provision service contract validation completion code |
| EKK0371C030 | MapKey | Option service contract (phone) validation completion code |
| EKK0431C030 | MapKey | Sub-option service contract (phone) validation completion code |
| EKK0411C040 | MapKey | Sub-option service contract (ISP) validation completion code |
| EKK0341C450 | MapKey | Equipment installation site reflect code |
| EKK0251C030 | MapKey | Service contract line content change code |
| SC Code | Nomenclature | Service Component code pattern: [A-Z]{3}\d{4}[A-Z]\d{3}(SC\|CBS) — e.g., EKK0091C010SC |
| CBS | Acronym | Customer Business System — the backend service component execution layer |
| SC | Acronym | Service Component — a modular business logic unit executed via the SC pipeline |
| eo hikari | Business term | K-Opticom's fiber-optic broadband service brand (Fiber To The Home / FTTH) |
| ADSL | Business term | Asymmetric Digital Subscriber Line — copper-line broadband service |
| ISP | Business term | Internet Service Provider — internet connectivity option service |
| SIP | Business term | Session Initiation Protocol — VoIP user identification system |
| PPP | Business term | Point-to-Point Protocol — dial-up network authentication protocol |
| MLAD | Acronym | Mail List Address Data — email subscription list address field in option ISP service |
| CAANMsg | Class | Contract Administration Annotated Message — the message object used to exchange data between SC pipeline and application layer |
| SC Code | Abbreviation | Service Component — the modular business logic unit executed via the SC pipeline |
| KK_T_OPSVKEI | Table | Operations service detail table — stores service contract detail records |
| KK_T_OPSVKEI_ISP | Table | Operations service detail ISP table — ISP service contract records |
| KK_T_OPSVKEI_TV | Table | Operations service detail TV table — TV service contract records |
| KK_T_OPSVKEI_TEL | Table | Operations service detail phone table — phone service contract records |
| KK_T_OPSVKEI_MOBILE | Table | Operations service detail mobile table — mobile service contract records |
| KK_T_OPSVKEI_ADSL | Table | Operations service detail ADSL table — ADSL service contract records |
| KK_T_OPSVKEI_HNET | Table | Operations service detail hikari network table — hikari network detail records |
| KK_T_OPSVKEI_HTV | Table | Operations service detail hikari TV table — hikari TV detail records |
| KK_T_OPSVKEI_HTEL | Table | Operations service detail hikari phone table — hikari phone detail records |
| KK_T_OPSVKEI_SUPP | Table | Operations service detail support table — support service contract records |
| KK_T_MBTYPE | Table | Member type master table — stores customer membership type codes |
| KK_T_CUST_INDIV | Table | Individual customer table — stores individual customer information |
| KK_T_CUST_CORP | Table | Corporate customer table — stores corporate customer information |
| KK_T_CONTACT | Table | Contact information table — stores customer contact records |
| KK_T_MAIL_ACCESS | Table | Mail access information table — stores email access settings |
| KK_T_PLACE | Table | Installation location table — stores location number assignments |
| KK_T_CONTRACT_LINE | Table | Contract line table — stores contract line item details |
| KK_T_EQUIP_INST | Table | Equipment installation table — stores equipment installation site information |
| KK_T_GROUP | Table | Group information table — stores customer group memberships |
| KK_T_BANPO | Table | Banpo construction table — stores banpo (phone line) construction records |
| KK_T_TELNO | Table | Telephone number table — stores telephone number assignments |
| KK_T_INDOOR_DEV | Table | Indoor device table — stores indoor device registration records |
| KK_T_EQUIP | Table | Equipment table — stores equipment registration records |
| KK_T_ASSGN_CONTRACT | Table | Assignment contract table — stores provisional assignment contract records |
| KK_T_BILLING_OPT | Table | Billing option table — stores billing option service contract records |
| KK_T_THIRD_DISC | Table | Third-party discount table — stores third-party discount contract records |
| KK_T_EQUIP_OPT | Table | Equipment option table — stores equipment option service contract records |
| KK_T_CONSTR_COST | Table | Construction cost table — stores construction cost assignment records |
| KK_T_EQUIP_CONTRACT | Table | Equipment contract table — stores equipment contract change records |
| KK_T_SUB_OPTION_ISP | Table | Sub-option ISP table — stores sub-option ISP service records |
| KK_T_SUB_OPTION_PHONE | Table | Sub-option phone table — stores sub-option phone service records |
| KK_T_OPTION_PHONE | Table | Option phone table — stores option phone service records |
| KK_T_OPTION_SUPPORT | Table | Option support table — stores option support service records |
| KK_T_CONTRACT_DETAIL_MOBILE | Table | Contract detail mobile table — stores mobile contract detail records |
| GENE_ADD_DTM | Field | Generation registration date/time — the timestamp when a generation was registered (from equipment contract change response) |
| SHK_EOID | Field | Validation target eo ID — the eo ID of the member being validated during member type change |
| SVC_KEI_UCWK_NO | Field | Service detail work number — internal tracking ID for service contract line items, used as aging map key suffix |
