# Business Logic — JBSbatKKKojiKnrnInfCheck.takniKojiInfOutPut() [159 LOC]

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

## 1. Role

### JBSbatKKKojiKnrnInfCheck.takniKojiInfOutPut()

This method performs **home construction information output processing** (宅内工事情報出力処理). It reads a pre-mashed intermediate CSV file containing home service work records, validates each record against business rules (via the Futurity rule engine), queries the service contract master table for the current contract status, and then classifies each record into one of three disposition paths: **Acceptable** (受付可), **Same-day Accept** (翌日受付), or **Accept Unavailable** (受付不可). Records deemed "Acceptable" that are eligible based on service contract status (e.g., "Service in Progress", "Suspended/Canceled", "Stopped", "Released", "Cancelled") are written to the Acceptable output file. Records that trigger a "Same-day Accept" rule result or have early-stage contract statuses ("Order Received", "Under Review", "Contracted") are routed to the Same-day Accept output file. Records that fail acceptance due to missing entries in the construction delay contract correction table are flagged for correction via `createKojiDlyKeiHosei`. The method implements a **router/dispatch pattern**: each input record is evaluated and dispatched to one of several downstream handlers based on rule evaluation results and service contract status checks. It is the final output-generating stage of the home construction information check batch, called from the `execute()` method.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["takniKojiInfOutPut_mid_dir_kk"])
    START --> LOG1["Log: START"]
    LOG1 --> INIT["Initialize local variables"]
    INIT --> GENPATH["Generate file path: mid_dir_kk + KKIFM066 + 002 + .csv"]
    GENPATH --> READ["Read input file into data_list"]
    READ --> LOOPSTART{Loop data_list}
    LOOPSTART --> |i less than size| GETLINE["Get data_work from data_list.get(i)"]
    GETLINE --> SPLIT["Split data_work by comma into data array"]
    SPLIT --> EXTRACT["Extract svc_kei_no data0, kuj_ank_stb_cd data5, rec_div data12"]
    EXTRACT --> PARAMSET["Build paramList svc_kei_no, opeDate"]
    PARAMSET --> SELECT["executeKK_T_SVC_KEI_KK_SELECT_060"]
    SELECT --> OUTCHECK{outDbMap null?}
    OUTCHECK --> |true| GETSTAT["Get svc_kei_stat from outDbMap"]
    GETSTAT --> RULE["executeRule0081001 kuj_ank_stb_cd, svc_kei_stat, rec_div"]
    OUTCHECK --> |false| ERRLOG["printBusinessErrorLog EKKB0630NW"]
    ERRLOG --> NEXT["continue to next iteration"]
    RULE --> RESULTCHK{result_cd is 9?}
    RESULTCHK --> |false| ERRLOG2["printBusinessErrorLog EKKB0010CW"]
    ERRLOG2 --> NEXT2["continue to next iteration"]
    RESULTCHK --> |true| UKEIRECHK{result_cd is 0?}
    UKEIRECHK --> |true| UKEIREPSB{isUkeirePsb?}
    UKEIREPSB --> |true| SETINF1["setTakniKojiInf to takni_koji_inf1"]
    SETINF1 --> SETPRG1["setPrgIfAdd data"]
    SETPRG1 --> CONT1["continue to next iteration"]
    UKEIREPSB --> |false| SETINF2["setTakniKojiInf to takni_koji_inf2"]
    SETINF2 --> CONT2["continue to next iteration"]
    UKEIRECHK --> |false| YOKUJITSUCHK{result_cd is 1?}
    YOKUJITSUCHK --> |true| YOKUJITSUCHECK{isYokujitsuUkeire?}
    YOKUJITSUCHECK --> |true| SETINF3["setTakniKojiInf to takni_koji_inf2"]
    SETINF3 --> NEXT3["continue to next iteration"]
    YOKUJITSUCHECK --> |false| NEXT4["continue to next iteration"]
    YOKUJITSUCHK --> |false| FAILCHK{result_cd is 2?}
    FAILCHK --> |true| KOJICHECK{isKojiDlyKeiHosei?}
    KOJICHECK --> |true| CREATE["createKojiDlyKeiHosei"]
    CREATE --> NEXT5["continue to next iteration"]
    KOJICHECK --> |false| NEXT6["continue to next iteration"]
    FAILCHK --> |false| NEXT7["continue to next iteration"]
    CONT1 --> LOOPCHECK{More rows?}
    CONT2 --> LOOPCHECK
    NEXT --> LOOPCHECK
    NEXT2 --> LOOPCHECK
    NEXT3 --> LOOPCHECK
    NEXT4 --> LOOPCHECK
    NEXT5 --> LOOPCHECK
    NEXT6 --> LOOPCHECK
    NEXT7 --> LOOPCHECK
    LOOPCHECK --> |no| WRITEOUT1["Generate output path 003 for Acceptable"]
    WRITEOUT1 --> OUTPUT1["executeOutputFile takni_koji_inf1 to file 003"]
    OUTPUT1 --> WRITEOUT2["Generate output path 004 for SameDay"]
    WRITEOUT2 --> OUTPUT2["executeOutputFile takni_koji_inf2 to file 004"]
    OUTPUT2 --> LOGEND["Log: END"]
    LOGEND --> ENDNODE(["Return void"])
