# Business Logic — JBSbatKKSmtvlRnkiInfCst.execute() [174 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.business.service.JBSbatKKSmtvlRnkiInfCst` |
| Layer | Service (Batch Service Component) |
| Module | `service` (Package: `eo.business.service`) |

## 1. Role

### JBSbatKKSmtvlRnkiInfCst.execute()

This method performs **smart-bally (スマートバリー) linkage information extraction** for address change (住所変更) processing in the K-Opticom customer base system. It is a batch service component that determines the correct timing and conditions under which smart-bally integration data should be emitted to an intermediate file for downstream consumption.

The method handles **three distinct processing branches** based on operational conditions:

1. **Delayed Start Path**: When the `IS_DELAYED` flag equals `"1"`, the method outputs all address change and service contract data to an intermediate file immediately, bypassing all timing checks. This supports batch reprocessing scenarios where work is deferred to a later execution cycle.

2. **Move-In Reservation Path**: When the move-in scheduled date has arrived (i.e., the service contract line item's scheduled start date is on or before the current operating date), the method outputs the data after verifying the originating service contract has not been terminated (surrendered).

3. **New Work Completion Path**: When no move-in reservation is found, the method iterates through completed work records (工事完了ワーク) for the address change. For each completed work, it checks the service contract/work item table (KU_T_SVKEI_KOJIAK) to determine if the work is fully completed. If so, it outputs the data after confirming the originating service contract is not surrendered.

The method implements a **routing/dispatch design pattern**, progressively narrowing down the eligibility criteria through sequential database queries. If none of the conditions are met, it returns `null` (indicating no data should be emitted). All output paths populate the same intermediate file structure (`JBSbatKKIFM267`), ensuring downstream consumers receive consistent data regardless of which branch produced it.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["Start: execute(inMap)"])
    INIT["Initialize: outputItem, outMap
Extract: inAdchgNo, inItensSvkeiKisuwNo, isDelayed"]
    CHECK_DELAYED{isDelayed equals
DELAYED_START?}
    DELAYED_OUTPUT["Set outMap fields:
ADCHG_NO, MSKM_DTL_NO, ITNM_SVC_KEI_NO,
ITNS_SVC_KEI_NO, TAJGS_WRIB_KEI_NO,
TAJGSWKEI_TGKEI_NO, GENE_ADD_DTM, UPD_DTM"]
    DELAYED_ADD["outputItem.addOutMapList(outMap)"]
    DELAYED_RETURN["Return outputItem"]
    QUERY_RESERVATION["executeKK_T_SVKEI_KAISEN_UW_KK_SELECT_026
(db_KK_T_SVKEI_KAISEN_UW.selectNext)"]
    CHECK_RESERVATION{nyukyoRsvTriKisnInfo
is not null?}
    RESERVATION_OUTPUT["Set outMap fields:
ADCHG_NO, MSKM_DTL_NO, ITNM_SVC_KEI_NO,
ITNS_SVC_KEI_NO, TAJGS_WRIB_KEI_NO,
TAJGSWKEI_TGKEI_NO, GENE_ADD_DTM, UPD_DTM"]
    CHECK_SURRENDER{isSurrenderService
CHBF_SKBT_NO false?}
    RESERVATION_ADD["outputItem.addOutMapList(outMap)"]
    RESERVATION_RETURN["Return outputItem"]
    QUERY_COMPLETION["executeKK_T_KJ_FIN_WK_KK_SELECT_020
(db_KK_T_KJ_FIN_WK.selectNext loop)"]
    LOOP_COMPLETION{db_KK_T_KJ_FIN_WK
selectNext has row?}
    QUERY_KOJIAK["executeKU_T_SVKEI_KOJIAK_KK_SELECT_007
(db_KU_T_SVKEI_KOJIAK.selectNext)"]
    CHECK_KOJIAK{db_KU_T_SVKEI_KOJIAK
selectNext not null?}
    COMPLETION_OUTPUT["Set outMap fields:
ADCHG_NO, MSKM_DTL_NO, ITNM_SVC_KEI_NO,
ITNS_SVC_KEI_NO, TAJGS_WRIB_KEI_NO,
TAJGSWKEI_TGKEI_NO, GENE_ADD_DTM, UPD_DTM"]
    COMPLETION_SURRENDER{isSurrenderService
CHBF_SKBT_NO false?}
    COMPLETION_ADD["outputItem.addOutMapList(outMap)"]
    COMPLETION_RETURN["Return outputItem"]
    END_NODE(["Return null"])

    START --> INIT
    INIT --> CHECK_DELAYED
    CHECK_DELAYED -- DELAYED_START equals 1 --> DELAYED_OUTPUT
    CHECK_DELAYED -- else --> QUERY_RESERVATION
    DELAYED_OUTPUT --> DELAYED_ADD
    DELAYED_ADD --> DELAYED_RETURN
    DELAYED_RETURN --> END_NODE
    QUERY_RESERVATION --> CHECK_RESERVATION
    CHECK_RESERVATION -- yes --> RESERVATION_OUTPUT
    CHECK_RESERVATION -- no --> QUERY_COMPLETION
    RESERVATION_OUTPUT --> CHECK_SURRENDER
    CHECK_SURRENDER -- true --> RESERVATION_ADD
    CHECK_SURRENDER -- false --> RESERVATION_RETURN
    RESERVATION_ADD --> RESERVATION_RETURN
    RESERVATION_RETURN --> END_NODE
    QUERY_COMPLETION --> LOOP_COMPLETION
    LOOP_COMPLETION -- yes --> QUERY_KOJIAK
    LOOP_COMPLETION -- no --> END_NODE
    QUERY_KOJIAK --> CHECK_KOJIAK
    CHECK_KOJIAK -- yes --> COMPLETION_OUTPUT
    CHECK_KOJIAK -- no --> LOOP_COMPLETION
    COMPLETION_OUTPUT --> COMPLETION_SURRENDER
    COMPLETION_SURRENDER -- true --> COMPLETION_ADD
    COMPLETION_SURRENDER -- false --> COMPLETION_RETURN
    COMPLETION_ADD --> COMPLETION_RETURN
    COMPLETION_RETURN --> END_NODE
```

**CONSTANT RESOLUTION:**
- `DELAYED_START = "1"` — Delayed (start) — the delayed batch processing flag indicating deferred/scheduled execution
- `DELAYED_NOT_START = "0"` — Delayed (not start) — default when IS_DELAYED is empty or null, meaning normal (non-delayed) processing

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `inMap` | `JBSbatServiceInterfaceMap` | Input message container carrying address change (住所変更) context data for smart-bally linkage. Contains: `ADCHG_NO` (address change number — the unique identifier for an address change record), `ITENS_SVKEI_KISUW_NO` (pre-transfer service contract line item number — the original service contract line identifier before any address change), `CHBF_SKBT_NO` (pre-transfer service contract number — the service contract number of the source/originating account), `CHAF_SKBT_NO` (post-transfer service contract number — the service contract number after address change), `MSKM_DTL_NO` (moving details number — internal tracking for move-related processing), `TAJGS_WRIB_KEI_NO` (additional writing contract number — supplementary contract identifier for additional services), `TAJGSWKEI_TGKEI_NO` (additional contract target contract number — the target contract for additional service changes), `GENE_ADD_DTM` (general add date/time — timestamp of general record creation), `UPD_DTM` (update date/time — last modification timestamp), and `IS_DELAYED` (delayed start flag — "1" for deferred batch processing, "0" or null for normal processing). |
| — | `opeDate` | inherited | Operating date — the business date used for date comparisons (e.g., checking if move-in date has arrived). Inherited from the batch context. |

**Instance fields / external state read:**
- `db_KK_T_KJ_FIN_WK` — Database access for the KK_T_KJ_FIN_WK (work completion work table) used in the new work completion branch.
- `db_KU_T_SVKEI_KOJIAK` — Database access for the KU_T_SVKEI_KOJIAK (service contract / work item table) used to check work completion status.
- `db_KK_T_SVKEI_KAISEN_UW` — Database access for the KK_T_SVKEI_KAISEN_UW (service contract line item) used to check move-in reservation status.
- `db_KK_T_SVC_KEI` — Database access for the KK_T_SVC_KEI (service contract table) used by `isSurrenderService` to check if a contract has been terminated.

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `executeKK_T_SVKEI_KAISEN_UW_KK_SELECT_026` | KK_SELECT_026 | KK_T_SVKEI_KAISEN_UW | Queries the service contract line item (with operation date offset) to check if the move-in scheduled date has arrived |
| R | `executeKK_T_KJ_FIN_WK_KK_SELECT_020` | KK_SELECT_020 | KK_T_KJ_FIN_WK | Queries the work completion work table by address change number and operating date to find completed works |
| R | `executeKU_T_SVKEI_KOJIAK_KK_SELECT_007` | KK_SELECT_007 | KU_T_SVKEI_KOJIAK | Queries the service contract/work item table to check if a specific work item record exists (indicating work completion) |
| R | `isSurrenderService` | KK_SELECT_251 | KK_T_SVC_KEI | Queries the service contract table to determine if a service contract has been terminated (surrendered). Returns true if a matching record exists with surrender status. |
| - | `JBSbatDateUtil.adjustDate` | - | - | Adjusts a date by a given offset (used to compute opeDate - 1 for the reservation query) |
| - | `JBSbatServiceInterfaceMap.getString` | - | - | Retrieves string values from the input message map by key |
| - | `JBSbatServiceInterfaceMap.setString` | - | - | Sets string values in the output message map by key |
| - | `JBSbatOutputItem.addOutMapList` | - | - | Appends the prepared output map to the output item's result list |
| - | `JBSbatOutputItem.<init>` | - | - | Creates a new output item container |
| - | `JBSbatServiceInterfaceMap.<init>` | - | - | Creates a new service interface map |
| - | `JBSbatServiceInterfaceMap.setOutFlg` | - | - | Sets the output flag to true, indicating this is an output-oriented operation |
| - | `JBSbatCommonDBInterface.<init>` | - | - | Creates a parameter list for SQL execution (used within isSurrenderService) |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CBS: JBSbatKKAdChgCstScreenKidou | `initial(commonItem)` -> instantiates `execObjSmtvl` -> `JBSbatKKSmtvlRnkiInfCst.execute(inMap)` | `KK_T_SVKEI_KAISEN_UW [R]`, `KK_T_KJ_FIN_WK [R]`, `KU_T_SVKEI_KOJIAK [R]`, `KK_T_SVC_KEI [R via isSurrenderService]` |

**Caller Description:**
- **JBSbatKKAdChgCstScreenKidou** — The address change batch screen driver (住所変更バッチ処理画面駆動). This batch component instantiates the smart-bally linkage extraction object (`execObjSmtvl`) during initialization and invokes `execute()` for each address change record extracted by the data extraction component (`JBSbatKKAdChgAddDataCst`). It serves as the orchestrating CBS that coordinates multiple sub-processes for the address change batch, including data extraction, SOD update, smart-bally linkage, and place number change linkage.

## 6. Per-Branch Detail Blocks

**Block 1** — INITIALIZATION (lines 166–180)

> Prepare output structures and extract input parameters from the incoming message.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `outputItem = new JBSbatOutputItem()` // Create output item container |
| 2 | EXEC | `outMap = new JBSbatServiceInterfaceMap()` // Create output message map |
| 3 | EXEC | `outMap.setOutFlg(true)` // Mark as output-oriented operation |
| 4 | SET | `inAdchgNo = inMap.getString(JBSbatKK_T_ADCHG.ADCHG_NO)` // Extract address change number (住所変更番号) |
| 5 | SET | `inItensSvkeiKisuwNo = inMap.getString(JBSbatKK_T_ADCHG.ITENS_SVKEI_KISUW_NO)` // Extract pre-transfer service contract line item number (移転先サービス契約回線内線番号) |
| 6 | SET | `isDelayed = inMap.getString("IS_DELAYED")` // Extract delayed start flag (ディレイド起動フラグ) |
| 7 | IF | `isDelayed == null || "".equals(isDelayed.trim())` — if empty/null, default to `DELAYED_NOT_START = "0"` |

**Block 2** — IF [DELAYED PATH] `(DELAYED_START.equals(isDelayed))` [DELAYED_START="1"] (lines 208–243)

> When the delayed start flag is set to "1", bypass all date-based checks and output address change data directly to the intermediate file. This supports deferred batch processing where work is scheduled for a later execution cycle. Previously, this branch also checked if the originating service contract was surrendered before emitting data, but that logic was removed in OM-2014-0003080 — the surrendered check was eliminated and data is now emitted unconditionally in the delayed path.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `outMap.setString(JBSbatKKIFM267.ADCHG_NO, inMap.getString(JBSbatKK_T_ADCHG.ADCHG_NO))` // Set address change number |
| 2 | EXEC | `outMap.setString(JBSbatKKIFM267.MSKM_DTL_NO, inMap.getString(JBSbatKK_T_SVC_KEI.MSKM_DTL_NO))` // Set moving details number |
| 3 | EXEC | `outMap.setString(JBSbatKKIFM267.ITNM_SVC_KEI_NO, inMap.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO))` // Set pre-transfer service contract number |
| 4 | EXEC | `outMap.setString(JBSbatKKIFM267.ITNS_SVC_KEI_NO, inMap.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO))` // Set post-transfer service contract number |
| 5 | EXEC | `outMap.setString(JBSbatKKIFM267.TAJGS_WRIB_KEI_NO, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.TAJGS_WRIB_KEI_NO))` // Set additional writing contract number |
| 6 | EXEC | `outMap.setString(JBSbatKKIFM267.TAJGSWKEI_TGKEI_NO, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.TAJGSWKEI_TGKEI_NO))` // Set additional contract target contract number |
| 7 | EXEC | `outMap.setString(JBSbatKKIFM267.GENE_ADD_DTM, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.GENE_ADD_DTM))` // Set general add date/time |
| 8 | EXEC | `outMap.setString(JBSbatKKIFM267.UPD_DTM, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.UPD_DTM))` // Set update date/time |
| 9 | CALL | `outputItem.addOutMapList(outMap)` // Add output map to result list (unconditionally — surrendered check removed by OM-2014-0003080) |
| 10 | RETURN | `return outputItem` // Return immediately — no further processing |

**Block 3** — IF [MOVE-IN RESERVATION PATH] `(nyukyoRsvTriKisnInfo != null)` (lines 248–253)

> Query the service contract line item table to check if the move-in scheduled date has arrived. This is done by looking up the service contract line item using the pre-transfer line item number and the day before the operating date (opeDate adjusted by -1).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `executeKK_T_SVKEI_KAISEN_UW_KK_SELECT_026(new String[]{inItensSvkeiKisuwNo, JBSbatDateUtil.adjustDate(opeDate, 1)})` // Query service contract line item with date offset (1 means +1 day from opeDate, effectively opeDate - 1) |
| 2 | SET | `nyukyoRsvTriKisnInfo = db_KK_T_SVKEI_KAISEN_UW.selectNext()` // Fetch the reservation result — null means move-in date has not arrived |

**Block 4** — IF [RESERVATION EXISTS] `(nyukyoRsvTriKisnInfo != null)` (lines 256–310)

> The move-in scheduled date has arrived (a matching service contract line item record exists). Before emitting data, verify the originating service contract has NOT been surrendered. Previously, this branch had a conditional surrendered check (ANK-1429-00-00) but the surrendered check was active (not commented out) after modification. Data is only emitted if the originating service contract is not surrendered.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `outMap.setString(JBSbatKKIFM267.ADCHG_NO, inMap.getString(JBSbatKK_T_ADCHG.ADCHG_NO))` // Set address change number |
| 2 | EXEC | `outMap.setString(JBSbatKKIFM267.MSKM_DTL_NO, inMap.getString(JBSbatKK_T_SVC_KEI.MSKM_DTL_NO))` // Set moving details number |
| 3 | EXEC | `outMap.setString(JBSbatKKIFM267.ITNM_SVC_KEI_NO, inMap.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO))` // Set pre-transfer service contract number |
| 4 | EXEC | `outMap.setString(JBSbatKKIFM267.ITNS_SVC_KEI_NO, inMap.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO))` // Set post-transfer service contract number |
| 5 | EXEC | `outMap.setString(JBSbatKKIFM267.TAJGS_WRIB_KEI_NO, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.TAJGS_WRIB_KEI_NO))` // Set additional writing contract number |
| 6 | EXEC | `outMap.setString(JBSbatKKIFM267.TAJGSWKEI_TGKEI_NO, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.TAJGSWKEI_TGKEI_NO))` // Set additional contract target contract number |
| 7 | EXEC | `outMap.setString(JBSbatKKIFM267.GENE_ADD_DTM, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.GENE_ADD_DTM))` // Set general add date/time |
| 8 | EXEC | `outMap.setString(JBSbatKKIFM267.UPD_DTM, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.UPD_DTM))` // Set update date/time |
| 9 | IF | `!isSurrenderService(inMap.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO))` — check originating service contract is NOT surrendered |

**Block 4.1** — IF [NOT SURRENDERED] `(isSurrenderService(...) == false)` (lines 306–308)

> The originating service contract is still active. Emit the output map.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `outputItem.addOutMapList(outMap)` // Add to output result |

**Block 4.2** — ELSE [SURRENDERED] (implicit at line 309)

> The originating service contract has been surrendered. Skip output.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return outputItem` // Return without this record (no surrender, skip emit) |

