プロジェクト

全般

プロフィール

レビュー指摘 #12108 » KS60350_クラス設計書_確認事項.md

幸塚 和久, 2026-10-26 04:20 午後

 

KS60350 移行設計書(クラス設計書) 確認事項

項目 内容
対象資料 クラス設計書_KS60350_POSメートマスター VS 管理台帳.xlsx(表紙/改版履歴/クラス概要/処理フロー/プロパティ一覧/メソッド一覧/メソッド詳細/DB更新仕様/マッピング仕様/処理フロー生成定義)
突合せ基準 KS60350P_仕様書.md(現行 PL/I ソース KS60350P.pl1 から作成)、管理台帳レイアウト KANBASED・POSメート・FAXサービス SSPOSFAX(KS60350P.xlsx)、仮定の JCL(DAIMNT3J_jobflow_work.svg)
作成日 2026-10-26
関連資料 誤りの指摘は「KS60350_クラス設計書_レビュー指摘.md」

凡例

区分 意味
【漏れ】 記述することになっている項目が、記載されていないもの
【要確認A】 処理に必要な記載が欠けているもの(【漏れ】を除く)
【要確認B】 処理結果は変わらないが、書き方に合っていないもの
【要確認C】 移行に伴う意図的な変更の可能性があるもの、または前提が読み取れないもの
【確認事項D】 軽微なもの(改版履歴、名称・表記など)。対応は任意
  • 現行の根拠は、ソースを「pl1 L○○」、仕様書を「仕様書 ○章」と書きます。
  • 指摘番号は「シート番号-連番」で、レビュー指摘(誤り)と通し番号です。

件数

シート 漏れ 要確認A 要確認B 要確認C 確認事項D 計
改版履歴 0 0 0 0 1 1
クラス概要 0 0 0 2 0 2
処理フロー 0 0 1 0 0 1
メソッド詳細 0 4 1 2 0 7
DB更新仕様 0 0 1 0 0 1
合計 0 4 3 4 1 12

改版履歴

No 区分 セル 指摘内容 対応案
2-1 【確認事項D】 C4、R4、BF4 第1版の改版日付が作成日と同じ 2026/6/12、内容が「新規作成」のままで、確認者も空。 レビュー完了後に、第1版の改版日付・内容・確認者を記入し直す。

クラス概要

No 区分 セル 指摘内容 対応案
3-1 【要確認C】 B5〜B10、AS7(DAIMNT3J_0090TD) 現行は帳票(見出し3行:タイトル・処理日・ページ番号、明細はPOS側・管理台帳側の2行1組、18明細ごとに改ページ)を直接出力する(pl1 L39〜L87、L153〜L187)。新設計はアンマッチの項目を DAIMNT3J_0090TD に登録するだけで、見出し・ページ番号・改ページ・明細の並び順をどこで作るのかが書かれていない。 帳票を作るジョブ・プログラム(日次処理)と、そこで現行の帳票と同じ形にすることを書く。
3-2 【要確認C】 B9〜B10 管理台帳を全件キャッシュ(メモリ)に載せる方式。現行は荷主ごとに管理台帳をキー読込している(pl1 L139〜L140)。管理台帳の件数によってはメモリ使用量が大きくなる。 全件をキャッシュに載せる方式でよいか(件数・メモリ量)を確認する。

処理フロー

No 区分 セル 指摘内容 対応案
4-1 【要確認B】 1.メイン処理(C6 の図、処理フロー生成定義 C14〜C34)と メソッド詳細 開始ログ(D24〜G25)が図に無い。一方、マッチフラグの初期化(生成定義 C99)・締日配列の初期化(C79、C88)は図にあるが、メソッド詳細に無い。図とメソッド詳細が一致していない。 両者をそろえる。

メソッド詳細

