レビュー指摘 #11952 » KS60630_移行設計書_確認事項.md
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 を作る前提でよいか確認する。 |