# 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） | 現行の管理台帳は、委託料情報（１）がある顧客は 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 | 顧客マスター（委託料情報（１））と顧客マスター（運賃基本情報）を「条件無し」で全件取得し、マップに載せる設計。現行は顧客ごとに登録顧客コードでキー読込している（pl1 L123、L129）。顧客数によってはメモリ使用量が大きくなる。 | 全件をマップに載せる方式でよいか（件数・メモリ量）を確認する。 |

## メソッド一覧

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

## メソッド詳細

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| 7-5 | 【要確認A】 | D142 | 運賃基本情報マップを「顧客コードに対応するデータを取得する」とだけ書かれており、どの項目をキーに引くかが分からない。委託料情報（１）は 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" を返すだけで、どの顧客で何のエラーが起きたかを出力しない。現行は運賃契約基本情報・委託料情報（１）の読込エラー（該当なし以外）で「VKCUNK1（VKCUIT1） READ ERROR PGM STOP-顧客コード」を表示して停止する（pl1 L84、L96）。 | エラー時に出力するログ（顧客コード・エラー内容）を書く。 |
| 7-8 | 【要確認B】 | H74・H107 と D142・D354 | マップを作るときはキーを trim しているが、引くときは登録顧客コードを trim せずに使う。キーの扱いがそろっていない。 | 作成時と検索時でキーの編集をそろえる。 |
| 7-9 | 【要確認C】 | D137 | 請求・精算書ＮＯ を文字列 "000000000000" と比べている。現行は数値の 0 と比べる（pl1 L113）。列の型が数値の場合や、空白が入っている場合に一致しない／扱いが変わる可能性がある。 | 列の型に合わせた判定にする（数値なら 0 と比較）。 |
| 7-10 | 【要確認C】 | E451 の後（委託料情報の設定の最後） | 管理台帳のスペース（KBPC0000、1468〜1500 バイト目）を設定していない。現行はここに委託料情報（１）の 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」、現行は「所在地コード（１１桁）の上５桁」。KASFSSNO が「集配順序番号」、現行は「請求・精算書ＮＯ．」）。後続のソートキー（KASFHATN）などで取り違えるおそれがある。 | 論理名を現行の名称にそろえる。 |

---

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

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