# Business Logic — JKKEmgRrksNmUpdCC.getEkk0191c060() [91 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKEmgRrksNmUpdCC` |
| Layer | CC/Common Component (Shared business logic component) |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKEmgRrksNmUpdCC.getEkk0191c060()

This method implements the **Service Contract Detail (eo Light Phone) Information Change** operation — it updates all contractual detail fields for a customer's eo Light Phone service line item. In the Japanese domain, eo Light Phone ("eo光電話") is a VoIP-style telephone service bundled with K-Opticom's fiber (FTTH) broadband plans. The method acts as a **builder-delegate**: it assembles a comprehensive 43-field input payload by extracting and mapping data from the in-memory contract query result map (`ekk0191a010Map`), the contract detail map (`ekk0161a010Map`), and direct parameters (customer name, kana, function code), then delegates the actual update to the `EKK0191C060` service component. It serves as the **data-adaptation bridge** between the screen/controller layer and the service component layer — transforming generic HashMap data into a typed CBS input schema. The method also extracts optimistic-concurrency control data (the `last_upd_dtm`) and passes it as `upd_dtm_bf` (update timestamp before) to prevent concurrent modification conflicts. After the service component returns, it extracts the post-update audit fields (`gene_add_dtm` for generation registration timestamp, and `upd_dtm` for update timestamp) and returns them to the caller.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["getEkk0191c060 handle, param, fixedText, ekk0161a010Map, ekk0191a010Map, ck0011CustNm, ck0011CustKana, idoDiv, funcCd"]) --> INIT["Initialize ekk0191c060Map and scCall"]
    INIT --> SETVARS["Set initial values: svcKeiUcwkNo, dobanitenJdgCd, emgKshKsiteiFlg, updDtmBf = empty strings"]
    SETVARS --> EXTRACT["Extract from ekk0191a010Map via nullToBlank: svc_kei_ucwk_no, dobaniten_jdg_cd, emg_ksh_ksitei_flg, last_upd_dtm"]
    EXTRACT --> BUILDINPUT["Build input array ekk0191c060In with 43 fields"]
    BUILDINPUT --> SCAL["Call callSC with handle, scCall, param, ekk0191c060In, fixedText, EKK0191C060CBSMsg contents"]
    SCAL --> COND{ekk0191c060Msg != null}
    COND -->|Yes| READRESULT["Extract gene_add_dtm and upd_dtm from response"]
    READRESULT --> PUTMAP["Put gene_add_dtm and upd_dtm into ekk0191c060Map"]
    PUTMAP --> RETURN["Return ekk0191c060Map"]
    COND -->|No| RETURN
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Database session handle carrying the current transaction and connection context for executing the service component SC call. |
| 2 | `param` | `IRequestParameterReadWrite` | Request parameter object used for bidirectional communication between the calling screen and the service component — holds request and response data. |
| 3 | `fixedText` | `String` | Service message text string containing predefined error/success messages to be returned to the user interface on completion. |
| 4 | `ekk0161a010Map` | `HashMap` | Contract detail information map containing line-item level fields (e.g., detail number, service usage start time, penalty code, inter-port/division code). These fields represent the current contract detail record being modified. |
| 5 | `ekk0191a010Map` | `HashMap` | Service contract detail (eo Light Phone) unique query result map — holds the full set of read-back fields for the specific eo Light Phone contract line, including address, phone number, emergency notification details, and VA (Value-Added) equipment info. |
| 6 | `ck0011CustNm` | `String` | Customer name (氏名) — the primary contract holder's full name as a Japanese string, used for emergency notification recipient identification. |
| 7 | `ck0011CustKana` | `String` | Customer kana name (カナ名) — the phonetic reading of the customer's name in Japanese Kana script, used for emergency notification address verification. |
| 8 | `idoDiv` | `String` | Transfer/division code (異動区分) — indicates the type of change (e.g., portability, new connection). **NOTE:** Per ANK-3458-00-00 change, this parameter is no longer used directly; instead, `ido_div` is extracted from `ekk0161a010Map`. |
| 9 | `funcCd` | `String` | Function code (機能コード) — identifies the business operation context (e.g., update, change, add) passed to the service component for audit trail and routing. |

