# Business Logic — JBSbatKKKojiKnrnInfToroku.createKojiClInf() [159 LOC]

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

## 1. Role

### JBSbatKKKojiKnrnInfToroku.createKojiClInf()

This method performs **construction cancellation information registration** (工事取消情報登録処理) within a batch processing context. It reads cancellation-related records from an in-memory data list (`kjClWkAddDataList`) — populated from an intermediate file stored at the path given by `mid_dir_kk` — parses each CSV-formatted row, maps its fields to a structured parameter list, and persists each record to the database table `KK_T_KJ_CL_WK` (construction cancellation information work table) via a primary-key-based insert. The method follows a **batch routing/dispatch pattern**: it iterates over pre-loaded intermediate data, normalizes potentially empty fields with default space values, enriches each row with system metadata (timestamp, batch user ID, operation date), and delegates the actual database insert to the helper method `executeKK_T_KJ_CL_WK_PKINSERT`. It serves as the **final persistence stage** of a construction cancellation registration workflow, transforming raw CSV rows into fully-formed database records ready for committed storage. All branches follow the same structural flow — each optional field (indices 4–13) may be conditionally populated from the source data or filled with a default, but no branching alters the fundamental loop-or-exit behavior.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["createKojiClInf START"])
    START --> LOG1["Print createKojiClInf_START debug log"]
    LOG1 --> GETSYS["Get system date/time via JBSbatDateUtil"]
    GETSYS --> FORHEAD["Loop: i from 0 to kjClWkAddDataList.size()-1"]
    FORHEAD --> GETROW["Get row data from kjClWkAddDataList[i]"]
    GETROW --> SPLIT["Split row by comma (max -1)"]
    SPLIT --> NEWLIST["Create param_add ArrayList"]
    NEWLIST --> ADD0["param_add.add data[0] - SVC_KEI_NO"]
    ADD0 --> ADD1["param_add.add data[1] - SVC_KEI_KAISEN_UCWK_NO"]
    ADD1 --> ADD2["param_add.add data[2] - RNKI_YMD"]
    ADD2 --> ADD3["param_add.add data[3] - RNKI_SEQ"]
    ADD3 --> COND4["data[4] not null
and not empty?"]
    COND4 -->|Yes| ADD4["param_add.add data[4]
- NEW_CHGE_CD"]
    COND4 -->|No| ADD4N["param_add.add HAFU_SPACE
- NEW_CHGE_CD"]
    ADD4 --> COND5["data[5] not null
and not empty?"]
    ADD4N --> COND5
    COND5 -->|Yes| ADD5["param_add.add data[5]
- KOJIAK_SBT_CD"]
    COND5 -->|No| ADD5N["param_add.add HAFU_SPACE
- KOJIAK_SBT_CD"]
    ADD5 --> COND6["data[6] not null
and not empty?"]
    ADD5N --> COND6
    COND6 -->|Yes| ADD6["param_add.add data[6]
- KOJIAK_NO"]
    COND6 -->|No| ADD6N["param_add.add HAFU_SPACE
- KOJIAK_NO"]
    ADD6 --> COND7["data[7] not null
and not empty?"]
    ADD6N --> COND7
    COND7 -->|Yes| ADD7["param_add.add data[7]
- OPMS_KOJIAK_STP_RSLT_CD"]
    COND7 -->|No| ADD7N["param_add.add HAFU_SPACE
- OPMS_KOJIAK_STP_RSLT_CD"]
    ADD7 --> COND8["data[8] not null
and not empty?"]
    ADD7N --> COND8
    COND8 -->|Yes| ADD8["param_add.add data[8]
- KOJIAK_STP_UK_YMD"]
    COND8 -->|No| ADD8N["param_add.add HAFU_SPACE
- KOJIAK_STP_UK_YMD"]
    ADD8 --> COND9["data[9] not null
and not empty?"]
    ADD8N --> COND9
    COND9 -->|Yes| ADD9["param_add.add data[9]
- KOJIAK_STP_CANCEL_PRC_UM"]
    COND9 -->|No| ADD9N["param_add.add HAFU_SPACE
- KOJIAK_STP_CANCEL_PRC_UM"]
    ADD9 --> COND10["data[10] not null
and not empty?"]
    ADD9N --> COND10
    COND10 -->|Yes| ADD10["param_add.add data[10]
- KOJIAK_STP_ADD_YMD"]
    COND10 -->|No| ADD10N["param_add.add HAFU_SPACE
- KOJIAK_STP_ADD_YMD"]
    ADD10 --> COND11["data[11] not null
and not empty?"]
    ADD10N --> COND11
    COND11 -->|Yes| ADD11["param_add.add data[11]
- KOJI_PDING_UM"]
    COND11 -->|No| ADD11N["param_add.add HAFU_SPACE
- KOJI_PDING_UM"]
    ADD11 --> COND12["data[12] not null
and not empty?"]
    ADD11N --> COND12
    COND12 -->|Yes| ADD12["param_add.add data[12]
- KOJIAK_STP_RSN_CD_1"]
    COND12 -->|No| ADD12N["param_add.add SPACE
- KOJIAK_STP_RSN_CD_1"]
    ADD12 --> COND13["data[13] not null
and not empty?"]
    ADD12N --> COND13
    COND13 -->|Yes| ADD13["param_add.add data[13]
- KOJIAK_STP_RSN_CD_2"]
    COND13 -->|No| ADD13N["param_add.add SPACE
- KOJIAK_STP_RSN_CD_2"]
    ADD13 --> LOGRSN["Print debug: KOJIAK_STP_RSN_CD_1
and KOJIAK_STP_RSN_CD_2"]
    ADD13N --> LOGRSN
    LOGRSN --> ADD14["param_add.add sysrtem_date
- ADD_DTM"]
    ADD14 --> ADD15["param_add.add batchUserId
- ADD_OPEACNT"]
    ADD15 --> ADD16["param_add.add sysrtem_date
- UPD_DTM"]
    ADD16 --> ADD17["param_add.add batchUserId
- UPD_OPEACNT"]
    ADD17 --> ADD18["param_add.add SPACE
- DEL_DTM"]
    ADD18 --> ADD19["param_add.add SPACE
- DEL_OPEACNT"]
    ADD19 --> ADD20["param_add.add SPACE
- MK_FLG"]
    ADD20 --> ADD21["param_add.add opeDate
- ADD_UNYO_YMD"]
    ADD21 --> ADD22["param_add.add SPACE
- ADD_TRN_ID"]
    ADD22 --> ADD23["param_add.add opeDate
- UPD_UNYO_YMD"]
    ADD23 --> ADD24["param_add.add SPACE
- UPD_TRN_ID"]
    ADD24 --> ADD25["param_add.add SPACE
- DEL_UNYO_YMD"]
    ADD25 --> ADD26["param_add.add SPACE
- DEL_TRN_ID"]
    ADD26 --> ADD27["param_add.add CD00581_0=0
- SYRZM_FLG"]
    ADD27 --> EXEC["executeKK_T_KJ_CL_WK_PKINSERT(param_add.toArray())"]
    EXEC --> FORNEXT["i++"]
    FORNEXT --> CHECKLOOP["i < kjClWkAddDataList.size()?"]
    CHECKLOOP -->|Yes| GETROW
    CHECKLOOP -->|No| LOGEND["Print createKojiClInf_END debug log"]
    LOGEND --> END(["createKojiClInf END"])
```

**Constant Resolution:**
- `HAFU_SPACE` = `" "` (half-width space) — used as default for optional fields that can be empty (indices 4–11)
- `SPACE` = `""` (empty string) — used as default for cancellation reason codes that are required but may be absent (indices 12–13)
- `JKKStrConst.CD00581_0` = `"0"` (processed flag value) — used for the `SYRZM_FLG` field indicating the record has been processed

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `mid_dir_kk` | `String` | Intermediate file storage directory path — the location where pre-processed construction cancellation data files are stored before being loaded into `kjClWkAddDataList`. The actual loading from this path occurs in a prior method; this parameter is passed for reference and logging purposes. |

**Instance fields read by this method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `kjClWkAddDataList` | `ArrayList<String>` | List of CSV-formatted construction cancellation record rows, each containing 14 comma-separated fields (service contract info, work item codes, timestamps, flags) |
| `batchUserId` | `String` | Batch job user ID — identifies the batch process as the creating/updating operator in audit fields |
| `opeDate` | `String` | Operation date — the business date used for registration/update operation timestamps |
| `super.logPrint` | `JACBatLogPrint` (inherited) | Debug logging handler — used to print start/end markers and cancellation reason code values |
| `db_KK_T_KJ_CL_WK` | DB access object (inherited) | Database access interface for the `KK_T_KJ_CL_WK` work table — used by the called `executeKK_T_KJ_CL_WK_PKINSERT` method |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JACBatCommon.printDebugLog` | JACBatCommon | - | Calls `printDebugLog` for start/end markers and debug output |
| R | `JBSbatDateUtil.getSystemDateTimeStamp` | JBSbatDateUtil | - | Retrieves the current system date/time stamp used for audit fields |
| C | `JBSbatKKKojiKnrnInfToroku.executeKK_T_KJ_CL_WK_PKINSERT` | EKK0361A010CBS | KK_T_KJ_CL_WK | Primary-key-based insert of one construction cancellation record per iteration |
| - | `JBSbatDKHmpinAdd.split` | JBSbatDKHmpinAdd | - | Calls `split` in `JBSbatDKHmpinAdd` |
| - | `JBSbatDKNyukaFinAdd.split` | JBSbatDKNyukaFinAdd | - | Calls `split` in `JBSbatDKNyukaFinAdd` |
| - | `JBSbatDKTanaMoveShkaCmpAdd.split` | JBSbatDKTanaMoveShkaCmpAdd | - | Calls `split` in `JBSbatDKTanaMoveShkaCmpAdd` |
| - | `JBSbatDKTkkikiGetReqHmpin.split` | JBSbatDKTkkikiGetReqHmpin | - | Calls `split` in `JBSbatDKTkkikiGetReqHmpin` |
| - | `JBSbatDKTkkikiGetReqNyuka.split` | JBSbatDKTkkikiGetReqNyuka | - | Calls `split` in `JBSbatDKTkkikiGetReqNyuka` |
| - | `JBSbatKKCashPostAddMail.printDebugLog` | JBSbatKKCashPostAddMail | - | Calls `printDebugLog` in `JBSbatKKCashPostAddMail` |
| - | `JFUKyokaIpAdActionChkUtil.toArray` | JFUKyokaIpAdActionChk | - | Calls `toArray` in `JFUKyokaIpAdActionChkUtil` |
| - | `JCKLcsRenkeiUtil.printDebugLog` | JCKLcsRenkei | - | Calls `printDebugLog` in `JCKLcsRenkeiUtil` |
| - | `JKKHttpCommunicator.printDebugLog` | JKKHttpCommunicator | - | Calls `printDebugLog` in `JKKHttpCommunicator` |

### Analysis of directly called methods within this method:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JBSbatDateUtil.getSystemDateTimeStamp` | JBSbatDateUtil | - | Fetches the current system date/time stamp once at the start; used to populate ADD_DTM, UPD_DTM audit timestamp fields for every record |
| C | `executeKK_T_KJ_CL_WK_PKINSERT(Object[])` | EKK0361A010CBS | KK_T_KJ_CL_WK | Performs a primary-key-based insert into the construction cancellation information work table `KK_T_KJ_CL_WK`. Maps 28 parameters (including 14 CSV fields + 14 metadata fields) to `JBSbatCommonDBInterface` and calls `insertByPrimaryKeys`. Each iteration of the loop inserts exactly one record. |
| - | `String.split(",", -1)` | - | - | Splits each CSV row into a 14-element array, preserving trailing empty values |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: JBSbatKKKojiKnrnInfToroku | `JBSbatKKKojiKnrnInfToroku.execute()` -> `JBSbatKKKojiKnrnInfToroku.createKojiClInf(String)` | `executeKK_T_KJ_CL_WK_PKINSERT [C] KK_T_KJ_CL_WK` |

**Description:** The only direct caller is the `execute()` method of the same class `JBSbatKKKojiKnrnInfToroku`, which serves as the batch entry point. This is a self-contained batch job — no screen (KKSV) or CBS entry points route to this method from within 8 hops. The terminal operation reached from this method is the primary-key-based insert into `KK_T_KJ_CL_WK`.

## 6. Per-Branch Detail Blocks

**Block 1** — [INITIALIZATION] (L1747)

> Initialize the method: print start debug log, declare the local work variable, and fetch the system date/time.

| # | Type | Code |
|---|------|------|
| 1 | SET | `data_work = ""` // Construction cancellation info file 1-line data holder (工事取消情報ファイル1行データ保持) |
| 2 | EXEC | `super.logPrint.printDebugLog("createKojiClInf_START")` // Print batch start debug marker |
| 3 | SET | `sysrtem_date = JBSbatDateUtil.getSystemDateTimeStamp()` // Get system date/time (システム日時取得) |

**Block 2** — [FOR LOOP] `(int i = 0; i < kjClWkAddDataList.size(); i++)` (L1755)

> Iterate over each CSV-formatted row in the construction cancellation data list. Each iteration processes one cancellation record.

| # | Type | Code |
|---|------|------|
| 1 | SET | `data_work = kjClWkAddDataList.get(i)` // Get current row from the cancellation data list (1行目を取得) |
| 2 | SET | `String[] data = data_work.split(",", -1)` // Split CSV row into fields, preserving trailing empty values (データを分解) |
| 3 | SET | `ArrayList<String> param_add = new ArrayList<String>(data.length)` // Create param list for registration (登録用データ格納) |
| 4 | CALL | Block 2.1 through 2.16 — field mapping |
| 5 | CALL | Block 2.17 — execute insert |

**Block 2.1** — [FIELD MAPPING] `data[0] -> SVC_KEI_NO` (L1764)

> Unconditionally map the service contract number from CSV index 0.

| # | Type | Code |
|---|------|------|
| 1 | SET | `param_add.add(data[0])` // Service contract number (サービス契約番号) |

**Block 2.2** — [FIELD MAPPING] `data[1] -> SVC_KEI_KAISEN_UCWK_NO` (L1766)

> Unconditionally map the service contract line item detail number.

| # | Type | Code |
|---|------|------|
| 1 | SET | `param_add.add(data[1])` // Service contract line item detail number (サービス契約回線内詳細番号) |

**Block 2.3** — [FIELD MAPPING] `data[2] -> RNKI_YMD` (L1768)

> Unconditionally map the linkage year/month/day.

| # | Type | Code |
|---|------|------|
| 1 | SET | `param_add.add(data[2])` // Linkage year/month/day (連携年月日) |

**Block 2.4** — [FIELD MAPPING] `data[3] -> RNKI_SEQ` (L1770)

> Unconditionally map the linkage sequence number.

| # | Type | Code |
|---|------|------|
| 1 | SET | `param_add.add(data[3])` // Linkage sequence number (連携通番) |

**Block 2.5** — [IF-ELSE] `data[4] not null && !""` (NEW_CHGE_CD) (L1772)

> Conditionally map the new/change code. If the source field is empty, fill with a half-width space (`HAFU_SPACE` = `" "`).

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != data[4] && !"".equals(data[4])` // New/change code (新規変更コード) |
| 2 | SET (then) | `param_add.add(data[4])` |
| 3 | SET (else) | `param_add.add(HAFU_SPACE)` [-> HAFU_SPACE=" "] |

**Block 2.6** — [IF-ELSE] `data[5] not null && !""` (KOJIAK_SBT_CD) (L1781)

> Conditionally map the construction cancellation type code. Default: `HAFU_SPACE`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != data[5] && !"".equals(data[5])` // Construction cancellation type code (工事案件種別コード) |
| 2 | SET (then) | `param_add.add(data[5])` |
| 3 | SET (else) | `param_add.add(HAFU_SPACE)` [-> HAFU_SPACE=" "] |

**Block 2.7** — [IF-ELSE] `data[6] not null && !""` (KOJIAK_NO) (L1790)

> Conditionally map the construction cancellation number. Default: `HAFU_SPACE`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != data[6] && !"".equals(data[6])` // Construction cancellation number (工事案件番号) |
| 2 | SET (then) | `param_add.add(data[6])` |
| 3 | SET (else) | `param_add.add(HAFU_SPACE)` [-> HAFU_SPACE=" "] |

**Block 2.8** — [IF-ELSE] `data[7] not null && !""` (OPMS_KOJIAK_STP_RSLT_CD) (L1799)

> Conditionally map the OPMS construction cancellation stop result code. Default: `HAFU_SPACE`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != data[7] && !"".equals(data[7])` // OPMS construction cancellation stop result code (OPMS工事案件中止結果コード) |
| 2 | SET (then) | `param_add.add(data[7])` |
| 3 | SET (else) | `param_add.add(HAFU_SPACE)` [-> HAFU_SPACE=" "] |

**Block 2.9** — [IF-ELSE] `data[8] not null && !""` (KOJIAK_STP_UK_YMD) (L1808)

> Conditionally map the construction cancellation stop year/month/day. Default: `HAFU_SPACE`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != data[8] && !"".equals(data[8])` // Construction cancellation stop year/month/day (工事案件中止受注年月日) |
| 2 | SET (then) | `param_add.add(data[8])` |
| 3 | SET (else) | `param_add.add(HAFU_SPACE)` [-> HAFU_SPACE=" "] |

**Block 2.10** — [IF-ELSE] `data[9] not null && !""` (KOJIAK_STP_CANCEL_PRC_UM) (L1817)

> Conditionally map the construction cancellation stop cancellation charge existence flag. Default: `HAFU_SPACE`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != data[9] && !"".equals(data[9])` // Construction cancellation stop cancellation charge existence (工事案件中止キャンセル料有無) |
| 2 | SET (then) | `param_add.add(data[9])` |
| 3 | SET (else) | `param_add.add(HAFU_SPACE)` [-> HAFU_SPACE=" "] |

**Block 2.11** — [IF-ELSE] `data[10] not null && !""` (KOJIAK_STP_ADD_YMD) (L1826)

> Conditionally map the construction cancellation stop registration year/month/day. Default: `HAFU_SPACE`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != data[10] && !"".equals(data[10])` // Construction cancellation stop registration year/month/day (工事案件中止登録年月日) |
| 2 | SET (then) | `param_add.add(data[10])` |
| 3 | SET (else) | `param_add.add(HAFU_SPACE)` [-> HAFU_SPACE=" "] |

**Block 2.12** — [IF-ELSE] `data[11] not null && !""` (KOJI_PDING_UM) (L1835)

> Conditionally map the construction pending existence flag. Default: `HAFU_SPACE`.

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != data[11] && !"".equals(data[11])` // Construction pending existence (工事保留有無) |
| 2 | SET (then) | `param_add.add(data[11])` |
| 3 | SET (else) | `param_add.add(HAFU_SPACE)` [-> HAFU_SPACE=" "] |

**Block 2.13** — [IF-ELSE] `data[12] not null && !""` (KOJIAK_STP_RSN_CD_1) (L1844)

> Conditionally map the first construction cancellation reason code. **Note:** The default fill is `SPACE` (empty string `""`) rather than `HAFU_SPACE`, indicating this is a required field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != data[12] && !"".equals(data[12])` // Construction cancellation reason code 1 (工事案件中止理由コード1) |
| 2 | SET (then) | `param_add.add(data[12])` |
| 3 | SET (else) | `param_add.add(SPACE)` [-> SPACE=""] |
| 4 | EXEC | `super.logPrint.printDebugLog("工事案件中止理由コード1：" + data[12])` // Debug log for reason code 1 |
| 5 | EXEC | `super.logPrint.printDebugLog("工事案件中止理由コード2：" + data[13])` // Debug log for reason code 2 |

**Block 2.14** — [IF-ELSE] `data[13] not null && !""` (KOJIAK_STP_RSN_CD_2) (L1854)

> Conditionally map the second construction cancellation reason code. Default: `SPACE` (empty string).

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != data[13] && !"".equals(data[13])` // Construction cancellation reason code 2 (工事案件中止理由コード2) |
| 2 | SET (then) | `param_add.add(data[13])` |
| 3 | SET (else) | `param_add.add(SPACE)` [-> SPACE=""] |

**Block 2.15** — [METADATA FILL] (L1864–1895)

> Populate the remaining 14 metadata fields: system timestamps, batch user ID, operation dates, and the processed flag.

| # | Type | Code |
|---|------|------|
| 1 | SET | `param_add.add(sysrtem_date)` // System date/time for ADD_DTM (システム日時の設定) |
| 2 | SET | `param_add.add(super.batchUserId)` // Batch ID for ADD_OPEACNT (Batch IDの設定) |
| 3 | SET | `param_add.add(sysrtem_date)` // System date/time for UPD_DTM (システム日時の設定) |
| 4 | SET | `param_add.add(super.batchUserId)` // Batch ID for UPD_OPEACNT (Batch IDの設定) |
| 5 | SET | `param_add.add(SPACE)` // DEL_DTM — empty (システム日時の設定) |
| 6 | SET | `param_add.add(SPACE)` // DEL_OPEACNT — empty (Batch IDの設定) |
| 7 | SET | `param_add.add(SPACE)` // MK_FLG — invalid flag (システム日時の設定) |
| 8 | SET | `param_add.add(super.opeDate)` // Registration operation date ADD_UNYO_YMD (登録運用年月日) |
| 9 | SET | `param_add.add(SPACE)` // ADD_TRN_ID — empty (登録処理Trans ID) |
| 10 | SET | `param_add.add(super.opeDate)` // Update operation date UPD_UNYO_YMD (更新運用年月日) |
| 11 | SET | `param_add.add(SPACE)` // UPD_TRN_ID — empty (更新処理Trans ID) |
| 12 | SET | `param_add.add(SPACE)` // DEL_UNYO_YMD — empty (削除運用年月日) |
| 13 | SET | `param_add.add(SPACE)` // DEL_TRN_ID — empty (削除処理Trans ID) |
| 14 | SET | `param_add.add(JKKStrConst.CD00581_0)` // Processed flag SYRZM_FLG = "0" (処理済フラグ) [-> CD00581_0="0"] |

**Block 2.16** — [CALL] `executeKK_T_KJ_CL_WK_PKINSERT(param_add.toArray())` (L1899)

> Execute the database insert for the current record. This method maps the 28-element parameter array into a `JBSbatCommonDBInterface` key-value map and calls `db_KK_T_KJ_CL_WK.insertByPrimaryKeys(setMap)`, performing a primary-key-based insert into `KK_T_KJ_CL_WK`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `executeKK_T_KJ_CL_WK_PKINSERT(param_add.toArray())` // Insert construction cancellation record into KK_T_KJ_CL_WK (登録処理の実行) |

**Block 3** — [FINALIZATION] (L1903)

> Print end debug log and return.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `super.logPrint.printDebugLog("createKojiClInf_END")` // Print batch end debug marker |
| 2 | RETURN | (implicit `void`) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `createKojiClInf` | Method | Construction Cancellation Information Registration — registers cancellation records for construction work orders into the work table |
| 工事取消 | Business term | Construction Cancellation — the act of cancelling a previously registered construction work order |
| `mid_dir_kk` | Parameter | Intermediate file storage directory — path where pre-processed construction cancellation data files reside |
| `SVC_KEI_NO` | Field | Service Contract Number — the primary identifier for a service contract line item (サービス契約番号) |
| `SVC_KEI_KAISEN_UCWK_NO` | Field | Service Contract Line Item Detail Number — sub-identifier for a specific line within a service contract (サービス契約回線内詳細番号) |
| `RNKI_YMD` | Field | Linkage Year/Month/Day — date of system linkage/synchronization between subsystems (連携年月日) |
| `RNKI_SEQ` | Field | Linkage Sequence Number — ordering sequence within a linkage batch (連携通番) |
| `NEW_CHGE_CD` | Field | New/Change Code — classifies whether the record represents a new registration or a modification (新規変更コード) |
| `KOJIAK_SBT_CD` | Field | Construction Cancellation Type Code — categorizes the type of cancellation event (工事案件種別コード) |
| `KOJIAK_NO` | Field | Construction Cancellation Number — unique identifier for the cancellation work item (工事案件番号) |
| `OPMS_KOJIAK_STP_RSLT_CD` | Field | OPMS Construction Cancellation Stop Result Code — result code from the OPMS (Operations Management System) cancellation processing (OPMS工事案件中止結果コード) |
| `KOJIAK_STP_UK_YMD` | Field | Construction Cancellation Stop Acceptance Date — date the cancellation was accepted by the system (工事案件中止受注年月日) |
| `KOJIAK_STP_CANCEL_PRC_UM` | Field | Construction Cancellation Stop Cancellation Charge Existence — flag indicating whether a cancellation fee applies (工事案件中止キャンセル料有無) |
| `KOJIAK_STP_ADD_YMD` | Field | Construction Cancellation Stop Registration Date — date the cancellation stop was registered (工事案件中止登録年月日) |
| `KOJI_PDING_UM` | Field | Construction Pending Existence — flag indicating if construction work is on hold (工事保留有無) |
| `KOJIAK_STP_RSN_CD_1` | Field | Construction Cancellation Reason Code 1 — primary reason for the cancellation (工事案件中止理由コード1) |
| `KOJIAK_STP_RSN_CD_2` | Field | Construction Cancellation Reason Code 2 — secondary/reason code supplement (工事案件中止理由コード2) |
| `MK_FLG` | Field | Mark/Invalid Flag — indicates whether the record is marked as invalid (無効フラグ) |
| `SYRZM_FLG` | Field | Processing Completed Flag — indicates whether this cancellation record has been processed (処理済フラグ); value `"0"` = not yet processed |
| `ADD_DTM` / `UPD_DTM` / `DEL_DTM` | Field | Add/Update/Delete DateTime — audit timestamp fields for when the record was created, last updated, or deleted (登録/更新/削除年月日时分秒) |
| `ADD_OPEACNT` / `UPD_OPEACNT` / `DEL_OPEACNT` | Field | Add/Update/Delete Operator Account — audit fields identifying the operator (user or batch ID) who performed each operation (登録/更新/削除オペレータアカウント) |
| `ADD_UNYO_YMD` / `UPD_UNYO_YMD` / `DEL_UNYO_YMD` | Field | Add/Update/Delete Operation Date — the business operation date associated with each audit action (登録/更新/削除運用年月日) |
| `ADD_TRN_ID` / `UPD_TRN_ID` / `DEL_TRN_ID` | Field | Add/Update/Delete Transaction ID — transaction identifier for tracing audit actions (登録/更新/削除処理Trans ID) |
| `KK_T_KJ_CL_WK` | Table | Construction Cancellation Information Work Table — the temporary work table where construction cancellation records are inserted before final processing |
| `kjClWkAddDataList` | Instance field | Construction Cancellation Work Addition Data List — internal ArrayList holding CSV-formatted cancellation records loaded from the intermediate file |
| `HAFU_SPACE` | Constant | Half-width space `" "` — default fill value for optional CSV fields (半角スペース) |
| `SPACE` | Constant | Empty string `""` — default fill value for required fields that may be absent |
| `CD00581_0` | Constant | Processed flag value `"0"` — defined in `JKKStrConst` as the default "not processed" status |
| `db_KK_T_KJ_CL_WK` | Instance field | Database access object for the `KK_T_KJ_CL_WK` work table — provides the `insertByPrimaryKeys` method |
| `insertByPrimaryKeys` | Method | Primary-key-based insert — database operation that inserts a record using all fields as primary key columns |
| `JBSbatCommonDBInterface` | Class | Common database interface — key-value map structure used to pass field/value pairs to DB insert methods |