**Block 5** — IF [NEW WORK COMPLETION PATH] (lines 314–334)

> No move-in reservation found. Check if any work completion records exist for this address change. This is the final fallback path — it processes work completion records and emits data for each record where the service contract work item (KOJIAK) is marked as completed.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `executeKK_T_KJ_FIN_WK_KK_SELECT_020(new String[]{inAdchgNo, opeDate})` // Query work completion work by address change number and operating date |
| 2 | SET | `newKjFinRnkiInfo = db_KK_T_KJ_FIN_WK.selectNext()` // Initialize loop variable — null means no completed works found |

**Block 5.1** — FOR LOOP `(db_KK_T_KJ_FIN_WK.selectNext())` (lines 318–334)

> Iterate through all work completion records for this address change.

| # | Type | Code |
|---|------|------|
| 1 | SET | `newKjFinRnkiInfo = db_KK_T_KJ_FIN_WK.selectNext()` // Fetch next work completion record in loop |

**Block 5.1.1** — CALL [KOJIAK QUERY] (inside loop, lines 320–321)

> For each work completion record, query the service contract work item table to check if the work is completed.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `executeKU_T_SVKEI_KOJIAK_KK_SELECT_007(new String[]{inMap.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO), newKjFinRnkiInfo.getString(JBSbatKK_T_KJ_FIN_WK.KOJIAK_NO)})` // Query service contract/work item by post-transfer contract number and work item number |
| 2 | SET | `db_KU_T_SVKEI_KOJIAK.selectNext()` // Check if a matching work item record exists |

