# Business Logic — JKKAdchgKakuteiKikiDslCC.callkikiIdoYoyakuHanei() [75 LOC]

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

## 1. Role

### JKKAdchgKakuteiKikiDslCC.callkikiIdoYoyakuHanei()

This method performs equipment-related processing for address change (住所変更) operations involving customer equipment (機器) on a circuit line (回線). Its primary responsibility is a two-step workflow: first, it retrieves all equipment (device) contracts associated with a service detail work number (サービス契約内訳番号) via `callEKK0341B504`; then, for each piece of equipment, it determines whether an equipment transfer reservation (機器異動予約) already exists and, if so, updates the reservation's application effective date (予約適用年月日) to match the customer-specified date. The method implements a routing/dispatch pattern: it iterates over equipment list items obtained from the `EKK0341B504` CBS query, queries each equipment's contract details via `getEKK0341A010`, filters out terminated or cancelled contracts (status 910/920), and for HGW (Home Gateway) equipment that has associated multi-function router/ONU service contract details, it queries the equipment transfer reservation list via `EKK1681B001` and updates the reservation apply date via `EKK1681C040`. This method plays a supporting role within the broader `executeKikiDsl` (transfer-side equipment cancellation processing) screen logic — specifically, it handles the post-equipment-gathering step that ensures any pending transfer reservations reflect the correct effective date.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["callkikiIdoYoyakuHanei"])
    CALL_EKK0341B504["CALL: callEKK0341B504"]
    START --> CALL_EKK0341B504
    CALL_EKK0341B504 --> OUTER_LOOP{Outer Loop: kk0341_b504_list}
    OUTER_LOOP -->|next| GET_KKTK_SVC_KEI_NO["SET: kktkSvcKeiNo"]
    GET_KKTK_SVC_KEI_NO --> CALL_GET_A010["CALL: getEKK0341A010"]
    CALL_GET_A010 --> CHECK_KIKI_MAP{kikiMap null or empty}
    CHECK_KIKI_MAP -->|true| CONTINUE_1[continue]
    CHECK_KIKI_MAP -->|false| GET_STAT["SET: kktkSvcKeiStat"]
    GET_STAT --> CHECK_STAT{SVC_KEI_STAT_910 or 920}
    CHECK_STAT -->|true| CONTINUE_2[continue]
    CHECK_STAT -->|false| GET_SVC_CD["SET: kktkSvcCd"]
    GET_SVC_CD --> CHECK_SVC_CD{svcCd in paramKktkSvcCd}
    CHECK_SVC_CD -->|false| CONTINUE_3[continue]
    CHECK_SVC_CD -->|true| INNER_LOOP{Inner Loop: kk2101_b001_list}
    INNER_LOOP -->|next| FETCH_ADCHG["SET: chafSkbtNo, chbfSkbtNo, adchgDtlSbtCd, chgTgKeiNo"]
    FETCH_ADCHG --> CHECK_SBT_CD{adchgDtlSbtCd equals 03}
    CHECK_SBT_CD -->|false| CONTINUE_4[continue]
    CHECK_SBT_CD -->|true| CHECK_CHG{chgTgKeiNo not blank}
    CHECK_CHG -->|false| CONTINUE_5[continue]
    CHECK_CHG -->|true| CHECK_MATCH{kktkSvcKeiNo matches chbfSkbtNo and chafSkbtNo blank}
    CHECK_MATCH -->|false| CONTINUE_6[continue]
    CHECK_MATCH -->|true| CALL_1681B001["CALL: callSC EKK1681B001"]
    CALL_1681B001 --> CHECK_OUT{outMsg not null and length > 0}
    CHECK_OUT -->|false| CONTINUE_7[continue]
    CHECK_OUT -->|true| CALL_1681C040["CALL: callSC EKK1681C040"]
    CALL_1681C040 --> CONTINUE_8[continue]
    CONTINUE_4 --> INNER_LOOP
    CONTINUE_5 --> INNER_LOOP
    CONTINUE_6 --> INNER_LOOP
    CONTINUE_7 --> INNER_LOOP
    CONTINUE_8 --> INNER_LOOP
    CONTINUE_1 --> OUTER_LOOP
    CONTINUE_2 --> OUTER_LOOP
    CONTINUE_3 --> OUTER_LOOP
    OUTER_LOOP --> OUTER_DONE{More items}
    OUTER_DONE -->|no| END(["Return void"])
    OUTER_DONE -->|yes| OUTER_LOOP
