# Business Logic — JBSbatKKKojiKnrIfFileLoad.setKojiRsvNet() [175 LOC]

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

## 1. Role

### JBSbatKKKojiKnrIfFileLoad.setKojiRsvNet()

This method is a batch data-loading utility that validates and assembles a single CSV-record of **Work Schedule (Network)** information — also known as *Kouji Yotei Jyouhou (Net)* — from parsed input fields into a structured, comma-delimited output string. The method receives a raw `ArrayList<String>` where each element represents one column of a CSV line read from an inbound work schedule file (file type ID `KKIFM061001`), performs field-by-field format validation against telecom-specific rules, and — if every field passes — concatenates all 18 fields with comma separators followed by a newline code, writing the result into the `StringBuilder koji_rsv_net` accumulator. The design pattern used is **sequential validation followed by conditional data assembly**: validation always runs fully to collect all errors (`err_cunt` counter), and only when the error count is zero is the data written to the output string, ensuring that downstream processing never receives partially validated records. This method serves as a shared data-ingestion helper called during batch execution of the construction-related information reception file load process.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setKojiRsvNet_start"])
    VALIDATE1["Validate svc_contract_no<br/>isHannkakuESuuji"]
    VALIDATE2["Validate svc_contract_line_no<br/>isHannkakuESuuji"]
    VALIDATE3["Validate linked_date<br/>isYearMonthDay"]
    VALIDATE4["Validate tsuuban<br/>isHannkakuSuuji1"]
    VALIDATE5["Validate shinkou_henkou_bun<br/>isHannkakuESuuji"]
    VALIDATE6["Validate kouji_ankei_shubetu_cd<br/>isHannkakuESuuji"]
    VALIDATE7["Validate kouji_ankei_no<br/>isHannkakuESuuji"]
    VALIDATE8["Validate kouji_kaisya_haisaki_cd<br/>isHannkakuESuuji"]
    VALIDATE9["Validate kouji_yotei_nengappou<br/>isYearMonthDay"]
    VALIDATE10["Validate kouji_yotei_kapura_cd<br/>isHannkakuESuuji"]
    VALIDATE11["Validate kouji_yotei_oya_PON_maker_cd<br/>isHannkakuESuuji"]
    VALIDATE12["Validate kouji_yotei_VA_maker_cd<br/>isHannkakuESuuji"]
    CONVERT["charConverter(data_list[13])"]
    VALIDATE13["Validate kouji_yotei_oya_PON_maker_nm<br/>isMix2"]
    VALIDATE14["Validate kouji_yotei_skeiban_no<br/>isHannkakuESuuji2"]
    VALIDATE15["Validate kouji_yotei_shinmu_keitou_cd<br/>isHannkakuESuuji"]
    VALIDATE16["Validate kouji_yotei_IP_shubetu<br/>isHannkakuESuuji"]
    VALIDATE17["Validate PON_shiki_betu_cd<br/>isHannkakuESuuji"]
    ERR_CHECK{err_cunt == 0 ?}
    APPEND_FIELDS["Append all 18 fields comma-separated<br/>to koji_rsv_net"]
    APPEND_NEWLINE["Append newline<br/>KAIGYOU_CODE = '\
'"]
    END_NODE(["setKojiRsvNet_end"])

    START --> VALIDATE1
    VALIDATE1 --> VALIDATE2
    VALIDATE2 --> VALIDATE3
    VALIDATE3 --> VALIDATE4
    VALIDATE4 --> VALIDATE5
    VALIDATE5 --> VALIDATE6
    VALIDATE6 --> VALIDATE7
    VALIDATE7 --> VALIDATE8
    VALIDATE8 --> VALIDATE9
    VALIDATE9 --> VALIDATE10
    VALIDATE10 --> VALIDATE11
    VALIDATE11 --> CONVERT
    CONVERT --> VALIDATE13
    VALIDATE13 --> VALIDATE14
    VALIDATE14 --> VALIDATE15
    VALIDATE15 --> VALIDATE16
    VALIDATE16 --> VALIDATE17
    VALIDATE17 --> ERR_CHECK
    ERR_CHECK -->|true| APPEND_FIELDS
    ERR_CHECK -->|false| END_NODE
    APPEND_FIELDS --> APPEND_NEWLINE
    APPEND_NEWLINE --> END_NODE