No 区分 セル 指摘内容 対応案
7-1 【要確認A】 C81、D86〜D153(マッチフラグ) マッチフラグの初期値(AE81)が空欄で、レコードごとに 0 に戻す処理も無い。一致したとき 1 にするだけなので、初期化しないと一致しなかったレコードもアンマッチと判定されない。現行はレコードごとに 0 にしてから照合する(pl1 L144)。処理フロー生成定義(C99)には「マッチフラグ ← 0」がある。 照合の前に「変数.マッチフラグ ← 0」を加える。
7-2 【要確認A】 D29〜E34(ページングの繰返し) オフセットを加算した後、次のページを取得する処理が書かれていない。「取得件数 >= 1件 の間繰り返す」の判定に使うデータが、いつ取り直されるのか読み取れない。 繰返しの先頭(または末尾)で「データ.POSメイトマスタリストを取得する(条件:取得件数上限・オフセット)」を書く。
7-3 【要確認A】 D37〜D38(終了処理) 入力件数・出力件数のログが無く、件数を数える変数も無い。現行は終了時に「## KS60350P INCNT = 入力件数」「## KS60350P OTCNT = 出力件数」を表示する(pl1 L194、L188、L202〜L203)。アンマッチが0件のときは帳票も空になるため、件数のログが処理結果の確認手段になっている(仕様書 8章)。 入力件数・アンマッチ件数を数え、終了時にログ出力する。
7-4 【要確認A】 H159 「締日配列のY件目を4桁でフォーマットしてセット」の書式(ゼロ埋めか、右詰め空白か)が書かれていない。現行はゼロサプレス(PIC 'ZZZZ')で、5 は「 5」、0 は空白で印字する(pl1 L78、仕様書 5章)。 書式を書く(現行どおりなら右詰め・ゼロサプレス)。
7-5 【要確認B】 E62 と E87、D92 キャッシュに入れるときのキーは登録顧客コード(そのまま)、引くときのキーは荷主コードをトリムした値で、キーの扱いがそろっていない。 作成時と検索時でキーの編集をそろえる。
7-6 【要確認C】 E96〜E146(数値変換) 締日・正式仮区分・請求締日を数値変換しているが、空白や数字以外の値のときの扱いが書かれていない。現行は数字項目として比べるため、数字以外があると変換エラーで異常終了する(仕様書 8章)。 数値に変換できない値の扱い(エラーにするか、一致しない扱いにするか)を書く。
7-7 【要確認C】 H158〜H161 正式仮区分が 1 でない締日欄にスペースを入れている。現行はその欄に何も設定しないため、前に印字した明細の締日がそのまま残る(pl1 L175〜L179、仕様書 8章 No.1)。新設計は現行の不具合を直す形になっている。 直す意図であれば、その旨を書く。

DB更新仕様

No 区分 セル 指摘内容 対応案
8-2 【要確認B】 C17・V17、V10 「更新年YYYY(4桁)」としてスペース(4)を設定する一方、設定元は契約更新年(KAHNKMYY、2桁)。入力年月日(DTYMD1)もスペース(8) だが、設定元の入力更新年月日(POSQIYMD)は6桁。項目名・桁数と設定元が合っていない。現行の帳票は年2桁(YY/MM/DD)で印字する(pl1 L74、L80〜L84)。 列の桁数と項目名を設定元に合わせる(帳票の編集は後続で行うなら、その旨を書く)。

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

No 現行の挙動 確認事項
11-1 管理台帳に存在しない荷主は、印字も件数表示もせずにスキップする(仕様書 8章 No.2)。 引き継ぐ(D94 で踏襲済み)。管理台帳に無い荷主もリストに出すかを決める。
11-2 POS側は請求締日の1件目(POSQSQDD(1))だけを比べ、2・3件目は使わない(仕様書 8章 No.4)。 引き継ぐ(E144〜E146 で踏襲済み)。
11-3 管理台帳側は正式仮区分=1(本締)の締日だけを比べる。仮締とだけ一致する荷主はアンマッチになる(仕様書 8章 No.5)。 引き継ぐ(F149 で踏襲済み)。
11-4 正式仮区分が 1 でない締日欄に、前の明細の締日が残る(仕様書 8章 No.1)。 直す(7-7)。
11-5 処理日・更新日とも年は2桁(YY)で印字する(仕様書 8章 No.12)。 帳票で4桁にするかを決める(8-2)。
(1-1/2)