プロジェクト

全般

プロフィール

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

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

 

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

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

凡例

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

件数

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

改版履歴

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

クラス概要

No 区分 セル 指摘内容 対応案
3-1 【要確認C】 AS8〜AY8(DAIMNT3J_0010TD) 現行の管理台帳は、委託料情報(1)がある顧客は 1500 バイト、無い顧客は 1200 バイトで、レコード長で委託料情報の有無を区別している(pl1 L133、L141)。テーブルでは委託料の列が常にあり、有無を表す項目も初期値の扱いも書かれていない。後続の KS43010(管理台帳の再作成)が管理台帳のレコード長をどう決めるのかが読み取れない。 委託料情報の有無の表し方(初期値か、区分を持つか)と、後続での使い方を書く。
3-2 【確認事項D】 AI1(機能名) 機能名が空欄(改版履歴 AH1 には「管理台帳の作成」がある)。他のシートのヘッダーも同じ。 機能名を記入する。
3-3 【確認事項D】 AY6 「顧客マスター(運賃基本情報)」になっている。現行の名称は「顧客マスター(運賃契約基本情報)」(pl1 L52 のコメント)。プロパティ一覧・メソッド一覧も同じ。 名称をそろえる。

処理フロー

No 区分 セル 指摘内容 対応案
4-1 【要確認B】 1.メイン処理(B5 の図、処理フロー生成定義 C34) 終了前の件数のログ出力(INCNT・OTCNT)が図に無い。メソッド詳細(D41〜D44)にはあり、両者が一致していない。現行は終了時に入力件数・出力件数を表示する(pl1 L160〜L161)。 図にも件数のログ出力を加える。

プロパティ一覧

No 区分 セル 指摘内容 対応案
5-1 【要確認C】 AY28〜AY29 顧客マスター(委託料情報(1))と顧客マスター(運賃基本情報)を「条件無し」で全件取得し、マップに載せる設計。現行は顧客ごとに登録顧客コードでキー読込している(pl1 L123、L129)。顧客数によってはメモリ使用量が大きくなる。 全件をマップに載せる方式でよいか(件数・メモリ量)を確認する。

メソッド一覧

No 区分 セル 指摘内容 対応案
6-1 【確認事項D】 AI4 メイン処理の機能説明が空欄。 機能説明を記入する。

メソッド詳細

No 区分 セル 指摘内容 対応案
7-5 【要確認A】 D142 運賃基本情報マップを「顧客コードに対応するデータを取得する」とだけ書かれており、どの項目をキーに引くかが分からない。委託料情報(1)は D353〜D354 で「登録顧客コード[KDCUSTCD]」と明記している。現行は登録顧客コードでキー読込(pl1 L121〜L123)。 「キー:引数.顧客マスター(基本情報).登録顧客コード[KDCUSTCD]」と書く。
7-6 【要確認A】 D134 「変数.管理台帳 出力レコードを初期化する」の初期値(空白か NULL か)が書かれていない。現行は店所情報・住所情報(801〜1200 バイト目)をスペースで出力し(pl1 L136、L144)、後続の KS41010 は店所情報が見つからないとき入力のままにするため、そのまま管理台帳に残る。NULL にすると後続の判定・出力が変わる可能性がある。 各項目の初期値を書く(現行どおりなら空白)。
7-7 【要確認A】 C50〜D52(エラー処理) エラー時は "0" を返すだけで、どの顧客で何のエラーが起きたかを出力しない。現行は運賃契約基本情報・委託料情報(1)の読込エラー(該当なし以外)で「VKCUNK1(VKCUIT1) READ ERROR PGM STOP-顧客コード」を表示して停止する(pl1 L84、L96)。 エラー時に出力するログ(顧客コード・エラー内容)を書く。
7-8 【要確認B】 H74・H107 と D142・D354 マップを作るときはキーを trim しているが、引くときは登録顧客コードを trim せずに使う。キーの扱いがそろっていない。 作成時と検索時でキーの編集をそろえる。
7-9 【要確認C】 D137 請求・精算書NO を文字列 "000000000000" と比べている。現行は数値の 0 と比べる(pl1 L113)。列の型が数値の場合や、空白が入っている場合に一致しない/扱いが変わる可能性がある。 列の型に合わせた判定にする(数値なら 0 と比較)。
7-10 【要確認C】 E451 の後(委託料情報の設定の最後) 管理台帳のスペース(KBPC0000、1468〜1500 バイト目)を設定していない。現行はここに委託料情報(1)の 275〜307 バイト目(スペース 27 バイト+更新年月日 DMENDAT4 6 バイト)が入る(仕様書 8章 No.3)。 更新年月日を引き継ぐ必要があるか確認する。不要ならその旨を書く。
7-11 【確認事項D】 D20〜D22 顧客マスター(基本情報)が0件のときは、件数のログを出さずに終了する。現行は0件でも「INCNT = 0」「OTCNT = 0」を表示する(pl1 L160〜L161)。 0件のときも件数のログを出すかを決める。

DB更新仕様

No 区分 セル 指摘内容 対応案
8-2 【確認事項D】 C 列(項目名) 論理名が現行と違うものが多い(例:KASFHATN が「集配本店コード」、現行は「請求書出力店所コート゛」。KAADCODA が「配送エリアコードA」、現行は「所在地コード(11桁)の上5桁」。KASFSSNO が「集配順序番号」、現行は「請求・精算書NO.」)。後続のソートキー(KASFHATN)などで取り違えるおそれがある。 論理名を現行の名称にそろえる。

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

No 現行の挙動 確認事項
11-1 請求・精算書NO.が 0 の顧客に「登録顧客コード+'00000'」の12桁を補完する(pl1 L113〜L118)。 引き継ぐ(メソッド詳細 D137〜D139 で踏襲済み)。判定の型は 7-9 を参照。
11-2 運賃契約基本情報が無い顧客は、運賃集約計算区分をスペースにする(pl1 L124〜L126)。 引き継ぐ(D141〜D146 で踏襲済み)。
11-3 委託料情報(1)が無い顧客は、委託料情報部を持たない 1200 バイトのレコードになる(pl1 L141)。 テーブルでの表し方を決める(3-1)。
11-4 運賃集約計算区分がスペース以外の顧客は「>> UNTIN SYUYAKU 顧客コード-区分」を表示する(pl1 L147〜L149)。 引き継ぐ(D348〜D351 で踏襲済み)。
11-5 委託料情報(1)の 275〜307 バイト目(更新年月日を含む)を管理台帳の末尾にそのまま転記する。 引き継ぐかを決める(7-10)。
11-6 読込エラー(該当なし以外)でメッセージを出して停止し、リターンコードは設定しない(仕様書 8章 No.8)。 新システムでの異常終了の判定(戻り値 "0")と JOB の扱いを決める。
(1-1/2)