# Business Logic — JBSbatKKKojiKnrIfFileLoad.setKojiRsvInfTv() [154 LOC]

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

## 1. Role

### JBSbatKKKojiKnrIfFileLoad.setKojiRsvInfTv()

This method processes and validates construction reservation data (TV / 工事予定情報(テレビ)) extracted from a comma-delimited batch input file. It operates as a **field-level validator and record builder** within the construction information file load pipeline. The method performs 15 sequential field-by-field validations on the parsed `data_list` — checking format, length, half-width alphanumeric constraints, and required/optional status — against the construction reservation data schema for television-related work orders. If all validations pass (error counter equals zero), it assembles a structured, comma-delimited output string into the `koji_rsv_inf_tv` StringBuilder containing all 16 fields (indices 0–15) in order, with a trailing newline (KAIGYOU_CODE). This output string is then consumed downstream (e.g., by the `execute()` method) for further processing or persistence. The method implements the **guard-clause pattern**: every invalid field increments an error counter without short-circuiting, allowing all 15 fields to be checked before any output is generated. It plays a critical role in the batch ingestion workflow for TV-related construction project reservations, ensuring data integrity before records are persisted or transmitted to external systems.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setKojiRsvInfTv_START"])
    VALIDATE1["Validate Service Contract Number<br/>isHannkakuESuuji L1275-L1279"]
    VALIDATE2["Validate Service Contract Detail Number<br/>isHannkakuESuuji L1282-L1300"]
    VALIDATE3["Validate Link Date<br/>isYearMonthDay L1289-L1293"]
    VALIDATE4["Validate General Number<br/>isHannkakuSuuji1 L1296-L1300"]
    VALIDATE5["Validate New/Modification Type<br/>isHannkakuESuuji L1303-L1307"]
    VALIDATE6["Validate Work Project Type Code<br/>isHannkakuESuuji L1310-L1314"]
    VALIDATE7["Validate Work Project Number<br/>isHannkakuESuuji L1317-L1321"]
    VALIDATE8["Validate Work Contractor Dispatch Code<br/>isHannkakuESuuji L1324-L1328"]
    VALIDATE9["Validate Scheduled Date<br/>isYearMonthDay L1331-L1335"]
    VALIDATE10["Validate Scheduled STB Count<br/>isHannkakuESuuji L1338-L1342"]
    VALIDATE11["Validate Scheduled V-ONU Meter<br/>isHannkakuESuuji L1345-L1349"]
    VALIDATE12["Validate Scheduled Design Sheet Number<br/>isHannkakuESuuji2 L1352-L1356"]
    VALIDATE13["Validate Scheduled Submission Form Code<br/>isHannkakuESuuji L1359-L1363"]
    VALIDATE14["Validate TV Work Project Type Code<br/>isHannkakuESuuji L1366-L1370"]
    VALIDATE15["Validate PON ID Code<br/>isHannkakuESuuji L1373-L1377"]
    CHECK_ERR{err_cunt == 0?}
    BUILD_STR["Build Comma-Separated Record<br/>Append all 16 fields with CONMA separators<br/>Append trailing newline"]
    APPEND_NL["Append newline (record separator)<br/>koji_rsv_inf_tv.append(KAIGYOU_CODE)"]
    END_NODE(["setKojiRsvInfTv_END"])

    START --> VALIDATE1
    VALIDATE1 --> VALIDATE2
    VALIDATE2 --> VALIDATE3
    VALIDATE3 --> VALIDATE4
    VALIDATE4 --> VALIDATE5
    VALIDATE5 --> VALIDATE6
    VALIDATE6 --> VALIDATE7
    VALIDATE7 --> VALIDATE8
    VALIDATE8 --> VALIDATE9
    VALIDATE9 --> VALIDATE10
    VALIDATE10 --> VALIDATE11
    VALIDATE11 --> VALIDATE12
    VALIDATE12 --> VALIDATE13
    VALIDATE13 --> VALIDATE14
    VALIDATE14 --> VALIDATE15
    VALIDATE15 --> CHECK_ERR
    CHECK_ERR -- true --> BUILD_STR
    CHECK_ERR -- false --> APPEND_NL
    BUILD_STR --> END_NODE
    APPEND_NL --> END_NODE
```

**Constant Resolution:**

| Constant | Resolved Value | Field in Source |
|----------|---------------|-----------------|
| `CONMA` | `","` | Field separator between data items |
| `KAIGYOU_CODE` | `"
"` | Record (line) terminator — newline character |

