# Business Logic — JKKKikiIchiranKkCreateCC.execOnuKokankojiAdd() [140 LOC]

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

## 1. Role

### JKKKikiIchiranKkCreateCC.execOnuKokankojiAdd()

This method performs the **ONU Exchange Work Order Registration** processing (ONU交換工事登録処理). It is invoked as part of the device creation flow for telecom service contracts (NTT equipment registration screens) when the customer is registering a device whose type is HGW (Home Gateway) and whose delivery division indicates a new installation.

The method executes a **four-phase pipeline**: (1) **precondition validation** — it gates the entire operation on the device being a sub-type of HGW with delivery division "00"; (2) **application-level update** — it calls `execMskmDtlUpd` to refresh the application details (申込明细更新処理); (3) **reconfiguration case file eligibility check** — it delegates to `JKKRzkzmAnkenChkCC.jdgeRzkzmAnken` to determine whether the site is eligible for a "work skip" (工事スキップ可能), meaning the physical installation can be skipped because the equipment has already been pre-configured; (4) **work order registration** — it assembles a comprehensive data map containing the work order header and detail codes, service contract information, contact preferences, and device list, then delegates to `JKKKojiAnkenCC.executeKojiAnken` to persist the work order case (工事案件登録).

This is a **delegation pattern** — the method itself orchestrates and transforms data but delegates domain-specific operations to specialized classes. It serves as a shared component called from `execKikiIchiranKikiCreate`, which handles the broader device creation workflow across multiple screen entry points.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["execOnuKokankojiAdd()"])
    RET1(["Return Early"])
    S1["Retrieve workMap from param"]
    S2["Retrieve ccMsg from param"]
    S3["Retrieve createList from KIKI_CREATE_CC_PARAM"]
    C1{"Device Sub-Type equals HGW
AND Delivery Division equals 00"}
    S4["Resolve mskmNo from workMap"]
    S5["Resolve mskmDtlNo from workMap"]
    S6["Call execMskmDtlUpd"]
    S7["Instantiate JKKRzkzmAnkenChkCC"]
    S8["Build rzkzmAnkenChkMap"]
    S9["param.setData rzkzm_anken_check_map"]
    S10["Call jdgeRzkzmAnken"]
    S11["Retrieve chkResult from check map"]
    S12["Instantiate outMap"]
    S13["Set KOJI_UK_CD to 007"]
    S14["Set KOJI_UK_DTL_CD to E0"]
    S15["Populate outMap with service data"]
    C2{"chkResult equals 1
Work Skip Allowed"}
    S16["Set KOJI_SCOPE_CD to 070"]
    S17["Set KOJI_SCOPE_CD from ccMsg"]
    S18["Populate remaining outMap fields"]
    S19["param.setData kojiAnkenCCMapKey"]
    S20["Instantiate JKKKojiAnkenCC"]
    S21["Call executeKojiAnken"]
    END(["Return"])

    START --> S1
    S1 --> S2
    S2 --> S3
    S3 --> C1
    C1 -->|False| RET1
    C1 -->|True| S4
    S4 --> S5
    S5 --> S6
    S6 --> S7
    S7 --> S8
    S8 --> S9
    S9 --> S10
    S10 --> S11
    S11 --> S12
    S12 --> S13
    S13 --> S14
    S14 --> S15
    S15 --> C2
    C2 -->|True| S16
    C2 -->|False| S17
    S16 --> S18
    S17 --> S18
    S18 --> S19
    S19 --> S20
    S20 --> S21
    S21 --> END
```

**CRITICAL — Constant Resolution:**

| Constant | Resolved Value | Business Meaning |
|----------|---------------|------------------|
| `JKKStrConst.TAKNKIKI_SBT_CD_HGW` | `"S0"` | Device Sub-Type: Home Gateway (HGW) |
| `JKKStrConst.CD00020_HAISO_DIV_00` | `"00"` | Delivery Division: New Installation |
| `JKKStrConst.CD00576_00026` | `"00026"` | Movement Division: Equipment Contract Change (機器契約変更) |
| `JKKStrConst.CD00885_ONU_KOKAN_KOJI` | `"E0"` | Work Detail Code: ONU Exchange Work (ONU交換工事) |
| `JKKStrConst.ROZETT_CHK_RSLT_1` | `"1"` | Reconfiguration Check Result: Work Skip Allowed (工事スキップ可) |
| `JKKStrConst.KOJI_UK_CD_007` | `"007"` | Work Header Code: Work Order Case (工事案件受注) |
| `JKKStrConst.KOJI_SCOPE_CD_070` | `"070"` | Work Scope Code: ONU Exchange Scope (ONU交換範囲) |
| `KIKI_CREATE_CC_PARAM` | `"JKKKikiAddCC"` | Parameter map key for device creation data |
| `TEMPLATE_ID_EKK0081A010` | `"EKK0081A010"` | Service Contract template ID |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Database session handle for maintaining transaction context across service component calls. Carries connection and security context for the current business operation. |
| 2 | `scCall` | `ServiceComponentRequestInvoker` | Service Component invocation bridge used to call downstream CBS/SC layers. Enables the method to delegate data access and business rule enforcement to remote service components. |
| 3 | `param` | `IRequestParameterReadWrite` | Request parameter object carrying the bidirectional data map between the screen layer and this method. Contains the mapping work area (申込データ), template message maps, and output maps for downstream consumers. Key sub-keys: `dataMapKey` payload, `JKKKikiAddCC` device creation list, `rzkzm_anken_check_map` reconfiguration check results, `kojiAnkenCCMapKey` work order registration data. |
| 4 | `dataMapKey` | `String` | The key identifying the primary data map within `param` that carries the screen-level message object (ccMsg) containing service contract number, delivery division, contact preferences, and other screen-level inputs. Used to retrieve `ccMsg` via `param.getData(dataMapKey)`. |
| 5 | `temporaryData` | `HashMap<String, Object>` | Temporary data store shared across the request lifecycle. Used to hold template objects (e.g., `EKK0081A010` service contract template) that were populated by upstream processing. The method retrieves the template to extract service-level fields such as SVC_KEI_NO, SYSID, SVC_STA_YMD, and PCRS_CD. |

| # | Field | Type | Business Description |
|---|-------|------|---------------------|
| 1 | `workMap` | `Map` | Common work area retrieved from `param.getMappingWorkArea()`. Contains `mskm_no` (application number) and `mskm_dtl_no` (application detail number) — the identifiers linking this work order to the original service contract application. |
| 2 | `ccMsg` | `HashMap` | The message object from the data map, carrying screen-level input data including `svc_kei_no` (service contract number), `haiso_div_cd` (delivery division code), `koji_scope_cd` (work scope code), `kojiak_biko` (work order remarks), and contact scheduling fields. |
| 3 | `createDataMap` | `Map` | The first item from the device creation list (`create_list`), containing the device-specific data for the HGW being registered, including `KKTK_SVC_KEI_NO` (device-provided service contract number) and `GENE_ADD_DTM` (generation registration date-time). |

## 4. CRUD Operations / Called Services

Analyze all method calls within this method and classify each as a CRUD operation.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `execMskmDtlUpd(handle, scCall, param, dataMapKey, temporaryData, mskmDtlNo)` | (self) | MSKM_DTL (Application Details) | Updates the application detail record with ONU exchange work data. Modifies the 申込明细 (application detail) record identified by mskmDtlNo. |
| R | `JKKRzkzmAnkenChkCC.jdgeRzkzmAnken(handle, param, "rzkzm_anken_check_map")` | (self) | JKK_T_RZKZM_ANKEN (Reconfiguration Case File) | Judges whether the site is eligible for work skip by checking the reconfiguration case file against the service contract and circuit detail. Sets chk_result in the output map ("1" = skip allowed, otherwise not allowed). |
| C | `JKKKojiAnkenCC.executeKojiAnken(handle, param, kojiAnkenCCMapKey)` | (self) | KKK_T_KOJIAK (Work Order Case), KKK_T_KOJIAK_DTL (Work Order Case Detail) | Registers a new work order case for the ONU exchange. Persists the work order header (koji_uk_cd="007", koji_uk_dtl_cd="E0") and associated detail records including service contract info, contact preferences, and device list. |
| R | `JKKKikiIchiranKkCreateCC.getNullToStr(Object)` | (self) | - | Null-safe string conversion utility. Converts null values to empty strings to prevent NullPointerException in downstream map operations. Called 19 times. |

**Notes:**
- The SC Code column shows "(self)" because the called methods are within the same component class (JKKKikiIchiranKkCreateCC) or its peer classes (JKKRzkzmAnkenChkCC, JKKKojiAnkenCC). The actual SC/CBS layer is invoked internally by those components.
- The entity/table names are inferred from the business domain: MSKM_* tables for application records, JKK_T_RZKZM_ANKEN for reconfiguration case file checks, and KKK_T_KOJIAK/KKK_T_KOJIAK_DTL for work order case registration.

## 5. Dependency Trace

Pre-computed evidence shows the following callers:

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `JKKKikiIchiranKkCreateCC.execKikiIchiranKikiCreate()` | `execKikiIchiranKikiCreate()` -> `execOnuKokankojiAdd(handle, scCall, param, dataMapKey, temporaryData)` | `executeKojiAnken [C] KKK_T_KOJIAK, KKK_T_KOJIAK_DTL`, `jdgeRzkzmAnken [R] JKK_T_RZKZM_ANKEN`, `execMskmDtlUpd [U] MSKM_DTL`, `getNullToStr [R] -` |

**Notes:**
- This method is called exclusively from `execKikiIchiranKikiCreate()`, which handles the overall device creation workflow in the NTT equipment information registration screen.
- No screen/batch entry points were found within 8 hops of direct callers. The screen entry points (KKSV0004, etc.) invoke `execKikiIchiranKikiCreate()` which then routes to this method.
- The terminal operations from this method flow through `executeKojiAnken` which is the ultimate work order registration CBS call.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(variable initialization)` (L5063)

> Initialize local variables and retrieve the common work area and message data from the parameter object.

| # | Type | Code |
|---|------|------|
| 1 | SET | `workMap = param.getMappingWorkArea()` // Retrieve common work area // NOSONAR |
| 2 | SET | `mskmNo = ""` // Initialize application number |
| 3 | SET | `mskmDtlNo = ""` // Initialize application detail number |
| 4 | SET | `ccMsg = (HashMap)param.getData(dataMapKey)` // Retrieve message data from data map |

**Block 2** — [SET] `(retrieve device creation list)` (L5071)

> Get the device creation list from the parameter map keyed by KIKI_CREATE_CC_PARAM ("JKKKikiAddCC"). The list contains device registration data for all devices in this service contract.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kikiCreateCCMap = (HashMap)param.getData(KIKI_CREATE_CC_PARAM)` // KIKI_CREATE_CC_PARAM = "JKKKikiAddCC" // NOSONAR |
| 2 | SET | `createList = (ArrayList)kikiCreateCCMap.get("create_list")` // Get device creation list |
| 3 | SET | `createDataMap = createList.get(0)` // Take first device entry — ONU registration target |

**Block 3** — [IF] `(precondition check: device type and delivery division)` (L5073)

> Gate condition: both device sub-type must be HGW ("S0") AND delivery division code must be "00" (new installation). If either condition fails, the method returns immediately without performing ONU exchange work registration. This ensures the ONU exchange flow only executes for HGW new installation scenarios.

| # | Type | Code |
|---|------|------|
| 1 | SET | `condition = !(TAKNKIKI_SBT_CD_HGW("S0") == deviceSubType) OR !(CD00020_HAISO_DIV_00("00") == haisoDivCd)` // NOSONAR |
| 2 | RETURN | `return;` // Early exit if precondition not met |

> If true: both conditions are satisfied (device is HGW and delivery is new installation) → proceed to Block 4.

**Block 4** — [IF] `(workMap null check)` (L5079)

> Safely extract application number (mskm_no) and application detail number (mskm_dtl_no) from the work map. If workMap is null, these remain as empty strings.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mskmNo = getNullToStr((String)workMap.get("mskm_no"))` // Application number (申込番号) |
| 2 | SET | `mskmDtlNo = getNullToStr((String)workMap.get("mskm_dtl_no"))` // Application detail number (申込明细番号) |

**Block 5** — [CALL] `(application detail update)` (L5085)

> Execute application-level detail update processing (申込明细更新処理). This updates the application detail record with new information related to the ONU exchange work. The update is triggered unconditionally after the precondition check passes.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `execMskmDtlUpd(handle, scCall, param, dataMapKey, temporaryData, mskmDtlNo)` // Update application details // NOSONAR |

**Block 6** — [SET] `(build reconfiguration case file check parameters)` (L5087)

> Instantiate the reconfiguration case file check component and build the input map. The check map carries the service contract number, circuit detail number, and a fixed movement division code indicating "Equipment Contract Change" (機器契約変更).

| # | Type | Code |
|---|------|------|
| 1 | SET | `rzkzmAnkenChkCC = new JKKRzkzmAnkenChkCC()` // Instantiate reconfiguration checker // NOSONAR |
| 2 | SET | `rzkzmAnkenChkMap = new HashMap()` // Initialize check result map |
| 3 | SET | `rzkzmAnkenChkMap.put("svc_kei_no", getNullToStr(ccMsg.get("svc_kei_no")))` // Service contract number (サービス契約番号) |
| 4 | SET | `rzkzmAnkenChkMap.put("svc_kei_kaisen_ucwk_no", getNullToStr(ccMsg.get("svc_kei_kaisen_ucwk_no")))` // Service contract circuit detail number (サービス契約回線内訳番号) |
| 5 | SET | `rzkzmAnkenChkMap.put("ido_div", JKKStrConst.CD00576_00026)` // Movement division = "00026" (機器契約変更) |
| 6 | EXEC | `param.setData("rzkzm_anken_check_map", rzkzmAnkenChkMap)` // Store check map in param |

**Block 7** — [CALL] `(reconfiguration case file eligibility judgment)` (L5094)

> Delegate the reconfiguration case file eligibility check to the dedicated component. This determines whether the site is eligible for a "work skip" (工事スキップ可能) — meaning the ONU can be remotely configured without a physical technician visit.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `rzkzmAnkenChkCC.jdgeRzkzmAnken(handle, param, "rzkzm_anken_check_map")` // Judge reconfiguration eligibility // NOSONAR |

**Block 8** — [SET] `(retrieve check result)` (L5096)

> Extract the check result from the output map. The result "1" (ROZETT_CHK_RSLT_1) means the reconfiguration check passed and work skip is allowed.

| # | Type | Code |
|---|------|------|
| 1 | SET | `chkResultMap = (HashMap)param.getData("rzkzm_anken_check_map")` // Retrieve check result map |
| 2 | SET | `chkResult = (String)chkResultMap.get("chk_result")` // Check result: "1" = skip allowed, other = not allowed |
| 3 | SET | `ekk0081a010 = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0081A010)` // Retrieve service contract template // TEMPLATE_ID_EKK0081A010 = "EKK0081A010" |
| 4 | SET | `outMap = new HashMap()` // Initialize work order output map |

**Block 9** — [SET] `(set work order header and detail codes)` (L5101)

> Populate the work order header code and detail code constants. Work header "007" identifies this as a work order case registration (工事案件受注). Work detail "E0" identifies this as an ONU exchange work (ONU交換工事).

| # | Type | Code |
|---|------|------|
| 1 | SET | `outMap.put(KOJI_UK_CD, JKKStrConst.KOJI_UK_CD_007)` // KOJI_UK_CD = "koji_uk_cd", Value = "007" (Work Header: 工事案件受注) // NOSONAR |
| 2 | SET | `outMap.put(KOJI_UK_DTL_CD, JKKStrConst.CD00885_ONU_KOKAN_KOJI)` // KOJI_UK_DTL_CD = "koji_uk_dtl_cd", Value = "E0" (ONU Exchange Work) |

**Block 10** — [SET] `(populate service contract and application identifiers)` (L5104)

> Extract and set core identifiers from the template and local variables: service contract number, SYSID, application number, and application detail number.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outMap.put(SVC_KEI_NO, getNullToStr(ekk0081a010.getString(SVC_KEI_NO)))` // Service contract number (サービス契約番号) |
| 2 | SET | `outMap.put(SYSID, getNullToStr(ekk0081a010.getString(SYSID)))` // System ID (SYSID) |
| 3 | SET | `outMap.put(MSKM_NO, mskmNo)` // Application number (申込番号) |
| 4 | SET | `outMap.put(MSKM_DTL_NO, mskmDtlNo)` // Application detail number (申込明细番号) |
| 5 | SET | `outMap.put(ROZETT_CHK_RSLT, chkResult)` // Reconfiguration check result (ロセットチェック結果) |

**Block 11** — [IF] `(work skip result determination)` (L5137)

> Determine the work scope code based on the reconfiguration check result. If chkResult equals "1" (work skip allowed — ロセットチェック結果: 工事スキップ可), set KOJI_SCOPE_CD to "070" (ONU exchange scope). Otherwise, use the value carried in the ccMsg from the screen (original work scope code).

| # | Type | Code |
|---|------|------|
| 1 | SET | `condition = ROZETT_CHK_RSLT_1("1").equals(chkResult)` |
| 2 | SET (true branch) | `outMap.put(KOJI_SCOPE_CD, JKKStrConst.KOJI_SCOPE_CD_070)` // Value = "070" (Work Scope: ONU Exchange) |
| 3 | SET (else branch) | `outMap.put(KOJI_SCOPE_CD, getNullToStr(ccMsg.get("koji_scope_cd")))` // Use original work scope from screen |

**Block 12** — [SET] `(populate contact and scheduling fields)` (L5145)

> Set customer contact preferences and scheduling information on the work order. These include the desired installation date/time window, contact person designation, phone number, and preferred contact date/time.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outMap.put(TNKJ_KIBO_APO_KIGEN_YMD, getNullToStr(ccMsg.get("tnkj_kibo_apo_kigen_ymd")))` // Inside work desired appointment deadline (宅内工事希望アポ期限年月日) |
| 2 | SET | `outMap.put(KOJI_APO_RRKS_SHITEI_CD, getNullToStr(ccMsg.get("koji_apo_rrks_shitei_cd")))` // Work appointment contact designation code (工事アポ連絡先指定コード) |
| 3 | SET | `outMap.put(KOJI_APO_RRKS_TELNO, getNullToStr(ccMsg.get("koji_apo_rrks_telno")))` // Work appointment contact phone number (工事アポ連絡先電話番号) |
| 4 | SET | `outMap.put(TEL_RRK_KIBO_YMD, getNullToStr(ccMsg.get("tel_rrk_kibo_ymd")))` // Phone contact desired date (電話連絡希望年月日) |
| 5 | SET | `outMap.put(TEL_RRK_KIBO_TIME_CD, getNullToStr(ccMsg.get("tel_rrk_kibo_time")))` // Phone contact desired time slot code (電話連絡希望時間帯コード) |

**Block 13** — [SET] `(populate service and pricing fields)` (L5153)

> Set the service start date and cost code from the service contract template.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outMap.put(SVC_STA_YMD, getNullToStr(ekk0081a010.getString(SVC_STA_YMD)))` // Service start date (サービス開始年月日) |
| 2 | SET | `outMap.put(PCRS_CD, getNullToStr(ekk0081a010.getString(PCRS_CD)))` // Cost code (料金コースコード) |

**Block 14** — [SET] `(populate work order remarks and movement division)` (L5158)

> Set work order case remarks and the movement division (the type of change triggering this work order).

| # | Type | Code |
|---|------|------|
| 1 | SET | `outMap.put(KOJIAK_BIKO, getNullToStr(ccMsg.get("kojiak_biko")))` // Work order case remarks (工事案件備考) |
| 2 | SET | `outMap.put(KOJIAK_BIKO_1, getNullToStr(ccMsg.get("kojiak_biko_1")))` // Work order case remarks 1 (工事案件備考1) |
| 3 | SET | `outMap.put(KOJIAK_BIKO_2, getNullToStr(ccMsg.get("kojiak_biko_2")))` // Work order case remarks 2 (工事案件備考2) |
| 4 | SET | `outMap.put(IDO_DIV, getNullToStr(ccMsg.get("ido_div")))` // Movement division (異動区分) |

**Block 15** — [SET] `(build device information list)` (L5163)

> Construct a device information list containing the HGW device's service contract number and generation registration timestamp. This provides the work order with the device-specific context needed for the ONU exchange.

| # | Type | Code |
|---|------|------|
| 1 | SET | `taknkiki_info_list = new ArrayList<HashMap>()` // Initialize device info list |
| 2 | SET | `taknkikiinfolistmsg = new HashMap<String, String>()` // Initialize device info map |
| 3 | SET | `taknkikiinfolistmsg.put(KKTK_SVC_KEI_NO, createDataMap.get(KKTK_SVC_KEI_NO))` // Device-provided service contract number (機器提供サービス契約番号) |
| 4 | SET | `taknkikiinfolistmsg.put(KKTK_SVC_KEI_NO_GENE_ADD_DTM, createDataMap.get(GENE_ADD_DTM))` // Device-provided service contract number generation registration date-time (機器提供サービス契約番号_世代登録年月日時分秒) |
| 5 | EXEC | `taknkiki_info_list.add(taknkikiinfolistmsg)` // Add device info to list |
| 6 | SET | `outMap.put(TAKNKIKI_INFO_LIST, taknkiki_info_list)` // Set device info list in output map |

**Block 16** — [SET] `(store work order map and execute registration)` (L5171)

> Store the assembled work order data map in the param using a composite key derived from dataMapKey, then instantiate and invoke the work order registration component.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kojiAnkenCCMapKey = dataMapKey + "_JKKKojiAnkenCC"` // Composite key for work order map |
| 2 | EXEC | `param.setData(kojiAnkenCCMapKey, outMap)` // Store work order data in param |
| 3 | SET | `JKKKojiAnkenCC = new JKKKojiAnkenCC()` // Instantiate work order registration component |
| 4 | CALL | `JKKKojiAnkenCC.executeKojiAnken(handle, param, kojiAnkenCCMapKey)` // Register work order case (工事案件登録CC実行) // NOSONAR |
| 5 | RETURN | `return;` // End processing |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `mskm_no` | Field | Application Number (申込番号) — unique identifier for a service contract application submitted by the customer or operator. |
| `mskm_dtl_no` | Field | Application Detail Number (申込明细番号) — sub-identifier for a specific line-item or circuit within an application. |
| `svc_kei_no` | Field | Service Contract Number (サービス契約番号) — unique identifier for a customer's active service contract. |
| `svc_kei_kaisen_ucwk_no` | Field | Service Contract Circuit Detail Number (サービス契約回線内訳番号) — identifier for a specific circuit within a service contract. |
| `ido_div` | Field | Movement Division (異動区分) — classification of the type of change (e.g., new installation, contract change, cancellation). In this method, set to "00026" (Equipment Contract Change / 機器契約変更). |
| `haiso_div_cd` | Field | Delivery Division Code (配達区分コード) — indicates delivery/installation type. "00" = New Installation (新規設置). |
| `koji_scope_cd` | Field | Work Scope Code (工事範囲コード) — classifies the scope/type of field work to be performed. |
| `kojiak_biko` / `kojiak_biko_1` / `kojiak_biko_2` | Field | Work Order Case Remarks (工事案件備考) — free-text notes associated with the work order case. |
| `chk_result` | Field | Reconfiguration Check Result (ロセットチェック結果) — output from the reconfiguration case file eligibility check. "1" = Work Skip Allowed (工事スキップ可), others = not allowed. |
| `ROZETT_CHK_RSLT_1` | Constant | Reconfiguration Check Result value "1" — Work Skip Allowed (工事スキップ可). Means the ONU can be configured remotely without a technician visit. |
| `ROZETT_CHK` | Field | Reconfiguration Check (ロセットチェック) — business process that determines if pre-registered equipment allows skipping a physical installation visit. Named after "socket" (ロセット) referring to the customer premise connection point. |
| `KOJI_UK_CD_007` | Constant | Work Header Code "007" (工事受注コード) — identifies the work order as a "Work Order Case" (工事案件受注). |
| `KOJI_UK_DTL_CD` | Field | Work Detail Code (工事明细コード) — identifies the specific type of work. Value "E0" = ONU Exchange Work (ONU交換工事). |
| `KOJI_SCOPE_CD_070` | Constant | Work Scope Code "070" — ONU Exchange scope (ONU交換範囲). |
| `TAKNKIKI_SBT_CD_HGW` | Constant | Device Sub-Type "S0" — Home Gateway (HGW / ホームゲートウェイ). |
| `KKTK_SVC_KEI_NO` | Field | Device-Provided Service Contract Number (機器提供サービス契約番号) — service contract number associated with the specific ONU/HGW device. |
| `GENE_ADD_DTM` | Field | Generation Registration Date-Time (世代登録年月日時分秒) — timestamp of when this device record version was registered. |
| `SVC_STA_YMD` | Field | Service Start Date (サービス開始年月日) — the date when the service contract goes live. |
| `PCRS_CD` | Field | Cost Code (料金コースコード) — pricing plan code associated with the service contract. |
| `TNKJ_KIBO_APO_KIGEN_YMD` | Field | Inside Work Desired Appointment Deadline (宅内工事希望アポ期限年月日) — deadline for scheduling the inside installation appointment. |
| `KOJI_APO_RRKS_SHITEI_CD` | Field | Work Appointment Contact Designation Code (工事アポ連絡先指定コード) — identifies who should be contacted for scheduling (customer, office, etc.). |
| `KOJI_APO_RRKS_TELNO` | Field | Work Appointment Contact Phone Number (工事アポ連絡先電話番号) — phone number for scheduling the work appointment. |
| `TEL_RRK_KIBO_YMD` | Field | Phone Contact Desired Date (電話連絡希望年月日) — the customer's preferred date for a phone contact regarding the work. |
| `TEL_RRK_KIBO_TIME_CD` | Field | Phone Contact Desired Time Slot Code (電話連絡希望時間帯コード) — the customer's preferred time window for contact. |
| HGW | Business term | Home Gateway — a broadband router provided by the operator that serves as the customer premise equipment (CPE) for fiber optic internet service. |
| ONU | Business term | Optical Network Unit — the device at the customer premise that terminates the fiber optic connection and converts optical signals to Ethernet. In this context, "ONU Exchange" (ONU交換) refers to replacing or installing a new ONU device. |
| FTTH | Business term | Fiber To The Home — the fiber-optic broadband access technology used by K-Opticom. |
| 工事案件 (Koji Anken) | Business term | Work Order Case — the business entity representing a scheduled field installation/maintenance job. |
| 工事スキップ (Koji Skip) | Business term | Work Skip — a business process where physical field work is skipped because the equipment has been pre-configured remotely (e.g., via LO setting / ロセット設定). |
| LO setting (ロセット設定) | Business term | Line Office setting — remote configuration of the ONU at the telephone exchange (line office) without requiring a technician visit to the customer premise. |
| JKKRzkzmAnkenChkCC | Component | Reconfiguration Case File Check Component — validates whether a site is eligible for work skip by checking reconfiguration case file records. |
| JKKKojiAnkenCC | Component | Work Order Registration Component — persists work order case records to the database. |
| execMskmDtlUpd | Method | Application Detail Update Method — updates the application detail record with ONU exchange work data. |
| K-Opticom | Business term | Japanese broadband ISP operated by KDDI, providing FTTH fiber optic services. |
| NTT卸 (NTT Oroshi) | Business term | NTT wholesale — business model where K-Opticom rents NTT's fiber infrastructure to provide services to end customers. |
