# DAIMNT3J 移行設計書（バッチ設計書） JOBフロー正誤比較

| 項目 | 内容 |
|---|---|
| 対象資料 | バッチ設計書_DAIMNT3J_管理台帳作成.xlsx（バッチ概要／処理フロー／データフロー） |
| 比較の基準（ワーク） | [DAIMNT3J_jobflow_work.svg](DAIMNT3J_jobflow_work.svg)（現行 JCL を新方式で実装した場合の想定 JOB フロー） |
| ワークの根拠 | JCL DAIMNT3J（原本）、DAIMNT3J_JOB仕様書.md、各プログラム仕様書 |
| 作成日 | 2026-10-26 |
| 関連資料 | DAIMNT3J_移行設計書_レビュー指摘.md、DAIMNT3J_移行設計書_確認事項.md |

## 比較の方法

1. **STEP1：ワークの作成。** 現行 JCL を、新方式の前提で組み直した想定 JOB フロー（ワーク）を作成した。
2. **STEP2：正誤の判定。** ワークと新設計の JOB 構成（ステップ、入出力、読込順）を項目ごとに突き合わせ、正誤を判定した。

**新方式の前提（ワーク作成時の置換えルール）**

| 現行 | 新方式（ワーク） |
|---|---|
| プログラム間のデータは SEQ ファイル（TEMP.DAIBAT00.WORKnnnn）で受け渡す | WORKDB（テーブル）で受け渡す |
| 処理の前に SORT ステップで並べ替える | SORT ステップは置かない。受け側プログラムの読込時に ORDER BY を付けて並べ替える（読込前の並べ替えとしてプログラムの記述に加える） |
| 使用済みワークを IEHPROGM で削除（事前・事後） | WORKDB を書込み前にクリアする |
| 管理台帳 VSAM を削除・再定義して全件ロード（REPRO） | 管理台帳を全件入れ替える |

- 新設計の読込順は、データフローの注記（ソートキーの記載）を ORDER BY の指定として扱った。
- 現行のステップ番号（STEPn）は DAIMNT3J_JOB仕様書.md の通番、ワークのステップ番号は 0010 刻みの通番。

**判定**

| 記号 | 意味 |
|---|---|
| ○ | ワークと一致 |
| × | ワークと異なり、誤り（指摘あり） |
| △ | 記載が無い、または移行に伴う変更の可能性がある（確認事項で扱う） |

---

## STEP2：正誤一覧

### ① 管理台帳の作成

| ワーク | 比較項目 | ワーク（期待値） | 新設計 | 判定 | 指摘・確認事項 |
|---|---|---|---|---|---|
| 0010 | プログラム | KS41000 管理台帳の作成（現行 STEP1） | STEP0010 KS41000 | ○ | |
| 0010 | 入力 | 顧客マスター（基本情報・運賃契約基本情報・委託料情報（１）） | VKCUSTM、VKCUNK1、VKCUIT1 | ○ | |
| 0010 | 出力 | WORKDB 管理台帳ワーク1 | DAIMNT3J_0010TD | ○ | |
| 0020 | 読込順（ORDER BY） | KASFHATN（請求書出力店所コート゛）＝現行 STEP2 `SORT FIELDS=(251,4)` | KASFSORT1〜4 昇順 | **×** | 5-2 |
| 0020 | プログラム・参照表 | KS41010 店所情報の付加、RDTENS（現行 STEP4） | STEP0020 KS41010、RDTENS | ○ | |
| 0020 | 出力 | WORKDB 管理台帳ワーク2 | DAIMNT3J_0030TD | ○ | |
| 0030 | 読込順（ORDER BY） | KAADCODA、KAADCODB（顧客所在地コード）＝現行 STEP6 `(13,11)` | KAADCODA 昇順、KAADCODB 昇順 | ○ | |
| 0030 | プログラム・参照表 | KS41020 住所情報の付加、RDADRN（現行 STEP8） | STEP0030 KS41020、RDADRN | ○ | |
| 0030 | 出力 | WORKDB 管理台帳ワーク3 | DAIMNT3J_0060TD | ○ | |
| 0040 | 読込順（ORDER BY） | KASFAD05、KASFAD06（請求先所在地コード）＝現行 STEP10 `(334,11)` | KASFAD05 昇順、KASFAD06 昇順 | ○ | |
| 0040 | プログラム・参照表 | KS41030 請求先住所情報の付加、RDADRN（現行 STEP12） | STEP0040 KS41030、RDADRN | ○ | |
| 0040 | 出力 | WORKDB 管理台帳ワーク4 | DAIMNT3J_0080TD | ○ | |
| 0050 | 読込順（ORDER BY） | KACUSTCD（登録顧客コード）＝現行 STEP14 `(5,7)` | KACUSTCD 昇順 | ○ | |
| 0050 | プログラム | 管理台帳の再作成（現行 STEP16 DELETE／DEFINE＋STEP17 REPRO） | STEP0050 KS43010 管理台帳更新 | ○ | |
| 0050 | 更新方式 | 全件入替え | 「更新」で方式の記載なし | △ | 確認事項 4-4 |
| 0050 | 出力 | 管理台帳 VKKANMS | 管理台帳 VKKANMS | ○ | |
| 全体 | ワークの後始末 | WORKDB を書込み前にクリア（現行 STEP3・5・7・9・11・13・15・18） | 記載なし | △ | 確認事項 4-3 |

