# Business Logic — JBSbatKKKojiKnrnInfCheck.editPrgTkjk2() [265 LOC]

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

## 1. Role

### JBSbatKKKojiKnrnInfCheck.editPrgTkjk2()

This method edits and assembles **Tokkisato (特記事項 — Special Notes/Remarks) field 2** for output files in a telecom batch processing pipeline. It acts as a **routing/dispatcher** that inspects a `recDiv` (record classification) parameter and branches into one of seven distinct data file processing paths: Design Result (recDiv="20"), Inside Work (recDiv="B0"), Work Completion (recDiv="40"), Work Cancellation (recDiv="90"), Work Schedule (recDiv="60" or "61"), Tentative Cancellation Receipt (recDiv="E0"), and Tentative Cancellation Cancellation (recDiv="F0"). For every branch, the method builds a structured human-readable string containing a work-case category prefix, a fixed connection date (link date), and branch-specific detail fields such as design result codes, inside-work schedules, work status, cancellation reasons, and temporary cancellation information. Code names are resolved via the `getCodeName()` lookup for work-case subtype codes and cancellation reason codes, drawing from master code management tables. The method follows a **delegation pattern** for code-name resolution and a **template composition pattern** for string assembly using `StringBuilder`, with date/time formatting delegated to utility classes.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["editPrgTkjk2 params"])

    START --> SB_INIT["StringBuilder sb created"]
    SB_INIT --> KOGET_CD["kojiak_sbt_cd = data[5]"]
    KOGET_CD --> KOGET_NN{"kojiak_sbt_cd is null or empty"}

    KOGET_NN -->|"yes"| KOGET_NM["kojiak_sbt_nm = getCodeName CD00577, kojiak_sbt_cd"]
    KOGET_NN -->|"no"| KOGET_SKIP["kojiak_sbt_nm = empty"]
    KOGET_NM --> APP_PREFIX["sb append prefix bracket and name"]
    KOGET_SKIP --> APP_PREFIX

    APP_PREFIX --> REC_20{"recDiv equals 20"}
    REC_20 -->|"yes"| B20["Block 1 Design Result Info"]
    REC_20 -->|"no"| REC_B0{"recDiv equals B0"}
    REC_B0 -->|"yes"| BB0["Block 2 Inside Work Info"]
    REC_B0 -->|"no"| REC_40{"recDiv equals 40"}
    REC_40 -->|"yes"| B40["Block 3 Work Completion Info"]
    REC_40 -->|"no"| REC_90{"recDiv equals 90"}
    REC_90 -->|"yes"| B90["Block 4 Work Cancellation Info"]
    REC_90 -->|"no"| REC_60{"recDiv equals 60 or 61"}
    REC_60 -->|"yes"| B60["Block 5 Work Schedule Info"]
    REC_60 -->|"no"| REC_E0{"recDiv equals E0"}
    REC_E0 -->|"yes"| BE0["Block 6 Tentative Cancel Receipt"]
    REC_E0 -->|"no"| REC_F0{"recDiv equals F0"}
    REC_F0 -->|"yes"| BF0["Block 7 Tentative Cancel Cancellation"]
    REC_F0 -->|"no"| SKIP_RETURN["skip all branches"]

    B20 --> R20_C{"dsgn_result_cd equals 1"}
    R20_C -->|"yes"| R20_T["dsgnResult = in standard"]
    R20_C -->|"no"| R20_F["dsgnResult = out of standard"]
    R20_T --> R20_APP["sb append connection date, dsgnResult, report date"]
    R20_F --> R20_APP

    BB0 --> B_BMP_C{"bmpKh equals 0"}
    B_BMP_C -->|"yes"| B_BMP_T["strBmpKh = No"]
    B_BMP_C -->|"no"| B_BMP_F["strBmpKh = Yes"]
    B_BMP_T --> B_JSSI_C{"jssiFlg equals 0"}
    B_BMP_F --> B_JSSI_C
    B_JSSI_C -->|"yes"| B_JSSI_T["strJssiFlg = None"]
    B_JSSI_C -->|"no"| B_JSSI_F["strJssiFlg = Exist"]
    B_JSSI_T --> B_KIBO_C{"kiboUm equals 0"}
    B_JSSI_F --> B_KIBO_C
    B_KIBO_C -->|"yes"| B_KIBO_T["strkiboUm = None"]
    B_KIBO_C -->|"no"| B_KIBO_F["strkiboUm = Exist"]
    B_KIBO_T --> B_APP["sb append inside work details"]
    B_KIBO_F --> B_APP

    B40 --> R40_C{"opms_result_cd equals 1"}
    R40_C -->|"yes"| R40_TRUE["kojiResult = OK"]
    R40_C -->|"no"| R40_FALSE["kojiResult = NG"]
    R40_TRUE --> R40_APP["sb append work result, completion date"]
    R40_FALSE --> R40_APP

    B90 --> R90_RSN["rsnName = getCodeName CD01454, data[12]"]
    R90_RSN --> R90_RSN_DT["rsnDtailName = getCodeName CD01455, data[13]"]
    R90_RSN_DT --> R90_APP["sb append cancel receipt, registration, reasons"]

    B60 --> R60_APP["sb append connection date, schedule date"]

    BE0 --> R_E0_RSN["rsnName = getCodeName CD01454, data[8]"]
    R_E0_RSN --> R_E0_RSN_DT["rsnDtailName = getCodeName CD01455, data[9]"]
    R_E0_RSN_DT --> R_E0_APP["sb append tentative cancel receipt date, reasons"]

    BF0 --> R_F0_APP["sb append tentative cancel cancellation date"]

    R20_APP --> FINAL
    B_APP --> FINAL
    R40_APP --> FINAL
    R90_APP --> FINAL
    R60_APP --> FINAL
    R_E0_APP --> FINAL
    R_F0_APP --> FINAL
    SKIP_RETURN --> FINAL

    FINAL["sb.toString return"]
    FINAL --> END(["END"])
