プロジェクト

全般

プロフィール

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

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

 

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

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

凡例

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

件数

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

改版履歴

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

クラス概要

No 区分 セル 指摘内容 対応案
3-1 【確認事項D】 B5(処理名) 処理名が「住所情報の付加」で、KS41020 と同じ。実際の処理は、請求先が所在地と異なる顧客の郵便番号・住所を請求先のものに置き換える処理(B6 の説明どおり)。 「請求先住所情報の付加」のように区別できる名前にする。
3-2 【確認事項D】 AY6、AY7 入力の DAIMNT3J_0060TD と出力の DAIMNT3J_0080TD の論理名がどちらも「管理台帳」で区別できない。メソッド詳細 D125 の「管理台帳を全件削除する」がどちらを指すかも分からなくなっている(7-3)。 プロパティ一覧と同じく「管理台帳ワーク(住所付与後)」「管理台帳ワーク(住所付加済)」のように区別する。

処理フロー

No 区分 セル 指摘内容 対応案
4-1 【要確認B】 1.メイン処理(B6 の図、処理フロー生成定義 C122〜C123) 終了前の件数のログ出力(IN・ADRESS SET)が図に無い。メソッド詳細(D126〜E129)にはあり、両者が一致していない。現行は終了時に入力件数と請求先住所の設定件数を表示する(pl1 L146〜L147)。 図にもログ出力を加える。

プロパティ一覧

No 区分 セル 指摘内容 対応案
5-2 【要確認A】 AY27(住所DB2の取得条件) 「条件①:変数.集配エリア05(文字列)」などとだけあり、どの列と比べるかが書かれていない。現行は ADRNADC1・ADRNADC2・ADRNADC3 と比べる(pl1 L80〜L85)。 「住所コード1[ADRNADC1] = 変数.集配エリア05(文字列)」のように列名を書く。

メソッド一覧

No 区分 セル 指摘内容 対応案
6-1 【確認事項D】 AI4、AI5 メイン処理の機能説明が空欄。管理台帳データ作成処理の機能説明が「顧客マスター情報から管理台帳データを作成する。」で、KS41000 の説明の流用になっている(実際は郵便番号と住所名称を請求先のものに置き換える)。 機能説明を処理に合わせて記入する。

メソッド詳細

No 区分 セル 指摘内容 対応案
7-3 【要確認A】 D125 「管理台帳を全件削除する」が、入力の DAIMNT3J_0060TD と出力の DAIMNT3J_0080TD のどちらを削除するのか書かれていない(3-2)。出力の 0080TD を削除すると、後続の KS43010 が読むデータが無くなる。現行は処理後に入力ワーク(WORK0060)だけを削除する(JCL STEP13)。 削除するテーブルを物理名(DAIMNT3J_0060TD)で書く。
7-4 【要確認A】 C134〜D135(エラー処理) エラー時は "0" を返すだけで、ログを出さない。現行は DB2 エラー(SQLCODE が 0・100 以外)で「<<< KS41030P DB2 ERROR-CODE =(SQLCODE) >>>」を表示して停止する(pl1 L113、L148〜L150)。 エラー時に出力するログ(エラーコード・請求先所在地コード)を書く。
7-5 【要確認A】 E36、F38、F55、F110 判定・キー・引数を「データ.管理台帳ワーク(住所付与後).荷受住所区分」のように、取得したリスト全体から取っており、繰返しの中の1件(現在のレコード)を指すことが明記されていない。 「現在のレコード」の変数を設け、そこから取ることを明記する。
7-6 【要確認B】 AE10〜AE29(変数の初期値)と 処理フロー生成定義 C12〜C22 メソッド詳細の変数に初期値が書かれていない。一方、処理フロー生成定義では入力件数・更新件数を 0、前回検索キーを「プロパティ.ハイキー(11桁)」、仮住所区分ワークを 0 などに初期化しているが、プロパティ一覧にハイキーのプロパティが無い。 メソッド詳細に初期値を書き、ハイキーをプロパティ一覧に定義する(現行は HIGH(11)、pl1 L66)。
7-7 【要確認C】 I79〜I85、I90、H100 仮住所漢字3(VNADVTN3)の前後のシフトコードの扱いが書かれていない。現行は全角18文字の前後に SO(X'0E')・SI(X'0F')を付けて 38 バイトにし、名称3なし・該当なしでも「SO+空白36バイト+SI」を出力する(pl1 L94〜L95、L101、L111)。新設計は 18 桁のスペース埋め。 文字コード変換後の扱い(シフトコードを持たない)でよいかを確認し、その旨を書く。
7-8 【要確認C】 E36、D161 所在地、請求先住所区分(KAKOADKB)を文字列 "1" と比べている。現行は数値の 1 と比べる(pl1 L68)。列の型が数値の場合や、先頭に空白・0 がある値で一致しない可能性がある。 列の型に合わせた判定にする。

DB更新仕様

No 区分 セル 指摘内容 対応案
8-2 【要確認C】 A225〜A249、A298〜A318 DAIMNT3J_0080TD の列構成が DAIMNT3J_0010TD と同じで、歩引・発送取扱手数料(単片)契約が1組分、行先方面(着地)コードが20件分しかない。管理台帳レイアウトでは2組・25件(KS41000 レビュー指摘 7-3・7-4)。KS41030 は入力のまま写すだけだが、0010TD を直す場合は 0080TD も合わせて直す必要がある。 0010TD の列追加に合わせて、0080TD の列と登録項目を追加する。

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

No 現行の挙動 確認事項
11-1 住所DB2に該当が無いとき、仮住所区分を初期化しないため、直前に検索した住所の区分(1/2)が残る(最初の検索で該当なしなら不定値)。KS41020 は 0 にしている(仕様書 8章 No.1)。 不具合として直す(0 にする)か、現行どおりにするかを決める。新設計(H94〜H100)は現行どおり初期化していない。
11-2 名称3を切り捨てる(カナ 60→47 バイト、漢字 全角30→18文字)。切り捨てたかどうかは出力しない(pl1 L93〜L95)。 引き継ぐ(I74〜I85 で踏襲済み)。
11-3 LOW値補正は全レコードが対象で、5桁郵便番号の「全桁」と「4〜5桁目」の2パターンだけ。7桁郵便番号は補正しない(仕様書 8章)。 移行後のデータに LOW-VALUE 相当が残るかを確認する(レビュー指摘 7-2)。
11-4 件数表示の「IN」は出力した件数、「ADRESS SET」は請求先相違の件数で、住所DB2に該当した件数ではない(pl1 L71、L138)。 引き継ぐ(E121・F37 で踏襲済み)。
11-5 SQL エラー(0・100 以外)で停止し、リターンコードは設定しない。手続き名は KS41020 のまま(pl1 L148〜L152)。 新システムでの異常終了の判定(戻り値 "0")と JOB の扱いを決める(7-4)。
(1-1/2)