**Instance fields / external state read:** None. The method is fully self-contained and reads no instance fields.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `callSC` | EKK0191C060CBS | KK_T_OPSVKEI_ISP (eo Light Phone contract line) | Calls service component to update the Service Contract Detail (eo Light Phone) record with all 43 input fields |

**Detailed analysis:**

The method makes exactly one service component call:

- **CALL:** `callSC(handle, scCall, param, ekk0191c060In, fixedText, new EKK0191C060CBSMsg().getContents())`
  - **SC Code:** `EKK0191C060CBS` (inferred from `EKK0191C060CBSMsg` class name and the pattern `EKK{contract_type}{seq}CBS`)
  - **Operation:** Update (U) — this is an information change (情報変更) operation that modifies the existing eo Light Phone contract line record
  - **Input fields (43):** The input array `ekk0191c060In` carries service contract number, detail number, service usage time codes, penalty code, division code, phone number, emergency notification address (code, postal, area name, building name, room name, state, city, district, block), customer name and kana, first CDR date, phone number sequence, NTT guide flag, HelloPage posting flag, call detail disclosure flag, phone number advance notice code, telecom carrier code, manual switch reservation date/time, town page posting kana/name, VA equipment model/serial/port numbers, update timestamp (before), rule 0059 auto-apply flag, same-number transfer flags, and emergency address check level
  - **Output fields (2):** `kk0161_gene_add_dtm` (generation registration datetime) and `upd_dtm` (update datetime)

All other listed methods in the pre-computed evidence are utility methods called **within `callSC` or helper utilities** (e.g., `nullToBlank`, `getString`) that are transitive dependencies of the service invocation, not direct calls within this method.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Class:JKKEmgRrksNmUpdCC | `JKKEmgRrksNmUpdCC.execute()` -> `JKKEmgRrksNmUpdCC.getEkk0191c060` | `callSC [U] EKK0191C060CBS -> KK_T_OPSVKEI_ISP` |