```

**CRITICAL — Constant Resolution:**

| Constant | Actual Value | Business Meaning |
|----------|-------------|------------------|
| `REC_DOV_20` | `"20"` | Design Result Info File record type |
| `REC_DOV_B0` | `"B0"` | Inside Work Info File record type |
| `REC_DOV_40` | `"40"` | Work Completion Info File record type |
| `REC_DOV_90` | `"90"` | Work Cancellation Info File record type |
| `REC_DOV_60` | `"60"` | Work Schedule Info File record type |
| `REC_DOV_61` | `"61"` | Work Schedule Info File record type (variant) |
| `REC_DOV_E0` | `"E0"` | Work Tentative Cancellation Receipt Info File record type |
| `REC_DOV_F0` | `"F0"` | Work Tentative Cancellation Cancellation Info File record type |
| `DSGN_EQUIP_CD_KIJUNNAI` | `"1"` | Design code meaning "In Standard" (基準内) |
| `OPMSKJAK_RSLT_CD_OK` | `"1"` | OPMS work-case result code meaning "OK" (OK) |
| `KEY_CD_SBT_CD_KOJIAK_SBT_CD` | `"CD00577"` | Code master key for work-case subtype names |
| `KEY_CD_SBT_CD_RSN` | `"CD01454"` | Code master key for cancellation reason major codes |
| `KEY_CD_SBT_CD_RSN_DTAIL` | `"CD01455"` | Code master key for cancellation reason detail codes |
| `STR_ZERO` | `"0"` | String representation of zero, used as null/absence indicator |
| `SPACE_ZENKAKU` | `" "` | Full-width space character for Japanese text formatting |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `recDiv` | `String` | Record classification that determines which data file processing branch to execute. Values include `"20"` (Design Result), `"B0"` (Inside Work), `"40"` (Work Completion), `"90"` (Work Cancellation), `"60"`/`"61"` (Work Schedule), `"E0"` (Tentative Cancellation Receipt), and `"F0"` (Tentative Cancellation Cancellation). Each value selects a distinct set of output fields from the `data` array. |
| 2 | `data` | `String[]` | Array of output file information fields. Index positions vary by branch: `data[2]` is always the connection date; `data[5]` is the work-case subtype code; other indices (7, 8, 9, 10, 11, 12, 13) carry branch-specific fields like design result code, inside work flags, cancellation reason codes, and schedule dates. |

**Fields read from enclosing class:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `KEY_CD_SBT_CD_KOJIAK_SBT_CD` | `String` (static const) | Master code lookup key for work-case subtype codes (CD00577) |
| `KEY_CD_SBT_CD_RSN` | `String` (static const) | Master code lookup key for cancellation reason major codes (CD01454) |
| `KEY_CD_SBT_CD_RSN_DTAIL` | `String` (static const) | Master code lookup key for cancellation reason detail codes (CD01455) |
| `REC_DOV_20`, `REC_DOV_B0`, `REC_DOV_40`, etc. | `String` (static consts) | Record division type constants used for branching |
| `DSGN_EQUIP_CD_KIJUNNAI` | `String` (static const) | Design result code for "in standard" (value "1") |
| `OPMSKJAK_RSLT_CD_OK` | `String` (static const) | OPMS work result code for "OK" (value "1") |
| `STR_ZERO` | `String` (static const) | Zero indicator for boolean-like string fields |
| `SPACE_ZENKAKU` | `String` (static const) | Full-width space for Japanese text formatting |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JPCUtilCommon.formatDate` | JPCUtilCommon | - | Formats a date string (data field) for display |
| - | `JPCFomatString.formatTime` | JPCFomatString | - | Formats a time string (data field) for display |
| - | `JACBatCommon.formatDate` | JACBatCommon | - | Alternative date formatting utility |
| - | `JACbatRknBusinessUtil.formatDate` | JACbatRknBusiness | - | Alternative date formatting utility |
| - | `JCHbatSeikyKaknoBusinessUtil.formatDate` | JCHbatSeikyKakno | - | Alternative date formatting utility |
| - | `JCRStringUtil.formatDate` | JCRString | - | Alternative date formatting utility |
| - | `JCRUtilCommon.formatDate` | JCRUtilCommon | - | Alternative date formatting utility |
| R | `getCodeName` | JBSbatKKKojiKnrnInfCheck | Code Master (CD00577, CD01454, CD01455) | Looks up code name from code master tables by code key and code value |