```

**Processing overview:**

1. **Equipment list retrieval**: Calls `callEKK0341B504` to fetch all equipment service contracts associated with the given service detail work number (`svcKeiKaisenUcwkNo`). Returns a list (`kk0341_b504_list`) of equipment contract detail maps.

2. **Outer loop — per equipment processing**: Iterates over `kk0341_b504_list`. For each equipment map:
   - Extracts the equipment service contract number (`kktkSvcKeiNo`).
   - Queries detailed equipment contract data via `getEKK0341A010`.
   - If the equipment contract is null/empty, skips to the next iteration.
   - Retrieves the equipment service contract status (`kktkSvcKeiStat`). If the status is `910` (terminated/解約済) or `920` (cancelled/キャンセル済), skips to the next iteration.
   - Extracts the equipment service code (`kktkSvcCd`).
   - If the service code is present in `paramKktkSvcCd` (multi-function equipment and ONU), enters the inner matching loop.

3. **Inner loop — address change detail matching**: Iterates over `kk2101_b001_list` (address change detail list). For each detail map:
   - Extracts service contract numbers (pre-change: `chbfSkbtNo`, post-change: `chafSkbtNo`), service detail subtype code (`adchgDtlSbtCd`), and change target contract number (`chgTgKeiNo`).
   - Checks if the detail subtype code is `"03"` (Equipment Provision Service / 機器提供サービス) AND `chgTgKeiNo` is not blank AND the equipment service contract number matches the pre-change number AND the post-change number is blank.
   - If all conditions match (equipment provision service where the target contract is the pre-change contract and no post-change contract exists), performs the upper-level matching processing:
     - Queries the equipment transfer reservation list (機器異動予約一覧照会) via `EKK1681B001` with template `EKK1681B001`, function code `1`, detail code `013`, and reservation status `00`.
     - If reservation results exist, performs the upper-level matching processing (transfer reservation apply date update / 異動予約予約適用年月日変更) via `EKK1681C040` with template `EKK1681C040`, setting the reservation number, the apply date (`rsvAplyYmd`), and the previous update datetime.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Session management handle containing database connection, transaction context, and other session-level metadata required for CBS (Business Service) invocations. |
| 2 | `param` | `IRequestParameterReadWrite` | Request parameter object carrying model group and control map data passed through the business logic chain. Used to read/write request/response parameters and to receive the `SC` (Service Component) call results. |
| 3 | `fixedText` | `String` | User-defined arbitrary text string used as a key for parameter grouping and traceability within the request/response cycle. |
| 4 | `svcKeiKaisenUcwkNo` | `String` | Service detail circuit-internal detail number (サービス契約回線内訳番号) — uniquely identifies the circuit-level breakdown of a service contract, used to query associated equipment contracts. |
| 5 | `paramKktkSvcCd` | `List<String>` | List of equipment provision service codes (機器提供サービスコード) to match against. Specifically contains multi-function equipment codes such as HGW (Home Gateway). Used to determine whether the current equipment requires the inner matching/transfer-reservation update logic. |
| 6 | `kk2101_b001_list` | `ArrayList<HashMap<String, Object>>` | Address change detail list (住所変更明細リスト) — a list of address change detail records retrieved from `EKK2101B001`. Each map represents a line item within an address change operation, containing pre/post contract numbers, detail subtype codes, and change target contract numbers. |
| 7 | `rsvAplyYmd` | `String` | Reservation apply date (予約適用年月日) in YYYYMMDD format — the target date to set when updating equipment transfer reservation application records. Represents the customer-requested effective date for the transfer. |

**Instance/external state:**
- `TEMPLATE_ID_EKK1681B001` (static constant `"EKK1681B001"`) — Template ID for the EKK1681B001 CBS message.
- `TEMPLATE_ID_EKK1681C040` (static constant `"EKK1681C040"`) — Template ID for the EKK1681C040 CBS message.
- `scCall` — SC invocation context object (instance field used in `callSC` invocation).

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `callEKK0341B504` | EKK0341B504 | KK_T_KKTK_SVKEI (Equipment Service Contract table) | Retrieves all equipment service contract details for a given service detail circuit-internal detail number. Returns `kk0341_b504_list`. |
| R | `getEKK0341A010` | EKK0341A010 | KK_T_KKTK_SVKEI (Equipment Service Contract table) | Queries detailed equipment service contract data by equipment service contract number (`kktkSvcKeiNo`). Returns a single equipment contract map. |
| R | `callSC EKK1681B001` | EKK1681B001 | KK_T_IDO_RSV (Equipment Transfer Reservation table) | Queries the equipment transfer reservation list (機器異動予約一覧照会) — searches for existing transfer reservations matching the change target contract number, reservation detail code `013`, and reservation status `00`. |
| U | `callSC EKK1681C040` | EKK1681C040 | KK_T_IDO_RSV (Equipment Transfer Reservation table) | Updates the equipment transfer reservation apply date (予約適用年月日) to the customer-specified `rsvAplyYmd`. Uses reservation number, previous update datetime, and new apply date as inputs. |

**Method call summary (in order):**
1. `callEKK0341B504` — **R** (Read) — Retrieves equipment contract list for circuit.
2. `getEKK0341A010` — **R** (Read) — Retrieves individual equipment contract detail.
3. `callSC EKK1681B001` — **R** (Read) — Queries equipment transfer reservation list.
4. `callSC EKK1681C040` — **U** (Update) — Updates equipment transfer reservation apply date.

## 5. Dependency Trace

### Direct callers:

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0325 | `KKSV0325OPOperation.invokeCBS` -> `KKKAdchgKakuteiKikiDslCC.executeKikiDsl` -> `callkikiIdoYoyakuHanei` | `EKK1681B001 [R] KK_T_IDO_RSV`, `EKK1681C040 [U] KK_T_IDO_RSV` |

**Note**: The method is private and is called from `executeKikiDsl` within the same class (`JKKAdchgKakuteiKikiDslCC`) at line 353. The entry point `KKSV0325OPOperation` invokes `executeKikiDsl`, which in turn calls `callkikiIdoYoyakuHanei`. Additionally, this method invokes itself recursively (line 353) when processing HGW equipment to ensure the recursive call processes the associated circuit-line equipment as well.

**Terminal operations from this method:**

| Terminal Operation | Type | Entity / DB |
|--------------------|------|-------------|
| `callEKK0341B504` | R | KK_T_KKTK_SVKEI (Equipment Service Contract) |
| `getEKK0341A010` | R | KK_T_KKTK_SVKEI (Equipment Service Contract) |
| `callSC EKK1681B001` | R | KK_T_IDO_RSV (Equipment Transfer Reservation) |
| `callSC EKK1681C040` | U | KK_T_IDO_RSV (Equipment Transfer Reservation) |

## 6. Per-Branch Detail Blocks

### Block 1 — EXEC (Equipment list retrieval) (L1520)

> Retrieves all equipment service contracts for the given service detail circuit-internal detail number.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `kk0341_b504_list = this.callEKK0341B504(handle, param, fixedText, svcKeiKaisenUcwkNo)` // Retrieves equipment contract list |

### Block 2 — FOR (Outer loop: kk0341_b504_list) (L1521)

> Iterates over each equipment contract map returned from the CBS query.

| # | Type | Code |
|---|------|------|
| 1 | FOR | `for (HashMap<String, Object> kk0341B504Map : kk0341_b504_list)` // Process each equipment contract |

#### Block 2.1 — SET (Extract equipment service contract number) (L1523)

> Reads the equipment service contract number from the current map.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kktkSvcKeiNo = (String) kk0341B504Map.get(KKTK_SVC_KEI_NO)` // Equipment service contract number (機器提供サービス契約番号) |