### ② 締日アンマッチリスト

| ワーク | 比較項目 | ワーク（期待値） | 新設計 | 判定 | 指摘・確認事項 |
|---|---|---|---|---|---|
| 0060 | 実行順 | 管理台帳の再作成（0050）の後 | STEP0060（STEP0050 の後） | ○ | |
| 0060 | プログラム | KS60350 ＰＯＳメートマスター ＶＳ 管理台帳（現行 STEP19） | STEP0060 KS60350 | ○ | |
| 0060 | 入力 | ＰＯＳメート・ＦＡＸサービス（VK32.SSPOSFAX）。VSAM のキー順に読込 | ＰＯＳメイトマスタ VKPFSEQ、POSQVKEY・POSFAXKB 昇順 | △ | 確認事項 5-7、5-8 |
| 0060 | 入力 | 管理台帳（荷主コードでキー読込） | 管理台帳 VKKANMS | ○ | |
| 0060 | 出力 | 締日アンマッチリスト（帳票） | DAIMNT3J_0090TD → 日次処理へ | △ | 確認事項 3-3、5-4 |
| － | 他ステップとの線 | 管理台帳の再作成 → ＰＯＳメート・ＦＡＸサービスの線は無い | KS43010 → ＰＯＳメイトマスタの線あり（図形 id=38） | **×** | 5-3 |

### ③ エコデリバー用顧客アップロードデータ

| ワーク | 比較項目 | ワーク（期待値） | 新設計 | 判定 | 指摘・確認事項 |
|---|---|---|---|---|---|
| 0070 | プログラム | ND53500 エコデリバー用顧客アップロードデータ作成（現行 STEP21） | STEP0070 ND53500 | ○ | |
| 0070 | 入力 | 顧客名前マスター更新データ（BACK.MASTMENT.DCUSTOM） | DAIMNT3J_ND53500JD_INP | △ | 確認事項 5-9 |
| 0070 | 入力 | 対象店所パラメータ（INCARD、ADG.ALTLIB(SEQTRYTN)） | 無し | **×** | 5-1 |
| 0070 | 入力 | 管理台帳（キー読込） | 管理台帳 VKKANBS | ○ | |
| 0070 | 出力 | WORKDB エコデリバー用顧客アップロードデータ | DAIMNT3J_ND53500TD → 日次処理へ | ○ | |
| 0080 | プログラム | DB2 LOAD（現行 STEP22〜25：廃棄ファイル削除・LOAD・表スペース起動・RUNSTATS） | 無し | **×** | 4-1 |
| 0080 | 出力 | エコデリバーアップロードＤＢ（RECDLDB.RECDLTS） | 無し | **×** | 4-1 |
| － | 他ステップとの線 | KS60350 → 顧客名前マスター更新データの線は無い | KS60350 → 顧客名前マスター更新データの線あり（図形 id=51） | **×** | 5-3 |

### バッチ概要（処理概要・使用テーブル）

| 比較項目 | ワーク（期待値） | 新設計 | 判定 | 指摘・確認事項 |
|---|---|---|---|---|
| 処理概要 | 管理台帳の全件入替え、DB2 ロードを含む | どちらも記載なし | **×** | 3-1 |
| 使用テーブル（W） | 0010TD・0030TD・0060TD・0080TD、ND53500TD、管理台帳 VKKANMS | 管理台帳 VKKANMS が無い | **×** | 3-2 |
| 使用テーブル（R） | 顧客マスター3種、RDTENS、RDADRN、ＰＯＳメート・ＦＡＸサービス、顧客名前マスター更新データ、対象店所パラメータ | 1件も無い | **×** | 3-2 |

### 判定の集計