**Note:** This method is a **pure transformation** method — it does not perform any direct database read/write/create/delete operations. All data originates from the `data[]` array parameter (pre-fetched by a prior batch step). The only data access is via `getCodeName()`, which performs a **Read** operation against code master tables to resolve display names for subtype codes and cancellation reason codes. The SC Codes `CD00577`, `CD01454`, and `CD01455` refer to code master management entries.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: `JBSbatKKKojiKnrnInfCheck` | `setPrgIfAdd` -> `editPrgTkjk2` | `getCodeName [R] Code Master (CD00577, CD01454, CD01455)` |

**Caller details:**

- **`JBSbatKKKojiKnrnInfCheck.setPrgIfAdd()`** — The direct caller within the same class. This method invokes `editPrgTkjk2()` during batch processing to assemble Tokkisato (Special Notes) field 2 for output records. The terminal operations reached from this method are code master reads via `getCodeName()`, which resolve display names from the code master tables for keys CD00577, CD01454, and CD01455.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(String prefix assembly)` (L4456-L4473)

> Initializes StringBuilder, extracts the work-case subtype code from the data array, resolves its display name via code master lookup, and builds the prefix string wrapped in brackets.

| # | Type | Code |
|---|------|------|
| 1 | SET | `sb = new StringBuilder()` // Create buffer for output string |
| 2 | SET | `kojiak_sbt_cd = data[5]` // Extract work-case subtype code |
| 3 | SET | `kojiak_sbt_nm = ""` // Initialize name to empty |
| 4 | IF | `kojiak_sbt_cd != null && !"".equals(kojiak_sbt_cd)` (L4466) — Proceed with code-name lookup only if the code field is non-null and non-empty |

  **Block 1.1** — [IF-THEN] `(code is present)` (L4468)

  | # | Type | Code |
  |---|------|------|
  | 1 | CALL | `kojiak_sbt_nm = getCodeName(KEY_CD_SBT_CD_KOJIAK_SBT_CD="CD00577", kojiak_sbt_cd)` // Resolve subtype display name from code master |

  **Block 1.2** — [ELSE] `(code is null or empty)` (L4466 else)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `kojiak_sbt_nm` remains `""` (empty string) |

| # | Type | Code |
|---|------|------|
| 4 | SET | `sb.append("[" + kojiak_sbt_nm + "]")` // Append prefix like `[FTTH Registration]` |

---

**Block 2** — [ELSE-IF] `(REC_DOV_20 = "20")` Design Result Info File (L4475-L4509)

> Processes design result data files. Retrieves the design result code, maps it to a human-readable label ("in standard" or "out of standard"), and assembles a string with connection date, design result, and estimate design report date.

| # | Type | Code |
|---|------|------|
| 1 | SET | `dsgn_result_cd = data[7]` // Extract design result code |
| 2 | SET | `dsgnResult = ""` // Initialize display label |
| 3 | IF | `DSGN_EQUIP_CD_KIJUNNAI="1" equals dsgn_result_cd` (L4484) |

  **Block 2.1** — [IF-THEN] `(dsgn_result_cd = "1")` Design is within standard | (L4486)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `dsgnResult = "基準内" (in standard)` |

  **Block 2.2** — [ELSE] `(dsgn_result_cd != "1")` Design is out of standard | (L4489)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `dsgnResult = "基準外" (out of standard)` |

| # | Type | Code |
|---|------|------|
| 4 | SET | `sb.append("連携日：")` // Append "connection date:" label |
| 5 | SET | `sb.append(JPCUtilCommon.formatDate(data[2]))` // Append formatted connection date |
| 6 | SET | `sb.append(SPACE_ZENKAKU + "設計結果：")` // Append space + "design result:" |
| 7 | SET | `sb.append(dsgnResult)` // Append "in standard" or "out of standard" |
| 8 | SET | `sb.append(SPACE_ZENKAKU + "見積設計報告日：")` // Append space + "estimate design report date:" |
| 9 | SET | `sb.append(JPCUtilCommon.formatDate(data[8]))` // Append formatted report date |

---

**Block 3** — [ELSE-IF] `(REC_DOV_B0 = "B0")` Inside Work Info File (L4512-L4565)

> Processes inside work information files. Evaluates three boolean-like string fields (simultaneous banpo availability, banpo simultaneous work flag, simultaneous banpo wish), converts "0" to "No/None" and other values to "Yes/Exist", and assembles a comprehensive inside work schedule string.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bmpKh = data[9]` // Simultaneous banpo availability flag |
| 2 | SET | `strBmpKh = ""` // Initialize converted label |
| 3 | IF | `STR_ZERO="0" equals bmpKh` (L4520) |

  **Block 3.1** — [IF-THEN] `(bmpKh = "0")` | (L4522)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `strBmpKh = "否" (No)` |

  **Block 3.2** — [ELSE] `(bmpKh != "0")` | (L4525)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `strBmpKh = "可" (Yes)` |