```

**Constant Resolution:**

| Constant | Value | Business Meaning |
|----------|-------|-----------------|
| `TAKNI_KOJI_INF_FILE_ID` | `"KKIFM066"` | Home construction information file identifier — prefix for intermediate/output CSV filenames |
| `FILE_KEISHIKI` | `".csv"` | File extension — all intermediate/output files are CSV format |
| `RESULT_UKEIRE_PSB` | `"0"` | Acceptable — the record passes rule validation and can be accepted |
| `RESULT_YOKUJITSU_UKEIRE` | `"1"` | Same-day Accept — the record requires same-day processing (next-day intake) |
| `RESULT_UKEIRE_FAIL` | `"2"` | Accept Unavailable — the record fails acceptance criteria |
| `MASSEAGE2` | `"工事関連情報受入確認条件ルールにて異常が発生しました。"` | Error message: "An abnormality occurred in the construction-related information acceptance confirmation condition rule." |

**Processing Flow Summary:**

1. Log start, initialize local variables, generate intermediate file path (`mid_dir_kk/KKIFM066002.csv`).
2. Read the input file into `data_list`.
3. Loop through each CSV line, splitting by comma.
4. Extract `svc_kei_no` (data[0]) and `kuj_ank_stb_cd` (data[5]).
5. Query service contract info via `executeKK_T_SVC_KEI_KK_SELECT_060` using `svc_kei_no` and `opeDate`.
6. If contract info not found, log error `EKKB0630NW` and skip the record.
7. Obtain `svc_kei_stat` from the query result.
8. Apply business rule `RULE0081001` via `executeRule0081001(kuj_ank_stb_cd, svc_kei_stat, rec_div)`.
9. If rule result is `"9"` (error), log business error `EKKB0010CW` and skip.
10. If rule result is `"0"` (Acceptable): call `isUkeirePsb` — if eligible, write to "Acceptable" output (`takni_koji_inf1`); otherwise write to "Same-day Accept" output (`takni_koji_inf2`).
11. If rule result is `"1"` (Same-day Accept): call `isYokujitsuUkeire` — if eligible, write to "Same-day Accept" output (`takni_koji_inf2`).
12. If rule result is `"2"` (Accept Unavailable): call `isKojiDlyKeiHosei` — if not in the correction table, register via `createKojiDlyKeiHosei`.
13. After loop, output `takni_koji_inf1` to file `003` and `takni_koji_inf2` to file `004`.
14. Log end.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `mid_dir_kk` | `String` | Intermediate file storage directory path — the base directory where pre-mashed home construction information CSV files are stored and output files are written. It determines the file system location for both reading the input (`KKIFM066002.csv`) and writing the two output files (`KKIFM066003.csv` and `KKIFM066004.csv`). |

**Instance Fields Read:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `super.opeDate` | (inherited) | Batch operation date — the processing date used as a query parameter when retrieving service contract information. Acts as the effective date for the contract status lookup. |
| `super.logPrint` | (inherited) | Log printer interface — used for debug logs and business error logs throughout processing. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `executeKK_T_SVC_KEI_KK_SELECT_060` | KK_SELECT_060 | KK_T_SVC_KEI | Queries the service contract master table to retrieve the service contract status (SVC_KEI_STAT) for a given service contract number and operation date. |
| R | `getInputFile` | - | File System | Reads the intermediate CSV file containing pre-mashed home construction information records from the filesystem. |
| R | `JBSbatKK_T_SVC_KEI.getString` | - | - | Extracts the service contract status string from the query result interface. |
| - | `executeRule0081001` | RULE0081001 | - | Invokes the Futurity rule engine to evaluate construction-related information acceptance conditions against the rule set RULE0081001. Returns a result code: "0" (Acceptable), "1" (Same-day Accept), "2" (Accept Unavailable), or "9" (Error). |
| - | `isUkeirePsb` | - | - | Evaluates whether the service contract status and service contract number qualify for "Acceptable" processing based on eligibility criteria (contract status in "Service in Progress", "Suspended/Canceled", "Stopped", "Released", "Cancelled", or no promotion info search result). |
| C | `createKojiDlyKeiHosei` | - | KK_T_KOJI_DLY_KEHSI | Registers records with acceptance failures (where the service contract is not found in the construction delay contract correction table) to the correction table for manual review and correction. |
| - | `isKojiDlyKeiHosei` | - | KK_T_KOJI_DLY_KEHSI | Checks whether the given service contract number and work item code exist in the construction delay contract correction table to determine if a correction registration is needed. |
| - | `isYokujitsuUkeire` | - | - | Determines whether a "Same-day Accept" result is valid by checking service contract status against additional eligibility criteria using the full query result set. |
| - | `setTakniKojiInf` | - | - | Transfers (copies/transcribes) data fields from the input record to the appropriate StringBuilder accumulator (`takni_koji_inf1` for Acceptable output, or `takni_koji_inf2` for Same-day Accept output). |
| - | `setPrgIfAdd` | - | - | Registers additional progress information to the processing interface. |
| C | `executeOutputFile` | - | File System | Writes the accumulated StringBuilder content to an output CSV file on disk. Called twice: once for Acceptable output (003.csv) and once for Same-day Accept output (004.csv). |
| - | `JBSbatStringUtil.Rtrim` | - | - | Trims trailing spaces from the service contract status string. |
| - | `JACBatCommon.printDebugLog` | - | - | Prints debug log messages for traceability (start, end, rule result). |
| - | `JKKBatOneTimeLogWriter.printBusinessErrorLog` | - | - | Writes business error logs for error conditions (EKKB0630NW for missing contract info, EKKB0010CW for rule engine errors). |

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 1 methods.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: JBSbatKKKojiKnrnInfCheck | `JBSbatKKKojiKnrnInfCheck.execute()` -> `JBSbatKKKojiKnrnInfCheck.takniKojiInfOutPut(mid_dir_kk)` | `executeKK_T_SVC_KEI_KK_SELECT_060 [R] KK_T_SVC_KEI`, `createKojiDlyKeiHosei [C] KK_T_KOJI_DLY_KEHSI`, `executeOutputFile [C] File_Output` |

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] Variable initialization (L3014–3025)

| # | Type | Code |
|---|------|------|
| 1 | SET | `data_work = ""` // Home construction information file line data holder |
| 2 | SET | `file_path = ""` // File path holder |
| 3 | SET | `file_path1 = ""` // File path holder |
| 4 | SET | `file_path2 = ""` // File path holder |
| 5 | SET | `svc_kei_stat = ""` // Service contract status holder |
| 6 | SET | `takni_koji_inf1 = new StringBuilder()` // Home construction info string holder (Acceptable) |
| 7 | SET | `takni_koji_inf2 = new StringBuilder()` // Home construction info string holder (Same-day Accept) |

**Block 2** — [SET] Generate input file path and read (L3030–3034)

| # | Type | Code |
|---|------|------|
| 1 | SET | `file_path = mid_dir_kk + TAKNI_KOJI_INF_FILE_ID + "002" + FILE_KEISHIKI` // Path: mid_dir_kk + "KKIFM066" + "002" + ".csv" [-> TAKNI_KOJI_INF_FILE_ID="KKIFM066", FILE_KEISHIKI=".csv"] |
| 2 | CALL | `getInputFile(file_path, TAKNI_KOJI_INF_FILE_ID)` // Read intermediate file, returns ArrayList of strings |

**Block 3** — [WHILE] Loop through data_list (L3036)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `for (int i = 0; i < data_list.size(); i++)` // Iterate over each CSV line |

**Block 3.1** — [SET] Extract line and split (L3040–3044)

| # | Type | Code |
|---|------|------|
| 1 | SET | `data_work = data_list.get(i)` // Get current CSV line |
| 2 | SET | `data = data_work.split(",", -1)` // Split by comma, -1 to include trailing empty fields |

**Block 3.2** — [SET] Extract key fields (L3047–3049)

| # | Type | Code |
|---|------|------|
| 1 | SET | `svc_kei_no = data[0]` // Service contract number |
| 2 | SET | `kuj_ank_stb_cd = data[5]` // Work item type code (STB installation work item classification code) |

**Block 3.3** — [SET] Build query parameter list (L3051–3055)

| # | Type | Code |
|---|------|------|
| 1 | SET | `paramList = new Object[2]` // 2-element Object array |
| 2 | SET | `paramList[0] = svc_kei_no` // Service contract number |
| 3 | SET | `paramList[1] = super.opeDate` // Batch operation date |

**Block 3.4** — [CALL] Query service contract info (L3058–3060)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `outDbMap = executeKK_T_SVC_KEI_KK_SELECT_060(paramList)` // Query KK_T_SVC_KEI for contract status |

**Block 3.5** — [IF/ELSE] outDbMap null check (L3062–3079)

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != outDbMap` |