#### Block 2.2 — CALL (Query equipment contract details) (L1524)

> Queries the equipment service contract detail by contract number.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `kikiMap = getEKK0341A010(handle, param, fixedText, kktkSvcKeiNo)` // Retrieves equipment contract detail |

#### Block 2.3 — IF (kikiMap null/empty check) (L1525)

> If the equipment contract cannot be retrieved, skip to the next equipment.

**Block 2.3** [IF] `(kikiMap == null || kikiMap.isEmpty())` (L1525)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `continue;` // Skip if equipment contract not found |

### Block 3 — IF (Equipment status filter: terminated or cancelled) (L1534)

> Skips equipment contracts that have been terminated (解約済) or cancelled (キャンセル済).

**Block 3** [IF] `SVC_KEI_STAT_910.equals(kktkSvcKeiStat) \|\| SVC_KEI_STAT_920.equals(kktkSvcKeiStat)` (L1534)

| # | Type | Code |
|---|------|------|
| 1 | SET | `kktkSvcKeiStat = (String) kikiMap.get(KKTK_SVC_KEI_STAT)` // Equipment service contract status (機器提供サービス契約ステータス) [-> KKTK_SVC_KEI_STAT] |
| 2 | IF | `SVC_KEI_STAT_910.equals(kktkSvcKeiStat)` // Contract status: 910 = terminated [-> SVC_KEI_STAT_910="910" (JKKSvcConst.java:364)] |
| 3 | IF | `SVC_KEI_STAT_920.equals(kktkSvcKeiStat)` // Contract status: 920 = cancelled [-> SVC_KEI_STAT_920="920" (JKKSvcConst.java:366)] |
| 4 | EXEC | `continue;` // Skip terminated or cancelled equipment |

