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