**Block 3.5.1** — [SET] Get service contract status (L3065–3066)

| # | Type | Code |
|---|------|------|
| 1 | SET | `svc_kei_stat = JBSbatStringUtil.Rtrim(outDbMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT))` // Extract SVC_KEI_STAT field, trim whitespace |

**Block 3.5.2** — [ELSE] outDbMap is null — contract not found (L3073–3079)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `super.logPrint.printBusinessErrorLog("EKKB0630NW", new String[]{"サービス契約", "サービス契約番号", svc_kei_no})` // Log error: missing service contract {svc_kei_no} |
| 2 | EXEC | `continue` // Skip to next record |

**Block 3.6** — [SET] Extract record division (L3082)

| # | Type | Code |
|---|------|------|
| 1 | SET | `rec_div = data[12]` // Record division code |

**Block 3.7** — [CALL] Apply business rule (L3085–3086)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `result_cd = executeRule0081001(kuj_ank_stb_cd, svc_kei_stat, rec_div)` // Rule evaluation |
| 2 | EXEC | `super.logPrint.printDebugLog("工事関連情報受入確認結果: " + result_cd)` // Debug log rule result |

**Block 3.8** — [IF/ELSE] Rule result check (L3089–3155)

| # | Type | Code |
|---|------|------|
| 1 | IF | `!"9".equals(result_cd)` — rule executed without error |

