
## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JKKHakkoSODCC.callEKK0351B002SC` | EKK0351B002SC | KK_T_OP_SVCKEI (Option service contract table) | Calls option service contract list inquiry by service contract number |
| R | `JKKHakkoSODCC.callEKK0351A010SC` | EKK0351A010SC | KK_T_OP_SVCKEI_DETAIL (Option service contract detail table) | Calls option service contract agreement inquiry by option service contract number |
| R | `JKKHakkoSODCC.callEKK0341B008SC` | EKK0341B008SC | KK_T_KKTK_SVCKEI (Equipment-provided service contract table) | Calls equipment-provided service contract list inquiry by service contract number |
| R | `JKKHakkoSODCC.callEKK0361A010SC` | EKK0361A010SC | KK_T_OP_SVCKEI_ISP (Option service contract <ISP> table) | Calls option service contract <ISP> agreement inquiry |
| R | `JKKHakkoSODCC.callEKK0161A010SC` | EKK0161A010SC | KK_T_SVCKEI_UCWK (Service contract detail table) | Calls service contract detail agreement inquiry by service contract detail number |
| R | `JKKHakkoSODCC.callEKK0341B008_02SC` | EKK0341B008_02SC | KK_T_KKTK_SVCKEI (Equipment-provided service contract table) | Alternative equipment-provided service contract list inquiry (EG switch path) |
| R | `JKKHakkoSODCC.getEKK0251B001SC` | EKK0251B001SC | KK_T_SVCKEI_KAISEN (Service line detail table) | Calls service line detail list inquiry by service contract number |
| R | `JKKHakkoSODCC.callEKK0191A010SC` | EKK0191A010SC | KK_T_SVCKEI_UCWK_TEL (Telephone service contract detail table) | Calls telephone service contract detail agreement inquiry |
| R | `JKKHakkoSODCC.getEKK1041B001result` | EKK1041B001SC | KK_T_ODR_SET (Order settings table) | Retrieves order settings list result from param |
| R | `JKKHakkoSODCC.callEKK1041B001SC` | EKK1041B001SC | KK_T_ODR_SET (Order settings table) | Calls order settings list inquiry by order type code, service order code, service contract number |
| R | `JKKHakkoSODCC.callEKK0351B002SC` (Mobile) | EKK0351B002SC | KK_T_OP_SVCKEI | Calls option service contract list inquiry in mobile branch |
| C | `JKKHakkoSODCC.addSOD` | JKKHakkoSODCC | - | Generates and adds SOD records (FTTH cancellation, WiMAX cancellation, e-mobile cancellation, WiFi Spot, SIP cancellation, ENUM deletion, OLS, emergency notification) |
| C | `JKKHakkoSODCC.addTakinoSOD` | JKKHakkoSODCC | - | Generates SOD for multi-function router operations (setup, cancellation, deletion) |
| C | `JKKHakkoSODCC.addTokiSOD` | JKKHakkoSODCC | - | Generates SOD for number transfer (tokii) registration |
| R | `JKKHakkoSODCC.getSame_trn_no` | EKK1081C011 | KK_T_ODR_HAKKO_JOKEN (Order issuance condition table) | Retrieves unified transaction number (同一処理番号) for grouping related cancellations |
| R | `JKKHakkoSODCC.findMobileStartOrderAtKK1041` | EKK1041B001SC | KK_T_ODR_SET (Order settings table) | Checks if mobile start order has been processed for the service contract number |
| R | `JKKHakkoSODCC.findZ5OrderAtKK1041` | EKK1041B001SC | KK_T_ODR_SET | Counts Z5 orders for WiMAX cancellation check |
| R | `JKKHakkoSODCC.findZ1OrderHasBeenSentSvcKeiUcwk` | EKK1041B001SC | KK_T_ODR_SET | Checks if Z1 order (telephone order) has been sent for the service contract detail number |
| R | `JKKHakkoSODCC.findZ1OrderHasBeenSent` | EKK1041B001SC | KK_T_ODR_SET | Checks if Z1 order has been sent (legacy version without svc_kei_ucwk) |
| - | `JKKHakkoSODCC.countUpWiFiSpotSessions` | - | - | Counts up WiFi Spot sessions by SYSID and service contract detail number |
| - | `JKKHakkoSODCC.checkTakinoRT` | - | - | Checks multi-function router (Takino router) configuration status |
| - | `JKKHakkoSODCC.opSetOdrCtrl` | JKKHakkoSODCC | - | Option setup order control - builds and issues option SOD from mapped data |
| - | `JKKHakkoSODCC.chgSvcKeiJdg` | JKKHakkoSODCC | - | Judges whether service contract number has changed between previous and current processing |
| - | `JKKHakkoSODCC.isMansionPrvate` | JKKHakkoSODCC | - | Judges if the customer is a mansion private type (mansion-type FTTH) |
| - | `JKKHakkoSODCC.isEmobile` | JKKHakkoSODCC | - | Judges if the service is e-mobile (checks pcrs_cd against e-mobile course codes) |
| - | `JKKHakkoSODCC.isBlank` | JKKHakkoSODCC | - | Utility method to check if a string is null or empty |
| - | `JKKHakkoSODCC.isTajgsTelNo` | JKKHakkoSODCC | - | Judges if the telephone number belongs to the company (self telephone number check) |
| - | `JKKHakkoSODCC.isMonaiBmp` | JKKHakkoSODCC | - | Judges if number porting (numport) is available |
| - | `JKKHakkoSODCC.isRegalVaKiki` | JKKHakkoSODCC | - | Judges if the VA (Voice Access) home equipment model code matches |
| - | `JKKHakkoSODCC.callEKK1081B001SC` | EKK1081B001SC | KK_T_ODR_HAKKO_JOKEN (Order issuance condition table) | Calls order issuance condition list inquiry |
| - | `JKKHakkoSODCC.callEKK1081E010SC` | EKK1081E010SC | KK_T_ODR_HAKKO_JOKEN | Calls order issuance condition modification/delete processing |
| - | `JKKHakkoSODCC.judgeOdrHakkoJoken4WiFiSpot` | - | - | Judges order issuance condition for WiFi Spot |