**Validation Method Summary:**

| Method | Parameters Used | Validation Rule |
|--------|----------------|-----------------|
| `isHannkakuESuuji` | `(String value, int maxLength, boolean required, String fieldName)` | Checks if value is half-width alphanumeric (全角半角英数字), up to maxLength; required flag enforces non-null check |
| `isHannkakuESuuji2` | `(String value, int maxLength, boolean required, String fieldName)` | Variant of above (validation rule #2 — slight variation in character rules) |
| `isHannkakuSuuji1` | `(String value, int maxLength, boolean required, String fieldName)` | Variant of above (validation rule #1 — numeric-only with max length) |
| `isYearMonthDay` | `(String value, boolean required, String fieldName)` | Validates date format (year/month/day); required flag enforces non-null |

**Branch Logic:**
- **`err_cunt == 0` (all validations pass):** All 16 fields are appended to `koji_rsv_inf_tv` in order (data_list[1] through data_list[15]), each followed by a comma (CONMA). After field 15, the source file path (data_list[0]) is appended, then the newline terminator (KAIGYOU_CODE).
- **`err_cunt > 0` (any validation failed):** Only a newline (KAIGYOU_CODE = `"
"`) is appended to mark the record boundary. No data fields are appended, effectively creating an empty/placeholder record line.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `data_list` | `ArrayList<String>` | A list of 16 comma-delimited string fields extracted from a single line of a construction reservation (TV) batch input file. Index 0 holds the source file full path; indices 1–15 hold the 15 business data fields for the construction reservation record (service contract number, detail number, link date, general number, new/modification type, work project type code, work project number, contractor dispatch code, scheduled date, scheduled STB count, scheduled V-ONU meter, scheduled design sheet number, scheduled submission form code, TV work project type code, PON ID code). The method reads each index sequentially for validation and record building. |
| 2 | `koji_rsv_inf_tv` | `StringBuilder` | A mutable string buffer that accumulates the constructed construction reservation (TV) data record. After validation, valid records are appended as a comma-separated line terminated by a newline. This buffer is shared across multiple calls within the batch loop, accumulating all valid (or placeholder) records for downstream writing. |

**External State:**

| Field | Source | Business Description |
|-------|--------|---------------------|
| `super.logPrint` | Inherited field (parent class) | Debug logging handler — used for START/END debug markers |
| `CONMA` | `JKKBatConst` (or parent class constant) | Comma separator `,` — delimits fields in the output record |
| `KAIGYOU_CODE` | `JBSbatKKKojiKnrIfFileLoad` class constant | Newline character `
` — record/line terminator |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JBSbatKKKojiKnrIfFileLoad.isHannkakuESuuji` | JBSbatKKKojiKnrIfFileLoad | - | Validates half-width alphanumeric format for 13 of 15 fields (indices 1, 2, 5, 6, 7, 8, 10, 11, 13, 14, 15 plus others) |
| - | `JBSbatKKKojiKnrIfFileLoad.isHannkakuESuuji2` | JBSbatKKKojiKnrIfFileLoad | - | Validates half-width alphanumeric format (variant #2) for the Scheduled Design Sheet Number (index 12) |
| - | `JBSbatKKKojiKnrIfFileLoad.isHannkakuSuuji1` | JBSbatKKKojiKnrIfFileLoad | - | Validates half-width numeric format for the General Number (index 4) |
| - | `JBSbatKKKojiKnrIfFileLoad.isYearMonthDay` | JBSbatKKKojiKnrIfFileLoad | - | Validates date format for the Link Date (index 3) and Scheduled Date (index 9) |
| - | `JACBatCommon.printDebugLog` | JACBatCommon | - | Logs debug START marker (`setKojiRsvInfTv_START`) and END marker (`setKojiRsvInfTv_END`) |

**Note:** This method is a pure data validation and record-building utility. It performs **no database operations** (no C/R/U/D). It does not invoke any external SC (Service Component) or CBS (Business Service) methods. All called methods are local helper validation routines within the same class. The method's sole output is the mutated `koji_rsv_inf_tv` StringBuilder, which is then consumed by the caller (`execute()`) for downstream processing.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: `JBSbatKKKojiKnrIfFileLoad` | `JBSbatKKKojiKnrIfFileLoad.execute()` → `JBSbatKKKojiKnrIfFileLoad.setKojiRsvInfTv()` | `isHannkakuESuuji [N/A]`, `isHannkakuSuuji1 [N/A]`, `isHannkakuESuuji2 [N/A]`, `isYearMonthDay [N/A]`, `printDebugLog [N/A]` |

**Details:**
- The method is called exclusively from the `execute()` method of the same class `JBSbatKKKojiKnrIfFileLoad` within a batch processing loop.
- It processes TV-related construction reservation data lines read from a batch input file.
- The batch entry point processes the file line by line, invoking this method per line to validate and build the output record string.
- No screen entry points (KKSV*) or CBS-level callers are found. This is a batch-only utility method.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(initialization)` (L1271-L1272)

Initialize debug logging and error counter.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `super.logPrint.printDebugLog("setKojiRsvInfTv_START")` |
| 2 | SET | `int err_cunt = 0` |

**Block 2** — [IF] `(field validation: Service Contract Number)` (L1275-L1279)

> Validate the Service Contract Number (サービス契約番号) — index 1. Must be half-width alphanumeric, max 10 characters, required.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(1), 10, true, "工事予定情報(テレビ):サービス契約番号")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 3** — [IF] `(field validation: Service Contract Detail Number)` (L1282-L1286)

> Validate the Service Contract Detail Number (サービス契約回線内訳番号) — index 2. Must be half-width alphanumeric, max 12 characters, required.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(2), 12, true, "工事予定情報(テレビ):サービス契約回線内訳番号")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 4** — [IF] `(field validation: Link Date)` (L1289-L1293)