**Block 3.8.1** — [IF/ELSE-IF/ELSE-IF] Rule result code dispatch (L3092–3154)

| # | Type | Code |
|---|------|------|
| 1 | IF | `RESULT_UKEIRE_PSB.equals(result_cd)` — result_cd == "0" (Acceptable) [-> RESULT_UKEIRE_PSB="0"] |

**Block 3.8.1.1** — [IF/ELSE] isUkeirePsb eligibility check (L3096–3128)

| # | Type | Code |
|---|------|------|
| 1 | IF | `this.isUkeirePsb(svc_kei_stat, svc_kei_no)` — eligible for Acceptable processing |

**Block 3.8.1.1.1** — [CALL] Write to Acceptable output accumulator (L3101–3103)

> Business context: Service contract status is "100: Service in Progress", "210: Suspended/Canceled", "220: Stopped", "910: Released", or "920: Cancelled" — or other statuses with no promotion info search result. Write to Acceptable intermediate file (受付可).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `this.setTakniKojiInf(data_work, takni_koji_inf1)` // Append to Acceptable StringBuilder |
| 2 | CALL | `this.setPrgIfAdd(data)` // Register progress information (without ido_div — v7.00.02 removal) |
| 3 | EXEC | `continue` |

**Block 3.8.1.1.2** — [ELSE] Not eligible for Acceptable (L3107–3119)