| # | Type | Code |
|---|------|------|
| 4 | SET | `jssiFlg = data[10]` // Banpo simultaneous work execution flag |
| 5 | SET | `strJssiFlg = ""` // Initialize converted label |
| 6 | IF | `STR_ZERO="0" equals jssiFlg` (L4534) |

  **Block 3.3** — [IF-THEN] `(jssiFlg = "0")` | (L4536)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `strJssiFlg = "無" (None)` |

  **Block 3.4** — [ELSE] `(jssiFlg != "0")` | (L4539)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `strJssiFlg = "有" (Exist)` |

| # | Type | Code |
|---|------|------|
| 7 | SET | `kiboUm = data[11]` // Simultaneous banpo wish flag |
| 8 | SET | `strkiboUm = ""` // Initialize converted label |
| 9 | IF | `STR_ZERO="0" equals kiboUm` (L4548) |

  **Block 3.5** — [IF-THEN] `(kiboUm = "0")` | (L4550)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `strkiboUm = "無" (None)` |

  **Block 3.6** — [ELSE] `(kiboUm != "0")` | (L4553)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `strkiboUm = "有" (Exist)` |

| # | Type | Code |
|---|------|------|
| 10 | SET | `sb.append("連携日：")` // Append "connection date:" |
| 11 | SET | `sb.append(JPCUtilCommon.formatDate(data[2]))` // Connection date |
| 12 | SET | `sb.append(SPACE_ZENKAKU + "室内工事予定日：")` // Inside work schedule date |
| 13 | SET | `sb.append(JPCUtilCommon.formatDate(data[7]))` // Inside work completion estimated date |
| 14 | SET | `sb.append(SPACE_ZENKAKU + "作業開始時間：")` // Work start time |
| 15 | SET | `sb.append(JPCFomatString.formatTime(data[8]))` // Formatted time string |
| 16 | SET | `sb.append(SPACE_ZENKAKU + "同時番ポ可否：")` // Simultaneous banpo availability |
| 17 | SET | `sb.append(strBmpKh)` // "可" or "否" |
| 18 | SET | `sb.append(SPACE_ZENKAKU + "番ポ同時工事実施フラグ：")` // Banpo simultaneous work flag |
| 19 | SET | `sb.append(strJssiFlg)` // "有" or "無" |
| 20 | SET | `sb.append(SPACE_ZENKAKU + "同時番ポ希望：")` // Simultaneous banpo wish |
| 21 | SET | `sb.append(strkiboUm)` // "有" or "無" |

