# KS60630 移行設計書 確認事項

| 項目 | 内容 |
|---|---|
| 対象資料 | ① クラス設計書 KS60630「エコデリバー開始顧客状況データ」（非表示シート・処理フローシートは対象外）<br>② 構造体設計書 STKS60630_CSVAREA（ＣＳＶレイアウト） |
| 突合せ基準 | 現行ソース KS60630P（PL/I）、コピーブック SQALLHED・SSYUPRNT・CORPOMAN、JCL DAISEQ4J（L801〜L824） |
| 記述ルール | 設計書作成ルール（バッチ抜粋） |
| 出力イメージ | 「KS60630_CSV出力イメージ.md」を参照 |
| 作成日 | 2026-10-15（初版）／2026-10-21（記述ルールを反映して改訂） |
| 関連資料 | 誤りの指摘は「KS60630_移行設計書_レビュー指摘.md」 |

## 凡例

| 区分 | 意味 |
|---|---|
| 【漏れ】 | ルールで記述することになっている項目が、記載されていないもの |
| 【要確認A】 | 処理に必要な記載が欠けているもの（【漏れ】を除く） |
| 【要確認B】 | 処理結果は変わらないが、ルールの書き方に合っていないもの |
| 【要確認C】 | 移行に伴う意図的な変更の可能性があるもの、または前提が読み取れないもの |

- 根拠は、ソースを「src L○○」、JCL を「JCL L○○」、ルールを「ルール X.Y」「ルール X.Y.Z」と書きます。
- 次のものは対象外です。
  - 非表示シート（処理フロー生成定義）
  - ルールで記述しなくてもよい項目：処理フロー図（ルール 5.2）、メソッド名・物理名（ルール 5.4、8.1）、処理の項番（ルール 2.5「可能な限り」）
  - 軽微なルール違反（先行開発で許可されていた書き方。条件の「==」「≠」など）
- ルール 5.3・5.6・5.7 が参照する3章はバッチ抜粋に無いため、プロパティ一覧・DB更新仕様・マッピング仕様は2章のルールと現行一致で確認しています。
- MD-○○・ST-○○ の番号はレビュー指摘（誤り）と通し番号です。

## 現行の処理（要点）

| 項目 | 現行の仕様 |
|---|---|
| 見出し行 | 1件読んだ後、**入力の有無にかかわらず** `締め日,扱い店,請求先顧客コード,集約コード,取扱` を書く（src L107〜L110） |
| 区切り | 荷主コード（SDTASQNO を13桁にした2〜8桁目）が変わるたびに、マスター領域をクリアして VKSYUPR・VKCORPO を読む（src L111〜L118） |
| 明細行 | **SDTADTID＝00 のレコードだけ** 1行書く（34バイト固定、引用符なし。src L121〜L139）。取扱は優先印刷マスターに無ければ「エコ」、UPRNASKB＝'6' なら「不要」、それ以外は「優先」 |
| マスターに無いとき | 扱い店 0000、集約コード 空白7桁（src L114、L126、L128） |
| 出力 | SEAD.DAISEQ4J.CSV。事前に SCRATCH（JCL L801） |

## 件数

| 資料 | シート | 漏れ | 要確認A | 要確認B | 要確認C | 計 |
|---|---|---:|---:|---:|---:|---:|
| ① | 表紙・改版履歴 | 0 | 0 | 1 | 1 | 2 |
| ① | クラス概要 | 0 | 1 | 0 | 0 | 1 |
| ① | プロパティ一覧 | 0 | 1 | 0 | 2 | 3 |
| ① | メソッド一覧 | 1 | 0 | 0 | 1 | 2 |
| ① | メソッド詳細 | 1 | 5 | 7 | 2 | 15 |
| ② | 構造体 | 1 | 1 | 2 | 2 | 6 |
| **合計** | | **3** | **8** | **10** | **8** | **29** |

DB更新仕様、マッピング仕様、構造体設計書の表紙・改版履歴は確認事項なし。

---

# ① クラス設計書 KS60630

## 表紙・改版履歴

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| HY-1 | 【要確認B】 | 改版履歴 C4 | 第1版の日付が作成日（2026/6/29）。第1版はレビュー完了直後とする（ルール 2.3）。 | 第1版の日付をレビュー完了日にする。今回の修正は第1版に含める。 |
| HY-2 | 【要確認C】 | 表紙 A14 | 機能名「エコデリバー開始顧客状況データ」が、現行の名称「請求書顧客データ作成」（JCL L804）と違う。 | 正式名称として決めたものなら問題なし。 |