> Validate the Link Date (連携年月日) — index 3. Must be valid year/month/day date format, required.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isYearMonthDay(data_list.get(3), true, "工事予定情報(テレビ):連携年月日")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 5** — [IF] `(field validation: General Number)` (L1296-L1300)

> Validate the General Number (通番) — index 4. Must be half-width numeric (validation rule #1), max 12 characters, required.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuSuuji1(data_list.get(4), 12, true, "工事予定情報(テレビ):通番")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 6** — [IF] `(field validation: New/Modification Type)` (L1303-L1307)

> Validate the New/Modification Type (新規変更区分) — index 5. Must be half-width alphanumeric, max 1 character, optional (required=false).

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(5), 1, false, "工事予定情報(テレビ):新規変更区分")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 7** — [IF] `(field validation: Work Project Type Code)` (L1310-L1314)

> Validate the Work Project Type Code (工事案件種別コード) — index 6. Must be half-width alphanumeric, max 3 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(6), 3, false, "工事予定情報(テレビ):工事案件種別コード")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 8** — [IF] `(field validation: Work Project Number)` (L1317-L1321)

> Validate the Work Project Number (工事案件番号) — index 7. Must be half-width alphanumeric, max 10 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(7), 10, false, "工事予定情報(テレビ):工事案件番号")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 9** — [IF] `(field validation: Work Contractor Dispatch Code)` (L1324-L1328)

> Validate the Work Contractor Dispatch Code (工事会社配送先コード) — index 8. Must be half-width alphanumeric, max 6 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(8), 6, false, "工事予定情報(テレビ):工事会社配送先コード")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 10** — [IF] `(field validation: Scheduled Date)` (L1331-L1335)

> Validate the Scheduled Date (工事予定年月日) — index 9. Must be valid year/month/day date format, optional.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isYearMonthDay(data_list.get(9), false, "工事予定情報(テレビ):工事予定年月日")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 11** — [IF] `(field validation: Scheduled STB Count)` (L1338-L1342)

> Validate the Scheduled STB Count (工事予定STB台数) — index 10. Must be half-width alphanumeric, max 2 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(10), 2, false, "工事予定情報(テレビ):工事予定STB台数")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 12** — [IF] `(field validation: Scheduled V-ONU Meter)` (L1345-L1349)

> Validate the Scheduled V-ONU Meter (工事予定V-ONUメーター) — index 11. Must be half-width alphanumeric, max 2 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(11), 2, false, "工事予定情報(テレビ):工事予定V-ONUメーター")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 13** — [IF] `(field validation: Scheduled Design Sheet Number)` (L1352-L1356)

