プロジェクト

全般

プロフィール

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

[参考資料]確認事項 - 幸塚 和久, 2026-10-22 10:12 午前

 

KS60760 移行設計書 確認事項

項目 内容
対象資料 ① クラス設計書 KS60760「合計請求書該当顧客データ分類」(非表示シート・処理フローシートは対象外)
② テーブル定義 KS60750J_0030TD(優先印刷マスターに有る荷主=現行 WORK0030)と DDL
③ テーブル定義 KS60750J_0040TD(優先印刷マスターに無い荷主=現行 WORK0040)と DDL
突合せ基準 現行ソース KS60760P(PL/I)、コピーブック SSYUPRNT、JCL DAISEQ4J(SORT1 L629〜L643、KS60760P L644〜L656、SORT2 L665〜L694)、KS60750 のレビュー指摘(入力 0010TD)
記述ルール 設計書作成ルール(バッチ抜粋)
作成日 2026-10-15(初版)/2026-10-22(記述ルールを反映して改訂)
関連資料 誤りの指摘は「KS60760_移行設計書_レビュー指摘.md」

凡例

区分 意味
【漏れ】 ルールで記述することになっている項目が、記載されていないもの
【要確認A】 処理に必要な記載が欠けているもの(【漏れ】を除く)
【要確認B】 処理結果は変わらないが、ルールの書き方に合っていないもの
【要確認C】 移行に伴う意図的な変更の可能性があるもの、または前提が読み取れないもの
  • 根拠は、ソースを「src L○○」、JCL を「JCL L○○」、ルールを「ルール X.Y」「ルール X.Y.Z」と書きます。
  • テーブル定義の指摘番号(T30-n、T40-n)は、他のプログラムの指摘から参照されているため、前回の番号を引き継いでいます(欠番があります)。0040TD は 0030TD と列構成が同じなので、同じ事象は「T30-n と同じ」と書きます。
  • 次のものは対象外です。
    • 非表示シート(処理フロー生成定義)
    • ルールで記述しなくてもよい項目:処理フロー図(ルール 5.2)、メソッド名・物理名(ルール 5.4、8.1)、処理の項番(ルール 2.5「可能な限り」)、"" / 0 / false の初期値(ルール 5.5)
    • 軽微な指摘(改版履歴・更新履歴、ログの文言・桁揃え、論理名・備考だけの誤り、条件の「==」「≠」など)
  • 出力 0030TD・0040TD の事前削除は、バッチ設計書 DAISEQ4J の処理フローで行うため、指摘していません。
  • ルール 5.3・5.6・5.7 が参照する3章はバッチ抜粋に無いため、プロパティ一覧・DB更新仕様・マッピング仕様は2章のルールと現行一致で確認しています。
  • 指摘番号はレビュー指摘(誤り)と通し番号です。

現行の処理(要点)

項目 現行の仕様
入力 WORK0020(KS60750 の出力を SORT1 で集約代表コード順に並べたもの。JCL L641、L646)
区切り 集約代表コード(INDAIH)が変わるたびに、代表のレコード(荷主コード=集約代表=INDAIH、扱い店=まとまりの先頭の INTNCD)を1件作る(src L84〜L88、L95)
振分け 代表のレコードは代表コード、集約される荷主は自分の荷主コード(INKOCD)で優先印刷マスターを引き、有る→WORK0030、無い→WORK0040(src L89〜L101)
後続 SORT2(荷主コード順。JCL L677、L692)→ KS60780(1対1の突き合わせで、同じ荷主コードの2件目は使わない)

件数

資料 シート 漏れ 要確認A 要確認B 要確認C 計
① クラス概要 0 1 0 0 1
① プロパティ一覧 0 0 0 1 1
① メソッド一覧 1 0 0 0 1
① メソッド詳細 1 1 2 1 5
① DB更新仕様 0 0 0 1 1
② KS60750J_0030TD 1 0 0 2 3
③ KS60750J_0040TD 1 0 0 2 3
合計 4 2 2 7 15

マッピング仕様は確認事項なし。


① クラス設計書 KS60760

クラス概要

No 区分 セル 指摘内容 対応案
CL-1 【要確認A】 B5〜B7 集約代表ごとに代表のレコード(荷主コード=集約代表、扱い店=まとまりの先頭の扱い店)を作ること、代表と荷主をそれぞれの荷主コードで振り分けること、入力が集約代表コード順である前提が書かれていない(src L84〜L98)。 「0010TD を集約代表コード順に読み、集約代表ごとに代表のレコードを作り、代表と各荷主をそれぞれの荷主コードで優先印刷マスターを引いて 0030TD/0040TD に登録する。」と書く。

プロパティ一覧

No 区分 セル 指摘内容 対応案
PR-3 【要確認C】 AV28・AV29、AY28 請求書優先印刷マスターのER図・SQL「2」の内容とキー列の型が読み取れない。現行のキーは CHAR(7) のまま渡し、空白の代表コードでも「無い」になるだけ(src L90、L98)。キー列が数値型だと空白で変換エラーになる(推測)。 キー列を7桁の文字型で比較し、空白は「無い」として扱うことを書く。