## クラス概要

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| CL-1 | 【要確認A】 | B5 | ソースのコメントの転記だけで、CSV を出力すること、見出し行を必ず出すこと、データID 00 だけを出すこと、取扱の判定が書かれていない（src L110、L121、L129〜L136）。 | 「全送状フィルタ済ワークデータを読み、荷主コードごとに2つのマスターを取得し、データID＝"00" の1件につき1行を CSV に出力する。見出し行は入力の有無にかかわらず出力する。」と書く。 |

## プロパティ一覧

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| PR-1 | 【要確認A】 | AY27 | 062STD を取得する並び順が無い。荷主コードの区切りは入力順に依存する（src L111、L119。現行は JCL L86〜L88 の SORT 順）。 | 並び順（ID の昇順など。KS60135 の 062STD に合わせる）を書く。 |
| PR-2 | 【要確認C】 | AP27 | 062STD の明細行（データID 00 以外）に、請求・精算書ＮＯ・データＩＤの値が入るかが分からない。空だと荷主コードの変換で誤る（src L109、L121）。 | 明細行でも値が取れる列を指定する。 |
| PR-3 | 【要確認C】 | AY30 | CSV のファイル名・格納先（条件 '0180'）が読み取れない。現行は SEAD.DAISEQ4J.CSV（JCL L815）。 | 取得されるファイル名・フォルダを書き、後続の取り込み側と合わせる。 |

## メソッド一覧

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| ML-1 | 【漏れ】 | AI4 | メイン処理の機能説明が空欄（ルール 5.4）。 | メソッドの概要を書く。 |
| ML-2 | 【要確認C】 | AI6 | 出力先が共有フォルダ（現行はホストのデータセット、JCL L815〜L824）。 | 後続の取り込み処理がこのファイルを読むことを確認する（PR-3）。 |

## メソッド詳細

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| MD-8 | 【要確認A】 | No.1 D36〜D37、F48〜F52 | マスターのクリアがループ前の1回だけで、荷主が変わったときに前の値が残るおそれがある（現行は区切りごとにクリア、src L113〜L114）。 | 取得の前に両マスターに null をセットする。 |
| MD-10 | 【要確認C】 | No.2 E113〜E117、No.3 D151 | 取扱・見出しの漢字に付く SO/SI の扱い（削除か空白か）が決まっておらず、設計は末尾に空白を付けている（src L52〜L54、L130〜L135）。 | 現行の転送設定を確認し、見出し行と取扱で同じ扱いに決める。 |
| MD-12 | 【要確認A】 | No.1 E60、No.2 D120 | 締め日の桁数・形式が無い。現行は YYMMDD の6桁（src L125）。 | 6桁で出すこと（8桁なら変換方法）を書く。 |
| MD-13 | 【要確認C】 | No.1 E76〜E82 | 件数メッセージの桁揃えが無い。現行は右詰め（src L149〜L151）。 | ログを照合しているなら現行に合わせる。 |
| MD-14 | 【要確認A】 | No.1 C88〜D90、No.3 C167〜D168 | エラー時にログが無く、後続（HOLD 解除、JCL L822〜L824）を止めるか、書きかけの CSV をどうするかが無い。 | エラー時の動作を書く。 |
| MD-15 | 【要確認A】 | No.3 D144〜D162 | 出力パスの組立て、既存ファイルの扱い（現行は JCL L801 で削除）、改行コードが無い。D162「CSVファイルを書き込む」がどのメソッドか読めない（ルール 2.17）。 | 各内容を書き、D162 は「クラス名[ID].メソッド名 をコールする」の形にする。 |
| MD-16 | 【要確認A】 | No.3 E155 | 「ＣＳＶレコード文字列に変換」の内容がどこにも無い（メソッド一覧にも無い）。現行は固定長の項目をカンマでつなぎ、引用符なし（src L56〜L65、L137）。 | 変換内容を書く（例：「締め日 & "," & 扱い店 & … & 取扱」、ルール 2.19）。 |
| MD-18 | 【要確認B】 | R95、R105、R135、R141 | 型「STKS60630」が構造体ID「STKS60630_CSVAREA」（R13）とそろっていない。R141 は文字型だが実際はリスト（ルール 2.12）。 | 構造体ID を統一し、R141 がリストであることが分かるようにする。 |
| MD-19 | 【要確認B】 | No.1 D72〜D73、No.3 D156〜D157 | ループ内の「Y ← Y + 1」が条件と同じ列にある（ルール 2.7）。「次のループへ」が『』で囲まれていない（ルール 2.6）。 | 1つ右の列に移し、『次のループへ』とする。 |
| MD-20 | 【要確認B】 | No.1 F29、E76、E79、E82 | 「引数」と値を同じセルに書いている（ルール 2.17）。 | 1つ右のセルに「引数」、その右に「項目：値」を書く。 |
| MD-21 | 【要確認B】 | No.1 F49、F52 | 「データ.○○.戻り値」とメソッドの戻り値の書き方になっており、「をセット」も無い（ルール 2.16、2.17）。 | 「変数.○○ ← データ.○○ をセット」とする。 |
| MD-22 | 【要確認B】 | No.1 D35、No.2 D110、No.3 D150 | セットの記述が不完全（D110「変数.優先区分」だけ、D35「空文字列」、D150「ヘッダー行」）（ルール 2.14）。 | D110 は削除、D35 は「← ""」、D150 は MD-5 のとおり。 |
| MD-23 | 【要確認B】 | No.1 E43 | 区切りが「・」（…(トライ用)・請求・精算書ＮＯ）（ルール 2.15、2.2）。 | 「変数.全送状ワークデータ(トライ用).[請求・精算書ＮＯ]」とする。 |
| MD-24 | 【漏れ】 | No.3 AK135 | 戻り値の論理名が無い（ルール 5.5）。 | 「処理結果（文字型）"0"：エラー終了 "1"：正常終了」とする。 |
| MD-25 | 【要確認B】 | No.1 D27 | 「= null 又は 取得件数 = 0件」と null も条件にしている。データの有無は取得件数で判定する（ルール 2.13）。 | 「取得件数 = 0件 の場合」だけにする。 |

