## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Session manager handle carrying session context for database and service calls. Used for all transaction-scoped operations. |
| 2 | `param` | `IRequestParameterReadWrite` | Parameter object containing model groups and control maps. Serves as the data carrier that is built up through the method with SOD information, and returned with fully populated recovery order data. |
| 3 | `fixedText` | `String` | User-specified arbitrary string. Passed through to pause/termination control methods for logging or audit trail purposes. |
| 4 | `sodMap` | `HashMap<String, Object>` | SOD (Service Order Data) map containing the core business data structure. Keys include SOD_KIHON_INFO (SOD basic info with sys_id, ido_div), SVC_KEI_INFO (service contract info with svc_kei_no), and SVC_KEI_UCWK_INFO (service contract details with svc_kei_ucwk_no, chaf_svc_kei_ucwk_gene_add_dtm, isNewCourseFlag, isOldCourseAvailable). |

**Instance Fields Read by This Method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `pcrs_cd` | `String` | Price course code - the subscriber's current pricing plan code (e.g., 100M course, 1G course, WiFi Spot). Affects network branch conditions. |
| `svc_kei_stat` | `String` | Service contract status code (e.g., "100" = Service in Progress, "210" = Suspend/Terminate, "020" = Application Complete, "030" = Contracting, "910" = Cancelled, "920" = Terminated). |
| `pause_stp_cd` | `String` | Pause/stop code (e.g., "02" = Termination). Combined with svc_kei_stat to determine pause vs termination SODs. |
| `mskm_dtl_no` | `String` | Application detail number - used in DSL cancellation logic to match optional service applications. |
| `same_trn_no` | `String` | Same transaction number - shared transaction ID used to correlate orders across services. |
| `op_svc_kei_no_fixipad` | `String` | Optional service contract number for fixed IP address. |
| `op_gadtm_fixipad` | `String` | Generation registration timestamp for fixed IP address. |
| `op_svc_kei_no_mltise` | `String` | Optional service contract number for multi-session. |
| `op_gadtm_mltise` | `String` | Generation registration timestamp for multi-session. |
| `op_svc_kei_no_ml` | `String` | Optional service contract number for email. |
| `op_gadtm_ml` | `String` | Generation registration timestamp for email. |
| `mlad` | `String` | MLAD field from ISP agreement - mail address data. |
| `op_svc_kei_no_hp` | `String` | Optional service contract number for homepage. |
| `op_gadtm_hp` | `String` | Generation registration timestamp for homepage. |
| `op_svc_kei_no_mlist` | `String` | Optional service contract number for mailing list. |
| `op_gadtm_mlist` | `String` | Generation registration timestamp for mailing list. |
| `op_svc_kei_no_dial` | `String` | Optional service contract number for dial-up connection. |
| `op_gadtm_dial` | `String` | Generation registration timestamp for dial-up connection. |
| `op_svc_kei_no_fmtcel` | `String` | Optional service contract number for Flett Cell. |
| `op_gadtm_fmtcel` | `String` | Generation registration timestamp for Flett Cell. |
| `op_svc_kei_no_ipv6` | `String` | Optional service contract number for IPv6. |
| `op_gadtm_ipv6` | `String` | Generation registration timestamp for IPv6. |
| `sod_pattern_ipv6` | `int` | IPv6 SOD pattern flag, set to 1 for IPv6 registration. |
| `kktk_svc_kei_no` | `String[]` | Device provider service contract number array (for BBR/router). |
| `kktk_svc_kei_gadtm` | `String[]` | Device provider service contract generation timestamp array. |
| `taknkiki_model_cd` | `String[]` | Home device model code array (e.g., router/VoIP phone model). |
| `kiki_seizo_no` | `String[]` | Device manufacturing serial number array. |
| `old_vrsb_jdg_svc_dtl_cd` | `String` | Old VR identification judgment service detail code. |
| `svc_kei_ucwk_no` | `String[]` | Service contract detail number array (output field). |
| `svc_kei_ucwk_gadtm` | `String[]` | Service contract detail generation registration timestamp array (output field). |
| `mae_recode_ch_svc_kei_no` | `String` | Previous record change service contract number - set after tel branch processing. |
| `odr_hakkou_jyoken` | `String` | Order issuance condition code (e.g., ODR_HAKKO_JOKEN_CD_CHIEN_HAKKO = ground-based issuance). |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `callEKK0351B002SC` | EKK0351B002SC | KK_T_OP_SVC_KEI (Optional Service Contract) | Call EKK0351B002 - Optional Service Contract List Inquiry. Used repeatedly for multi-session, fixed IP, main ops, mobile ops, UQ ops, and tel ops. |
| R | `callEKK0351A010SC` | EKK0351A010SC | KK_T_OP_SVC_KEI_UCWK (Optional Service Contract Details) | Call EKK0351A010 - Optional Service Contract Agreement Inquiry. Gets OP_SVC_KEI_NO, GENE_ADD_DTM, OP_SVC_KEI_STAT for multi-session and fixed IP entries. |
| R | `callEKK0361A010SC` | EKK0361A010SC | KK_T_OP_SVC_KEI_ISP (Optional Service Contract ISP) | Call EKK0361A010 - Optional Service Contract <ISP> Agreement Inquiry. Gets ISP details (MLAD, URL_DOMAIN, URL_ACCOUNT) for email and homepage ops. |
| R | `callEKK0341B008SC` | EKK0341B008SC | KK_T_KKTK_SVC_KEI (Device Provider Service Contract) | Call EKK0341B008 - Device Provider Service Contract List Inquiry. Gets device info (kktk_svc_kei_no, KIKI_SEIZO_NO, TAKNKIKI_MODEL_CD) for BBR router and VA phone. |
| R | `callEKK0341B008_02SC` | EKK0341B008_02SC | KK_T_KKTK_SVC_KEI | Call EKK0341B008_02 - Device Provider Service Contract List Inquiry (EG switch replacement variant). Used in tel branch when EG switch is mid-processing (ido_div == "00067"). |
| R | `callEKK0191A010SC` | EKK0191A010SC | KK_T_SVC_KEI_UCWK (Service Contract Details) | Call EKK0191A010 - Service Contract Details: eo light telephone Agreement Inquiry. Gets VA model code, VA kiki chg no, TELNO_JUN, BMP_UM. |
| R | `callEKK0251B001SC` | EKK0251B001SC | KK_T_SVC_KEI_KAISEN (Service Contract Line) | Call EKK0251B001 - Service Contract Line List Inquiry. Gets svc_kei_kaisen_ucwk_no and GENE_ADD_DTM in tel branch. |
| R | `callEKK0161A010SC` | EKK0161A010SC | KK_T_SVC_KEI_UCWK (Service Contract Details) | Call EKK0161A010 - Service Contract Agreement Inquiry. Used in mobile branch for ucwkPcrsCd, and in tel branch for mskm_dtl_no. |
| R | `callEKK1081B001SC` | EKK1081B001SC | KK_T_ORD_SVC (Order Service) | Call EKK1081B001 - Check for Z1 orders for telephone services. |
| R | `callEKK0091A010_SC` | EKK0091A010SC | KOTEI_IP_AD_8 (Fixed IP Address 8) | Call EKK0091A010_SC - Fixed IP Address 8 acquisition. Gets KOTEI_IP_AD_8_DIV for ANK-3900 setting. |
| R | `callEKK0341B002SC` | EKK0341B002SC | KK_T_KKTSVKEI (Device Provider Service Contract) | Call EKK0341B002 - Device Provider Service Contract List Inquiry. Used in mobile branch for UQ WiMAX device info. |
| C | `addSOD` | JKKHakkoSODCC | KK_T_ORD_SVC (Service Order Data) | Create SOD document. Called extensively with various ODR_NAIYO_CD values for recovery orders. |
| C | `addTakinoSOD` | JKKHakkoSODCC | KK_T_ORD_SVC | Create multi-function router (Takino) SOD for router setup/registration and change operations. |
| C | `addTokiSOD` | JKKHakkoSODCC | KK_T_ORD_SVC | Create Toki (temporary/cancellation) SOD for phone service during recovery. |
| C | `add050AddSod` | JKKHakkoSODCC | KK_T_ORD_SVC | Create number change SOD for 050 number operations. |
| C | `addSODTelNew` | JKKHakkoSODCC | KK_T_ORD_SVC | Create new telephone service SOD for early return path when Z1 not sent. |
| C | `tsuikabunAddSOD` | JKKHakkoSODCC | KK_T_ORD_SVC | Create additional-division SOD. Used for WiMAX CUI Recovery (316), WiMAX DEV Recovery (317), WiFi Spot Change (302), WiFi Spot Reg (301). |
| U | `edit4OpSetOdrCtrl` | JKKHakkoSODCC | - | Edit 4-operation order control mapping. Used in tel branch when forwarding option is present. |
| - | `opSetOdrCtrl` | JKKHakkoSODCC | - | Operation setup order control processing. Called with mapped SOD data. |
| - | `pauseUkOdrCtrl` | JKKHakkoSODCC | - | Pause receipt order control processing. Called when svc_kei_stat == 210 and pause_stp_cd != "02". |
| - | `stpUkOdrCtrl` | JKKHakkoSODCC | - | Termination receipt order control processing. Called when svc_kei_stat == 210 AND pause_stp_cd == "02". |
| R | `getSame_trn_no` | JKKHakkoSODCC | - | Same transaction number acquisition for order correlation. |
| R | `checkTakinoRT` | JKKHakkoSODCC | - | Multi-function router check. Returns takino_flg (0=none, 1=both, 2=router, 4=VA). |
| - | `chgSvcKeiJdg` | JKKHakkoSODCC | - | Service contract number change judgment. Checks if current svc number differs from previous. |
| R | `findZ1OrderHasBeenSentSvcKeiUcwk` | JKKHakkoSODCC | KK_T_ORD_SVC | Check if Z1 order has been sent for telephone service. |
| R | `countUpWiFiSpotSessions` | JKKHakkoSODCC | - | Count active WiFi Spot sessions. |
| - | `legalTelSod` | JKKHakkoSODCC | - | Legal telephone SOD judgment. |
| - | `isRegalVaKiki` | JKKHakkoSODCC | - | Regal VA device judgment. |
| - | `isMansionPrvate` | JKKHakkoSODCC | - | Mansion private type check. |
| - | `isEmobile` | JKKHakkoSODCC | - | e-mobile service judgment. |
| R | `jdgIpv6EKK0361A010` | JKKHakkoSODCC | KK_T_OP_SVC_KEI_ISP | IPv6 SOD issuance judgment. |
| - | `isBmpOpenZumi` | JKKHakkoSODCC | - | Phone number portability completion judgment. |
| - | `isTajgsTelNo` | JKKHakkoSODCC | - | Other company phone number judgment. |
| - | `isMonaiBmp` | JKKHakkoSODCC | - | No-phone-number judgment. |
| - | `shkkaMap` | JKKHakkoSODCC | - | Null-check and blank-initialize map utility. |
| - | `shkkaChr` | JKKHakkoSODCC | - | Null-check and blank-initialize character utility. |
| - | `isBlank` | JKKHakkoSODCC | - | Blank check utility. |
| - | `getEKK0251B001SC` | JKKHakkoSODCC | KK_T_SVC_KEI_KAISEN | Helper wrapping callEKK0251B001SC. |
| R | `searchSvcKeiUcwk` | JKKHakkoSODCC | KK_T_SVC_KEI_UCWK | Search service contract details. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `hakkoSOD` (JKKHakkoSODCC) | `JKKHakkoSODCC.hakkoSOD` -> `JKKHakkoSODCC.kaihkOdrCtrl` | `addSOD [C] KK_T_ORD_SVC`, `addTakinoSOD [C] KK_T_ORD_SVC`, `addTokiSOD [C] KK_T_ORD_SVC`, `add050AddSod [C] KK_T_ORD_SVC`, `addSODTelNew [C] KK_T_ORD_SVC`, `tsuikabunAddSOD [C] KK_T_ORD_SVC`, `callEKK0351B002SC [R] KK_T_OP_SVC_KEI`, `callEKK0351A010SC [R] KK_T_OP_SVC_KEI_UCWK`, `callEKK0361A010SC [R] KK_T_OP_SVC_KEI_ISP`, `callEKK0341B008SC [R] KK_T_KKTK_SVC_KEI`, `callEKK0191A010SC [R] KK_T_SVC_KEI_UCWK`, `callEKK0251B001SC [R] KK_T_SVC_KEI_KAISEN`, `callEKK0161A010SC [R] KK_T_SVC_KEI_UCWK`, `callEKK1081B001SC [R] KK_T_ORD_SVC`, `callEKK0341B008_02SC [R] KK_T_KKTK_SVC_KEI`, `callEKK0091A010_SC [R] KOTEI_IP_AD_8`, `callEKK0341B002SC [R] KK_T_KKTSVKEI`, `pauseUkOdrCtrl [-]`, `stpUkOdrCtrl [-]`, `opSetOdrCtrl [-]`, `edit4OpSetOdrCtrl [U]`, `getSame_trn_no [R]`, `checkTakinoRT [R]`, `chgSvcKeiJdg [-]`, `findZ1OrderHasBeenSentSvcKeiUcwk [R] KK_T_ORD_SVC`, `countUpWiFiSpotSessions [R]`, `jdgIpv6EKK0361A010 [R] KK_T_OP_SVC_KEI_ISP`, `searchSvcKeiUcwk [R] KK_T_SVC_KEI_UCWK`, `isBmpOpenZumi [-]`, `isTajgsTelNo [-]`, `isMonaiBmp [-]`, `legalTelSod [-]`, `isRegalVaKiki [-]`, `isMansionPrvate [-]`, `isEmobile [-]` |
