[参考資料]確認事項 -
幸塚 和久, 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 で動く場合の現行と同じになる。運用の既定を確認する。 |