操作
レビュー指摘 #12106
未完了KS4130指摘一覧
開始日:
期日:
進捗率:
0%
予定工数:
実開始日:
DD名:
INCLUDE:
DSN:
バグ区分:
QA分析:
方針(第一貨物):
実終了日:
ツールのバージョン:
AsIsSource行:
進捗計画:
設計・開発者:
画面ID:
機能区分:
機能ID:
レビュー指摘区分:
記述の仕方
検査完了日:
検査依頼日:
説明
KS41030 移行設計書(クラス設計書) レビュー指摘(誤り)¶
| 項目 | 内容 |
|---|---|
| 対象資料 | クラス設計書_KS41030_住所情報の付加.xlsx(表紙/改版履歴/クラス概要/処理フロー/プロパティ一覧/メソッド一覧/メソッド詳細/DB更新仕様/マッピング仕様/処理フロー生成定義) |
| 突合せ基準 | KS41030P_仕様書.md(現行 PL/I ソース KS41030P.pl1 から作成)、管理台帳レイアウト KANBASED(KS41030P.xlsx)、仮定の JCL(DAIMNT3J_jobflow_work.svg) |
| 作成日 | 2026-10-26 |
| 関連資料 | 確認事項(漏れ・要確認・軽微)は「KS41030_クラス設計書_確認事項.md」 |
凡例¶
| 区分 | 意味 |
|---|---|
| 【重大な誤り】 | 現行と処理結果が変わり、出力の内容・有無に大きく影響するもの |
| 【誤り】 | 現行と処理結果が変わるもの、または記述が明確に誤っているもの |
- 現行の根拠は、ソースを「pl1 L○○」、仕様書を「仕様書 ○章」と書きます。
- シート番号は Excel のシート順です(1=表紙、2=改版履歴、3=クラス概要、4=処理フロー、5=プロパティ一覧、6=メソッド一覧、7=メソッド詳細、8=DB更新仕様、9=マッピング仕様、10=処理フロー生成定義)。
現行の処理(要点)¶
| 項目 | 現行(KS41030P) | 仮定の JCL での扱い |
|---|---|---|
| 入力 | 管理台帳ワーク(請求先所在地コード順に整列済み)を順次読込(pl1 L64、L139) | DAIMNT3J_0060TD を ORDER BY KASFAD05, KASFAD06(請求先所在地コード11桁) で読む(現行 JCL STEP10 SORT FIELDS=(334,11,CH,A) の置換え) |
| 対象 | 所在地、請求先住所区分(KAKOADKB)=1 の顧客だけ、郵便番号を請求先のものに置き換え、請求先所在地コードで住所DB2を検索して住所名称を上書き(pl1 L68〜L127) | 同じ |
| 検索 | 直前に検索したコード(TKEY)と違うときだけ検索する。該当なしのときは名称を空白にするが、仮住所区分は初期化しないため直前の検索の値が残る(pl1 L73、L104〜L112、仕様書 8章) | 同じ |
| 補正 | 全レコードで、郵便番号(KATNPSNO)が LOW-VALUE(X'00'×5)なら空白に、4〜5桁目が LOW-VALUE なら空白にする(pl1 L130〜L135) | 同じ |
| 出力 | 管理台帳ワーク(入力と同じ長さ)。毎回新規作成(JCL STEP12 DISP=(NEW,KEEP,DELETE)) |
DAIMNT3J_0080TD。書込み前にクリア |
件数¶
| シート | 重大な誤り | 誤り | 計 |
|---|---|---|---|
| プロパティ一覧 | 1 | 0 | 1 |
| メソッド詳細 | 0 | 2 | 2 |
| DB更新仕様 | 1 | 0 | 1 |
| 合計 | 2 | 2 | 4 |
上記以外のシート(表紙/改版履歴/クラス概要/処理フロー/メソッド一覧/マッピング仕様/処理フロー生成定義)は指摘なし。処理フローの図・処理フロー生成定義の誤りは、メソッド詳細の指摘と同じ内容のため、メソッド詳細にまとめました。
プロパティ一覧¶
| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| 5-1 | 【重大な誤り】 | AY28(管理台帳ワーク(住所付与後) DAIMNT3J_0060TD の取得条件) | 管理台帳を「条件無し」で取得しており、並び順(ORDER BY)の指定が無い。仮定の JCL では、現行の SORT ステップ(JCL STEP10 SORT FIELDS=(334,11,CH,A)、データ部 330〜340 バイト目)に代わり、KS41030 が 請求先所在地コード(KASFAD05、KASFAD06)昇順 で読む。メソッド詳細は前回検索キーと違うときだけ住所DB2を検索し、該当が無いときは仮住所区分ワークを初期化しない(H94〜H100。現行と同じ動き)。このため、該当が無い顧客の仮住所区分(VNADDTKB)は「直前に検索した住所の区分」になり、並び順が違うと直前の住所が変わって、現行と違う値が出力される。あわせて検索回数も増える。 |
取得条件に「ORDER BY 集配エリア05[KASFAD05] 昇順, 集配エリア06[KASFAD06] 昇順」を加える。 |
メソッド詳細¶
| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| 7-1 | 【誤り】 | H71(地区名の判定) | 名称3の有無を「変数.地区名 <> ""」だけで判定している。現行は ADRNKNN3(60 バイト)が空白かどうかで判定し、空白だけのときは「名称3なし」(仮住所区分 1)にする(pl1 L89、L97〜L101)。住所DB2から空白埋めの値が返ると、"" と一致しないため「名称3あり」と判定され、仮住所区分が 2、名称3が空白で出力される。KS41020 の設計(同じ判定)は「<> "" かつ trim() <> ""」としている。 | 「変数.地区名 <> "" かつ 変数.地区名.trim() <> ""」にする。 |
| 7-2 | 【誤り】 | D173〜F182(郵便番号の補正) | 現行の LOW値補正を、スペースの判定に置き換えている。「担当郵便番号 = スペース(5) なら スペース(5) をセット」「4〜5桁目 = スペース(2) なら 先頭3桁 & スペース(2) をセット」は、どちらも値が変わらず、何もしていないのと同じ。現行は郵便番号が LOW-VALUE(X'00'×5)のとき、または4〜5桁目が LOW-VALUE(X'00'×2)のときに空白へ置き換える(pl1 L130〜L135、仕様書 5.3)。このままでは LOW-VALUE(移行後の NUL 文字など)が残り、現行と出力が変わる。 | 判定を LOW-VALUE(移行後の表現。NUL 文字など)に直す。移行で LOW-VALUE が無くなる前提なら、補正処理を削除してその旨を書く。 |
DB更新仕様¶
| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| 8-1 | 【重大な誤り】 | BC4(処理:INSERT)、A3〜BO318 全体 | DAIMNT3J_0080TD への登録が INSERT だけで、登録の前にテーブルをクリアする処理がどこにも無い。現行の出力ワークは毎回新規作成(JCL STEP12 DISP=(NEW,KEEP,DELETE))し、使用後に削除(STEP15)するため、前回分は残らない。仮定の JCL でも「WORKDB は書込み前にクリア」としている。このままでは2回目以降の実行で前回分が残るか、キー重複で登録できず、後続の KS43010(管理台帳の再作成)が前回分と合わせて処理する(KS41000・KS41010・KS41020 レビュー指摘 8-1 と同じ)。 |
登録前に DAIMNT3J_0080TD の全件削除を行う処理を追加する(JOB 側で行う場合は、その旨をクラス概要に書く)。 |
ファイル
表示するデータがありません
操作