# KS60152 移行設計書 確認事項

| 項目 | 内容 |
|---|---|
| 対象資料 | ① クラス設計書 KS60152「新請求書出力　※電子帳票郵送依頼」（非表示シート・処理フローシートは対象外）<br>② テーブル定義 DAISEQ4J_0700TD（請求明細印刷ワークデータ ECOデリバリー版。KS60152 の入力） |
| 突合せ基準 | 現行ソース KS60152P（PL/I）、コピーブック、JCL DAISEQ4J（L593〜L595 ほか）、KS60151・KS60152 の差異分析 |
| 記述ルール | 設計書作成ルール（バッチ抜粋） |
| 作成日 | 2026-10-15（初版）／2026-10-22（記述ルールを反映して改訂） |
| 関連資料 | 誤りの指摘は「KS60152_移行設計書_レビュー指摘.md」、帳票の指摘は「KS60152_帳票_レビュー指摘.md」 |

## 凡例

| 区分 | 意味 |
|---|---|
| 【漏れ】 | ルールで記述することになっている項目が、記載されていないもの |
| 【要確認A】 | 処理に必要な記載が欠けているもの（【漏れ】を除く） |
| 【要確認B】 | 処理結果は変わらないが、ルールの書き方に合っていないもの |
| 【要確認C】 | 移行に伴う意図的な変更の可能性があるもの、または前提が読み取れないもの |
| 【確認事項D】 | 軽微なもの（改版履歴・更新履歴、ログの文言・桁揃え、誤字、論理名・備考だけの誤り、条件の「==」「≠」など）。対応は任意 |

- 根拠は、ソースを「src L○○」、JCL を「JCL L○○」、ルールを「ルール X.Y」「ルール X.Y.Z」と書きます。
- 指摘番号は、前回（KS60151・KS60152 の共通指摘と KS60152 単独の指摘）の番号を引き継いでいます。同じ事象をまとめたものや除外したものは欠番になっています。
- 次のものは対象外です。
  - 非表示シート（処理フロー生成定義）
  - ルールで記述しなくてもよい項目：処理フロー図（ルール 5.2）、メソッド名・物理名（ルール 5.4、8.1）、処理の項番（ルール 2.5「可能な限り」）、"" / 0 / false の初期値（ルール 5.5）
- ルール 5.3・5.6・5.7 が参照する3章はバッチ抜粋に無いため、プロパティ一覧・DB更新仕様・マッピング仕様は2章のルールと現行一致で確認しています。

## 本件の前提

- 帳票は1行133文字（ASA＋132桁）に納めることを前提とし、帳票は帳票構造体（帳票構造体設計書、ルール 11.1〜11.3）で設計するものとします。
- 帳票に関する指摘（出力方式、行レイアウト・桁位置・編集書式・SO/SI、見出し・計・明細・銀行欄など帳票の各項目の編集）は、この資料から除外しています。【重大な誤り】【誤り】は「KS60152_帳票_レビュー指摘.md」にまとめ、漏れ・要確認・軽微なものは記載していません。
- MD-1-1（2行目の配信キーとキャッシュ）は、現行どおり（D-11 と A→X→A の挙動を再現する）とすることで決定済みです。
- 出力ワークの事前削除は、バッチ設計書 DAISEQ4J の処理フローで行うため、指摘していません。

## 件数

| 資料 | シート | 漏れ | 要確認A | 要確認B | 要確認C | 確認事項D | 計 |
|---|---|---:|---:|---:|---:|---:|---:|
| ① | クラス概要 | 0 | 2 | 0 | 0 | 0 | 2 |
| ① | プロパティ一覧 | 0 | 2 | 0 | 1 | 1 | 4 |
| ① | メソッド一覧 | 1 | 0 | 1 | 0 | 0 | 2 |
| ① | メソッド詳細 | 1 | 2 | 0 | 4 | 3 | 10 |
| ① | マッピング仕様 | 0 | 0 | 0 | 1 | 1 | 2 |
| ② | DAISEQ4J_0700TD | 1 | 1 | 0 | 4 | 2 | 8 |
| **合計** | | **3** | **7** | **1** | **10** | **7** | **28** |

---

# ① クラス設計書 KS60152