```

**Processing Summary:**
The method performs **17 field validations** sequentially (indices 1 through 17 of the input list), one character conversion on index 13, and a final conditional assembly step. Each validation either increments the error counter (`err_cunt++`) or proceeds. Only if all validations pass (`err_cunt == 0`) are the 18 fields appended to the output `StringBuilder`.

| No | Constant | Value | Business Meaning |
|----|----------|-------|------------------|
| 1 | `CONMA` | `","` | Comma — field delimiter used in CSV-style output |
| 2 | `KAIGYOU_CODE` | `"
"` | Newline — record separator appended after each assembled row |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `data_list` | `ArrayList<String>` | A list of 18 string fields parsed from a single CSV line of the Work Schedule (Network) input file. Each index maps to a specific business field: index 0 = source filename (full path), index 1 = service contract number, index 2 = service contract line item number, index 3 = linked date, index 4 = general number, index 5 = new/change classification, index 6 = work project type code, index 7 = work project number, index 8 = construction company delivery destination code, index 9 = scheduled work date, index 10 = scheduled work method code, index 11 = scheduled main sub-unit equipment code, index 12 = scheduled VA maker code, index 13 = scheduled main PON maker name, index 14 = scheduled design document number, index 15 = scheduled application form code, index 16 = scheduled IP type, index 17 = PON identification code. |
| 2 | `koji_rsv_net` | `StringBuilder` | The output accumulator that collects the validated, comma-delimited record string. When all validations pass, the 18 fields are appended in sequence separated by `CONMA`, followed by a newline (`KAIGYOU_CODE`). The accumulated result is subsequently written to a CSV output file by the caller. |

**Instance/External State Read:**
| Source | Description |
|--------|-------------|
| `super.logPrint` | Debug logging handle inherited from parent class `JBSbatBusinessService` — used at entry and exit for trace logging. |

## 4. CRUD Operations / Called Services

This method does **not** perform any direct database or entity CRUD operations. It is a data validation and assembly utility that operates entirely in memory on the input list and output `StringBuilder`. All called methods are validation helpers, character converters, or debug loggers.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JBSbatKKKojiKnrIfFileLoad.isHannkakuESuuji` | - | - | Validates a field is a half-width alphanumeric string of a given length. Called 11 times for fields: svc_contract_no, svc_contract_line_no, shinkou_henkou_bun, kouji_ankei_shubetu_cd, kouji_ankei_no, kouji_kaisya_haisaki_cd, kouji_yotei_kapura_cd, kouji_yotei_oya_PON_maker_cd, kouji_yotei_VA_maker_cd, kouji_yotei_shinmu_keitou_cd, kouji_yotei_IP_shubetu, PON_shiki_betu_cd. |
| - | `JBSbatKKKojiKnrIfFileLoad.isHannkakuSuuji1` | - | - | Validates the general number (tsuuban, index 4) as a half-width numeric string. |
| - | `JBSbatKKKojiKnrIfFileLoad.isHannkakuESuuji2` | - | - | Validates the scheduled design document number (index 14) with a different character-set rule than `isHannkakuESuuji`. |
| - | `JBSbatKKKojiKnrIfFileLoad.isMix2` | - | - | Validates the scheduled main PON maker name (index 13 after conversion) as a mixed alphanumeric string of up to 32 characters. |
| - | `JBSbatKKKojiKnrIfFileLoad.isYearMonthDay` | - | - | Validates date-format fields (linked date at index 3, scheduled work date at index 9) as a valid year-month-day format. |
| - | `JBSbatInterface.charConverter` | - | - | Performs character encoding conversion on the PON maker name (index 13) before validation. |
| - | `JCCBatCommon.printDebugLog` | - | - | Entry/exit debug trace via `super.logPrint.printDebugLog("setKojiRsvNet_START")` and `printDebugLog("setKojiRsvNet_END")`. |

## 5. Dependency Trace

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

Direct callers: 1 method(s). No screen/batch entry points within 8 hops.

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

The method is called exclusively from the same class's `execute()` method as part of the batch processing flow for loading construction-related network information reception files.

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] field validation: service contract number (index 1) `(L1088)`
> Checks that the service contract number (SAKYYYAKU BANGO) is a half-width alphanumeric string of exactly 10 characters, mandatory.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(1), 10, true, "工事予定情報(ネット):サービス契約番号")` // validates half-width alphanumeric, max 10 chars, mandatory |
| 2 | IF | `!result` — if validation fails |
| 3 | SET | `err_cunt++` // increment error counter |