#### Block 3.1 — SET (Extract equipment service code) (L1538)

> Reads the equipment service code to determine the type of equipment.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kktkSvcCd = (String) kikiMap.get(KKTK_SVC_CD)` // Equipment service code (機器提供サービスコード) [-> KKTK_SVC_CD] |

### Block 4 — IF (Multi-function/ONU equipment check: service code in paramKktkSvcCd) (L1541)

> Checks if the current equipment's service code is included in the list of multi-function/ONU service codes to process.

**Block 4** [IF] `paramKktkSvcCd != null && paramKktkSvcCd.contains(kktkSvcCd)` (L1541)

| # | Type | Code |
|---|------|------|
| 1 | IF | `paramKktkSvcCd != null` // Check list is not null |
| 2 | EXEC | `paramKktkSvcCd.contains(kktkSvcCd)` // Check if current equipment code is in the list |
| 3 | FOR | `for (HashMap<String, Object> adchgDtlMap : kk2101_b001_list)` // Inner loop: iterate over address change detail list |

#### Block 4.1 — SET (Extract address change detail fields) (L1546-L1549)

> Reads the contract numbers and change details from the current address change detail map.

| # | Type | Code |
|---|------|------|
| 1 | SET | `chafSkbtNo = (String) adchgDtlMap.get(CHAF_SKBT_NO)` // Post-change identification number (変更後識別番号) [-> CHAF_SKBT_NO] |
| 2 | SET | `chbfSkbtNo = (String) adchgDtlMap.get(CHBF_SKBT_NO)` // Pre-change identification number (変更前識別番号) [-> CHBF_SKBT_NO] |
| 3 | SET | `adchgDtlSbtCd = (String) adchgDtlMap.get(ADCHG_DTL_SBT_CD)` // Address change detail subtype code (住所変更明細種別コード) [-> ADCHG_DTL_SBT_CD] |
| 4 | SET | `chgTgKeiNo = (String) adchgDtlMap.get(CHG_TG_KEI_NO)` // Change target contract number (変更対象契約番号) [-> CHG_TG_KEI_NO] |

#### Block 4.2 — IF (Service detail subtype code = "03" = Equipment Provision Service) (L1552)

> The address change detail subtype code `"03"` identifies the Equipment Provision Service (機器提供サービス). This is checked alongside additional matching conditions.

**Block 4.2** [IF] `"03".equals(adchgDtlSbtCd)` (L1552)

> Condition includes: `!JKKStringUtil.isNullBlank(chgTgKeiNo)` AND `nullToBlank(kktkSvcKeiNo).equals(chbfSkbtNo)` AND `JKKStringUtil.isNullBlank(chafSkbtNo)`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"03".equals(adchgDtlSbtCd)` // Service subtype = 03: Equipment Provision Service (機器提供サービス) |
| 2 | IF | `!JKKStringUtil.isNullBlank(chgTgKeiNo)` // Change target contract number must not be null/blank |
| 3 | IF | `nullToBlank(kktkSvcKeiNo).equals(chbfSkbtNo)` // Equipment contract number must match pre-change contract number — ensures the current equipment is the one being changed out |
| 4 | IF | `JKKStringUtil.isNullBlank(chafSkbtNo)` // Post-change contract number must be blank — indicates a cancellation scenario (service deregistration/retention) rather than an active transfer |