> Validate the Scheduled Design Sheet Number (工事予定設計書番号) — index 12. Must be half-width alphanumeric (variant #2), max 11 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji2(data_list.get(12), 11, false, "工事予定情報(テレビ):工事予定設計書番号")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 14** — [IF] `(field validation: Scheduled Submission Form Code)` (L1359-L1363)

> Validate the Scheduled Submission Form Code (工事予定申込形態コード) — index 13. Must be half-width alphanumeric, max 10 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(13), 10, false, "工事予定情報(テレビ):工事予定申込形態コード")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 15** — [IF] `(field validation: TV Work Project Type Code)` (L1366-L1370)

> Validate the TV Work Project Type Code (TV工事案件種別コード) — index 14. Must be half-width alphanumeric, max 2 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(14), 2, false, "工事予定情報(テレビ):TV工事案件種別コード")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 16** — [IF] `(field validation: PON ID Code)` (L1373-L1377)

> Validate the PON ID Code (PON識別コード) — index 15. Must be half-width alphanumeric, max 1 character, optional.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!isHannkakuESuuji(data_list.get(15), 1, false, "工事予定情報(テレビ):PON識別コード")` → false (valid) |
| 2 | SET | `err_cunt++` |

**Block 17** — [IF] `(0 == err_cunt)` (L1380-L1416)

> All 15 field validations passed. Build the comma-delimited output record by appending each field value followed by a comma separator (CONMA = ","). After the 15 data fields, append the source file path (data_list[0]) as a record identifier, then append the newline terminator (KAIGYOU_CODE = "
").

| # | Type | Code |
|---|------|------|
| 1 | IF | `0 == err_cunt` → true (all valid) |
| 2 | EXEC | `koji_rsv_inf_tv.append(data_list.get(1))` — Service Contract Number |
| 3 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 4 | EXEC | `koji_rsv_inf_tv.append(data_list.get(2))` — Service Contract Detail Number |
| 5 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 6 | EXEC | `koji_rsv_inf_tv.append(data_list.get(3))` — Link Date |
| 7 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 8 | EXEC | `koji_rsv_inf_tv.append(data_list.get(4))` — General Number |
| 9 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 10 | EXEC | `koji_rsv_inf_tv.append(data_list.get(5))` — New/Modification Type |
| 11 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 12 | EXEC | `koji_rsv_inf_tv.append(data_list.get(6))` — Work Project Type Code |
| 13 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 14 | EXEC | `koji_rsv_inf_tv.append(data_list.get(7))` — Work Project Number |
| 15 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 16 | EXEC | `koji_rsv_inf_tv.append(data_list.get(8))` — Work Contractor Dispatch Code |
| 17 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 18 | EXEC | `koji_rsv_inf_tv.append(data_list.get(9))` — Scheduled Date |
| 19 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 20 | EXEC | `koji_rsv_inf_tv.append(data_list.get(10))` — Scheduled STB Count |
| 21 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 22 | EXEC | `koji_rsv_inf_tv.append(data_list.get(11))` — Scheduled V-ONU Meter |
| 23 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 24 | EXEC | `koji_rsv_inf_tv.append(data_list.get(12))` — Scheduled Design Sheet Number |
| 25 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 26 | EXEC | `koji_rsv_inf_tv.append(data_list.get(13))` — Scheduled Submission Form Code |
| 27 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 28 | EXEC | `koji_rsv_inf_tv.append(data_list.get(14))` — TV Work Project Type Code |
| 29 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — append `,` [-> CONSTANT=","] |
| 30 | EXEC | `koji_rsv_inf_tv.append(data_list.get(15))` — PON ID Code |
| 31 | EXEC | `koji_rsv_inf_tv.append(CONMA)` — trailing comma after last data field |
| 32 | EXEC | `koji_rsv_inf_tv.append(data_list.get(0))` — Source file path (full path) |
| 33 | EXEC | `koji_rsv_inf_tv.append(KAIGYOU_CODE)` — newline terminator [-> CONSTANT="
"] |

**Block 17.1** — [ELSE branch: err_cunt > 0] `(invalid record)` (L1414-L1415)

> One or more fields failed validation. Append only a newline to create a placeholder record boundary in the output buffer.

| # | Type | Code |
|---|------|------|
| 1 | SET | (implicit else: err_cunt != 0, no data appended) |
| 2 | EXEC | `koji_rsv_inf_tv.append(KAIGYOU_CODE)` — newline only [-> CONSTANT="
"] |

**Block 18** — [SET] `(debug log END)` (L1418-L1419)

> Log method completion.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `super.logPrint.printDebugLog("setKojiRsvInfTv_END")` |
| 2 | RETURN | `void` — method ends (no return value) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `koji_rsv_inf_tv` | Field | Construction Reservation Information (TV) — data buffer holding the TV work order reservation record being built from batch input |
| `koji_rsv_inf_net` | Field | Construction Reservation Information (Network) — sibling buffer for network-related construction data (used in `setKikiNetInf`) |
| `koji_fin_inf` | Field | Construction Completion Information — sibling buffer for completed construction records |
| `koji_cl_inf` | Field | Construction Close Information — sibling buffer for construction close-out records |
| `kiki_inf_net` | Field | Equipment Information (Network) — buffer for network equipment data |
| `kiki_Inf_tv` | Field | Equipment Information (TV) — buffer for TV equipment data |
| `data_list` | Field | Batch input data list — 16-element list parsed from a single line of a comma-delimited construction information file |
| `err_cunt` | Field | Error count — tracks the number of field validation failures within a single record |
| CONMA | Constant | Comma character `,` — field separator in the output record format |
| KAIGYOU_CODE | Constant | Newline character `
` — record/line terminator (literally: "改行コード") |
| isHannkakuESuuji | Method | Half-width alphanumeric validator — checks if a value contains only half-width alphanumeric characters, within a specified maximum length |
| isHannkakuESuuji2 | Method | Half-width alphanumeric validator variant #2 — similar to isHannkakuESuuji with slight variation in validation rules |
| isHannkakuSuuji1 | Method | Half-width numeric validator — checks if a value contains only half-width numeric digits |
| isYearMonthDay | Method | Date format validator — checks if a value is in valid year/month/day date format (e.g., YYYYMMDD or similar) |
| JBSbatKKKojiKnrIfFileLoad | Class | Construction Reservation Information File Load batch service — processes batch input files for construction project reservation data |
| サービス契約番号 | Field (JP) | Service Contract Number — unique identifier for a customer's service contract |
| サービス契約回線内訳番号 | Field (JP) | Service Contract Detail/Line Breakdown Number — detailed line-level identifier within a service contract |
| 連携年月日 | Field (JP) | Link Date — the date of data linkage/synchronization between systems |
| 通番 | Field (JP) | General Number — sequential number assigned to each record in the batch file |
| 新規変更区分 | Field (JP) | New/Modification Type — indicates whether the work order is new installation or modification/change |
| 工事案件種別コード | Field (JP) | Work Project Type Code — classification code for the type of construction work |
| 工事案件番号 | Field (JP) | Work Project Number — unique identifier for a construction project |
| 工事会社配送先コード | Field (JP) | Work Contractor Dispatch Code — code identifying the contractor responsible for dispatching work |
| 工事予定年月日 | Field (JP) | Scheduled Date — the planned date for construction work |
| 工事予定STB台数 | Field (JP) | Scheduled STB Count — number of Set-Top Boxes (STB) scheduled for installation |
| 工事予定V-ONUメーター | Field (JP) | Scheduled V-ONU Meter — number of Vector-Optical Network Units (V-ONU) meters scheduled |
| 工事予定設計書番号 | Field (JP) | Scheduled Design Sheet Number — design document reference number for the planned construction |
| 工事予定申込形態コード | Field (JP) | Scheduled Submission Form Code — code indicating the type of application/submission form used |
| TV工事案件種別コード | Field (JP) | TV Work Project Type Code — specific classification code for television-related construction work |
| PON識別コード | Field (JP) | PON ID Code — Passive Optical Network identifier code |
| 工事予定情報(テレビ) | Business Term | Construction Reservation Information (TV) — batch data set for TV work order construction reservations |
| STB | Acronym | Set-Top Box — a device used for television signal reception and decoding |
| V-ONU | Acronym | Vector-Optical Network Unit — a fiber-optic network termination device |
| PON | Acronym | Passive Optical Network — a fiber-optic network architecture using unpowered splitters |
| Batch | Architectural Term | A non-interactive, automated processing job that runs against a set of input files |
| 全角半角英数字 | Technical Term | Half-width alphanumeric — characters limited to ASCII digits 0-9, uppercase A-Z, lowercase a-z (no full-width/japanese characters) |
| execute() | Method | The main entry point of JBSbatKKKojiKnrIfFileLoad — reads batch input file line by line and invokes setKojiRsvInfTv for each TV record line |
| JBSbatBusinessException | Exception | Business-level exception thrown by batch service methods for validation or processing failures |