---

**Block 4** — [ELSE-IF] `(REC_DOV_40 = "40")` Work Completion Info File (L4588-L4620)

> Processes work completion data files. Checks the OPMS work-case result code and maps it to "OK" (○) or "NG" (×) labels, then assembles the work result string with connection date and completion date.

| # | Type | Code |
|---|------|------|
| 1 | SET | `opms_result_cd = data[7]` // OPMS work-case result code |
| 2 | SET | `kojiResult = ""` // Initialize result label |
| 3 | IF | `OPMSKJAK_RSLT_CD_OK="1" equals opms_result_cd` (L4597) |

  **Block 4.1** — [IF-THEN] `(opms_result_cd = "1")` Work completed successfully | (L4599)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `kojiResult = "○" (OK)` |

  **Block 4.2** — [ELSE] `(opms_result_cd != "1")` Work failed or incomplete | (L4602)

  | # | Type | Code |
  |---|------|------|
  | 1 | SET | `kojiResult = "×" (NG)` |

| # | Type | Code |
|---|------|------|
| 4 | SET | `sb.append("連携日：")` // "connection date:" |
| 5 | SET | `sb.append(JPCUtilCommon.formatDate(data[2]))` // Connection date |
| 6 | SET | `sb.append(SPACE_ZENKAKU + "工事結果：")` // "work result:" |
| 7 | SET | `sb.append(kojiResult)` // "○" or "×" |
| 8 | SET | `sb.append(SPACE_ZENKAKU + "工事完了日：")` // "work completion date:" |
| 9 | SET | `sb.append(JPCUtilCommon.formatDate(data[8]))` // Completion date |

---

**Block 5** — [ELSE-IF] `(REC_DOV_90 = "90")` Work Cancellation Info File (L4623-L4672)

> Processes work cancellation data files. Looks up the major and minor cancellation reason codes from the code master, then assembles a string with connection date, cancellation receipt date, cancellation registration date, and the human-readable cancellation reason codes.

