プロジェクト

全般

プロフィール

レビュー指摘 #11952 » KS60630_移行設計書_確認事項.md

[参考資料]確認事項 - 幸塚 和久, 2026-10-21 04:01 午後

 

KS60630 移行設計書 確認事項

項目 内容
対象資料 ① クラス設計書 KS60630「エコデリバー開始顧客状況データ」(非表示シート・処理フローシートは対象外)
② 構造体設計書 STKS60630_CSVAREA(CSVレイアウト)
突合せ基準 現行ソース 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 以外)に、請求・精算書NO・データIDの値が入るかが分からない。空だと荷主コードの変換で誤る(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 「CSVレコード文字列に変換」の内容がどこにも無い(メソッド一覧にも無い)。現行は固定長の項目をカンマでつなぎ、引用符なし(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 区切りが「・」(…(トライ用)・請求・精算書NO)(ルール 2.15、2.2)。 「変数.全送状ワークデータ(トライ用).[請求・精算書NO]」とする。
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)。 「カンマ1」〜「カンマ4」とする。
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 を作る前提でよいか確認する。
(3-3/3)