> Business context: Service contract status is "010: Order Received", "020: Under Review", "030: Contracted" — with promotion info search result. Write to Same-day Accept intermediate file (翌日受付).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `this.setTakniKojiInf(data_work, takni_koji_inf2)` // Append to Same-day Accept StringBuilder |
| 2 | EXEC | `continue` |

**Block 3.8.1.2** — [ELSE-IF] Same-day Accept result (L3125–3137) [-> RESULT_YOKUJITSU_UKEIRE="1"]

| # | Type | Code |
|---|------|------|
| 1 | IF | `isYokujitsuUkeire(svc_kei_stat, outDbMap)` // Same-day eligibility check |

**Block 3.8.1.2.1** — [IF] isYokujitsuUkeire returns true (L3129–3131)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setTakniKojiInf(data_work, takni_koji_inf2)` // Append to Same-day Accept StringBuilder |
| 2 | EXEC | `continue` |

**Block 3.8.1.2.2** — [ELSE] isYokujitsuUkeire returns false — no action (L3133–3134)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `continue` // Skip without writing |

**Block 3.8.1.3** — [ELSE-IF] Accept Unavailable result (L3140–3151) [-> RESULT_UKEIRE_FAIL="2"]

| # | Type | Code |
|---|------|------|
| 1 | IF | `isKojiDlyKeiHosei(svc_kei_no, data[2])` // Check if in construction delay contract correction table |

**Block 3.8.1.3.1** — [IF] Not in correction table — register (L3144–3146)

> Business context: The service contract number is not found in the construction delay contract correction table, so register it for manual correction.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `createKojiDlyKeiHosei(data, outDbMap)` // Register to KK_T_KOJI_DLY_KEHSI |
| 2 | EXEC | `continue` |

**Block 3.8.1.3.2** — [ELSE] Already in correction table — no action (L3148–3149)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `continue` // Already registered, skip |

**Block 3.8.2** — [ELSE] Rule error (result_cd == "9") (L3157–3161)

> Business context: An anomaly occurred in the construction-related information acceptance confirmation condition rule.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `super.logPrint.printBusinessErrorLog("EKKB0010CW", new String[]{MASSEAGE2 + "(ファイルID: " + TAKNI_KOJI_INF_FILE_ID + ", サービス契約番号: " + svc_kei_no + ")})` // MASSEAGE2="工事関連情報受入確認条件ルールにて異常が発生しました。" |
| 2 | EXEC | `continue` |

**Block 4** — [SET] Generate Acceptable output file path (L3164–3165)

| # | Type | Code |
|---|------|------|
| 1 | SET | `file_path1 = mid_dir_kk + TAKNI_KOJI_INF_FILE_ID + "003" + FILE_KEISHIKI` // Path: mid_dir_kk + "KKIFM066" + "003" + ".csv" |

**Block 5** — [CALL] Write Acceptable output file (L3168)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `executeOutputFile(takni_koji_inf1.toString(), file_path1, TAKNI_KOJI_INF_FILE_ID)` // Write takni_koji_inf1 to file 003 |

**Block 6** — [SET] Generate Same-day Accept output file path (L3170–3171)

| # | Type | Code |
|---|------|------|
| 1 | SET | `file_path2 = mid_dir_kk + TAKNI_KOJI_INF_FILE_ID + "004" + FILE_KEISHIKI` // Path: mid_dir_kk + "KKIFM066" + "004" + ".csv" |

**Block 7** — [CALL] Write Same-day Accept output file (L3174)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `executeOutputFile(takni_koji_inf2.toString(), file_path2, TAKNI_KOJI_INF_FILE_ID)` // Write takni_koji_inf2 to file 004 |

**Block 8** — [EXEC] Log end (L3177)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `super.logPrint.printDebugLog("takniKojiInfOutPut_END")` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `takniKojiInfOutPut` | Method | Home construction information output processing — batch method that classifies and outputs home service work records |
| `mid_dir_kk` | Parameter | Intermediate file storage directory — base path for CSV input/output files |
| `svc_kei_no` | Field | Service contract number — unique identifier for a service contract line item |
| `svc_kei_stat` | Field | Service contract status — current lifecycle state of the service contract |
| `kuj_ank_stb_cd` | Field | Work item type code — classification code for STB (Set-Top Box) installation work items |
| `rec_div` | Field | Record division — classification code for the type of record in the CSV |
| `result_cd` | Field | Rule result code — outcome code from the Futurity rule engine evaluation |
| `KKIFM066` | Constant | Home construction information file ID — prefix used in intermediate and output filename generation |
| `KK_T_SVC_KEI` | Table | Service Contract — master table storing service contract information including status |
| `KK_T_KOJI_DLY_KEHSI` | Table | Construction Delay Contract Correction — table for manually correcting records with acceptance failures |
| `KK_SELECT_060` | SQL Key | SQL definition key for querying service contract information by contract number and operation date |
| RULE0081001 | Constant | Rule contents ID — Futurity rule engine rule set for construction-related information acceptance confirmation |
| RESULT_UKEIRE_PSB | Constant | Result code "0" — Acceptable (受付可) — record passes rule validation |
| RESULT_YOKUJITSU_UKEIRE | Constant | Result code "1" — Same-day Accept (翌日受付) — record requires next-day intake processing |
| RESULT_UKEIRE_FAIL | Constant | Result code "2" — Accept Unavailable (受付不可) — record fails acceptance criteria |
| isUkeirePsb | Method | Eligibility check — determines if contract status allows "Acceptable" processing (statuses: "100: Service in Progress", "210: Suspended/Canceled", "220: Stopped", "910: Released", "920: Cancelled") |
| isYokujitsuUkeire | Method | Same-day eligibility check — determines if a Same-day Accept result is valid based on contract status |
| isKojiDlyKeiHosei | Method | Correction table check — determines if the service contract number exists in the construction delay contract correction table |
| createKojiDlyKeiHosei | Method | Correction registration — registers failed records to the construction delay contract correction table |
| setTakniKojiInf | Method | Field transference — copies data fields from input record to the appropriate StringBuilder accumulator |
| setPrgIfAdd | Method | Progress info registration — registers additional progress information |
| executeOutputFile | Method | File output — writes accumulated StringBuilder content to an output CSV file |
| executeRule0081001 | Method | Rule engine invocation — evaluates the Futurity rule set RULE0081001 against service contract data |
| EKKB0630NW | Error Code | Network error — service contract information query returned null (contract not found) |
| EKKB0010CW | Error Code | Rule anomaly error — anomaly occurred in construction-related information acceptance confirmation condition rule |
| MASSEAGE2 | Constant | Error message text — "An abnormality occurred in the construction-related information acceptance confirmation condition rule." |
| opeDate | Inherited Field | Batch operation date — the processing date used as effective date for contract queries |
| 受付可 (Ukeire-ka) | Business term | Acceptable — records that pass validation and can be processed immediately |
| 翌日受付 (Yokujitsu Ukeire) | Business term | Same-day Accept — records requiring next-day intake processing |
| 受付不可 (Ukeire-fu) | Business term | Accept Unavailable — records that fail acceptance criteria and need correction |