**Block 5.1.1.1** — IF [WORK COMPLETED] `(db_KU_T_SVKEI_KOJIAK.selectNext() != null)` (lines 323–329)

> A work item record exists, meaning the work is fully completed. Prepare and emit the output.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `outMap.setString(JBSbatKKIFM267.ADCHG_NO, inMap.getString(JBSbatKK_T_ADCHG.ADCHG_NO))` // Set address change number |
| 2 | EXEC | `outMap.setString(JBSbatKKIFM267.MSKM_DTL_NO, inMap.getString(JBSbatKK_T_SVC_KEI.MSKM_DTL_NO))` // Set moving details number |
| 3 | EXEC | `outMap.setString(JBSbatKKIFM267.ITNM_SVC_KEI_NO, inMap.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO))` // Set pre-transfer service contract number |
| 4 | EXEC | `outMap.setString(JBSbatKKIFM267.ITNS_SVC_KEI_NO, inMap.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO))` // Set post-transfer service contract number |
| 5 | EXEC | `outMap.setString(JBSbatKKIFM267.TAJGS_WRIB_KEI_NO, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.TAJGS_WRIB_KEI_NO))` // Set additional writing contract number |
| 6 | EXEC | `outMap.setString(JBSbatKKIFM267.TAJGSWKEI_TGKEI_NO, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.TAJGSWKEI_TGKEI_NO))` // Set additional contract target contract number |
| 7 | EXEC | `outMap.setString(JBSbatKKIFM267.GENE_ADD_DTM, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.GENE_ADD_DTM))` // Set general add date/time |
| 8 | EXEC | `outMap.setString(JBSbatKKIFM267.UPD_DTM, inMap.getString(JBSbatKK_T_TAJGSWKEI_TGKEI.UPD_DTM))` // Set update date/time |
| 9 | IF | `!isSurrenderService(inMap.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO))` — check originating service contract is NOT surrendered |