メソッド一覧

No 区分 セル 指摘内容 対応案
ML-1 【漏れ】 AI4 メイン処理の機能説明が空欄(ルール 5.4)。 メソッドの概要(代表のレコードの作成と、優先印刷マスターの有無による振分け)を書く。

メソッド詳細

No 区分 セル 指摘内容 対応案
MD-2 【要確認A】 F35、G54 判定が「請求書優先印刷マスターの取得件数 > 0件」で、マスター1・2 のどちらか書かれていない。 F35 を「データ.請求書優先印刷マスター1の取得件数 > 0件」、G54 を「…マスター2の…」とする。
MD-3 【要確認C】 F32、F47〜F48、DB更新仕様 V6・V7 集約代表が空白のまとまりの扱いが無い。現行は空白どうしを等しいとみなし、荷主コード・集約代表がともに空白の代表のレコードを WORK0040 に書く(src L84〜L93)。NULL や空文字で持つと比較・登録の結果が変わる(推測)。 代表コードは7桁の固定長文字で比較・登録し(NULL・空文字にしない)、空白のまとまりを現行どおり処理するかを書く。
MD-4 【漏れ】 C10〜R13 ループ変数 Y が変数に無い(ルール 5.5)。 変数に Y(整数型)を追加する。
MD-5 【要確認B】 R10、R11 件数カウンターの型が数値型(小数部あり)。整数は整数型(ルール 2.12)。 整数型にする。
MD-6 【要確認B】 E25、F43、G62、E66 分岐の終わりを「END IF」とかぎ括弧で書いている(ルール 2.7 は『END IF』)。「次ループへ」も『』で囲まれていない(ルール 2.6)。 『END IF』『次ループへ』とする。

DB更新仕様

No 区分 セル 指摘内容 対応案
DB-1 【要確認C】 V8・V16 代表のレコードの扱い店を文字のまま写す。現行は PIC'(4)9' への代入で、数字以外なら異常終了する(src L88)。 数字チェックをしないことを意図的な変更とするか、現行と同じく数字4桁以外をエラーとするかを決める。

② テーブル定義 KS60750J_0030TD(顧客集約コードワークデータ1)

テーブル定義・ER図・SQL・DDL

No 区分 セル 指摘内容 対応案
T30-2 【要確認C】 テーブル定義 C4、A32〜A33 優先印刷マスターに有る荷主の行(現行 WORK0030 → 事業所用)であることが読み取れず、0040TD と取り違えるおそれがある。同じ荷主コードが2件入りうることも書かれていない。 テーブル説明に、内容(有る荷主・事業所用)と、同じ荷主コードが2件入りうることを書く。
T30-7 【要確認C】 ER図・SQL C10 現行の SORT2 は EBCDIC(空白<英字<数字)、DB の ORDER BY は空白<数字<英字になる。荷主コード・集約代表に英字が入ると順が変わる(JCL L677)。 荷主コード・集約代表が数字と空白だけであることを確認する。
T30-8 【漏れ】 ER図・SQL B4 1番の SQL が全件取得で、ユニークキーで取得する SQL が無い(ルール 7.1)。 1番に ID で1件取得する SQL を書き、全件取得を2番にする(参照する KS60780 の番号も合わせる)。

③ テーブル定義 KS60750J_0040TD(顧客集約コードワークデータ2)

テーブル定義・ER図・SQL・DDL

No 区分 セル 指摘内容 対応案
T40-2 【要確認C】 テーブル定義 C4、A32〜A33 T30-2 と同じ(優先印刷マスターに無い荷主の行=現行 WORK0040 → エコデリバー用。読込エラーと空白の代表のレコードもここに入る。src L66〜L69、L93)。 T30-2 と同じ。
T40-7 【要確認C】 ER図・SQL C10 T30-7 と同じ(JCL L692)。 T30-7 と同じ。
T40-8 【漏れ】 ER図・SQL B4 T30-8 と同じ(ルール 7.1)。 T30-8 と同じ。

参考:現行の挙動を踏襲するか確認が必要な事項

No 現行の挙動 確認事項
B-1 マスターの読込みは KEY 条件で受けるため、該当なし以外のエラーでも「無い」として WORK0040 に入る(src L66〜L69)。 設計ではエラー終了になる。改善として受け入れてよいか確認する。
B-2 明細不要(UPRNASKB='6')の顧客も、マスターに有れば WORK0030 に入る(有無だけで判定)。 設計も同じ。踏襲でよいか業務側に確認する。
B-3 代表のレコードの扱い店は、まとまりの先頭の荷主の値(src L88)。 設計も同じ。先頭の決まり方は PR-1 の並び順による。
B-4 代表と集約される荷主が、振分けで別々のファイルに分かれることがある。 設計も同じ。業務上それでよいか確認する。
B-5 SORT1・SORT2 に EQUALS の指定が無く、同じキーの中の順は USORTM の既定による(JCL L641、L677、L692)。 PR-1・T30-6 の並び順は、EQUALS で動く場合の現行と同じになる。運用の既定を確認する。
(2-2/2)