# KS60350 移行設計書（クラス設計書） 確認事項

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

## 凡例

| 区分 | 意味 |
|---|---|
| 【漏れ】 | 記述することになっている項目が、記載されていないもの |
| 【要確認A】 | 処理に必要な記載が欠けているもの（【漏れ】を除く） |
| 【要確認B】 | 処理結果は変わらないが、書き方に合っていないもの |
| 【要確認C】 | 移行に伴う意図的な変更の可能性があるもの、または前提が読み取れないもの |
| 【確認事項D】 | 軽微なもの（改版履歴、名称・表記など）。対応は任意 |

- 現行の根拠は、ソースを「pl1 L○○」、仕様書を「仕様書 ○章」と書きます。
- 指摘番号は「シート番号-連番」で、レビュー指摘（誤り）と通し番号です。

## 件数

| シート | 漏れ | 要確認A | 要確認B | 要確認C | 確認事項D | 計 |
|---|---:|---:|---:|---:|---:|---:|
| 改版履歴 | 0 | 0 | 0 | 0 | 1 | 1 |
| クラス概要 | 0 | 0 | 0 | 2 | 0 | 2 |
| 処理フロー | 0 | 0 | 1 | 0 | 0 | 1 |
| メソッド詳細 | 0 | 4 | 1 | 2 | 0 | 7 |
| DB更新仕様 | 0 | 0 | 1 | 0 | 0 | 1 |
| **合計** | **0** | **4** | **3** | **4** | **1** | **12** |

---

## 改版履歴

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

## クラス概要

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| 3-1 | 【要確認C】 | B5〜B10、AS7（DAIMNT3J_0090TD） | 現行は帳票（見出し3行：タイトル・処理日・ページ番号、明細はＰＯＳ側・管理台帳側の2行1組、18明細ごとに改ページ）を直接出力する（pl1 L39〜L87、L153〜L187）。新設計はアンマッチの項目を DAIMNT3J_0090TD に登録するだけで、見出し・ページ番号・改ページ・明細の並び順をどこで作るのかが書かれていない。 | 帳票を作るジョブ・プログラム（日次処理）と、そこで現行の帳票と同じ形にすることを書く。 |
| 3-2 | 【要確認C】 | B9〜B10 | 管理台帳を全件キャッシュ（メモリ）に載せる方式。現行は荷主ごとに管理台帳をキー読込している（pl1 L139〜L140）。管理台帳の件数によってはメモリ使用量が大きくなる。 | 全件をキャッシュに載せる方式でよいか（件数・メモリ量）を確認する。 |

## 処理フロー

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| 4-1 | 【要確認B】 | 1.メイン処理（C6 の図、処理フロー生成定義 C14〜C34）と メソッド詳細 | 開始ログ（D24〜G25）が図に無い。一方、マッチフラグの初期化（生成定義 C99）・締日配列の初期化（C79、C88）は図にあるが、メソッド詳細に無い。図とメソッド詳細が一致していない。 | 両者をそろえる。 |

## メソッド詳細

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| 7-1 | 【要確認A】 | C81、D86〜D153（マッチフラグ） | マッチフラグの初期値（AE81）が空欄で、レコードごとに 0 に戻す処理も無い。一致したとき 1 にするだけなので、初期化しないと一致しなかったレコードもアンマッチと判定されない。現行はレコードごとに 0 にしてから照合する（pl1 L144）。処理フロー生成定義（C99）には「マッチフラグ ← 0」がある。 | 照合の前に「変数.マッチフラグ ← 0」を加える。 |
| 7-2 | 【要確認A】 | D29〜E34（ページングの繰返し） | オフセットを加算した後、次のページを取得する処理が書かれていない。「取得件数 >= 1件 の間繰り返す」の判定に使うデータが、いつ取り直されるのか読み取れない。 | 繰返しの先頭（または末尾）で「データ.ＰＯＳメイトマスタリストを取得する（条件：取得件数上限・オフセット）」を書く。 |
| 7-3 | 【要確認A】 | D37〜D38（終了処理） | 入力件数・出力件数のログが無く、件数を数える変数も無い。現行は終了時に「## KS60350P INCNT = 入力件数」「## KS60350P OTCNT = 出力件数」を表示する（pl1 L194、L188、L202〜L203）。アンマッチが0件のときは帳票も空になるため、件数のログが処理結果の確認手段になっている（仕様書 8章）。 | 入力件数・アンマッチ件数を数え、終了時にログ出力する。 |
| 7-4 | 【要確認A】 | H159 | 「締日配列のY件目を4桁でフォーマットしてセット」の書式（ゼロ埋めか、右詰め空白か）が書かれていない。現行はゼロサプレス（PIC 'ZZZZ'）で、5 は「   5」、0 は空白で印字する（pl1 L78、仕様書 5章）。 | 書式を書く（現行どおりなら右詰め・ゼロサプレス）。 |
| 7-5 | 【要確認B】 | E62 と E87、D92 | キャッシュに入れるときのキーは登録顧客コード（そのまま）、引くときのキーは荷主コードをトリムした値で、キーの扱いがそろっていない。 | 作成時と検索時でキーの編集をそろえる。 |
| 7-6 | 【要確認C】 | E96〜E146（数値変換） | 締日・正式仮区分・請求締日を数値変換しているが、空白や数字以外の値のときの扱いが書かれていない。現行は数字項目として比べるため、数字以外があると変換エラーで異常終了する（仕様書 8章）。 | 数値に変換できない値の扱い（エラーにするか、一致しない扱いにするか）を書く。 |
| 7-7 | 【要確認C】 | H158〜H161 | 正式仮区分が 1 でない締日欄にスペースを入れている。現行はその欄に何も設定しないため、前に印字した明細の締日がそのまま残る（pl1 L175〜L179、仕様書 8章 No.1）。新設計は現行の不具合を直す形になっている。 | 直す意図であれば、その旨を書く。 |

## DB更新仕様

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| 8-2 | 【要確認B】 | C17・V17、V10 | 「更新年YYYY(4桁)」としてスペース(4)を設定する一方、設定元は契約更新年（KAHNKMYY、2桁）。入力年月日（DTYMD1）もスペース(8) だが、設定元の入力更新年月日（POSQIYMD）は6桁。項目名・桁数と設定元が合っていない。現行の帳票は年2桁（YY/MM/DD）で印字する（pl1 L74、L80〜L84）。 | 列の桁数と項目名を設定元に合わせる（帳票の編集は後続で行うなら、その旨を書く）。 |

---

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

| No | 現行の挙動 | 確認事項 |
|---|---|---|
| 11-1 | 管理台帳に存在しない荷主は、印字も件数表示もせずにスキップする（仕様書 8章 No.2）。 | 引き継ぐ（D94 で踏襲済み）。管理台帳に無い荷主もリストに出すかを決める。 |
| 11-2 | ＰＯＳ側は請求締日の1件目（POSQSQDD(1)）だけを比べ、2・3件目は使わない（仕様書 8章 No.4）。 | 引き継ぐ（E144〜E146 で踏襲済み）。 |
| 11-3 | 管理台帳側は正式仮区分＝1（本締）の締日だけを比べる。仮締とだけ一致する荷主はアンマッチになる（仕様書 8章 No.5）。 | 引き継ぐ（F149 で踏襲済み）。 |
| 11-4 | 正式仮区分が 1 でない締日欄に、前の明細の締日が残る（仕様書 8章 No.1）。 | 直す（7-7）。 |
| 11-5 | 処理日・更新日とも年は2桁（YY）で印字する（仕様書 8章 No.12）。 | 帳票で4桁にするかを決める（8-2）。 |