| # | Type | Code |
|---|------|------|
| 1 | SET | `rsnName = getCodeName(KEY_CD_SBT_CD_RSN="CD01454", data[12])` // Cancel reason major |
| 2 | SET | `rsnDtailName = getCodeName(KEY_CD_SBT_CD_RSN_DTAIL="CD01455", data[13])` // Cancel reason minor |
| 3 | SET | `sb.append("連携日：")` // "connection date:" |
| 4 | SET | `sb.append(JPCUtilCommon.formatDate(data[2]))` // Connection date |
| 5 | SET | `sb.append(SPACE_ZENKAKU + "キャンセル受払日：")` // "cancellation receipt date:" |
| 6 | SET | `sb.append(JPCUtilCommon.formatDate(data[8]))` // Cancellation receipt date |
| 7 | SET | `sb.append(SPACE_ZENKAKU + "キャンセル登録日：")` // "cancellation registration date:" |
| 8 | SET | `sb.append(JPCUtilCommon.formatDate(data[10]))` // Cancellation registration date |
| 9 | SET | `sb.append(SPACE_ZENKAKU + "取消理由コード(大分類)：")` // "cancellation reason code (major):" |
| 10 | SET | `sb.append(rsnName)` // Human-readable major reason |
| 11 | SET | `sb.append(SPACE_ZENKAKU + "取消理由コード(中分類)：")` // "cancellation reason code (minor):" |
| 12 | SET | `sb.append(rsnDtailName)` // Human-readable minor reason |

---

**Block 6** — [ELSE-IF] `(REC_DOV_60 = "60" \|\| REC_DOV_61 = "61")` Work Schedule Info File (v9.00.00 addition) (L4659-L4672)

> Processes work schedule data files (added in v9.00.00). Handles both record types "60" and "61" in a single branch. Assembles the connection date and work schedule date.

| # | Type | Code |
|---|------|------|
| 1 | SET | `sb.append("連携日：")` // "connection date:" |
| 2 | SET | `sb.append(JPCUtilCommon.formatDate(data[2]))` // Connection date |
| 3 | SET | `sb.append(SPACE_ZENKAKU + "工事予定日：")` // "work schedule date:" |
| 4 | SET | `sb.append(JPCUtilCommon.formatDate(data[8]))` // Work schedule date |

---

**Block 7** — [ELSE-IF] `(REC_DOV_E0 = "E0")` Work Tentative Cancellation Receipt Info File (ANK-3136 addition) (L4675-L4700)

> Processes tentative cancellation receipt data files (added in ANK-3136-00-00). Looks up cancellation reason codes and assembles the connection date, tentative cancellation receipt date, and reason codes. Note: data indices shift compared to Block 5 — receipt date uses `data[7]` and registration date is not included.

| # | Type | Code |
|---|------|------|
| 1 | SET | `rsnName = getCodeName(KEY_CD_SBT_CD_RSN="CD01454", data[8])` // Cancel reason major |
| 2 | SET | `rsnDtailName = getCodeName(KEY_CD_SBT_CD_RSN_DTAIL="CD01455", data[9])` // Cancel reason minor |
| 3 | SET | `sb.append("連携日：")` // "connection date:" |
| 4 | SET | `sb.append(JPCUtilCommon.formatDate(data[2]))` // Connection date |
| 5 | SET | `sb.append(SPACE_ZENKAKU + "仮キャンセル受払日：")` // "tentative cancellation receipt date:" |
| 6 | SET | `sb.append(JPCUtilCommon.formatDate(data[7]))` // Tentative cancellation receipt date |
| 7 | SET | `sb.append(SPACE_ZENKAKU + "取消理由コード(大分類)：")` // "cancellation reason code (major):" |
| 8 | SET | `sb.append(rsnName)` // Human-readable major reason |
| 9 | SET | `sb.append(SPACE_ZENKAKU + "取消理由コード(中分類)：")` // "cancellation reason code (minor):" |
| 10 | SET | `sb.append(rsnDtailName)` // Human-readable minor reason |

---

**Block 8** — [ELSE-IF] `(REC_DOV_F0 = "F0")` Work Tentative Cancellation Cancellation Info File (ANK-3136 addition) (L4702-L4711)

