幸塚 和久, 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)。 |