---

# ② 構造体設計書 STKS60630_CSVAREA

## 構造体

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| ST-3 | 【要確認B】 | C6・C8・C10・C12 | 論理名「カンマ」が4つ重複している（ルール 8.1）。 | 「カンマ１」〜「カンマ４」とする。 |
| ST-4 | 【漏れ】 | R13（取扱） | 全角が入る取扱の文字長考慮が空欄（ルール 8.1）。 | 1 を記入する。 |
| ST-5 | 【要確認C】 | E13（取扱 6桁） | 現行の6桁は SO/SI を含む。Shift_JIS での桁数（6 か 4 か）が決まっていない（src L65）。 | MD-10 の結論に合わせて桁数を決める。 |
| ST-6 | 【要確認A】 | H7・H11・H13、G7 | 備考に値の注意点が無い（取扱の3値、マスターに無いときの "0000"・空白7桁、集約コードをトリムしない。src L114、L126〜L136）。 | 備考に書く。 |
| ST-7 | 【要確認B】 | G9 | 整数型の初期値 0 を書いている（ルール 8.1）。 | 空欄にする（ST-1 で文字型にするなら "0000000"）。 |
| ST-8 | 【要確認C】 | 構造体全体 | 見出し行の構造体が無く、明細行と同じ固定長・文字長考慮の扱いにならない（src L50〜L54）。 | 文字列で出すなら不要。その場合は SO/SI の扱いをクラス設計書に書く。 |

---

# 参考：現行の挙動を踏襲するか確認が必要な事項

| No | 現行の挙動 | 確認事項 |
|---|---|---|
| B-1 | 同じ荷主の枝番違いの請求先は、締め日が同じなら同じ内容の行が複数出る（src L77〜L80、L121〜L139）。 | 設計も同じ動き。踏襲してよいか確認する。 |
| B-2 | 優先印刷マスターの読込みで、該当なし以外のエラーでも「エコ」で出る（src L91〜L94）。 | 設計ではエラー終了になる（ルール 2.13）。改善として受け入れてよいか確認する。 |
| B-3 | 入力0件のとき、空のレコードを変換するため異常終了する可能性がある（src L107〜L109）。 | MD-4 の対応で見出し行だけの CSV を作る前提でよいか確認する。 |