**CRUD Classification Logic:**

- **C (Create)**: `addSOD()`, `addTakinoSOD()`, `addTokiSOD()` - All write new SOD records
- **R (Read)**: All `callEKK*SC()` methods - Service component calls that query data via message-based interfaces. These correspond to CBS (CBS = CBS component) calls reading from tables like KK_T_OP_SVCKEI, KK_T_SVCKEI_UCWK, KK_T_KKTK_SVCKEI, KK_T_ODR_SET, KK_T_ODR_HAKKO_JOKEN, KK_T_SVCKEI_KAISEN.
- **- (Utility/Helper)**: Methods like `opSetOdrCtrl()`, `chgSvcKeiJdg()`, `isBlank()`, `checkTakinoRT()` - Internal helper methods that coordinate logic without direct DB access

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `JKKHakkoSODCC.cnclOdrCtrl()` | `cnclOdrCtrl()` -> `dslOdrCtrl()` | `addSOD [C]`, `addTokiSOD [C]`, `getSame_trn_no [R]`, `callEKK0351A010SC [R]`, `opSetOdrCtrl [-]` |
| 2 | `JKKHakkoSODCC.hakkoSOD()` | `hakkoSOD()` -> `dslOdrCtrl()` | `addSOD [C]`, `addTakinoSOD [C]`, `callEKK0341B008SC [R]`, `callEKK0351B002SC [R]` |
| 3 | `JKKHakkoSODCC.ksiDslFixOdrCtrl()` | `ksiDslFixOdrCtrl()` -> `dslOdrCtrl()` | `addSOD [C]`, `opSetOdrCtrl [-]`, `callEKK0161A010SC [R]` |
| 4 | `JKKHakkoSODCC.ksiDslOdrCtrl()` | `ksiDslOdrCtrl()` -> `dslOdrCtrl()` | `addSOD [C]`, `addTakinoSOD [C]`, `callEKK1041B001SC [R]`, `addTokiSOD [C]` |

**Terminal operations from this method (all CRUD endpoints reachable):**