##### Block 4.2.1 — SET (Build EKK1681B001 input message) (L1557-L1562)

> Constructs the input parameter array for querying the equipment transfer reservation list (機器異動予約一覧照会).

| # | Type | Code |
|---|------|------|
| 1 | SET | `ekk1681B001InMsg[...] = {TEMPLATEID, TEMPLATE_ID_EKK1681B001}` // Template ID [-> TEMPLATE_ID_EKK1681B001="EKK1681B001" (JKKHakkoSODConstCC.java:682)] |
| 2 | SET | `ekk1681B001InMsg[...] = {FUNC_CODE, FUNC_CD_1}` // Function code: 1 (機能コード: 1) [-> FUNC_CD_1="1" (JPCModelConstant.java:29)] |
| 3 | SET | `ekk1681B001InMsg[...] = {KEY_IDO_RSV_DTL_CD, "013"}` // Reservation detail code: 013 (異動予約明細コード: 013) |
| 4 | SET | `ekk1681B001InMsg[...] = {KEY_IDO_RSV_STAT_CD, CD01168_IDO_RSV_STAT_CD_00}` // Reservation status code: 00 (異動予約ステータスコード: 00) [-> CD01168_IDO_RSV_STAT_CD_00="00" (JKKStrConst.java:4932)] |
| 5 | SET | `ekk1681B001InMsg[...] = {KEY_KKTK_SVC_KEI_NO, chgTgKeiNo}` // Change target contract number as query key (変更対象契約番号をキー) |

##### Block 4.2.2 — CALL (Query equipment transfer reservation list) (L1563-L1564)