**Block 2** — [IF] field validation: service contract line item number (index 2) `(L1095)`
> Checks that the service contract line item number (SAKYYYAKU KAI-SUUNAI BANGO) is a half-width alphanumeric string of exactly 12 characters, mandatory.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(2), 12, true, "工事予定情報(ネット):サービス契約回線内訳番号")` // half-width alphanumeric, max 12 chars, mandatory |
| 2 | IF | `!result` — if validation fails |
| 3 | SET | `err_cunt++` |

**Block 3** — [IF] field validation: linked date (index 3) `(L1102)`
> Checks that the linked date (RENKAI NEN-GATSU-BI) is a valid year-month-day format, mandatory.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isYearMonthDay(data_list.get(3), true, "工事予定情報(ネット):連携年月日")` // validates YYYYMMDD format, mandatory |
| 2 | IF | `!result` — if validation fails |
| 3 | SET | `err_cunt++` |

**Block 4** — [IF] field validation: general number (index 4) `(L1109)`
> Checks that the general number (TSUUBAN) is a half-width numeric string of exactly 12 characters, mandatory.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuSuuji1(data_list.get(4), 12, true, "工事予定情報(ネット):通番")` // half-width numeric, max 12 chars, mandatory |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 5** — [IF] field validation: new/change classification (index 5) `(L1116)`
> Checks that the new/change classification (SHINKOU HENKOU KUBUN) is a half-width alphanumeric string of exactly 1 character, optional (null allowed).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(5), 1, false, "工事予定情報(ネット):新規変更区分")` // half-width alphanumeric, 1 char, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 6** — [IF] field validation: work project type code (index 6) `(L1123)`
> Checks that the work project type code (KOUJI ANKEI SHUBETU CODE) is a half-width alphanumeric string of exactly 3 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(6), 3, false, "工事予定情報(ネット):工事案件種別コード")` // half-width alphanumeric, 3 chars, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 7** — [IF] field validation: work project number (index 7) `(L1130)`
> Checks that the work project number (KOUJI ANKEI NO) is a half-width alphanumeric string of exactly 10 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(7), 10, false, "工事予定情報(ネット):工事案件番号")` // half-width alphanumeric, 10 chars, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 8** — [IF] field validation: construction company delivery destination code (index 8) `(L1137)`
> Checks that the construction company delivery destination code (KOUJI KAISAI HAISAKI CODE) is a half-width alphanumeric string of exactly 6 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(8), 6, false, "工事予定情報(ネット):工事会社配送先コード")` // half-width alphanumeric, 6 chars, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 9** — [IF] field validation: scheduled work date (index 9) `(L1144)`
> Checks that the scheduled work date (KOUJI YOTEI NEN-GATSU-BI) is a valid year-month-day format, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isYearMonthDay(data_list.get(9), false, "工事予定情報(ネット):工事予定年月日")` // validates YYYYMMDD format, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 10** — [IF] field validation: scheduled work method code (index 10) `(L1151)`
> Checks that the scheduled work method code (KOUJI YOTEI HOUSHI CODE) is a half-width alphanumeric string of exactly 3 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(10), 3, false, "工事予定情報(ネット):工事予定カプラー方式コード")` // half-width alphanumeric, 3 chars, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 11** — [IF] field validation: scheduled main sub-unit equipment code (index 11) `(L1158)`
> Checks that the scheduled main sub-unit PON maker code (KOUJI YOTEI OYA PON MEKAA CODE) is a half-width alphanumeric string of exactly 2 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(11), 2, false, "工事予定情報(ネット):工事予定親PONメーカコード")` // half-width alphanumeric, 2 chars, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 12** — [IF] field validation: scheduled VA maker code (index 12) `(L1165)`
> Checks that the scheduled VA maker code (KOUJI YOTEI VA MEKAA CODE) is a half-width alphanumeric string of exactly 2 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(12), 2, false, "工事予定情報(ネット):工事予定VAメーカコード")` // half-width alphanumeric, 2 chars, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 13** — [SET + EXEC] character conversion: scheduled main PON maker name (index 13) `(L1172)`
> Applies character encoding conversion to the PON maker name before validation.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kojiRsvOyaPonMakerNm = JBSbatInterface.charConverter(data_list.get(13))` // converts character encoding of PON maker name |