**Details:**
- The only known direct caller is `JKKEmgRrksNmUpdCC.execute()`, which is the main entry method of this same common component class. The `execute()` method orchestrates the full contract detail update flow and delegates to `getEkk0191c060()` to perform the eo Light Phone specific update.
- This method is part of the **EO Light Phone contract registration and update flow**, called from the same-class `execute()` entry point.
- **Terminal operations** reached from this method: The service component call `callSC` with `EKK0191C060CBS` updates the contract detail record, and the response extracts `kk0161_gene_add_dtm` and `upd_dtm` timestamp fields.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(Initialization)` (L{~650})

> Initialize the return map and temporary service call invoker. Set local variables to empty strings as default values.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `ekk0191c060Map = new HashMap<String, Object>()` | Create the return map to hold response fields |
| 2 | SET | `scCall = new ServiceComponentRequestInvoker()` | Instantiate service component request invoker for SC call |
| 3 | SET | `svcKeiUcwkNo = ""` | Default service contract detail number (empty) |
| 4 | SET | `dobanitenJdgCd = ""` | Default same-number transfer judgment code (empty) |
| 5 | SET | `emgKshKsiteiFlg = ""` | Default emergency notification contract individual designation flag (empty) |
| 6 | SET | `updDtmBf = ""` | Default update timestamp before (empty) |

**Block 2** — [EXEC] `(Extract from ekk0191a010Map)` (L{~656})

> Retrieve key fields from the one-uniquely-found query result map. Apply `nullToBlank` to ensure nulls become empty strings, preventing null-pointer propagation downstream. This implements the "Service Contract Detail (eo Light Phone) Information Change One-Unique Find Result Information Retrieval" step.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | EXEC | `svcKeiUcwkNo = JKKStringUtil.nullToBlank((String)ekk0191a010Map.get("svc_kei_ucwk_no"))` | Extract service contract detail number — internal tracking ID for this contract line |
| 2 | EXEC | `dobanitenJdgCd = JKKStringUtil.nullToBlank((String)ekk0191a010Map.get("dobaniten_jdg_cd"))` | Extract same-number transfer judgment code — result of number portability judgment |
| 3 | EXEC | `emgKshKsiteiFlg = JKKStringUtil.nullToBlank((String)ekk0191a010Map.get("emg_ksh_ksitei_flg"))` | Extract emergency notification contract individual designation flag — whether individual emergency address is specified |
| 4 | EXEC | `updDtmBf = JKKStringUtil.nullToBlank((String)ekk0191a010Map.get("last_upd_dtm"))` | Extract last update timestamp — used for optimistic concurrency control |

**Block 3** — [SET] `(Build input array — Service Contract Detail (eo Light Phone) Information Change)` (L{~665})

> Construct the 43-field input payload array (`ekk0191c060In`) for the service component. This is the "upper mapping" (上りマッピング) step where all data from the source maps and parameters is collected into a single typed input structure. Data sources include: `ekk0161a010Map` (contract detail line data), `ekk0191a010Map` (eo Light Phone contract data), `ck0011CustNm`/`ck0011CustKana` (customer identity), `funcCd` (function context), and constants (`TEMPLATE_ID_EKK0191C060` = "EKK0191C060", `JKKStrConst.CD00001_0` = "0").

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `EKK0191C060CBSMsg.TEMPLATEID -> TEMPLATE_ID_EKK0191C060` | Service IF identifier = "EKK0191C060" [-> `JKKAdInfChgConstCC.TEMPLATE_ID_EKK0191C060 = "EKK0191C060"`] |
| 2 | SET | `EKK0191C060CBSMsg.FUNC_CODE -> funcCd` | Function code from parameter |
| 3 | SET | `EKK0191C060CBSMsg.MSKM_DTL_NO -> ekk0161a010Map.get("mskm_dtl_no")` | Request detail number — line item sequence |
| 4 | SET | `EKK0191C060CBSMsg.SVC_KEI_UCWK_NO -> svcKeiUcwkNo` | Service contract detail number |
| 5 | SET | `EKK0191C060CBSMsg.SVC_UEST_KBTMZ_CD -> ekk0161a010Map.get("svc_uest_kbtmz_cd")` | Service usage start desired time period code |
| 6 | SET | `EKK0191C060CBSMsg.SVC_UEST_KBTM_CD -> ekk0161a010Map.get("svc_uest_kbtm_cd")` | Service usage start desired time code |
| 7 | SET | `EKK0191C060CBSMsg.PNLTY_HASSEI_CD -> ekk0161a010Map.get("pnlty_hassei_cd")` | Penalty generation code — indicates if contract penalty applies |
| 8 | SET | `EKK0191C060CBSMsg.IDO_DIV -> ekk0161a010Map.get("ido_div")` [ANK-3458-00-00 MOD] | Transfer division — changed from direct parameter `idoDiv` to map extraction. Per ANK-3458-00-00: `idoDiv` parameter removed, now sourced from `ekk0161a010Map` |
| 9 | SET | `EKK0191C060CBSMsg.TELNO -> ekk0191a010Map.get("telno")` | Phone number |
| 10 | SET | `EKK0191C060CBSMsg.TELNO_USE_PLACE_NO -> ekk0191a010Map.get("telno_use_place_no")` | Phone number usage location number |
| 11 | SET | `EKK0191C060CBSMsg.EMG_AD_CD -> ekk0191a010Map.get("emg_ad_cd")` | Emergency notification use address code |
| 12 | SET | `EKK0191C060CBSMsg.EMG_HOSEI_PCD -> ekk0191a010Map.get("emg_hosei_pcd")` | Emergency notification use correction postal code |
| 13 | SET | `EKK0191C060CBSMsg.EMG_BNCHIGO -> ekk0191a010Map.get("emg_bnchigo")` | Emergency notification use area number |
| 14 | SET | `EKK0191C060CBSMsg.EMG_ADRTTM -> ekk0191a010Map.get("emg_adrttm")` | Emergency notification use address note / building name |
| 15 | SET | `EKK0191C060CBSMsg.EMG_ADRRM -> ekk0191a010Map.get("emg_adrrm")` | Emergency notification use address note / room number |
| 16 | SET | `EKK0191C060CBSMsg.EMG_KSH_NM -> ck0011CustNm` | Emergency notification contract holder name |
| 17 | SET | `EKK0191C060CBSMsg.EMG_KSH_KANA -> ck0011CustKana` | Emergency notification contract holder kana name |
| 18 | SET | `EKK0191C060CBSMsg.FIRST_CDR_HASSEI_YMD -> ekk0191a010Map.get("first_cdr_hassei_ymd")` | First CDR (Call Detail Record) generation date |
| 19 | SET | `EKK0191C060CBSMsg.TELNO_JUN -> ekk0191a010Map.get("telno_jun")` | Phone number sequence |
| 20 | SET | `EKK0191C060CBSMsg.NTT_NO_GUIDE_UM -> ekk0191a010Map.get("ntt_no_guide_um")` | NTT number guidance availability flag |
| 21 | SET | `EKK0191C060CBSMsg.HELLOPAGE_KEISAI_UM -> ekk0191a010Map.get("hellopage_keisai_um")` | HelloPage posting availability flag |
| 22 | SET | `EKK0191C060CBSMsg.TUWA_DTL_KOKAI_YH -> ekk0191a010Map.get("tuwa_dtl_kokai_yh")` | Call detail disclosure flag |
| 23 | SET | `EKK0191C060CBSMsg.TEL_NO_PRE_TCHI_CD -> ekk0191a010Map.get("tel_no_pre_tchi_cd")` | Phone number advance notice code |
| 24 | SET | `EKK0191C060CBSMsg.TSJGS_CD -> ekk0191a010Map.get("tsjgs_cd")` | Telecom carrier code |
| 25 | SET | `EKK0191C060CBSMsg.MAN_SWITCH_RSV_DTM -> ekk0191a010Map.get("man_switch_rsv_dtm")` | Manual switch reservation date/time |
| 26 | SET | `EKK0191C060CBSMsg.TOWNPAGE_KEISAI_KANA -> ekk0191a010Map.get("townpage_keisai_kana")` | Town page posting kana name |
| 27 | SET | `EKK0191C060CBSMsg.TOWNPAGE_KEISAI_NM -> ekk0191a010Map.get("townpage_keisai_nm")` | Town page posting name |
| 28 | SET | `EKK0191C060CBSMsg.VA_TAKNKIKI_MODEL_CD -> ekk0191a010Map.get("va_taknkiki_model_cd")` | VA (Value-Added) home equipment model code |
| 29 | SET | `EKK0191C060CBSMsg.VA_KIKI_SEIZO_NO -> ekk0191a010Map.get("va_kiki_seizo_no")` | VA equipment manufacturing serial number |
| 30 | SET | `EKK0191C060CBSMsg.VA_PORT_NO -> ekk0191a010Map.get("va_port_no")` | VA port number |
| 31 | SET | `EKK0191C060CBSMsg.UPD_DTM_BF -> updDtmBf` | Update timestamp before (for optimistic concurrency control) |
| 32 | SET | `EKK0191C060CBSMsg.RULE0059_AUTO_APLY -> JKKStrConst.CD00001_0` | Rule 0059 manual charge auto-apply flag = "0" [-> `JKKStrConst.CD00001_0 = "0"`] |
| 33 | SET | `EKK0191C060CBSMsg.DOBANITEN_MSKM_UM -> ekk0191a010Map.get("dobaniten_mskm_um")` | Same-number transfer request availability flag |
| 34 | SET | `EKK0191C060CBSMsg.DOBANITEN_REQ_CTRL_CD -> ekk0191a010Map.get("dobaniten_req_ctrl_cd")` | Same-number transfer request control code |
| 35 | SET | `EKK0191C060CBSMsg.DOBANITEN_JDG_CD -> dobanitenJdgCd` | Same-number transfer judgment code |
| 36 | SET | `EKK0191C060CBSMsg.EMG_AD_CHK_LV -> ekk0191a010Map.get("emg_ad_chk_lv")` | Emergency notification use address check level |
| 37 | SET | `EKK0191C060CBSMsg.EMG_KSH_KSITEI_FLG -> emgKshKsiteiFlg` | Emergency notification contract individual designation flag |
| 38 | SET | `EKK0191C060CBSMsg.EMG_STATE_NM -> ekk0191a010Map.get("emg_state_nm")` | Emergency notification use state/prefecture name |
| 39 | SET | `EKK0191C060CBSMsg.EMG_CITY_NM -> ekk0191a010Map.get("emg_city_nm")` | Emergency notification use city/town/village name |
| 40 | SET | `EKK0191C060CBSMsg.EMG_OAZTSU_NM -> ekk0191a010Map.get("emg_oaztsu_nm")` | Emergency notification use district/street name |
| 41 | SET | `EKK0191C060CBSMsg.EMG_AZCHO_NM -> ekk0191a010Map.get("emg_azcho_nm")` | Emergency notification use block/code name |
| 42 | SET | `EKK0191C060CBSMsg.VA_KIKI_CHG_NO -> ekk0191a010Map.get("va_kiki_chg_no")` | VA equipment change number |

**Block 4** — [CALL] `(Execute Service IF)` (L{~720})

> Execute the service component via `callSC`. This is the core update operation that writes the new contract detail values to the database.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | CALL | `callSC(handle, scCall, param, ekk0191c060In, fixedText, new EKK0191C060CBSMsg().getContents())` | Invoke EKK0191C060 service component to update service contract detail (eo Light Phone). Passes 43-field input, fixed text messages, and CBS schema contents. Returns `CAANMsg ekk0191c060Msg`. |

**Block 5** — [IF] `(null != ekk0191c060Msg)` (L{~724})

> Check if the service component returned a valid response message. If so, extract the audit timestamp fields.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `ekk0191c060Map.put("gene_add_dtm", ekk0191c060Msg.getString(EKK0191C060CBSMsg.KK0161_GENE_ADD_DTM))` | Extract generation registration datetime (service contract line) from response |
| 2 | SET | `ekk0191c060Map.put("upd_dtm", ekk0191c060Msg.getString(EKK0191C060CBSMsg.UPD_DTM))` | Extract update datetime from response |

**Block 6** — [RETURN] `(Return)` (L{~729})

> Return the populated result map containing `gene_add_dtm` and `upd_dtm` to the caller.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | RETURN | `return ekk0191c060Map;` | Return the response map with audit timestamps. If the service call returned null, the map will be empty (zero keys). |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_ucwk_no` | Field | Service contract detail number — internal tracking ID for a specific line item within a service contract. Used as the primary key for contract detail records. |
| `mskm_dtl_no` | Field | Request detail number — sequence number identifying a specific detail line within a submission/request. |
| `svc_uest_kbtm_cd` | Field | Service usage start desired time code — the time slot the customer requested for service activation. |
| `svc_uest_kbtmz_cd` | Field | Service usage start desired time period code — a time range/category code for desired service start. |
| `pnlty_hassei_cd` | Field | Penalty generation code — indicates whether a contractual penalty applies to this service line (e.g., early termination fee). |
| `ido_div` | Field | Transfer division (異動区分) — indicates the type of change operation (e.g., portability transfer, address change, new connection). |
| `telno` | Field | Phone number — the primary telephone number for the eo Light Phone service line. |
| `telno_jun` | Field | Phone number sequence — ordering number when multiple phone numbers exist on the same contract. |
| `emg_ad_cd` | Field | Emergency notification use address code — a code identifying the address for emergency notification (required for VoIP services). |
| `emg_hosei_pcd` | Field | Emergency notification use correction postal code — Japanese postal code for the emergency contact address. |
| `emg_bnchigo` | Field | Emergency notification use area number — area/region identifier for the emergency address. |
| `emg_adrttm` | Field | Emergency notification use address note / building name — building name field in the emergency address. |
| `emg_adrrm` | Field | Emergency notification use address note / room number — room/suite number in the emergency address. |
| `emg_ksh_nm` | Field | Emergency notification contract holder name — the name of the person to receive emergency notifications. |
| `emg_ksh_kana` | Field | Emergency notification contract holder kana name — Kana phonetic reading of the contract holder's name for emergency verification. |
| `emg_ksh_ksitei_flg` | Field | Emergency notification contract individual designation flag — flag indicating whether an individual emergency address is explicitly designated. |
| `emg_state_nm` / `emg_city_nm` / `emg_oaztsu_nm` / `emg_azcho_nm` | Fields | Emergency notification address components — prefecture/state name, city/town/village name, district/street name, and block/code name respectively. |
| `emg_ad_chk_lv` | Field | Emergency notification use address check level — validation level for the emergency address (e.g., required, optional). |
| `dobaniten_jdg_cd` | Field | Same-number transfer judgment code — result of a judgment on whether the same-number portability (同番転送) request is valid. |
| `dobaniten_mskm_um` | Field | Same-number transfer request availability — indicates whether same-number portability is requested. |
| `dobaniten_req_ctrl_cd` | Field | Same-number transfer request control code — control code governing the same-number portability request workflow. |
| `first_cdr_hassei_ymd` | Field | First Call Detail Record (CDR) generation date — the date of the first billing CDR, used for service history tracking. |
| `ntt_no_guide_um` | Field | NTT number guidance availability — indicates whether NTT number guidance service is enabled for this line. |
| `hellopage_keisai_um` | Field | HelloPage posting availability — flag indicating whether the phone number is posted on NTT's HelloPage directory. |
| `tuwa_dtl_kokai_yh` | Field | Call detail disclosure flag — controls whether call detail records are disclosed to the customer. |
| `tel_no_pre_tchi_cd` | Field | Phone number advance notice code — code indicating advance notification for phone number changes to the telecom carrier. |
| `tsjgs_cd` | Field | Telecom carrier code (通信事業者コード) — identifies the telecommunications carrier (e.g., NTT, K-Opticom). |
| `man_switch_rsv_dtm` | Field | Manual switch reservation date/time — scheduled date/time for a manual service switch or migration. |
| `townpage_keisai_kana` / `townpage_keisai_nm` | Fields | Town page posting name — Kana and kanji name for directory listing on NTT TownPage. |
| `va_taknkiki_model_cd` | Field | VA (Value-Added) home equipment model code — identifies the type of VA router/terminal equipment. |
| `va_kiki_seizo_no` | Field | VA equipment manufacturing serial number — unique serial number of the VA home terminal. |
| `va_port_no` | Field | VA port number — physical port number on the VA equipment used for this service line. |
| `va_kiki_chg_no` | Field | VA equipment change number — tracking number for VA equipment replacement/change events. |
| `last_upd_dtm` | Field | Last update timestamp — the most recent modification timestamp of the contract record, used for optimistic concurrency control. |
| `upd_dtm_bf` | Field | Update timestamp before — the pre-update timestamp passed to the service component for conflict detection. |
| `kk0161_gene_add_dtm` | Field | Generation registration datetime (service contract) — system timestamp for when the contract line record was created. |
| `rule0059_auto_aply` | Field | Rule 0059 manual charge auto-apply flag — whether automatic billing charges apply under Rule 0059 regulations. |
| `FUNC_CODE` | Field | Function code — identifies the type of business operation being performed (update, add, etc.). |
| `TEMPLATE_ID_EKK0191C060` | Constant | Service IF identifier template = "EKK0191C060". Resolved from `JKKAdInfChgConstCC.TEMPLATE_ID_EKK0191C060`. |
| `CD00001_0` | Constant | Constant value = "0" (typically a "no" or "false" boolean flag value). Resolved from `JKKStrConst.CD00001_0`. |
| EO Light Phone (eo光電話) | Service | A VoIP-style telephone service bundled with K-Opticom's fiber broadband. Part of the "eo" family of internet services. |
| EKK0191 | Domain | K-Opticom internal domain code for Service Contract Detail (eo Light Phone) — "EKK" = EO contract, "0191" = specific contract line entity. |
| `callSC` | Method | Service Component invocation method — the standard delegation method in common components for calling SC (Service Component) layer methods. |
| `nullToBlank` | Utility | Null-safety utility that converts null strings to empty strings, preventing null-pointer exceptions downstream. |
| `CAANMsg` | Class | Fujuto's standard message wrapper class used for service component request/response communication. |
| Service Component (SC) | Architecture | Service Component layer — the middle tier that encapsulates business logic and data access, invoked via `callSC`. |
| CBS | Architecture | CBS (Customer Business System) message schema — the data contract between application and SC layers. |
| ANK-3458-00-00 | Change | Jira/issue tracking ID for code change ANK-3458: modified `ido_div` source from direct parameter to `ekk0161a010Map` extraction. |