> Invokes the EKK1681B001 SC (Service Component) to query existing equipment transfer reservations.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ekk1681B001outMsg = callSC(handle, scCall, param, fixedText, ekk1681B001InMsg).getCAANMsgList(EKK1681B001CBSMSG1LIST)` // Upper-level matching (transfer reservation list inquiry) (上部マッチング処理: 異動予約一覧照会) |

###### Block 4.2.2.1 — IF (Reservation results exist) (L1565)

> If transfer reservations were found, proceed to update the reservation apply date.

**Block 4.2.2.1** [IF] `ekk1681B001outMsg != null && 0 < ekk1681B001outMsg.length` (L1565)

> Upper-level matching processing: transfer reservation apply date update (上部マッチング処理: 異動予約予約適用年月日変更).

| # | Type | Code |
|---|------|------|
| 1 | SET | `ekk1681c040InMsg[...] = {TEMPLATEID, TEMPLATE_ID_EKK1681C040}` // Template ID [-> TEMPLATE_ID_EKK1681C040="EKK1681C040" (JKKAdchgKakuteiKikiDslCC.java:117)] |
| 2 | SET | `ekk1681c040InMsg[...] = {FUNC_CODE, FUNC_CD_1}` // Function code: 1 (機能コード: 1) [-> FUNC_CD_1="1" (JPCModelConstant.java:29)] |
| 3 | SET | `ekk1681c040InMsg[...] = {IDO_RSV_NO, ekk1681B001outMsg[0].getString(IDO_RSV_NO)}` // Reservation number from first result (予約番号) [-> IDO_RSV_NO="ido_rsv_no" (EKK1681B001CBSMsg1List.java:82,329)] |
| 4 | SET | `ekk1681c040InMsg[...] = {RSV_APLY_YMD, rsvAplyYmd}` // Apply date from input parameter (予約適用年月日) [-> RSV_APLY_YMD="rsv_aply_ymd" (EKK1681C040CBSMsg.java:94,140)] |
| 5 | SET | `ekk1681c040InMsg[...] = {UPD_DTM_BF, ekk1681B001outMsg[0].getString(UPD_DTM)}` // Previous update datetime (更新前日時) — from reservation query result |
| 6 | CALL | `callSC(handle, scCall, param, fixedText, ekk1681c040InMsg)` // Update reservation apply date (予約適用年月日更新) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svcKeiKaisenUcwkNo` | Field | Service detail circuit-internal detail number (サービス契約回線内訳番号) — internal identifier for the circuit-level breakdown of a service contract. Used as the key to query equipment contracts. |
| `kktkSvcKeiNo` | Field | Equipment service contract number (機器提供サービス契約番号) — unique identifier for a specific equipment service contract. |
| `kktkSvcKeiStat` | Field | Equipment service contract status (機器提供サービス契約ステータス) — lifecycle status of the equipment contract. Values: `910` = terminated (解約済), `920` = cancelled (キャンセル済). |
| `kktkSvcCd` | Field | Equipment service code (機器提供サービスコード) — type identifier for the equipment (e.g., `C025` for HGW/Home Gateway). |
| `paramKktkSvcCd` | Field | List of equipment service codes for multi-function/ONU equipment to process. Determines which equipment items enter the inner matching logic. |
| `kk2101_b001_list` | Field | Address change detail list (住所変更明細リスト) — contains detail records for an address change operation. Each record describes a line item (contract) being changed. |
| `adchgDtlSbtCd` | Field | Address change detail subtype code (住所変更明細種別コード) — classifies the type of detail in an address change. Value `03` = Equipment Provision Service (機器提供サービス). |
| `chgTgKeiNo` | Field | Change target contract number (変更対象契約番号) — the service contract number that is the target of the address change modification. |
| `chbfSkbtNo` | Field | Pre-change identification number (変更前識別番号) — contract identifier before the address change takes effect. |
| `chafSkbtNo` | Field | Post-change identification number (変更後識別番号) — contract identifier after the address change takes effect. Blank for service deregistration/retention scenarios. |
| `rsvAplyYmd` | Field | Reservation apply date (予約適用年月日) — YYYYMMDD-formatted date representing when a reservation should become effective. Set by customer request. |
| `kk0341_b504_list` | Field | Equipment service contract list (機器提供サービス契約リスト) — list of equipment contracts retrieved for a circuit, used as the outer iteration source. |
| `kikiMap` | Field | Equipment contract map (機器契約マップ) — detail record for a single piece of equipment, containing status, service code, and other attributes. |
| `SVC_KEI_STAT_910` | Constant | Contract status: 910 = Terminated (解約済) — the service contract has been cancelled by the customer. |
| `SVC_KEI_STAT_920` | Constant | Contract status: 920 = Cancelled (キャンセル済) — the service contract was cancelled during processing. |
| `EKK1681B001` | SC Code | Equipment Transfer Reservation List Inquiry SC (機器異動予約一覧照会サービスコンポーネント) — queries existing equipment transfer reservation records. |
| `EKK1681C040` | SC Code | Equipment Transfer Reservation Apply Date Update SC (機器異動予約予約適用年月日変更サービスコンポーネント) — updates the effective date of a transfer reservation. |
| `KK_T_KKTK_SVKEI` | Table | Equipment Service Contract table (機器提供サービス契約テーブル) — stores equipment service contract records. |
| `KK_T_IDO_RSV` | Table | Equipment Transfer Reservation table (機器異動予約テーブル) — stores equipment transfer reservation records. |
| HGW | Business term | Home Gateway — a multi-function residential router/gateway device providing broadband connectivity, often with WiFi, NAT, and routing capabilities. |
| ONU | Business term | Optical Network Unit — a fiber optic terminal device used in FTTH (Fiber To The Home) networks to convert optical signals to electrical signals. |
| 異動予約 (Ido Yoyaku) | Japanese term | Equipment transfer reservation — a pending reservation to transfer/reassign equipment from one location/contract to another. |
| 機器提供サービス (Kiki Teikyo Service) | Japanese term | Equipment Provision Service — a service subtype indicating that physical equipment (device) is being provided to the customer as part of the service contract. |
| 住所変更 (Jusho Henkou) | Japanese term | Address change — a business operation for changing a customer's registered address, which may involve cancelling and reassigning associated services. |
| SC (Service Component) | Acronym | Service Component — a service layer interface for invoking backend business operations (CBS: Core Business Service). |
| CBS (Core Business Service) | Acronym | Core Business Service — the backend service module that implements specific business logic and data access operations. |
| KK | Prefix | Kiki Contract (機器契約) — the product line prefix for equipment contract-related modules in this codebase. |
| IDO_RSV_DTL_CD | Field | Transfer Reservation detail code (異動予約明細コード) — identifies the type of reservation detail. Value `013` is used for equipment provision service reservations. |
| IDO_RSV_STAT_CD | Field | Transfer Reservation status code (異動予約ステータスコード) — lifecycle status of a transfer reservation. Value `00` indicates an active/valid reservation. |
