# 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（住所ＤＢ２の取得条件） | 「条件①：変数.集配エリア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、前回検索キーを「プロパティ.ハイキー（１１桁）」、仮住所区分ワークを 0 などに初期化しているが、プロパティ一覧にハイキーのプロパティが無い。 | メソッド詳細に初期値を書き、ハイキーをプロパティ一覧に定義する（現行は HIGH(11)、pl1 L66）。 |
| 7-7 | 【要確認C】 | I79〜I85、I90、H100 | 仮住所漢字3（VNADVTN3）の前後のシフトコードの扱いが書かれていない。現行は全角18文字の前後に SO（X'0E'）・SI（X'0F'）を付けて 38 バイトにし、名称３なし・該当なしでも「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 | 住所ＤＢ２に該当が無いとき、仮住所区分を初期化しないため、直前に検索した住所の区分（1／2）が残る（最初の検索で該当なしなら不定値）。KS41020 は 0 にしている（仕様書 8章 No.1）。 | 不具合として直す（0 にする）か、現行どおりにするかを決める。新設計（H94〜H100）は現行どおり初期化していない。 |
| 11-2 | 名称３を切り捨てる（カナ 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」は請求先相違の件数で、住所ＤＢ２に該当した件数ではない（pl1 L71、L138）。 | 引き継ぐ（E121・F37 で踏襲済み）。 |
| 11-5 | SQL エラー（0・100 以外）で停止し、リターンコードは設定しない。手続き名は KS41020 のまま（pl1 L148〜L152）。 | 新システムでの異常終了の判定（戻り値 "0"）と JOB の扱いを決める（7-4）。 |