## クラス概要

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| CL-1 | 【要確認A】 | AR5〜 | 使用テーブルに、自店出力店所テーブル ALTLIB（SEQPRTNC。メソッド詳細 行24、src L514〜L542）と、共通関数「未収管理店コード取得」（行147）が参照する未収管理マスター（現行 MDMIKAN、src L645）が無い（KS60151 CL-1 と同じ）。 | ALTLIB（SEQPRTNC）と、共通関数経由で参照する未収管理のテーブルを追記する。 |
| CL-3 | 【要確認A】 | B5〜B9（処理概要） | 現行ソースの冒頭コメント（src L5〜L12）の写しだけで、出力先区分の3値と出力先、行の種類を新行番号とデータIDで判定することが書かれていない。 | 出力先区分（"0"・"1"・"2"）と出力先、行の種類の判定（見出し1・見出し2・明細・検品料計・ページ小計／区分合計・総合計）を追記する。 |

## プロパティ一覧

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| PR-1 | 【要確認A】 | P8（変数 No.4 出力先区分）、A47〜（列挙型） | 出力先区分の値の定義が無い（現行 OUT_SW の3値、src L572〜L581）。 | 列挙型に「"0"：出力しない（VKSYUPR に有り UPRNASKB='6'）、"1"：KS601521 と KS601523（VKSYUPR に無い）、"2"：KS601522（それ以外）」を定義する。 |
| PR-2 | 【確認事項D】 | P10（変数 No.6 検品区分フラグ） | 使い方（終了日 > 2008/09/19 で "1"、サーチャージ欄を出す）は現行の TENK_FLG（サーチャージ有無、src L707〜L709）で、名前が検品料データ区分と紛らわしい。 | 「サーチャージ表示フラグ」に改め、備考に値の意味を書く。 |
| PR-5 | 【要確認A】 | AV28〜AV33（データ No.2〜7 のＥＲ図欄） | ＥＲ図番号がどの資料の SQL を指すか分からず（No.2 は「2」だが 0700TD には No.1 しか無い）、VKSYUPR・VKCORPO・VKBANKM は VSAM の DD 名のままで移行後のテーブル名が分からない（KS60151 PR-2・PR-3 と同じ）。 | 参照先の資料・SQL 番号と、移行後の物理テーブル名を書く。 |
| PR-6 | 【要確認C】 | AP8（出力先区分 "0"）、AP11（仮締区分 "0"） | 初期値が現行と違う（KARI_KB INIT(1)＝本締 src L448、OUT_SW は初期値なし src L482）。入力の先頭が見出し1でないときだけ結果が変わる（推測）。 | 仮締区分の初期値を "1" にするか、先頭が見出し1でないときの扱いを記載する。 |

## メソッド一覧

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| ML-1 | 【漏れ】 | AI4（No.1 メイン処理） | 機能説明が空欄（ルール 5.4）。 | 「ALTLIB と 0700TD を読み、新行番号[NLIN]・データID[DTID] で見出し1・見出し2・明細・検品計・通常計に振り分けて出力する。」と書く。 |
| ML-2 | 【要確認B】 | AI5〜AI7（No.2〜No.4 の機能説明） | 処理の一部しか書かれていない（ルール 5.4）。No.2 は1・2行目の出力・未収管理店・税区分・仮締区分・サーチャージ判定、No.3 は2ページ目以降と13〜14行目、No.4 は検品料のページ小計（NLIN=90）が無い。No.2 の「店所マスター」は出力先区分の決定に使っていない。 | 機能説明を処理内容に合わせて補う。 |