**Block 5.1.1.1.1** — IF [NOT SURRENDERED] `(isSurrenderService(...) == false)` (lines 326–328)

> The originating service contract is still active. Emit this record and return immediately (only the first matching completion record triggers output).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `outputItem.addOutMapList(outMap)` // Add to output result |
| 2 | RETURN | `return outputItem` // Return after first match |

**Block 5.1.1.1.2** — ELSE [SURRENDERED] (implicit)

> The originating service contract has been surrendered. Continue to the next work completion record.

| # | Type | Code |
|---|------|------|
| 1 | (implicit) | Continue loop — do not emit, do not return |

**Block 6** — ELSE [NO MATCH] (line 336)

> None of the three processing branches produced output. No action taken.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null` // No data to emit |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `adchgNo` | Field | Address change number (住所変更番号) — unique identifier for an address change record in the customer system |
| `itensSvkeiKisuwNo` | Field | Pre-transfer service contract line item number (移転先サービス契約回線内線番号) — the original service contract line identifier before address change migration |
| `chbfSkbtNo` | Field | Pre-transfer service contract number (移転元サービス契約番号) — the service contract number of the source/originating account before address change |
| `chafSkbtNo` | Field | Post-transfer service contract number (移転先サービス契約番号) — the new service contract number assigned after address change |
| `mskmDtlNo` | Field | Moving details number (引越詳細番号) — internal tracking identifier for move-related processing records |
| `tajgsWribKeiNo` | Field | Additional writing contract number (追加書付契約番号) — supplementary contract identifier for additional services attached to the address change |
| `tajgsWkeiTgkeiNo` | Field | Additional contract target contract number (追加契約対象契約番号) — the target contract for additional service changes |
| `geneAddDtm` | Field | General add date/time (総合追加日時) — timestamp when the general record was created |
| `updDtm` | Field | Update date/time (更新日時) — timestamp of the last modification to the record |
| `isDelayed` | Field | Delayed start flag (ディレイド起動フラグ) — batch processing mode indicator. "1" = deferred/delayed execution path, "0" or null = normal processing |
| `DELAYED_START` | Constant | Delayed (start) = "1" — indicates deferred batch processing where timing checks are bypassed |
| `DELAYED_NOT_START` | Constant | Delayed (not start) = "0" — default value when IS_DELAYED is empty or null, indicating normal processing |
| `nyukyoRsvTriKisnInfo` | Field | Move-in reservation arrival information (入居予約到着情報) — result of querying whether the move-in scheduled date has arrived |
| `newKjFinRnkiInfo` | Field | New work completion extraction information (新工事完了抽出情報) — result of querying the work completion work table |
| Smart-bally (スマートバリー) | Business term | K-Opticom's smart home/IoT platform integration system. The smart-bally linkage extraction outputs customer and service data for synchronization with this platform |
| ADCHG_NO | Database field | Address change number (住所変更番号) — primary key in the KK_T_ADCHG (address change master) table |
| KK_T_ADCHG | Database table | Address change master table (住所変更マスター) — stores address change request records |
| KK_T_ADCHG_DTL | Database table | Address change details table (住所変更詳細) — stores detailed records per address change, including service contract mappings |
| KK_T_KJ_FIN_WK | Database table | Work completion work table (工事完了ワーク) — temporary/working table tracking completed construction/installation work records |
| KK_T_SVKEI_KAISEN_UW | Database table | Service contract line item table (サービス契約回線内線) — stores service contract line item records with scheduled start dates |
| KK_T_SVC_KEI | Database table | Service contract table (サービス契約) — stores service contract records including surrender/termination status |
| KU_T_SVKEI_KOJIAK | Database table | Service contract / work item table (サービス契約・工事案件) — stores work item records linking service contracts to completed work items |
| K-Opticom | Business term | Japanese broadband telecommunications provider. The customer base system manages subscriber contracts, address changes, and service provisioning |
| SOD (SodSendReq) | Acronym | Service Order Data — order fulfillment data used in telecom service provisioning workflows |
| CHBF_SKBT_NO | Table key | Contract before service contract number (変更前サービス契約番号) — key field in KK_T_ADCHG_DTL representing the originating service contract |
| CHAF_SKBT_NO | Table key | Contract after service contract number (変更後サービス契約番号) — key field in KK_T_ADCHG_DTL representing the destination service contract |
| KK_SELECT_026 | SQL key | Query definition for retrieving service contract line items by line item number and operation date |
| KK_SELECT_020 | SQL key | Query definition for retrieving work completion records by address change number and operating date |
| KK_SELECT_007 | SQL key | Query definition for retrieving service contract work items by service contract number and work item number |
| KK_SELECT_251 | SQL key | Query definition used by `isSurrenderService` to check service contract surrender status |
| JBSbatKKIFM267 | Integration format | Intermediate file format (中間ファイル形式) — the standard output structure for smart-bally linkage data, containing address change and service contract fields |
| JBSbatServiceInterfaceMap | Framework class | Service interface message container — key-value map used to pass input/output data between batch service components |
| JBSbatOutputItem | Framework class | Batch output container — holds lists of output maps produced by service components |
| KOJIAK_NO | Database field | Work item number (工事案件番号) — unique identifier for a work item (construction/project) record |