> Processes tentative cancellation cancellation data files (added in ANK-3136-00-00). This is the simplest branch — it only appends the connection date and the tentative cancellation cancellation date (the date the tentative cancellation was revoked/cancelled).

| # | Type | Code |
|---|------|------|
| 1 | SET | `sb.append("連携日：")` // "connection date:" |
| 2 | SET | `sb.append(JPCUtilCommon.formatDate(data[2]))` // Connection date |
| 3 | SET | `sb.append(SPACE_ZENKAKU + "仮キャンセル取消日：")` // "tentative cancellation cancellation date:" |
| 4 | SET | `sb.append(JPCUtilCommon.formatDate(data[7]))` // Tentative cancellation cancellation date |

---

**Block 9** — [RETURN] (L4715)

> Returns the fully assembled string, which is the Tokkisato (Special Notes) field 2 content.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return sb.toString()` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `recDiv` | Field | Record classification — determines which type of output file record is being processed (design, inside work, completion, cancellation, schedule, etc.) |
| `kojiak_sbt_cd` | Field | Work-case subtype code — classifies the type of construction/installation case |
| `kojiak_sbt_nm` | Field | Work-case subtype name — human-readable display name resolved from code master |
| `dsgn_result_cd` | Field | Design result code — indicates whether the design is "in standard" or "out of standard" |
| `opms_result_cd` | Field | OPMS work-case result code — OPMS (Operations Support System) result of the construction case |
| `bmpKh` | Field | Simultaneous banpo availability — whether simultaneous port assignment is possible |
| `jssiFlg` | Field | Banpo simultaneous work execution flag — whether simultaneous work on ports is being executed |
| `kiboUm` | Field | Simultaneous banpo wish — customer's desire for simultaneous port assignment |
| `rsnName` | Field | Cancellation reason major code name — top-level cancellation reason description |
| `rsnDtailName` | Field | Cancellation reason detail code name — sub-level cancellation reason description |
| `data[2]` | Field | Connection date (連携日) — the date the record is linked/connected to upstream systems |
| `data[5]` | Field | Work-case subtype code index |
| `data[7]` | Field | Design result code / Inside work schedule date / OPMS result code / Tentative cancel receipt date (index varies by branch) |
| `data[8]` | Field | Estimate design report date / Work start time / Work cancellation receipt date / Work schedule date (index varies by branch) |
| `data[9]` | Field | Simultaneous banpo availability flag / Tentative cancel receipt date (index varies by branch) |
| `data[10]` | Field | Banpo simultaneous work flag / Cancellation registration date (index varies by branch) |
| `data[11]` | Field | Simultaneous banpo wish flag |
| `data[12]` | Field | Cancellation reason major code |
| `data[13]` | Field | Cancellation reason detail code |
| CD00577 | Code Key | Master code table key for work-case subtype names |
| CD01454 | Code Key | Master code table key for cancellation reason major codes |
| CD01455 | Code Key | Master code table key for cancellation reason detail codes |
| Tokkisato (特記事項) | Field | Special notes/remarks field in telecom construction records — field 2 is assembled by this method |
| 連携日 (Renkeibi) | Field | Connection date / linkage date — when records are linked between systems |
| 室内工事 (Shinai Koji) | Business term | Inside work — installation work performed inside the customer premises |
| 番ポ (Banpo) | Abbreviation | Port number / terminal port — telecommunications port assignment in installation context |
| 基準内 (Kijunnai) | Business term | In standard / within design specifications |
| 基準外 (Kijungai) | Business term | Out of standard / outside design specifications |
| 仮キャンセル (Kashi Kyanaseru) | Business term | Tentative cancellation — a provisional cancellation that can be revoked |
| REC_DOV | Abbreviation | Record Division Value — internal constant prefix for record type classification |
| OPMS | Acronym | Operations Support System — a system used in telecom for managing service provisioning and work cases |
| getCodeName | Method | Code master lookup method that returns the human-readable name for a given code key and code value |
| ANK-3136-00-00 | Change ID | Change request that added tentative cancellation receipt and cancellation branches (E0, F0) |