| # | Terminal Operation | Type | SC / Entity |
|---|-------------------|------|-------------|
| 1 | `addSOD(handle, param, ODR_NAIYO_CD_103)` | C | FTTH Authentication Cancellation SOD |
| 2 | `addSOD(handle, param, ODR_NAIYO_CD_104)` | C | FTTH Authentication Deletion SOD |
| 3 | `addSOD(handle, param, ODR_NAIYO_CD_145)` | C | Multi-Selection (static) Cancellation SOD |
| 4 | `addSOD(handle, param, ODR_NAIYO_CD_149)` | C | Router Connection Settings SOD |
| 5 | `addSOD(handle, param, ODR_NAIYO_CD_150)` | C | Router Connection Deletion SOD |
| 6 | `addSOD(handle, param, ODR_NAIYO_CD_215)` | C | OLS Setup/Cancellation SOD |
| 7 | `addSOD(handle, param, ODR_NAIYO_CD_216)` | C | OLS Setup/Deletion SOD |
| 8 | `addSOD(handle, param, ODR_NAIYO_CD_229)` | C | SIP Cancellation SOD |
| 9 | `addSOD(handle, param, ODR_NAIYO_CD_230)` | C | SIP Deletion SOD |
| 10 | `addSOD(handle, param, ODR_NAIYO_CD_252)` | C | Emergency Notification Cancellation SOD |
| 11 | `addSOD(handle, param, ODR_NAIYO_CD_266)` | C | ENUM Deletion SOD |
| 12 | `addSOD(handle, param, ODR_NAIYO_CD_302)` | C | Wi-Fi Spot Change SOD |
| 13 | `addSOD(handle, param, ODR_NAIYO_CD_303)` | C | Wi-Fi Spot Deletion SOD |
| 14 | `addSOD(handle, param, ODR_NAIYO_CD_308)` | C | WiMAX CUI Deletion SOD |
| 15 | `addSOD(handle, param, ODR_NAIYO_CD_309)` | C | WiMAX DEV Deletion SOD |
| 16 | `addSOD(handle, param, ODR_NAIYO_CD_313)` | C | e-mobile Cancellation SOD |
| 17 | `addTakinoSOD(handle, param, ODR_NAIYO_CD_405)` | C | Multi-Function Router Setup SOD |
| 18 | `addTakinoSOD(handle, param, ODR_NAIYO_CD_419)` | C | Multi-Function Router Cancellation SOD |
| 19 | `addTakinoSOD(handle, param, ODR_NAIYO_CD_420)` | C | Multi-Function Router Deletion SOD |
| 20 | `addTakinoSOD(handle, param, ODR_NAIYO_CD_417)` | C | Multi-Router Active Setup SOD |
| 21 | `addTakinoSOD(handle, param, ODR_NAIYO_CD_421)` | C | Multi-Router Simultaneous Cancellation SOD |
| 22 | `addTakinoSOD(handle, param, ODR_NAIYO_CD_422)` | C | Multi-Router Deletion SOD |
| 23 | `addTokiSOD(handle, param, ido_div, null)` | C | Number Transfer Registration SOD |
| 24 | `callEKK0351B002SC` | R | KK_T_OP_SVCKEI - Option service contract list |
| 25 | `callEKK0351A010SC` | R | KK_T_OP_SVCKEI_DETAIL - Option service contract detail |
| 26 | `callEKK0341B008SC` | R | KK_T_KKTK_SVCKEI - Equipment-provided service contract |
| 27 | `callEKK0341B008_02SC` | R | KK_T_KKTK_SVCKEI - Alternative equipment inquiry |
| 28 | `callEKK0361A010SC` | R | KK_T_OP_SVCKEI_ISP - Option service contract <ISP> |
| 29 | `callEKK0161A010SC` | R | KK_T_SVCKEI_UCWK - Service contract detail |
| 30 | `callEKK0191A010SC` | R | KK_T_SVCKEI_UCWK_TEL - Telephone service contract detail |
| 31 | `callEKK1041B001SC` | R | KK_T_ODR_SET - Order settings |
| 32 | `callEKK1081B001SC` | R | KK_T_ODR_HAKKO_JOKEN - Order issuance condition list |
| 33 | `callEKK1081E010SC` | U | KK_T_ODR_HAKKO_JOKEN - Order issuance condition modification |
| 34 | `getEKK0251B001SC` | R | KK_T_SVCKEI_KAISEN - Service line detail |
| 35 | `getSame_trn_no` | R | KK_T_ODR_HAKKO_JOKEN - Unified transaction number |
| 36 | `opSetOdrCtrl` | C | Option setup SOD generation (delegates to SOD issuance) |
