プロジェクト

全般

プロフィール

レビュー指摘 #12104

未完了

KS4100指摘一覧

幸塚 和久 さんが3日前に追加.

ステータス:
新規
優先度:
通常
担当者:
開始日:
期日:
進捗率:

0%

予定工数:
実開始日:
DD名:
INCLUDE:
DSN:
バグ区分:
QA分析:
方針(第一貨物):
実終了日:
ツールのバージョン:
AsIsSource行:
進捗計画:
設計・開発者:
画面ID:
機能区分:
機能ID:
レビュー指摘区分:
記述の仕方
検査完了日:
検査依頼日:

説明

KS41010 移行設計書(クラス設計書) レビュー指摘(誤り)

項目 内容
対象資料 クラス設計書_KS41010_店所情報の付加.xlsx(表紙/改版履歴/クラス概要/処理フロー/プロパティ一覧/メソッド一覧/メソッド詳細/DB更新仕様/マッピング仕様/処理フロー生成定義)
突合せ基準 KS41010P_仕様書.md(現行 PL/I ソース KS41010P.pl1 から作成)、管理台帳レイアウト KANBASED(KS41010P.xlsx)、仮定の JCL(DAIMNT3J_jobflow_work.svg)
作成日 2026-10-26
関連資料 確認事項(漏れ・要確認・軽微)は「KS41010_クラス設計書_確認事項.md」

凡例

区分 意味
【重大な誤り】 現行と処理結果が変わり、出力の内容・有無に大きく影響するもの
【誤り】 現行と処理結果が変わるもの、または記述が明確に誤っているもの
  • 現行の根拠は、ソースを「pl1 L○○」、仕様書を「仕様書 ○章」と書きます。
  • シート番号は Excel のシート順です(1=表紙、2=改版履歴、3=クラス概要、4=処理フロー、5=プロパティ一覧、6=メソッド一覧、7=メソッド詳細、8=DB更新仕様、9=マッピング仕様、10=処理フロー生成定義)。

現行の処理(要点)

項目 現行(KS41010P) 仮定の JCL での扱い
入力 管理台帳ワーク(請求書出力店所コード順に整列済み)を順次読込(pl1 L63、L93) DAIMNT3J_0010TD を ORDER BY KASFHATN(請求書出力店所コート゛) で読む(現行 JCL STEP2 SORT FIELDS=(251,4,CH,A) の置換え)
処理 請求書出力店所コート゛が変わるたびに店所基本情報DB2(RDTENS)を1回検索し、同じコードのレコードすべてに店所情報8項目を設定(キーブレイク)。該当なし・SQLエラーのときは入力のまま(pl1 L68〜L95) 同じ
終了判定 入力終了時に作業キーへ HIGH(4) を入れて二重ループを抜ける(pl1 L58、L68、L77)。HIGH値は数字項目に入らない値 -
出力 管理台帳ワーク(入力と同じ長さ)。毎回新規作成(JCL STEP4 DISP=(NEW,KEEP,DELETE)) DAIMNT3J_0030TD。書込み前にクリア

件数

シート 重大な誤り 誤り 計
プロパティ一覧 0 1 1
メソッド詳細 0 1 1
DB更新仕様 1 1 2
合計 1 3 4

上記以外のシート(表紙/改版履歴/クラス概要/処理フロー/メソッド一覧/マッピング仕様/処理フロー生成定義)は指摘なし。


プロパティ一覧

No 区分 セル 指摘内容 対応案
5-1 【誤り】 AY27(管理台帳 DAIMNT3J_0010TD の取得条件) 管理台帳を「条件無し」で取得しており、並び順(ORDER BY)の指定が無い。仮定の JCL では、現行の SORT ステップ(JCL STEP2 SORT FIELDS=(251,4,CH,A)、データ部 247〜250 バイト目)に代わり、KS41010 が 請求書出力店所コート゛(KASFHATN)昇順 で読む。メソッド詳細(D24〜D40)は請求書出力店所コート゛が変わるたびに店所基本情報DB2を検索するキーブレイクの作りなので、並び順が違っても付加される値は同じだが、同じ店所コードが離れて出てくるたびに検索し直すため、検索回数が増える(仕様書 8章 No.6)。 取得条件に「ORDER BY 請求書出力店所コート゛[KASFHATN] 昇順」を加える。

メソッド詳細

No 区分 セル 指摘内容 対応案
7-1 【誤り】 D26、G36(作業キーの終了判定)、AE10(作業キーの初期値) ループの終了判定に「作業キー=スペース(4)」を使っている。現行は入力の店所コードに入り得ない HIGH(4) を使う(pl1 L58、L68)。スペース(4)だと次の2つの問題がある。①作業キーの初期値(AE10)が空欄で、現行どおり空白で初期化すると(pl1 L38 INIT(' '))、D26 の最初の判定で外側ループに入らず、1件も登録されない。②請求書出力店所コート゛が空白のレコードがあると、そのグループを処理した後で外側ループを抜け、残りのレコードが登録されない。ORDER BY 昇順(5-1)では空白が先頭に来るため、空白のレコードが1件でもあれば、ほぼ全件が登録されない。 終了判定を「全レコード処理済み」を表すフラグ(またはデータに入り得ない値)にする。作業キーの初期値を書く。

DB更新仕様

No 区分 セル 指摘内容 対応案
8-1 【重大な誤り】 BC4(処理:INSERT)、A3〜BO318 全体 DAIMNT3J_0030TD への登録が INSERT だけで、登録の前にテーブルをクリアする処理がどこにも無い。現行の出力ワークは毎回新規作成(JCL STEP4 DISP=(NEW,KEEP,DELETE))し、使用後に削除(STEP7)するため、前回分は残らない。仮定の JCL でも「WORKDB は書込み前にクリア」としている。このままでは2回目以降の実行で前回分が残るか、キー重複で登録できず、後続の KS41020 以降が前回分と合わせて処理する(KS41000 レビュー指摘 8-1 と同じ)。 登録前に DAIMNT3J_0030TD の全件削除を行う処理を追加する(JOB 側で行う場合は、その旨をクラス概要に書く)。
8-2 【誤り】 V215〜V216(銀行コード1 TTTBKCD1、口座番号1 TTTKSNO1) 店所基本情報DB2に該当が無い場合に「変数.現在レコード.銀行コード1(口座番号1)を数値変換してセット」としている。現行は該当が無いとき入力のまま出力し、KS41000 が設定したスペースが残る(pl1 L78〜L91、仕様書 8章 No.7)。スペースや未設定の値を数値変換すると、変換エラーで異常終了するか、0 が入って現行と値が変わる。また注記の「変数.現在レコード.TTTBKCD1 は String 型、変数.現在レコード.TTTBKCD1 は Integer 型」は同じ項目を2つの型と書いており、どちらが変換元か読み取れない。 該当が無い場合は現行どおり入力の値をそのまま設定する(列の型が違うなら、空白の扱いを決めて書く)。注記の項目名と型を正しく書き直す。

ファイル

KS41010_クラス設計書_確認事項.md (7.48 KB) KS41010_クラス設計書_確認事項.md 幸塚 和久, 2026-10-26 04:07 午後
KS41010P_仕様書.md (55.9 KB) KS41010P_仕様書.md 幸塚 和久, 2026-10-26 04:07 午後

表示するデータがありません

他の形式にエクスポート: Atom PDF