プロジェクト

全般

プロフィール

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

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

 

KS60750 移行設計書 確認事項

項目 内容
対象資料 ① クラス設計書 KS60750「合計請求書該当顧客データ出力」(非表示シート・処理フローシートは対象外)
② テーブル定義 KS60750J_0010TD(KS60750 の出力、KS60760 の入力)
③ テーブル定義 VKCORPO(顧客法人管理マスタ。KS60750 の入力。KS60152・KS60630・KS60790 と共有)
突合せ基準 現行ソース KS60750P(PL/I)、コピーブック CORPOMAN、JCL DAISEQ4J(KS60750P L622〜L628、SORT1 L629〜L643)、KS60760P(後続)
記述ルール 設計書作成ルール(バッチ抜粋)
作成日 2026-10-15(初版)/2026-10-22(記述ルールを反映して改訂)
関連資料 誤りの指摘は「KS60750_移行設計書_レビュー指摘.md」

凡例

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

現行の処理(要点)

項目 現行の仕様
入力 VKCORPO(VSAM KSDS)を、条件なしで全件、荷主コードの昇順に読む(src L68、L82)
抽出 CORPNICD ≠ CORPZAND(CHAR(7) の比較)。CORPZAND が空白の顧客も出力する(src L71)
出力 荷主コード・集約代表コード・代表扱い店(CORPZDTN、PIC'(4)9')の18バイト(src L74〜L78)。出力先 WORK0010 は毎回空から作る(JCL L605、L624)
後続 SORT1(集約代表コード順。JCL L641)→ KS60760

件数

資料 シート 漏れ 要確認A 要確認B 要確認C 計
① クラス概要 0 1 0 0 1
① メソッド一覧 1 0 0 0 1
① メソッド詳細 1 0 2 1 4
① DB更新仕様 0 0 0 1 1
② KS60750J_0010TD 1 0 0 1 2
③ VKCORPO 0 0 0 3 3
合計 3 1 2 6 12

プロパティ一覧・マッピング仕様は確認事項なし。


① クラス設計書 KS60750

クラス概要

No 区分 セル 指摘内容 対応案
CL-1 【要確認A】 C6〜D8 抽出条件だけで、登録する3項目(荷主コード・集約代表コード・代表扱い店)と、CORPZAND が空白の顧客も出力対象になることが書かれていない(src L71〜L78)。 「VKCORPO を全件読み、CORPNICD ≠ CORPZAND(CORPZAND が空白の顧客を含む)の顧客の荷主コード・集約代表コード・代表扱い店を 0010TD に登録する。」と書く。

メソッド一覧

No 区分 セル 指摘内容 対応案
ML-1 【漏れ】 AI4 メイン処理の機能説明が空欄(ルール 5.4)。 メソッドの概要を書く。

メソッド詳細

No 区分 セル 指摘内容 対応案
MD-1 【要確認C】 E32 抽出条件の比較で、空白・NULL の扱いが書かれていない。現行は CHAR(7) の比較で、CORPZAND が空白の顧客も出力し、OUTDAIH は空白7桁になる(src L71、L76)。NULL や空文字だと抽出と後続の並び・区切りが変わる(推測)。 「7桁の固定長文字で比較し、CORPZAND が空白の顧客も出力して OUTDAIH に空白7桁を設定する」と書く。
MD-2 【漏れ】 C10〜R11 ループ変数 y が変数に無い(ルール 5.5)。 変数に y(整数型)を追加する。
MD-3 【要確認B】 D29〜D37 繰り返しの範囲が罫線で示されておらず、ループ内の「y ← y + 1」「次のループへ」が条件と同じ列にある(ルール 2.7)。「次のループへ」が『』で囲まれていない(ルール 2.6)。 罫線で範囲を示し、ループ内の処理を1つ右の列に書き、『次のループへ』とする。
MD-4 【要確認B】 F22、D49 F22 は「引数」と値を同じセルに書いている。D49「スタックトレース出力処理」はメソッド一覧に無く、どのクラスのメソッドか読めない(ルール 2.17)。 F22 は1つ右のセルに「引数」、その右に値を書く。D49 は「クラス名[ID].メソッド名 をコールする。」とする。

DB更新仕様

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

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

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

No 区分 セル 指摘内容 対応案
T10-5 【要確認C】 ER図・SQL D16 現行の SORT1 は EBCDIC(空白<英字<数字)、DB の ORDER BY は空白<数字<英字になる。集約代表コードに英字が入ると順が変わる(JCL L641)。 集約代表コードが数字と空白だけであることを確認する。
T10-6 【漏れ】 ER図・SQL B4 1番の SQL が全件取得で、ユニークキーで取得する SQL が無い(ルール 7.1)。 1番に ID で1件取得する SQL を書き、全件取得を2番以降にする(参照する KS60760 の番号も合わせる)。

③ テーブル定義 VKCORPO(顧客法人管理マスタ)

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

No 区分 セル 指摘内容 対応案
TC-2 【要確認C】 移行後の定義 A27〜L27 更新履歴 No.2 で削除した CORPTRMD が列定義に残っており、DDL に列が残るのか読み取れない。 列定義から削除するか、「移行時のみの一時列」と書く。
TC-5 【要確認C】 移行後の定義 J9〜J28 CORPZAND・CORPZDTN を空白のまま移行するかが書かれていない。KS60750 の抽出(src L71)のほか、KS60152・KS60630 も CORPZAND を出力に使うので、NULL や空文字にすると結果が変わる。 空白は空白(NCHAR(7)/(4))のまま移行し、CORPZDTN は先頭ゼロ付きの数字4桁とする、と書く。
TC-6 【要確認C】 移行後の定義 B25〜V25、B28〜V28 CORPPUMD・CORPUYMD を CHAR(6) から NCHAR(8) にするが、変換方法が無く、変換前の桁数(P25・P28)も 8 になっている(CORPOMAN L20、L23)。SQL「2.」の比較結果が変換方法で変わる。KS60750 は使わない。 P25・P28 を 6 に直し、6桁→8桁の変換方法(世紀、空白の扱い)を書く。

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

No 現行の挙動 確認事項
B-1 集約代表(CORPZAND)がマスターに存在するかは確認しない。 設計も同じ。踏襲してよいか確認する。
B-2 SORT1 に EQUALS の指定が無く、同じ集約代表の中の順は USORTM の既定による(JCL L641)。 T10-3 の並び順は、EQUALS で動く場合の現行と同じになる。運用の既定を確認する。
(2-2/2)