## 4. CRUD Operations / Called Services

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

All method calls in `mapForDbUpd` are delegations to mapper objects, which in turn invoke SC/CC methods. The table below classifies the **direct calls** within this method:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JZEBatCommon.nullToBlank` | JZEBatCommon | - | Utility: null-to-blank conversion for string fields |
| - | `JZEbatMaskSyori.nullToBlank` | JZEbatMaskSyori | - | Utility: null-to-blank conversion with masking |
| - | `JZMBatCommon.nullToBlank` | JZMBatCommon | - | Utility: null-to-blank conversion for masked fields |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020201SC132` | JBSBatKKCrsChgIktAdd | - | Sets up course change inter-add SC132 variant |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020202SC` | JBSBatKKCrsChgIktAdd | - | Sets up course change SC2 |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020204SC` | JBSBatKKCrsChgIktAdd | - | Sets up course change SC4 (with iyakFlg) |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020205SC` | JBSBatKKCrsChgIktAdd | - | Sets up course change SC5 (with iyakFlg) |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020206SC` | JBSBatKKCrsChgIktAdd | - | Sets up course change SC6 (with iyakFlg) |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020224SC` | JBSBatKKCrsChgIktAdd | - | Sets up course change SC24 |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020225SC` | JBSBatKKCrsChgIktAdd | - | Sets up course change SC25 |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020227SC` | JBSBatKKCrsChgIktAdd | - | Sets up course change SC27 (with isWaornkiflg) |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020231CC` | JBSBatKKCrsChgIktAdd | - | Sets up course change CC31 |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020245SC` | JBSBatKKCrsChgIktAdd | - | Sets up course change SC45 (with svc_kei_stat and true flag) |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020278CC` | JBSBatKKCrsChgIktAdd | - | Sets up course change CC78 (with func_code variant) |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020279CC` | JBSBatKKCrsChgIktAdd | - | Sets up course change CC79 (ANK-2737-00-00) |
| - | `JBSBatKKCrsChgIktAdd.setKKSV020280SC` | JBSBatKKCrsChgIktAdd | - | Sets up course change SC80 (ANK-2737-00-00) |
| - | `OneStopDataBeanAccess.sendMessageString` | OneStopDataBeanAccess | - | Reads string value from DataBean by field key |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019401SC132` | KKSV0194 | - | Service contract content recovery SC132 |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019402SC128` | KKSV0194 | - | Suspended service contract content recovery SC128 |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019404SC` | KKSV0194 | - | Service contract content (eo light) transfer tokiset SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019405SC132` | KKSV0194 | - | Option service contract recovery SC132 |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019406SC132` | KKSV0194 | - | Suspended option service contract recovery SC132 |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019407SC` | KKSV0194 | - | Sub-option service contract recovery (with iyakFlg) |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019409SC132` | KKSV0194 | - | Equipment provision service contract recovery SC132 |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019411SC` | KKSV0194 | - | Service contract content recovery SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019412SC` | KKSV0194 | - | Suspended service contract content recovery SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV0194124SC` | KKSV0194 | - | Service contract reservation cancellation SC (OM-2014-0004036) |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV0194133SC` | KKSV0194 | - | Service contract content disconnection cancellation SC (ANK-3239) |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV0194134SC` | KKSV0194 | - | Post-dissolution service contract cancellation SC (ANK-3239) |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019414SC` | KKSV0194 | - | Service contract content (eo light) transfer tokiset settings SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019419SC` | KKSV0194 | - | Option service contract recovery SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019420SC` | KKSV0194 | - | Suspended option service contract recovery SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019421SC` | KKSV0194 | - | Sub-option service contract recovery SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019422SC` | KKSV0194 | - | Suspended sub-option service contract recovery SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019424SC` | KKSV0194 | - | Equipment provision service contract recovery SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019425SC` | KKSV0194 | - | Pre-service equipment provision service contract recovery SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019426SC` | KKSV0194 | - | Suspended equipment provision service contract recovery SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019427SC132` | KKSV0194 | - | Return equipment cancellation SC132 |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019428SC` | KKSV0194 | - | Return equipment cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019445SC130` | KKSV0194 | - | Service provision pre-equipment provision service contract recovery SC130 |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019446SC` | KKSV0194 | - | Post-dissolution service contract cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019447CC` | KKSV0194 | - | SOD issuance CC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019451CC` | KKSV0194 | - | Discount service auto-application CC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019452SC` | KKSV0194 | - | Service contract dissolution cancellation SC (IT1-2012-0000349) |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019453SC` | KKSV0194 | - | Service contract dissolution cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019454SC` | KKSV0194 | - | Post-dissolution service contract cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019455SC` | KKSV0194 | - | Service contract content dissolution cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019456SC` | KKSV0194 | - | Post-dissolution service contract cancellation cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019457SC` | KKSV0194 | - | Service contract wiring content cancellation cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019458SC` | KKSV0194 | - | Post-dissolution equipment provision service contract cancellation cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019459SC` | KKSV0194 | - | Option service contract dissolution cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019460SC` | KKSV0194 | - | Post-dissolution option service contract cancellation cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019461SC` | KKSV0194 | - | Sub-option service contract dissolution cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019462SC` | KKSV0194 | - | Post-dissolution sub-option service contract cancellation cancellation SC |
| - | `KKSV0194_KKSV0194OPDBMapper.setKKSV019407SC` | KKSV0194 | - | Sub-option service contract recovery (with iyakFlg parameter) |
| - | `KKSV0195_KKSV0195OPDBMapper.setKKSV019501CC128` | KKSV0195 | - | Contract cancellation CC128 (with iyakFlg and isWaornkiflg) |
| - | `KKSV0195_KKSV0195OPDBMapper.setKKSV019502SC` | KKSV0195 | - | Contract cancellation SC (ANK-0049-00-00) |
| - | `KKSV0196_KKSV0196OPDBMapper.settrgt_data` | KKSV0196 | - | Sets target data for cancel processing |
| - | `KKSV0196_KKSV0196OPDBMapper.setKKSV019602SC` | KKSV0196 | - | Cancel SC (ANK-0049-00-00) |
| - | `KKSV0197_KKSV0197OPDBMapper.setKKSV019701SC` | KKSV0197 | - | Suspension receipt SC1 |
| - | `KKSV0197_KKSV0197OPDBMapper.setKKSV019702SC` | KKSV0197 | - | Suspension receipt SC2 |
| - | `KKSV0197_KKSV0197OPDBMapper.setKKSV019704SC` | KKSV0197 | - | Suspension receipt SC4 |
| - | `KKSV0197_KKSV0197OPDBMapper.setKKSV019705SC` | KKSV0197 | - | Suspension receipt SC5 |
| - | `KKSV0197_KKSV0197OPDBMapper.setKKSV019709SC` | KKSV0197 | - | Suspension receipt SC9 |
| - | `KKSV0197_KKSV0197OPDBMapper.setKKSV019710SC` | KKSV0197 | - | Suspension receipt SC10 |
| - | `KKSV0197_KKSV0197OPDBMapper.setKKSV019713SC` | KKSV0197 | - | Suspension receipt SC13 (IT1-2012-0000349) |
| - | `KKSV0197_KKSV0197OPDBMapper.setKKSV019714SC` | KKSV0197 | - | Suspension receipt SC14 (ANK-0049-00-00) |
| - | `KKSV0198_KKSV0198OPDBMapper.setKKSV019801SC` | KKSV0198 | - | Cancel suspension SC1 |
| - | `KKSV0198_KKSV0198OPDBMapper.setKKSV019802SC` | KKSV0198 | - | Cancel suspension SC2 |
| - | `KKSV0198_KKSV0198OPDBMapper.setKKSV019804SC` | KKSV0198 | - | Cancel suspension SC4 |
| - | `KKSV0198_KKSV0198OPDBMapper.setKKSV019805SC` | KKSV0198 | - | Cancel suspension SC5 |
| - | `KKSV0198_KKSV0198OPDBMapper.setKKSV019809SC` | KKSV0198 | - | Cancel suspension SC9 |
| - | `KKSV0198_KKSV0198OPDBMapper.setKKSV019810SC` | KKSV0198 | - | Cancel suspension SC10 |
| - | `KKSV0198_KKSV0198OPDBMapper.setKKSV019813SC` | KKSV0198 | - | Cancel suspension SC13 (IT1-2012-0000349) |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020001SC` | KKSV0200 | - | Edit content SC1 |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020002SC` | KKSV0200 | - | Edit content SC2 |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020003SC` | KKSV0200 | - | Edit content SC3 |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020004SC` | KKSV0200 | - | Edit content SC4 (with iyakFlg) |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020008SC` | KKSV0200 | - | Edit content SC8 |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020013SC` | KKSV0200 | - | Edit content SC13 (conditional on svc_kei_stat != 920) |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020014CC` | KKSV0200 | - | Edit content CC14 |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020015SC` | KKSV0200 | - | Edit content SC15 |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020016SC` | KKSV0200 | - | Edit content SC16 |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020018SC` | KKSV0200 | - | Edit content SC18 (with svc start date) |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020031SC` | KKSV0200 | - | Edit content SC31 - billing document room number (ANK-0572-00-00) |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020032CC` | KKSV0200 | - | Edit content CC32 - fixed IP address 8 change (ANK-3900-00-00) |
| - | `KKSV0200_KKSV0200OPDBMapper.setKKSV020035CC` | KKSV0200 | - | Edit content CC35 - DNS change (ANK-4174-00-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020201SC132` | KKSV0202 | - | Course change SC132 |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020202SC` | KKSV0202 | - | Course change SC2 |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020204SC` | KKSV0202 | - | Course change SC4 (with isWaornkiflg) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020205SC` | KKSV0202 | - | Course change SC5 (with iyakFlg) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020206SC` | KKSV0202 | - | Course change SC6 (with iyakFlg) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020215SC` | KKSV0202 | - | Course change SC15 (with settlement service number) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020216SC` | KKSV0202 | - | Course change SC16 |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020217CC` | KKSV0202 | - | Course change CC17 (ANK-0025-00-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020224SC` | KKSV0202 | - | Course change SC24 |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020225SC` | KKSV0202 | - | Course change SC25 |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020227SC` | KKSV0202 | - | Course change SC27 (with isWaornkiflg) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020231CC` | KKSV0202 | - | Course change CC31 |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020234SC` | KKSV0202 | - | Course change SC34 (with iyakFlg) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020239SC` | KKSV0202 | - | Course change SC39 (with iyakFlg) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020241SC` | KKSV0202 | - | Course change SC41 (with iyakFlg) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020245SC` | KKSV0202 | - | Course change SC45 (with svc_kei_stat and true flag) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020256SC128` | KKSV0202 | - | Course change SC56 (IT1-2013-0001253, 100M re-limit) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020258SC` | KKSV0202 | - | Course change SC58 (IT1-2012-0000349) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020267SC` | KKSV0202 | - | Course change SC67 - check-only with application number (ANK-0275-01-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020268SC` | KKSV0202 | - | Course change SC68 - check-only with application number (ANK-0275-01-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020270SC` | KKSV0202 | - | Course change SC70 - 1-giga and other price adjustment (ANK-1270-00-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020271SC` | KKSV0202 | - | Course change SC71 - 1-giga and other price adjustment (ANK-1270-00-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020278CC` | KKSV0202 | - | Course change CC78 - service status acquisition (ANK-2631-00-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020279CC` | KKSV0202 | - | Course change CC79 (ANK-2737-00-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020280SC` | KKSV0202 | - | Course change SC80 (ANK-2737-00-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020296CC` | KKSV0202 | - | Course change CC96 - equipment exchange determination (ANK-3412-00-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020297CC` | KKSV0202 | - | Course change CC97 (ANK-3949-00-00) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020298CC` | KKSV0202 | - | Course change CC98 - address change异动 reservation check (OM-2021-0000384) |
| - | `KKSV0202_KKSV0202OPDBMapper.setKKSV020299CC` | KKSV0202 | - | Course change CC99 (ANK-4315-00-00) |
| - | `KKSV0203_KKSV0203OPDBMapper.setKKSV020301CC` | KKSV0203 | - | Suspend CC1 |
| - | `KKSV0203_KKSV0203OPDBMapper.setKKSV020302SC` | KKSV0203 | - | Suspend SC (ANK-0049-00-00) |
| - | `KKSV0203_KKSV0203OPDBMapper.setKKSV020303CC` | KKSV0203 | - | Suspend CC3 with svcCd (ANK-2737-00-00) |
| - | `KKSV0204_KKSV0204OPDBMapper.setKKSV020401CC` | KKSV0204 | - | Suspend change/reservation cancel CC1 |
| - | `KKSV0787_KKSV0787OPDBMapper.setKKSV078701CC` | KKSV0787 | - | Address change CC1 (with svc start date) |

## 5. Dependency Trace

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

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0128 | KKW00128SFLogic.actionFix -> mapForDbUpd | nullToBlank, setKKSV078701CC, getString, setKKSV020401CC, setKKSV020303CC, setKKSV020302SC, setKKSV020301CC, setKKSV020299CC, setKKSV020298CC, setKKSV020297CC, setKKSV020296CC, setKKSV020278CC, nullToBlank variants |
| 2 | Screen:KKSV0128 | KKW00128SFLogic.actionUpdcfm -> mapForDbUpd | nullToBlank, setKKSV078701CC, getString, setKKSV020401CC, setKKSV020303CC, setKKSV020302SC, setKKSV020301CC, setKKSV020299CC, setKKSV020298CC, setKKSV020297CC, setKKSV020296CC, setKKSV020278CC, nullToBlank variants |

## 6. Per-Branch Detail Blocks

**Block 1** — IF `(svcFlg == "2" || svcFlg == "3")` [SVC_FLG="サービス判定フラグ"] (L5063-5069)
> Pre-processing guard: Check if service type is maintenance type (2) or maintenance type private (3). If so, set iyakFlg flag.

| # | Type | Code |
|---|------|------|
| 1 | SET | `iyakFlg = true` [SVC_FLG="サービス判定フラグ"] |
| 2 | IF | `"2".equals(svcFlg) || "3".equals(svcFlg)` [2=メンテナンスタイプ, 3=メンテナンスタイプ(プライベート)] |
| 2.1 | SET | `iyakFlg = true` [TAI-2012-0000081 MOD: changed from false to true] |

**Block 2** — IF/ELSE-IF chain `(ido_div)` (L5072-5383) [ ido_div = 异动区分 ]

**Block 2.1** — IF `[ido_div == JKKCommonConst.IDO_DIV_VALUE_00004 = "00004"]` (Recovery) (L5072-5136)
> Branch: Recovery (恢复) - Recovers suspended or cancelled service contracts. Instantiates KKSV0194 mapper and calls 28 SC/CC methods.

| # | Type | Code |
|---|------|------|
| 1 | INST | `KKSV0194_KKSV0194OPDBMapper mapper = new KKSV0194_KKSV0194OPDBMapper()` |
| 2 | CALL | `mapper.setKKSV019411SC(paramBean, inputMap, func_code)` // Service contract content recovery SC |
| 3 | CALL | `mapper.setKKSV019412SC(paramBean, inputMap, func_code)` // Suspended service contract content recovery SC |
| 4 | CALL | `mapper.setKKSV019414SC(paramBean, inputMap, func_code)` // Service contract content (eo light) transfer tokiset settings SC |
| 5 | CALL | `mapper.setKKSV019419SC(paramBean, inputMap, func_code)` // Option service contract recovery SC |
| 6 | CALL | `mapper.setKKSV019420SC(paramBean, inputMap, func_code)` // Suspended option service contract recovery SC |
| 7 | CALL | `mapper.setKKSV019421SC(paramBean, inputMap, func_code)` // Sub-option service contract recovery SC |
| 8 | CALL | `mapper.setKKSV019422SC(paramBean, inputMap, func_code)` // Suspended sub-option service contract recovery SC |
| 9 | CALL | `mapper.setKKSV019424SC(paramBean, inputMap, func_code)` // Equipment provision service contract recovery SC |
| 10 | CALL | `mapper.setKKSV019425SC(paramBean, inputMap, func_code)` // Pre-service equipment provision service contract recovery SC |
| 11 | CALL | `mapper.setKKSV019426SC(paramBean, inputMap, func_code)` // Suspended equipment provision service contract recovery SC |
| 12 | CALL | `mapper.setKKSV019428SC(paramBean, inputMap, func_code)` // Return equipment cancellation SC |
| 13 | CALL | `mapper.setKKSV019439SC(paramBean, inputMap, func_code)` // Enabling recovery SC |
| 14 | CALL | `mapper.setKKSV019447CC(paramBean, inputMap, func_code)` // SOD issuance CC |
| 15 | CALL | `mapper.setKKSV019451CC(paramBean, inputMap, func_code)` // Discount service auto-application CC |
| 16 | CALL | `mapper.setKKSV019453SC(paramBean, inputMap, func_code)` // Service contract dissolution cancellation SC |
| 17 | CALL | `mapper.setKKSV019454SC(paramBean, inputMap, func_code)` // Post-dissolution service contract cancellation SC |
| 18 | CALL | `mapper.setKKSV019455SC(paramBean, inputMap, func_code)` // Service contract content dissolution cancellation SC |
| 19 | CALL | `mapper.setKKSV019456SC(paramBean, inputMap, func_code)` // Post-dissolution service contract cancellation cancellation SC |
| 20 | CALL | `mapper.setKKSV019457SC(paramBean, inputMap, func_code)` // Service contract wiring content cancellation cancellation SC |
| 21 | CALL | `mapper.setKKSV019458SC(paramBean, inputMap, func_code)` // Post-dissolution equipment provision service contract cancellation cancellation SC |
| 22 | CALL | `mapper.setKKSV019459SC(paramBean, inputMap, func_code)` // Option service contract dissolution cancellation SC |
| 23 | CALL | `mapper.setKKSV019460SC(paramBean, inputMap, func_code)` // Post-dissolution option service contract cancellation cancellation SC |
| 24 | CALL | `mapper.setKKSV019461SC(paramBean, inputMap, func_code)` // Sub-option service contract dissolution cancellation SC |
| 25 | CALL | `mapper.setKKSV019462SC(paramBean, inputMap, func_code)` // Post-dissolution sub-option service contract cancellation cancellation SC |
| 26 | CALL | `mapper.setKKSV019401SC132(...)` with `JPCModelConstant.FUNC_CD_2` // Service contract content recovery SC132 |
| 27 | CALL | `mapper.setKKSV019402SC128(...)` with `JPCModelConstant.FUNC_CD_2` // Suspended service contract content recovery SC128 |
| 28 | CALL | `mapper.setKKSV019404SC(...)` with `func_code` // Service contract content (eo light) transfer tokiset SC |
| 29 | CALL | `mapper.setKKSV019405SC132(...)` with `func_code` // Option service contract recovery SC132 |
| 30 | CALL | `mapper.setKKSV019406SC132(...)` with `func_code` // Suspended option service contract recovery SC132 |
| 31 | CALL | `mapper.setKKSV019407SC(...)` with `func_code, iyakFlg` // Sub-option service contract recovery (with iyakFlg) |
| 32 | CALL | `mapper.setKKSV019409SC132(...)` with `func_code` // Equipment provision service contract recovery SC132 |
| 33 | CALL | `mapper.setKKSV019427SC132(...)` with `func_code` // Return equipment cancellation SC132 |
| 34 | CALL | `mapper.setKKSV019445SC130(...)` with `func_code` // Service provision pre-equipment recovery SC130 |
| 35 | CALL | `mapper.setKKSV019446SC(...)` with `func_code` // Post-dissolution cancellation SC |
| 36 | CALL | `mapper.setKKSV019452SC(...)` with `func_code` // IT1-2012-0000349 |
| 37 | CALL | `mapper.setKKSV0194124SC(...)` with `JPCModelConstant.FUNC_CD_2` // OM-2014-0004036 |
| 38 | CALL | `mapper.setKKSV0194133SC(...)` with `func_code` // ANK-3239-00-00 |
| 39 | CALL | `mapper.setKKSV0194134SC(...)` with `func_code` // ANK-3239-00-00 |

**Block 2.2** — ELSE-IF `[ido_div == JKKCommonConst.IDO_DIV_VALUE_00005 = "00005"]` (Contract Cancellation) (L5139-5148)
> Branch: Contract cancellation (解約). Instantiates KKSV0195 mapper and calls 2 SC/CC methods.

| # | Type | Code |
|---|------|------|
| 1 | INST | `KKSV0195_KKSV0195OPDBMapper mapper = new KKSV0195_KKSV0195OPDBMapper()` |
| 2 | CALL | `mapper.setKKSV019502SC(paramBean, inputMap, func_code)` // ANK-0049-00-00 |
| 3 | CALL | `mapper.setKKSV019501CC128(paramBean, inputMap, func_code, iyakFlg, isWaornkiflg)` // ANK-4640-00-00 MOD |

**Block 2.3** — ELSE-IF `[ido_div == JKKCommonConst.IDO_DIV_VALUE_00008 = "00008"]` (Cancel) (L5151-5159)
> Branch: Cancel (キャンセル). Instantiates KKSV0196 mapper.

| # | Type | Code |
|---|------|------|
| 1 | INST | `KKSV0196_KKSV0196OPDBMapper mapper = new KKSV0196_KKSV0196OPDBMapper()` |
| 2 | CALL | `mapper.settrgt_data(paramBean, inputMap, func_code)` |
| 3 | CALL | `mapper.setKKSV019602SC(paramBean, inputMap, func_code)` // ANK-0049-00-00 |

**Block 2.4** — ELSE-IF `[ido_div == JKKCommonConst.IDO_DIV_VALUE_00010 = "00010"]` (Suspend Receipt) (L5162-5179)
> Branch: Suspend receipt (休止受注). Instantiates KKSV0197 mapper, calls 8 SC methods.

| # | Type | Code |
|---|------|------|
| 1 | INST | `KKSV0197_KKSV0197OPDBMapper mapper = new KKSV0197_KKSV0197OPDBMapper()` |
| 2 | CALL | `mapper.setKKSV019701SC(...)` with `JPCModelConstant.FUNC_CD_2` |
| 3 | CALL | `mapper.setKKSV019702SC(...)` with `JPCModelConstant.FUNC_CD_2` |
| 4 | CALL | `mapper.setKKSV019704SC(...)` with `func_code` |
| 5 | CALL | `mapper.setKKSV019705SC(...)` with `func_code` |
| 6 | CALL | `mapper.setKKSV019709SC(...)` with `func_code` |
| 7 | CALL | `mapper.setKKSV019710SC(...)` with `func_code` |
| 8 | CALL | `mapper.setKKSV019713SC(...)` with `func_code` // IT1-2012-0000349 |
| 9 | CALL | `mapper.setKKSV019714SC(...)` with `func_code` // ANK-0049-00-00 |

**Block 2.5** — ELSE-IF `[ido_div == JKKCommonConst.IDO_DIV_VALUE_00011 = "00011"]` (Cancel Suspension) (L5182-5198)
> Branch: Cancel suspension (中止解除). Instantiates KKSV0198 mapper, calls 8 SC methods.

| # | Type | Code |
|---|------|------|
| 1 | INST | `KKSV0198_KKSV0198OPDBMapper mapper = new KKSV0198_KKSV0198OPDBMapper()` |
| 2 | CALL | `mapper.setKKSV019801SC(...)` with `JPCModelConstant.FUNC_CD_2` |
| 3 | CALL | `mapper.setKKSV019802SC(...)` with `JPCModelConstant.FUNC_CD_2` |
| 4 | CALL | `mapper.setKKSV019804SC(...)` with `func_code` |
| 5 | CALL | `mapper.setKKSV019805SC(...)` with `func_code` |
| 6 | CALL | `mapper.setKKSV019809SC(...)` with `func_code` |
| 7 | CALL | `mapper.setKKSV019810SC(...)` with `func_code` |
| 8 | CALL | `mapper.setKKSV019813SC(...)` with `func_code` // IT1-2012-0000349 |

**Block 2.6** — ELSE-IF `[ido_div == "00032" || ido_div == "00033"]` (Edit Content / Info Edite) (L5201-5289)
> Branch: Content correction / service information edit (登録内容修正・サービス情報订正). Handles both registration content correction (00032) and service information edit (00033). This is the most complex branch with nested conditionals.

| # | Type | Code |
|---|------|------|
| 1 | INST | `KKSV0200_KKSV0200OPDBMapper mapper = new KKSV0200_KKSV0200OPDBMapper()` |
| 2 | CALL | `mapper.setKKSV020001SC(paramBean, inputMap, func_code)` |
| 3 | CALL | `mapper.setKKSV020002SC(paramBean, inputMap, func_code)` |
| 4 | CALL | `mapper.setKKSV020003SC(paramBean, inputMap, func_code)` |
| 5 | CALL | `mapper.setKKSV020004SC(paramBean, inputMap, func_code, iyakFlg)` |
| 6 | CALL | `mapper.setKKSV020008SC(paramBean, inputMap, func_code)` |
| 7 | SET | `svc_kei_stat = paramBean[0].sendMessageString(SVC_KEI_STAT_H, DATABEAN_GET_VALUE)` // Service contract status |
| 8 | IF `[!JKKCommonConst.SVC_KEI_STAT_920.equals(svc_kei_stat)]` (L5230) |
| 8.1 | CALL | `mapper.setKKSV020013SC(paramBean, inputMap, func_code)` // Conditional on status != 920 |
| 9 | CALL | `mapper.setKKSV020014CC(paramBean, inputMap, func_code)` |
| 10 | CALL | `mapper.setKKSV020015SC(paramBean, inputMap, func_code)` |
| 11 | CALL | `mapper.setKKSV020016SC(paramBean, inputMap, func_code)` |
| 12 | CALL | `mapper.setKKSV020018SC(paramBean, inputMap, func_code, getString(...SVC_STA_YMD))` // With start date |
| 13 | SET | `payHoshikiCd = getString(...PAY_HOSHIKI_CD)` [-> ANK-0572-00-00: 支付方式代码] |
| 14 | SET | `seikyusYoRmNo = getString(...SEIKYUS_YO_RM_NO)` [-> ANK-0572-00-00: 请求书用部屋番号] |
| 15 | IF `[seikyusYoRmNo != null && !"" AND (payHoshikiCd == "001" OR "003" OR "004")]` (L5254) |
| 15.1 | CALL | `mapper.setKKSV020031SC(...)` with `JPCModelConstant.FUNC_CD_1` // Billing document room number |
| 16 | SET | `koteiIpAd8 = JKKStringUtil.nullToBlank(...sendMessageString(KOTEI_IP_AD_8, ...))` |
| 17 | SET | `bf_koteiIpAd8 = JKKStringUtil.nullToBlank(...sendMessageString(KOTEI_IP_AD_8_BF, ...))` |
| 18 | IF `!koteiIpAd8.equals(bf_koteiIpAd8)` (L5260) |
| 18.1 | CALL | `mapper.setKKSV020032CC(...)` with `JPCModelConstant.FUNC_CD_1` // ANK-3900-00-00: Fixed IP AD8 change |
| 19 | SET | `bfDnskhDoi = ...sendMessageString(DENSKH_DOI_UM_BF, ...)` |
| 20 | SET | `dnskhDoi = ...sendMessageString(DENSKH_DOI_UM, ...)` |
| 21 | IF `!bfDnskhDoi.equals(dnskhDoi)` (L5273) |
| 21.1 | CALL | `mapper.setKKSV020035CC(...)` with `JPCModelConstant.FUNC_CD_1` // ANK-4174-00-00: DNS change |

**Block 2.7** — ELSE-IF `[ido_div == JKKCommonConst.IDO_DIV_VALUE_00053 = "00053"]` (Cancel Reservation) (L5292-5304)
> Branch: Cancel reservation (解約予約取消). Reuses KKSV0195 mapper (same as Block 2.2).

| # | Type | Code |
|---|------|------|
| 1 | INST | `KKSV0195_KKSV0195OPDBMapper mapper = new KKSV0195_KKSV0195OPDBMapper()` |
| 2 | CALL | `mapper.setKKSV019501CC128(paramBean, inputMap, func_code, iyakFlg, isWaornkiflg)` // ANK-4640-00-00 |

**Block 2.8** — ELSE-IF `[ido_div == JKKCommonConst.IDO_DIV_VALUE_00009 = "00009"]` (Course Change) (L5307-5378)
> Branch: Course change (コース変更). The most extensive branch with 24 mapper calls and multiple nested conditionals.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svc_kei_stat = paramBean[0].sendMessageString(SVC_KEI_STAT_H, DATABEAN_GET_VALUE)` |
| 2 | INST | `KKSV0202_KKSV0202OPDBMapper mapper = new KKSV0202_KKSV0202OPDBMapper()` |
| 3 | CALL | `mapper.setKKSV020201SC132(...)` with `JPCModelConstant.FUNC_CD_2` |
| 4 | CALL | `mapper.setKKSV020202SC(...)` with `JPCModelConstant.FUNC_CD_2` |
| 5 | CALL | `mapper.setKKSV020204SC(...)` with `func_code, isWaornkiflg` // ANK-4640-00-00 |
| 6 | CALL | `mapper.setKKSV020205SC(...)` with `func_code, iyakFlg` |
| 7 | CALL | `mapper.setKKSV020206SC(...)` with `func_code, iyakFlg` |
| 8 | CALL | `mapper.setKKSV020224SC(...)` with `func_code` |
| 9 | CALL | `mapper.setKKSV020225SC(...)` with `func_code` |
| 10 | CALL | `mapper.setKKSV020227SC(...)` with `func_code, isWaornkiflg` // ANK-4640-00-00 |
| 11 | CALL | `mapper.setKKSV020231CC(...)` with `func_code` |
| 12 | CALL | `mapper.setKKSV020234SC(...)` with `func_code, iyakFlg` |
| 13 | CALL | `mapper.setKKSV020239SC(...)` with `func_code, iyakFlg` |
| 14 | CALL | `mapper.setKKSV020241SC(...)` with `func_code, iyakFlg` |
| 15 | CALL | `mapper.setKKSV020245SC(...)` with `func_code, svc_kei_stat, true` // OM-2015-0001645 |
| 16 | CALL | `mapper.setKKSV020215SC(...)` with `func_code, svc_kei_dataMap.get(SVCKEICOMMON_ID_SEIKY_KEI_NO)` |
| 17 | CALL | `mapper.setKKSV020216SC(...)` with `func_code` |
| 18 | CALL | `mapper.setKKSV020258SC(...)` with `func_code` // IT1-2012-0000349 |
| 19 | CALL | `mapper.setKKSV020217CC(...)` with `func_code` // ANK-0025-00-00 |
| 20 | CALL | `mapper.setKKSV020279CC(...)` with `func_code` // ANK-2737-00-00 |
| 21 | CALL | `mapper.setKKSV020280SC(...)` with `func_code` // ANK-2737-00-00 |
| 22 | SET | `mskmshoDtlNo = getString(...MSKMSHO_DTL_NO)` |
| 23 | IF `[JPCModelConstant.FUNC_CD_2.equals(func_code) AND !isNull(mskmshoDtlNo) AND checkKojiUm()]` (L5343) |
| 23.1 | CALL | `mapper.setKKSV020267SC(...)` with `JPCModelConstant.FUNC_CD_1` // Check-only, application number entered, work exists |
| 23.2 | CALL | `mapper.setKKSV020268SC(...)` with `JPCModelConstant.FUNC_CD_1` // Check-only |
| 24 | SET | `svcKeiStat = paramBean[0].sendMessageString(SVC_KEI_STAT_H, DATABEAN_GET_VALUE)` |
| 25 | IF `[JPCModelConstant.FUNC_CD_2.equals(func_code) AND !isNull(svcKeiStat) AND SVC_KEI_STAT_100.compareTo(svcKeiStat) <= 0]` (L5353) |
| 25.1 | CALL | `mapper.setKKSV020270SC(...)` with `JPCModelConstant.FUNC_CD_1` // 1-giga and other price adjustment |
| 25.2 | CALL | `mapper.setKKSV020271SC(...)` with `JPCModelConstant.FUNC_CD_1` // 1-giga and other price adjustment |
| 26 | CALL | `mapper.setKKSV020256SC128(...)` with `func_code` // 100M re-limit |
| 27 | IF `[JPCModelConstant.FUNC_CD_2.equals(func_code)]` (L5366) |
| 27.1 | CALL | `mapper.setKKSV020278CC(...)` with `JPCModelConstant.FUNC_CD_3` // ANK-2631-00-00 |
| 28 | ELSE-IF `[JPCModelConstant.FUNC_CD_1.equals(func_code)]` (L5369) |
| 28.1 | CALL | `mapper.setKKSV020278CC(...)` with `func_code` |
| 29 | CALL | `mapper.setKKSV020296CC(...)` with `func_code` // ANK-3412-00-00: Equipment exchange |
| 30 | IF `!isNull(svcKeiStat) AND SVC_KEI_STAT_100.compareTo(svcKeiStat) > 0` (L5376) |
| 30.1 | CALL | `mapper.setKKSV020297CC(...)` // ANK-3949-00-00 |
| 31 | CALL | `mapper.setKKSV020298CC(...)` // OM-2021-0000384: Address change check |
| 32 | CALL | `mapper.setKKSV020299CC(...)` with `func_code` // ANK-4315-00-00 |

**Block 2.9** — ELSE-IF `[ido_div == JKKCommonConst.IDO_DIV_VALUE_00024 = "00024"]` (Suspend) (L5382-5392)
> Branch: Suspend (休止受注). Instantiates KKSV0203 mapper.

| # | Type | Code |
|---|------|------|
| 1 | INST | `KKSV0203_KKSV0203OPDBMapper mapper = new KKSV0203_KKSV0203OPDBMapper()` |
| 2 | CALL | `mapper.setKKSV020301CC(paramBean, inputMap, func_code)` |
| 3 | CALL | `mapper.setKKSV020302SC(paramBean, inputMap, func_code)` // ANK-0049-00-00 |
| 4 | SET | `svcCd = JKKCommonConst.SVC_CD_NET = "01"` // Net service code |
| 5 | CALL | `mapper.setKKSV020303CC(paramBean, inputMap, func_code, svcCd)` // ANK-2737-00-00 |

**Block 2.10** — ELSE-IF `[ido_div == JKKCommonConst.IDO_DIV_VALUE_00025 = "00025"]` (Suspend Change) (L5395-5399)
> Branch: Suspend change/reservation cancel (休止変更・予約取消).

| # | Type | Code |
|---|------|------|
| 1 | INST | `KKSV0204_KKSV0204OPDBMapper mapper = new KKSV0204_KKSV0204OPDBMapper()` |
| 2 | CALL | `mapper.setKKSV020401CC(paramBean, inputMap, func_code)` |

**Block 2.11** — ELSE-IF `[ido_div == JKKCommonConst.IDO_DIV_VALUE_00084 = "00084"]` (Address Change) (L5402-5407)
> Branch: Address change with start date adjustment (住所変更・开始日补正).

| # | Type | Code |
|---|------|------|
| 1 | INST | `KKSV0787_KKSV0787OPDBMapper mapper = new KKSV0787_KKSV0787OPDBMapper()` |
| 2 | CALL | `mapper.setKKSV078701CC(paramBean, inputMap, func_code, getString(...SVC_STA_YMD))` // With start date |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `ido_div` | Field | Operation type discriminator (异动区分) — classifies the type of service contract modification (recovery, cancellation, course change, etc.) |
| `iyakFlg` | Field | Contract transfer flag (引渡フラグ) — indicates whether contract transfer processing should be applied |
| `isWaornkiflg` | Field | NTT add-on removal flag (NTT卸追加フラグ) — controls NTT service removal processing (added in ANK-4640-00-00) |
| `svcFlg` | Field | Service judgment flag (サービス判定フラグ) — indicates service type: 1=home type, 2=maintenance type, 3=maintenance type (private) |
| `svc_kei_stat` | Field | Service detail status (サービス詳細ステータス) — indicates the current status of the service contract line item |
| `func_code` | Field | Function code — identifies operation mode: 1=registration, 2=check-only, 3=course change |
| `payHoshikiCd` | Field | Payment method code (支払方式コード) — code for billing/payment method |
| `seikyusYoRmNo` | Field | Billing document room number (請求書用部屋番号) — room number for billing documents |
| `koteiIpAd8` | Field | Fixed IP address 8 (固定IPアドレス8) — current fixed IP address setting |
| `bf_koteiIpAd8` | Field | Before fixed IP address 8 (旧固定IPアドレス8) — previous fixed IP address setting (before value) |
| `denkhhDoi` | Field | DNS setting (DNS設定) — DNS configuration for the service |
| `mskmshoDtlNo` | Field | Application detail number (申請書詳細番号) — application form detail number |
| `svc_sta_ymd` | Field | Service start date (サービス開始日) — YYYYMMDD format service start date |
| `SVC_FLG` | Constant | Service judgment flag key (サービス判定フラグ) |
| `SVC_KEI_STAT_H` | Constant | Service detail status hidden field key (サービス詳細ステータス隠し項目) |
| `PAY_HOSHIKI_CD` | Constant | Payment method code key (支払方式コード) |
| `KOTEI_IP_AD_8` | Constant | Fixed IP address 8 key (固定IPアドレス8) |
| `KOTEI_IP_AD_8_BF` | Constant | Before fixed IP address 8 key (旧固定IPアドレス8) |
| `DENSKH_DOI_UM` | Constant | DNS setting key (DNS設定) |
| `DENSKH_DOI_UM_BF` | Constant | Before DNS setting key (旧DNS設定) |
| `MSKMSHO_DTL_NO` | Constant | Application detail number key (申請書詳細番号) |
| `SEIKYUS_YO_RM_NO` | Constant | Billing document room number key (請求書用部屋番号) |
| `SVC_STA_YMD` | Constant | Service start date key (サービス開始日) |
| `IDO_DIV_VALUE_00004` | Constant | Recovery (恢复) |
| `IDO_DIV_VALUE_00005` | Constant | Contract cancellation (解約) |
| `IDO_DIV_VALUE_00008` | Constant | Cancel (キャンセル) |
| `IDO_DIV_VALUE_00009` | Constant | Course change (コース変更) |
| `IDO_DIV_VALUE_00010` | Constant | Suspend receipt (休止受注) |
| `IDO_DIV_VALUE_00011` | Constant | Cancel suspension (中止解除) |
| `IDO_DIV_VALUE_00024` | Constant | Suspend (休止受注) |
| `IDO_DIV_VALUE_00025` | Constant | Suspend change/reservation cancel (休止変更・予約取消) |
| `IDO_DIV_VALUE_00032` | Constant | Registration content correction (登録内容修正) |
| `IDO_DIV_VALUE_00033` | Constant | Service information edit (サービス情報订正) |
| `IDO_DIV_VALUE_00053` | Constant | Cancel reservation (解約予約取消) |
| `IDO_DIV_VALUE_00084` | Constant | Address change with start date adjustment (住所変更・开始日补正) |
| `SVC_KEI_STAT_100` | Constant | Service status 100 — service provision ongoing (サービス提供中) |
| `SVC_KEI_STAT_920` | Constant | Service status 920 — special status (conditional skip for setKKSV020013SC) |
| `SVC_CD_NET` | Constant | Service code "01" — eo light network service (eo光ネット) |
| `FUNC_CD_1` | Constant | Function code "1" — registration/insert mode |
| `FUNC_CD_2` | Constant | Function code "2" — check-only mode |
| `FUNC_CD_3` | Constant | Function code "3" — course change mode |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband service |
| SOD | Acronym | Service Order Data — telecom service order fulfillment entity |
| SC | Technical | Service Component — service layer component for data operations |
| CC | Technical | Control Component — control layer component for business logic |
| KKSVxxxx | Technical | K-Opticom Service View module prefix — identifies service screen modules |
| KKSV0194 | Technical | Recovery (恢复) mapper module |
| KKSV0195 | Technical | Contract cancellation (解約) mapper module |
| KKSV0196 | Technical | Cancel (キャンセル) mapper module |
| KKSV0197 | Technical | Suspend receipt (休止受注) mapper module |
| KKSV0198 | Technical | Cancel suspension (中止解除) mapper module |
| KKSV0200 | Technical | Content correction / service information edit mapper module |
| KKSV0202 | Technical | Course change (コース変更) mapper module |
| KKSV0203 | Technical | Suspend (休止受注) mapper module |
| KKSV0204 | Technical | Suspend change/reservation cancel mapper module |
| KKSV0787 | Technical | Address change mapper module |
| X31SDataBeanAccess | Technical | One-stop DataBean access class for reading/writing screen bean values |
| eo light | Business term | eo光 — K-Opticom's fiber-optic broadband service brand |