## メソッド詳細

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| MD-0-4 | 【要確認C】 | 行24〜30 | 分割出力制御（ALTLIB SEQPRTNC）の100件上限と「!!! TABL OVER LAST PRTN =>」の表示（src L531〜L541）が無い。0件を正常とする現行（TABCNT=0）に対し、0件時の戻り値が分からない。 | 100件上限とメッセージ、0件は正常とすることを記載する。 |
| MD-0-5 | 【確認事項D】 | 行17、行61〜62 | 「南林区分」は誤字で、中身は新行番号（NLIN）。 | 「新行番号」に直す。 |
| MD-0-6 | 【要確認A】 | 行120、297、321、324、359、361、378、420〜426、551、578、581 | 空白の判定が「= ""」「<> ""」。現行は空白との比較（UPRNASKB=' '、SQHBHEAD=(8)' ' など）で、NCHAR の固定長列は空白で埋まるため "" と一致しない（KS60151 MD-0-6 と同じ）。 | 「前後の空白（全角・半角）を除いた結果が空」で判定すると書く。 |
| MD-1-3 | 【確認事項D】 | 行112 | 優先印刷マスターの取得条件が「プロパティ.配信キー」で、現行のキー（SYUKEY＝自分の荷主CD、src L575）と今は同じ値だが紛らわしい。 | 「変数.荷主キー」に直す。 |
| MD-1-5 | 【要確認A】 | 行145〜152 | 現行の LKN0010（src L645）を置き換えた共通関数「未収管理店コード取得」の、該当が無いときの戻り値が書かれていない（KS60151 MD-1-2 と同じ）。 | 共通関数の引数・戻り値・該当なしのときの値を書く。 |
| MD-1-6 | 【要確認C】 | 行157〜167 | 終了年月日が6桁なら "20" を付けて "20080919" と比べているが、0700TD の終了年月日が6桁か8桁か決まっていない（T70-4）。桁数=8 の条件だけの箇所（No.5 行813 の判定元）もあり、6桁で入るとサーチャージの見出しが出ない（src L707〜L709。KS60151 MD-0-3 と同じ）。 | T70-4 で桁数を確定し、判定式を合わせる。 |
| MD-1-7 | 【漏れ】 | 行214、行712、行1083 | 見出し１処理・見出し２処理・No.8 のエラー処理が空欄（ルール 5.5）。 | 戻り値（または例外）とメイン処理での扱い（"0" を返す）を記載する。 |
| MD-2-2 | 【要確認C】 | 行285 | 「頁番号[SQHBNPAG] <> "1"」で2ページ目以降を判定している。NPAG（NCHAR）が '0001' のようにゼロ埋めなら1ページ目も該当する（推測）。現行は数値で「> 1」（src L715）。 | 数値に変換して「> 1」で判定する。 |
| MD-5-6 | 【確認事項D】 | 行813、行163〜166、プロパティ一覧 No.6 | サーチャージ有無のフラグ（現行 TENK_FLG、src L707〜L709）を「検品区分フラグ」と名付けており、検品料データ区分[SQHBKENP]（13〜14行目の判定）と紛らわしい。 | 「サーチャージ表示フラグ」に改め、プロパティ一覧の説明も直す。 |
| MD-7-8 | 【要確認C】 | 行978〜983 | 検品明細の判定で荷送・荷受人氏名の14バイト目を "~" と比べている。現行は '‾'（src L2051、L2070）で、Java の文字セット（Shift_JIS／Windows-31J）と 0700TD への格納方法次第で一致しない。変数名も「商品名14桁目」で項目と違う（KS60151 MD-1-20 と同じ）。 | 比較する値をコードポイントまたはバイト値で書き、変数名を「荷送・荷受人氏名14桁目」に直す。 |

## マッピング仕様

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| MP-1 | 【確認事項D】 | V68（見出し２ No.38 SQHBJIKB） | 荷主事業区分に「振込区分[SDTATKB3]」をセットしている（KS60152 は SQHBJIKB を使わないので影響なし）。 | 「変数.請求明細印刷ワークデータ2.荷主事業区分[SDTAJIKB] をセット」に直す。 |
| MP-3 | 【要確認C】 | V92・V96・V97・V99・V100、V123・V127・V128・V130・V131、V18・V19 | 明細・合計の運賃・保険料・その他料金・割戻金・消費税を見出し名の列（SDTAUNTI など）から取っているが、KS60144 がこの行でこの列に値を入れるかは、行の種類ごとの対応表が無く確認できない（T70-6。KS60151 MD-1-18 と同じ）。V18・V19 の年月日の桁も T70-4 による。 | T70-6 の対応表を作り、KS60144 の DB更新仕様と突き合わせる。 |

---

# ② テーブル定義 DAISEQ4J_0700TD（請求明細印刷ワークデータ ECOデリバリー版）

## テーブル定義・ＥＲ図・ＳＱＬ・DDL