**Block 13.1** — [IF] field validation: scheduled main PON maker name (index 13) `(L1175)`
> Checks that the converted PON maker name (KOUJI YOTEI OYA PON MEKAA MEISHOU) is a mixed alphanumeric string of up to 32 characters.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isMix2(kojiRsvOyaPonMakerNm, 32, "工事予定情報(ネット):工事予定親PONメーカ名称")` // mixed alphanumeric, max 32 chars |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 14** — [IF] field validation: scheduled design document number (index 14) `(L1182)`
> Checks that the scheduled design document number (KOUJI YOTEI SETKEI SHOBAN NO) is a half-width alphanumeric string of exactly 11 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji2(data_list.get(14), 11, false, "工事予定情報(ネット):工事予定設計書番号")` // half-width alphanumeric variant, 11 chars, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 15** — [IF] field validation: scheduled application form code (index 15) `(L1189)`
> Checks that the scheduled application form code (KOUJI YOTEI SHINMU KEITOU CODE) is a half-width alphanumeric string of exactly 10 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(15), 10, false, "工事予定情報(ネット):工事予定申請形態コード")` // half-width alphanumeric, 10 chars, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 16** — [IF] field validation: scheduled IP type (index 16) `(L1196)`
> Checks that the scheduled IP type (KOUJI YOTEI IP SHUBETU) is a half-width alphanumeric string of exactly 2 characters, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(16), 2, false, "工事予定情報(ネット):工事予定IP種類")` // half-width alphanumeric, 2 chars, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 17** — [IF] field validation: PON identification code (index 17) `(L1203)`
> Checks that the PON identification code (PON SHIKI BETSU CODE) is a half-width alphanumeric string of exactly 1 character, optional.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isHannkakuESuuji(data_list.get(17), 1, false, "工事予定情報(ネット):PON識別コード")` // half-width alphanumeric, 1 char, optional |
| 2 | IF | `!result` |
| 3 | SET | `err_cunt++` |

**Block 18** — [IF] conditional data assembly `(L1209)` `[err_cunt == 0]`
> When all validations pass (error count is zero), assembles the full CSV-record by appending all 18 fields comma-separated to the output `StringBuilder`. The source filename (index 0) is appended after a final comma, and a newline code terminates the record. This is the only code path that writes data to `koji_rsv_net`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `koji_rsv_net.append(data_list.get(1))` // service contract number |
| 2 | SET | `koji_rsv_net.append(CONMA)` // delimiter "," |
| 3 | SET | `koji_rsv_net.append(data_list.get(2))` // service contract line item number |
| 4 | SET | `koji_rsv_net.append(CONMA)` |
| 5 | SET | `koji_rsv_net.append(data_list.get(3))` // linked date |
| 6 | SET | `koji_rsv_net.append(CONMA)` |
| 7 | SET | `koji_rsv_net.append(data_list.get(4))` // general number |
| 8 | SET | `koji_rsv_net.append(CONMA)` |
| 9 | SET | `koji_rsv_net.append(data_list.get(5))` // new/change classification |
| 10 | SET | `koji_rsv_net.append(CONMA)` |
| 11 | SET | `koji_rsv_net.append(data_list.get(6))` // work project type code |
| 12 | SET | `koji_rsv_net.append(CONMA)` |
| 13 | SET | `koji_rsv_net.append(data_list.get(7))` // work project number |
| 14 | SET | `koji_rsv_net.append(CONMA)` |
| 15 | SET | `koji_rsv_net.append(data_list.get(8))` // construction company delivery destination code |
| 16 | SET | `koji_rsv_net.append(CONMA)` |
| 17 | SET | `koji_rsv_net.append(data_list.get(9))` // scheduled work date |
| 18 | SET | `koji_rsv_net.append(CONMA)` |
| 19 | SET | `koji_rsv_net.append(data_list.get(10))` // scheduled work method code |
| 20 | SET | `koji_rsv_net.append(CONMA)` |
| 21 | SET | `koji_rsv_net.append(data_list.get(11))` // scheduled main sub-unit PON maker code |
| 22 | SET | `koji_rsv_net.append(CONMA)` |
| 23 | SET | `koji_rsv_net.append(data_list.get(12))` // scheduled VA maker code |
| 24 | SET | `koji_rsv_net.append(CONMA)` |
| 25 | SET | `koji_rsv_net.append(data_list.get(13))` // scheduled main PON maker name |
| 26 | SET | `koji_rsv_net.append(CONMA)` |
| 27 | SET | `koji_rsv_net.append(data_list.get(14))` // scheduled design document number |
| 28 | SET | `koji_rsv_net.append(CONMA)` |
| 29 | SET | `koji_rsv_net.append(data_list.get(15))` // scheduled application form code |
| 30 | SET | `koji_rsv_net.append(CONMA)` |
| 31 | SET | `koji_rsv_net.append(data_list.get(16))` // scheduled IP type |
| 32 | SET | `koji_rsv_net.append(CONMA)` |
| 33 | SET | `koji_rsv_net.append(data_list.get(17))` // PON identification code |
| 34 | SET | `koji_rsv_net.append(CONMA)` // trailing comma before filename |
| 35 | SET | `koji_rsv_net.append(data_list.get(0))` // source filename (full path) |
| 36 | SET | `koji_rsv_net.append(KAIGYOU_CODE)` // newline record terminator "
" |

**Block 19** — [EXEC] debug log: end `(L1257)`
> Logs the method exit point for traceability.

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

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `koji_rsv_net` | Field | Work Schedule (Network) — the output data structure holding a validated CSV-record of network-related work scheduling information |
| `koji_rsv_net_file_id` | Constant | File ID `KKIFM061001` — identifier for the Work Schedule (Network) reception file type |
| `data_list` | Field | Input CSV line parsed into 18 individual string fields, each representing a column of the work schedule record |
| `err_cunt` | Field | Error count — internal counter tracking how many field validations failed in the current record |
| `CONMA` | Constant | `","` — comma character used as the CSV field delimiter |
| `KAIGYOU_CODE` | Constant | `"
"` — newline character used as the record terminator in CSV output |
| `isHannkakuESuuji` | Method | Half-width alphanumeric validation — checks that a string contains only half-width alphanumeric characters with a specified max length |
| `isHannkakuESuuji2` | Method | Variant half-width alphanumeric validation — similar to `isHannkakuESuuji` but with different character-set rules |
| `isHannkakuSuuji1` | Method | Half-width numeric validation — checks that a string contains only half-width numeric digits |
| `isMix2` | Method | Mixed alphanumeric validation — checks that a string contains alphanumeric characters (including full-width) up to a max length |
| `isYearMonthDay` | Method | Date-format validation — checks that a string is a valid YYYYMMDD date format |
| `charConverter` | Method | Character encoding converter — performs character set conversion (e.g., shift-JIS to UTF-8) on string data |
| `service_contract_no` | Field | Service Contract Number (SAKYYYAKU BANGO) — internal identifier for a customer service contract, 10 chars |
| `service_contract_line_no` | Field | Service Contract Line Item Number (SAKYYYAKU KAI-SUUNAI BANGO) — identifies a specific line within a service contract, 12 chars |
| `linked_date` | Field | Linked Date (RENKAI NEN-GATSU-BI) — the date when the work schedule was linked/synchronized with upstream systems, YYYYMMDD format |
| `tsuuban` | Field | General Number (TSUUBAN) — a sequential reference number, 12 numeric digits |
| `shinkou_henkou_bun` | Field | New/Change Classification (SHINKOU HENKOU KUBUN) — indicates whether this record represents a new installation ("新規") or a modification ("変更"), 1 char |
| `kouji_ankei_shubetu_cd` | Field | Work Project Type Code (KOUJI ANKEI SHUBETU CODE) — classification code for the type of construction project, 3 chars |
| `kouji_ankei_no` | Field | Work Project Number (KOUJI ANKEI NO) — unique identifier for the work/construction project, 10 chars |
| `kouji_kaisya_haisaki_cd` | Field | Construction Company Delivery Destination Code (KOUJI KAISAI HAISAKI CODE) — code identifying the destination where the construction company delivers/install equipment, 6 chars |
| `kouji_yotei_nengappou` | Field | Scheduled Work Date (KOUJI YOTEI NEN-GATSU-BI) — the planned date for the work to be performed, YYYYMMDD format |
| `kouji_yotei_kapura_cd` | Field | Scheduled Work Method Code (KOUJI YOTEI HOUSHI CODE) — code describing the installation method (e.g., optical splitter type), 3 chars |
| `kouji_yotei_oya_PON_maker_cd` | Field | Scheduled Main PON Maker Code (KOUJI YOTEI OYA PON MEKAA CODE) — identifies the manufacturer of the main PON equipment, 2 chars |
| `kouji_yotei_VA_maker_cd` | Field | Scheduled VA Maker Code (KOUJI YOTEI VA MEKAA CODE) — identifies the manufacturer of the Virtual Access equipment, 2 chars |
| `kouji_yotei_oya_PON_maker_nm` | Field | Scheduled Main PON Maker Name (KOUJI YOTEI OYA PON MEKAA MEISHOU) — human-readable name of the main PON equipment manufacturer, up to 32 chars |
| `kouji_yotei_skeiban_no` | Field | Scheduled Design Document Number (KOUJI YOTEI SETKEI SHOBAN NO) — reference to the design document for the scheduled work, 11 chars |
| `kouji_yotei_shinmu_keitou_cd` | Field | Scheduled Application Form Code (KOUJI YOTEI SHINMU KEITOU CODE) — code for the type of application/form used for scheduling, 10 chars |
| `kouji_yotei_IP_shubetu` | Field | Scheduled IP Type (KOUJI YOTEI IP SHUBETU) — identifies the type of IP service being scheduled, 2 chars |
| `PON_shiki_betu_cd` | Field | PON Identification Code (PON SHIKI BETSU CODE) — identifies a specific PON port or section, 1 char |
| PON | Acronym | Passive Optical Network — a fiber-optic network architecture using passive splitters to deliver broadband to end users |
| VA | Acronym | Virtual Access — a telecom service type providing virtual network access over PON infrastructure |
| FA | Acronym | Fiber Access — fiber-based broadband access service (FTTH) |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband service delivered directly to residential premises |
| CSV | Business term | Comma-Separated Values — flat-file text format where fields are delimited by commas, one record per line |
| K-Opticom | Business term | K-Opticom — the telecommunications brand/operator this system serves |