| 区分 | ○ | × | △ |
|---|---:|---:|---:|
| ① 管理台帳の作成 | 14 | 1 | 2 |
| ② 締日アンマッチリスト | 3 | 1 | 2 |
| ③ エコデリバー用顧客アップロードデータ | 3 | 4 | 1 |
| バッチ概要 | 0 | 3 | 0 |
| **合計** | **20** | **9** | **5** |

---

## 指摘（誤り・重大な誤り）

判定が × の項目を、新設計のシートごとにまとめた。指摘番号は DAIMNT3J_移行設計書_レビュー指摘.md と同じ。

### 件数

| シート | 重大な誤り | 誤り | 計 |
|---|---:|---:|---:|
| バッチ概要 | 0 | 2 | 2 |
| 処理フロー | 1 | 0 | 1 |
| データフロー | 1 | 2 | 3 |
| **合計** | **2** | **4** | **6** |

### バッチ概要

| No | 区分 | セル | ワークとの差異 | 指摘内容 | 対応案 |
|---|---|---|---|---|---|
| 3-1 | 【誤り】 | B5〜B7（処理概要） | ワークの 0050（全件入替え）・0080（DB2 ロード）が処理概要に無い | 管理台帳 VSAM を全件作り直す処理（現行 STEP16〜17）と、エコデリバーアップロードデータの DB2 ロード（現行 STEP23〜25）が書かれていない。 | 両方を処理概要に加える（4-1 の対応と合わせる）。 |
| 3-2 | 【誤り】 | AR5〜BN10（使用テーブル） | ワークの W・R のうち、管理台帳 VKKANMS（W）と入力（R）がすべて無い | この JOB の最終出力である管理台帳（VKKANMS）が W に無い。R も1件も無い（顧客マスター3種、RDTENS、RDADRN、ＰＯＳメート・ＦＡＸサービス、顧客名前マスター更新データ、対象店所パラメータ）。 | 管理台帳を W、入力を R として加える。 |

### 処理フロー

| No | 区分 | セル | ワークとの差異 | 指摘内容 | 対応案 |
|---|---|---|---|---|---|
| 4-1 | **【重大な誤り】** | A6〜U12（STEP0070 の後） | ワークの 0080（DB2 LOAD）に当たるステップが無い | 現行は ND53500P の出力を同じ JOB 内で DB2（RECDLDB.RECDLTS）へ LOAD し、表スペースの起動と RUNSTATS まで行う（JCL STEP22〜25）。新設計は STEP0070 で終わっており、データフローでも「日次処理へ」となっているだけで、エコデリバーアップロードＤＢが更新されない。 | DB2 ロードのステップを STEP0070 の後に加える。日次処理へ移すのであれば、移す先のジョブとステップを明記する。 |

### データフロー

| No | 区分 | セル | ワークとの差異 | 指摘内容 | 対応案 |
|---|---|---|---|---|---|
| 5-1 | **【重大な誤り】** | STEP0070 ND53500 の入力（図形 id=53〜56） | ワークの 0070 の入力「対象店所パラメータ」が無い | ND53500P は対象店所パラメータ（現行 DD 名 INCARD、ADG.ALTLIB(SEQTRYTN)）で対象店所テーブルを作り、顧客扱店所コードがテーブルにある顧客だけを出力する（ND53500P.pl1 124–131、141–151 行）。パラメータが無いと対象店所が0件になり、アップロードデータが1件も出力されない。 | 対象店所パラメータを STEP0070 の入力として加える。 |
| 5-2 | 【誤り】 | 0010TD → KS41010 の読込順（図形 id=14） | ワーク 0020 の ORDER BY は KASFHATN、新設計は KASFSORT1〜4 | 現行 STEP2 の `SORT FIELDS=(251,4,CH,A)` は RDW を含む位置で、データ部では 247〜250 バイト目の請求書出力店所コート゛（KASFHATN）。新設計はデータ部 251〜254 バイト目の出力時ソート・キー（KASFSORT1〜4）を指定している。KS41010 は店所コードが変わるたびに店所基本情報を検索するため付加結果は変わらないが、検索回数が増える。 | KS41010 の読込を「ORDER BY KASFHATN（請求書出力店所コート゛）」にする。 |
| 5-3 | 【誤り】 | STEP0050・STEP0060 から出る線（図形 id=38、id=51） | ワークに無い線が2本ある | KS43010 → ＰＯＳメイトマスタ、KS60350 → 顧客名前マスター更新データの線があり、各ステップがそのデータを作るように読める。現行ではどちらも JOB の外で作られたファイル（VK32.SSPOSFAX.DTMASTER、BACK.MASTMENT.DCUSTOM）を読むだけ。 | 2本の線を削除する。ステップの実行順を表したいなら、データの流れと区別できる線種にする。 |