| No | 区分 | セル | 指摘内容 | 対応案 |
|---|---|---|---|---|
| T70-2 | 【確認事項D】 | L10（DATA_KBN）、L16（DTID） | DATA_KBN の備考のコード（"5"・"6"＝新、"9"＝総合計、"7"・"8"＝連番）が KS60144 の設計（見出し "1"・"2"、検品料見出し "7"、総合計も "4"）と合わず、DTID の備考に 0（明細）・5（見出し1）・6（見出し2）が無い（src L559、L713、L1854）。 | KS60144 と合わせて DATA_KBN のコードを確定し、DTID の値（0・1・2・3・5・6・9）を書く。 |
| T70-4 | 【要確認C】 | No.15・16 SDTAKYMD・SDTASYMD（NCHAR(8)） | 現行の SQHASYMD・SQHAEYMD は6桁（YYMMDD）で、8桁で格納するか KS60144 と決まっていない。開始・終了の記号も現行（S・E）と 0700TD（K・S）で入れ替わっている（KS60151 T35-2 と同じ）。 | 桁数を確定し、対応（SQHASYMD→SDTAKYMD、SQHAEYMD→SDTASYMD）を備考に書く。 |
| T70-5 | 【要確認C】 | テーブル定義 列構成全体 | 0700TD は 0635TD と同じ KS60144P の出力（同じ SQHAIDAA〜D）だが、税区分・割戻金の列が 0635TD と違う（推測）。KS60144 の DB更新仕様は2回とも同じ編集なので、どちらかと列名が合わない可能性がある。 | 0635TD と列構成をそろえるか、KS60144 の DB更新仕様に0700TD 用の列名を書く。 |
| T70-6 | 【要確認A】 | A108〜（テーブル説明） | 空欄で、行の種類（見出し1・見出し2・明細・合計）ごとにどの列に何が入るかの対応表が無い（KS60151 T35-4 と同じ）。 | 行の種類ごとの列の対応表と、DATA_KBN・DTID のコード表を書く。 |
| T70-7 | 【要確認C】 | No.23 SQHBHEAD、No.24 SQHBNAME、No.26 SQHBHTEN、No.36〜38 SDTAJKA1〜3、No.62 SQHCCHNM、No.63 SQHCSHNM、No.69 SQHCBIKO | 桁数が現行の EBCDIC のバイト数（SO/SI 込み）のままで、SO/SI を残すのか、文字コードと桁の数え方が決まっていない。名称・住所・備考の切り出し位置（帳票_レビュー指摘の CH-2）はこれで決まる（KS60151 T35-3 と同じ）。 | 格納形式（文字コード、SO/SI の有無、桁の数え方）を決め、テーブル説明に書く。 |
| T70-8 | 【要確認C】 | テーブル定義 No.80 SQHCMMDD、No.61 SDTAHYMD | SQHCMMDD が DECIMAL(4) で現行 FIXED(5)（SQHAIDAC）と桁が違う（印字は4桁、src L1876〜L1877）。SDTAHYMD は現行のレイアウトに無く、KS60152 は使わない。 | 4桁でよい理由を備考に書き、SDTAHYMD の用途を書く。 |
| T70-9 | 【漏れ】 | テーブル定義 E9（No.1 ID）・E99（No.91 VERSION）、A103〜（インデックス定義） | DECIMAL の桁が空欄（ルール 9.2.4）。インデックス定義も空。 | 桁を記入し、取得の並び順に使うキーのインデックスを定義する。 |
| T70-12 | 【確認事項D】 | ＥＲ図・ＳＱＬ B4 | SQL の見出しが「1.銀行マスター取得」だが、中身は 0700TD の取得。 | 「1.請求明細印刷ワークデータ取得」に直す。 |

---

# 参考：現行の挙動を踏襲するか確認が必要な事項

| No | 現行の挙動 | 確認事項 |
|---|---|---|
| B-1 | パーティション判定と未収管理店の取得（LKN0010）は、店所が変わったときだけ行う（src L618〜L647）。 | 設計は見出し1のたびに共通関数を呼ぶ。結果は同じだが、件数が多いときの処理時間を許容できるか確認する。 |
| B-2 | ALTLIB（SEQPRTNC）が101件以上のとき、範囲外の TAB_PRTN(101) を参照する（src L531〜L541）。 | 101件以上をエラーにするか、上限を設けないかを決める。 |
| B-3 | 店所マスターに無いとき、TENMS を空白にして7行目に「〒　　 -  」、11行目に「       TEL:」を出す（src L913、L1148）。 | 店所が無いときも同じ表示にするか、何も出さないかを決める。 |
