プロジェクト

全般

プロフィール

レビュー指摘 #11910 » KS60144_移行設計書_レビュー指摘.md

[参考資料]現行ソース解析資料 - 幸塚 和久, 2026-10-14 02:19 午後

 

KS60144 移行設計書 レビュー指摘一覧(シート別)

項目 内容
対象資料 ① クラス設計書 KS60144(Excel)
② テーブル定義 DAISEQ4J_0610TD(全送状ワークデータ)
③ テーブル定義 DAISEQ4J_0635TD(請求明細印刷ワークデータ)
④ テーブル定義 DAISEQ4J_0642TD(請求明細アップデート連携ワーク)
⑤ テーブル定義 DAISEQ4J_0646TD(請求明細ページワーク)
突合せ基準 現行ソース KS60144P(PL/I、1,643行)、KS60144 詳細設計書(現行解析MD)、JCL DAISEQ4J(No.8・No.12)
作成日 2026-10-14

凡例

区分 意味
【誤り】 現行ソースと処理結果が変わるもの、または記述が明確に誤っているもの
【漏れ】 必要な記載が欠けているもの
【要確認】 移行に伴う意図的な変更の可能性があるもの、または前提が設計書から読み取れないもの
  • 「現行」は PL/I ソース KS60144P を指します。根拠となるソースの行番号は「src L○○」と書きます。
  • メソッド詳細シートと DB更新仕様シートの位置は、Excel の行番号で「行○○」と書きます。
  • 「★No.n」は、現行解析MDの10章の要確認事項の番号です。
  • 複数のシートにまたがる指摘は、主に直すべきシートで詳しく説明し、ほかのシートでは指摘番号を挙げて参照します。

前提:現行の処理の骨格(指摘の基準)

指摘の多くは、次の現行の骨格との違いです。

階層 区切り 区切りの開始時 区切りの終了時
L0 配信店 印刷照会マスター(VKSEQSK)を読む。連番を0にする(src L420) 照会マスター更新用データ(SQUPSEQ)を配信店ごとに1件出力
L1 請求先(配信店+予備5桁+請求先番号) 旧ページ・新ページを0にする(src L441・L443)。明細不要(OUT_SW=1)を初期値にする 照会マスターに加算。請求書出力枚数データ(SEQPAGS)を出力
L2 印刷順(請求先+データIDの十の位+区分11桁) 改ページ(旧・新とも +1)、見出しを出す ページ小計 → 元払計・着払計・元着計 → 条件付きで総合計
L3 1レコード - ID 00 なら見出しの編集。それ以外なら明細行を出す
  • 1回の実行(No.8 と No.12 のどちらも)で、旧書式(40行/ページ、見出し DTID 1・2)と新書式(33行/ページ、見出し DTID 5・6)の両方の行データを出力します。
  • 鑑(466バイト)は、請求先の最初の新書式の見出し2(DTID 6)だけに付きます。

重要指摘(優先対応)

このままでは処理結果が現行と大きく変わる、またはデータが出力されないものです。

優先 指摘No シート 内容
1 PR-2、T10-3 プロパティ一覧、0610 ER図・SQL STEP1 の入力に「見出し(ID 00)だけを取るSQL」(ER図 No.3)を指定している。 明細が1件も読まれない。
2 MD-0-1 メソッド詳細 印刷順(データIDの十の位+区分)の区切りが無い。 請求先の中で区分が変わっても改ページされず、区分計(元払計・着払計・元着計)も出ない。
3 MD-0-2 メソッド詳細 旧書式(DTID 1・2)と新書式(DTID 5・6)を STEP1・STEP2 で出し分けている。 現行はどちらの実行でも両方を出す。
4 MD-0-3、MD-17〜20 メソッド詳細 明細の金額・項目を、見出しの列(SDTA〜)から取っている。 送り状明細の運賃・個数・送り状番号・地名などが現行と全く違う値になる。
5 MD-2-4 メソッド詳細 ページ番号と連番を区切りでリセットしていない。 ページ番号が請求先をまたいで増え続け、SEQPAGS の枚数も狂う。
6 MD-0-4、MD-11-1、T42-1 メソッド詳細、DB更新仕様、0642 定義 照会マスター更新用データの作り方が現行と違う。 請求先ごとに出力し、印刷照会マスターを読まず、0642 の定義も別レイアウト(検品料見出し OUT21)になっている。

指摘件数サマリ

資料 シート 【誤り】 【漏れ】 【要確認】 計
① クラス設計書 表紙・改版履歴 0 0 0 0
クラス概要 1 1 1 3
処理フロー 0 0 0 0
プロパティ一覧 1 2 1 4
メソッド一覧 1 1 0 2
メソッド詳細 52 5 5 62
DB更新仕様 12 4 2 18
マッピング仕様 0 0 1 1
処理フロー生成定義(非表示) 0 0 0 0
② 0610TD 更新履歴・テーブル定義 0 0 1 1
ER図・SQL 2 0 0 2
③ 0635TD テーブル定義 3 2 1 6
④ 0642TD テーブル定義 1 0 0 1
⑤ 0646TD テーブル定義 1 0 1 2
合計 74 15 13 102

① クラス設計書 KS60144

表紙・改版履歴

指摘はありません。

クラス概要

No 区分 セル 指摘内容 正しい内容・対応案
CL-1 【漏れ】 AR5〜(使用テーブル) 印刷照会マスター(現行 VKSEQSK=VKAD.SQSSPRSK.DTMASTER)が無い。現行は、配信店ごとにこのマスターを読み、その値に今回分を加算して SQUPSEQ を作る(MD-0-4)。 移行後のテーブル名で追加する(R)。
CL-2 【誤り】 B7〜B23(処理概要) ソース先頭のコメントをそのまま写している。「配信PU変換 入間支店(1103)分はSV07へ」「足立支店一部荷主 配信店所変換1305 => 1325」などは、現行ソースに処理として存在しない(オンライン配信部の削除後の名残)。KS60144 に実際にある配信店の変換は、読み込んだレコードを「1025 → 1001」に戻す処理だけ(src L386〜390・L1106〜1110)。コメントの「高崎支店一部荷主 配信店所変換1001 => 1025」は前工程 KS60130 の処理(KS60130P L398)で、KS60144 はそれを元に戻している。 現行の処理内容(印刷順ごとの行データ作成、旧・新2書式、1025→1001 の読替え)に書き直す。
CL-3 【要確認】 AS5(RDTENS) 発行店名を RDTENS の店所略名(VETENAME)から取っている。現行は外部手続き LSS0050 で店所コードマスター(TENSCODE、DD VETENCD)から取得し、店所マスター(VKTENMS)は読むだけで使っていない(★No.6)。 RDTENS の VETENAME が LSS0050 の返す店名と同じものか確認する。

処理フロー

プロパティ一覧

No 区分 セル 指摘内容 正しい内容・対応案
PR-1 【漏れ】 P5(ステップフラグ) 初期値と設定元(起動パラメータか、ジョブ定義か)が無い。メイン処理(行20)は "STEP2" と比べているが、値の取り方が設計書から分からない。 設定元と取り得る値("STEP1"/"STEP2")を記載する。
PR-2 【誤り・重大】 AV27(全送状ワークデータリスト:ER図=3) 0610 定義の ER図・SQL No.3 は WHERE SDTADTID = '00'、つまり見出しだけを取るSQL。STEP1(JCL No.8)では明細が1件も読まれず、明細行・小計・合計が一切出ない。 全レコードを、JCL No.5 と同じ並び順で取るSQLを指定する(並び順は T10-2)。
PR-3 【要確認】 AV28(全送状ワークデータ2リスト:ER図=1) DAISEQ4J_062STD のテーブル定義が添付されておらず、ER図 No.1 の中身(並び順)を確認できない。 0610 と同じく、JCL No.5 の並び順で全件を取ることを確認する。
PR-4 【漏れ】 A27〜(データ) 印刷照会マスターの取得定義が無い(CL-1)。 キー(配信店4桁+発行年月日6桁)で取得する定義を追加する。

メソッド一覧

No 区分 セル 指摘内容 対応案
ML-1 【漏れ】 C4〜C32(メソッド名)、AI4〜AI32(機能説明) すべて空欄。そのため、メソッド詳細のメソッド名欄(AQ列)もほとんど空になっている(No.4・No.5 だけ直接記入)。 メソッド名と機能説明を記入する。
ML-2 【誤り】 A35〜A36 No. が 32 から 35 に飛んでいる(33・34 が欠番)。 番号を連続させる(軽微)。

メソッド詳細

共通(構造にかかわる指摘)

MD-0-1 【誤り・重大】印刷順(L2)の区切りが無い

現行の印刷順は「請求先+データIDの十の位+区分(SDTASPA1/明細では SDTBPSEQ)」で区切ります(3.4、5.4)。例えば次のとき、区切りごとに改ページし、ページ小計・元払計・着払計・元着計を出します(5.8)。

  • 同じ請求先の中で、送り状計上(01)→ 付替(21)→ 訂正(31)とデータIDの十の位が変わったとき
  • 区分ごとに小計を出す請求先で、区分(SDTBPSEQ)が変わったとき

移行設計(No.2 送状印刷ループ処理)は、見出しレコード(ID 00)が来たときだけ区切りを判定しています(行124〜371)。明細の区分やデータIDの変化では区切らないため、次の問題が起きます。

  • 区分ごとの改ページ・区分計が出ない。
  • 総合計の出力条件(5.8.4。終わった印刷順の十の位が0で、区分が LOW値でない、など)も判定できない(MD-2-7)。
  • 見出しを持たない請求先の明細は、現行では明細不要(OUT_SW=1)として読み飛ばされる(★No.2)。移行設計では、直前の請求先の請求書に混ざって出力される。

対応案:現行の3段のキー(KEY0 配信店/KEY1 請求先/KEY2 印刷順)による区切りを、すべてのレコードで判定する構造にする。

MD-0-2 【誤り・重大】旧書式・新書式を STEP1・STEP2 で出し分けている

移行設計は、ステップ2フラグで次のように切り替えています。

移行設計 内容
STEP1(0610 → 0635) 見出しは DTID "1"・"2"(旧書式)だけ
STEP2(062S → 0700) 見出しは DTID "5"・"6"(新書式)だけ

該当箇所は No.3 の行771〜789、No.4・No.5、DB更新仕様の各見出しレコードです。

現行の DTID 1・2 と 5・6 は旧書式と新書式の違いで、どちらの実行(JCL No.8 と No.12)でも両方を出力します(5.6)。後続の KS60151・KS60152 は、両方の書式の見出しがある前提です。

対応案:ステップの違いは入出力テーブルの切替えだけにする。どちらのステップでも、旧書式(行番号・ページ、40行で改ページ)の見出し DTID 1・2 と、新書式(新行番号・新ページ、33行で改ページ)の見出し DTID 5・6 の両方を出す。

MD-0-3 【誤り・重大】明細の値を見出しの列(SDTA〜)から取っている

No.17〜20(明細解析)は、どのデータIDでも、エンティティの SDTAUNTI、SDTARYOK、SDTATTAX、SDTAATAX、SDTAHOKR、SDTAAAAA、SDTASQNO、SDTAHYMD、SDTASHTN、SDTACKTT、SDTAKKKK、SDTAJIKB など、見出し(SQALLHED)の列から値を取っています。

0610 は5レイアウトの列を1行に並べたテーブルなので、明細の行では SDTA〜 の列は空(またはヘッダーとは別の内容)です。現行が明細ごとに使っている列は次のとおりです。

データID 現行が使う列(6.3、7章)
01・21・31・95(送り状明細) SDTBUUNN、SDTBWAHA〜SDTBETCC、SDTBEENN、SDTBWARI、SDTBTATE、SDTBRONN、SDTBBTAX、SDTBKOSU、SDTBKKGG、SDTBOKRN、SDTBMOCH、SDTBYYMD、SDTBNIAD、SDTBNINA、SDTBTENS、SDTBCHCD、SDTBTELL、SDTBSEKU、SDTBTANO、SDTBRECT
02(デパート回収計上) SSALMAIS、SSALUNCN、SSALRYOK、SSALDASO、SSALDABT、SSALHOKE、SSALWARI、SSALDARO、SSALUKTE、SSALUKYM
22・33(一括付替・訂正) SDTCUNCH、SDTCUNZK、SDTCTTTN、SDTCTETU
45・55・65(POSメイト等) SDTDUNCH、SDTDSONO、SDTDUNZK、SDTDSEHA、SDTDYYYY、SDTDSENO

個別の誤りは MD-17〜MD-20 に挙げます。どのレコードがどのレイアウトかの判定方法(REC_TYPE の利用)は、KS60130 レビューの指摘(共通位置の項目)と同じ問題です。

MD-0-4 【誤り・重大】配信店(L0)の区切りと印刷照会マスターの処理が無い

  • 現行は、配信店が変わるたびに次を行います。
    • 印刷照会マスターを読む。該当が無ければクリアしてキーだけ設定する。
    • 連番を0にする。
    • 配信店の終わりに、マスターの値+今回の加算分を SQUPSEQ に1件出力する(5.3、6.5)。
  • 移行設計は、配信店の区切りが無い。連番もリセットしない。照会マスター更新連携レコードを請求先ごとに出力し(No.2 の行256・582)、マスターの既存値も持たない(No.11、DB-8)。

No.1 メイン処理

No 区分 行 指摘内容 正しい内容・対応案
MD-1-1 【要確認】 行52〜56 入力0件のとき、"INPUT COUNT = 0" を出して正常終了する。 現行は0件でも ***** CNT = 0、***** IN HED DATA ONLY CNT =0 を表示する。運用で監視しているメッセージなら合わせる。
MD-1-2 【要確認】 行602〜609(No.2) 終了時のメッセージが現行(8章)と違う。HED DATA ONLY の件数(現行メッセージ No.4)も無い。 ジョブログを監視の対象にしているなら現行に合わせる。

No.2 送状印刷ループ処理

No 区分 行 指摘内容 正しい内容・対応案
MD-2-1 【誤り】 行496〜500 入力の終わりの着払計(データID "2")に「明細集計バケット(区間).元方向」を渡している(ループ内の行169は「着方向」)。最後の請求先の着払計が元払計と同じ値になる。 「.着方向」
MD-2-2 【誤り】 行182 と 行512 検品料(95)の集約内容が、ループ内とループ後で違う。ループ内は「運賃・集配料・航送料・代引手数料」、ループ後は「運賃・集配料・割増料・航送料・代引手数料」。 現行は SONN ← SONN+UNCN+SHUH+KOSO+DAIT(DAIT は転嫁料。2008.09.01 に代引手数料欄から変更)で、各欄は0にする(6.4)。表現をそろえ、「代引手数料」は「転嫁料」に直す。
MD-2-3 【誤り】 行148・行478 HED DATA ONLY SQNO の請求先番号を「データ.全送状ワークデータ.SDTASQNO」から取っている。 終わった請求先の番号(変数.現ヘッダー)を使う。
MD-2-4 【誤り・重大】 行304〜305、行354〜356 請求先が変わっても頁番号・新頁番号を0に戻さず、+1 し続ける。連番も配信店で0に戻さない(MD-0-4)。 現行は請求先の開始時に PAGENO・NEWPAGE ← 0(src L441・443)、配信店の開始時に RENBAN ← 0(src L420)。そうしないと、出力キーのページ、SEQPAGS の枚数(PAGSPAGE)、照会マスターのページ数がすべて累積値になる。
MD-2-5 【誤り】 行403〜443 「行番号 >= 40 または 新行番号 >= 33」のとき、毎回ページ小計を出し、頁番号を +1 し、両書式の見出しを出している(行419 の頁番号 +1 は無条件)。 現行の動きは次のとおり(5.6)。
・ページ小計を出すのは新書式の改ページ(NEWLINE ≧ 33)のときだけ。
・旧書式の改ページ(LINENO ≧ 40)では PAGENO+1 と旧見出し(DTID 1・2)だけ。
・新書式の改ページでは NEWPAGE+1 と新見出し(DTID 5・6)だけ。
MD-2-6 【漏れ】 行153、行483 印刷順(請求先)の終わりにページ小計を出していない(ページ計を区間計に足すだけ)。 現行は印刷順の終わりに、ページ小計(DTID 3、SKIP=41-LINENO、NSKP=34-NEWLINE、NLIN 90/91)を出してから区分計を出す(5.8.2)。行番号が0のときの +1 補正(99/12/27)も必要。
MD-2-7 【誤り】 行241、行568 総合計の条件が現行と違う。
・区分の先頭の比較が <> '\1' になっている(現行は LOW(1)=X'00'、src L1381)。
・比べているのが見出しの SDTASPA1 で、終わった印刷順の区分(OKEY25)ではない。
・「終わった印刷順の十の位 = 0」と「次のレコードの条件」(5.8.4 ②)が無い。
5.8.4 の条件を再現する(MD-0-1 の印刷順区切りが前提)。
MD-2-8 【漏れ】 行241〜252、行568〜578 総合計まわりの次の処理が無い。
・区分計が1件以下のとき、元着計の出力区分を '0' にして総合計として扱う処理。
・区分計が2件以上のとき、総合計の前に新書式の改ページ見出し(DTID 5・6、行 98/99、NEWPAGE+1)を出す処理。
5.8.4 ③ を追加する。
MD-2-9 【誤り】 行149・行479 発行区分 '9'(明細不要)の請求先でも、明細出力有無が false のまま次の見出しに来るため「HED DATA ONLY」として連番を −1 している。この請求先では連番を +1 していない(行348〜354 で先にスキップ)ので、連番が1ずつずれる。 現行は OUT_SW ≠ 1 の場合だけ(5.8.1)。発行区分 '9' を除く。
MD-2-10 【誤り】 行198 と 行528 区分計の出力件数を、ループ内では +4、ループ後では +3 と数えている(出力は3件)。 +3(ページ小計を出すなら、その分も数える)。

No.3 ヘッダーレコード登録

No 区分 行 指摘内容 正しい内容・対応案
MD-3-1 【誤り】 行722〜725(年月解決) 出力キーの先頭(配信月日)に、年月分 SDTAYYMM(年月)か処理日付を入れている(No.23)。 現行の MMDD は発行年月日 SDTAHYMD の3〜6桁(月日)(5.5)。キーの先頭なので、値が変わると並び順と後続の振分けが変わる。No.6・7・8・10 も同じ。
MD-3-2 【誤り】 行771〜789 データID1・2 をステップで "5"・"6" か "1"・"2" に決めている(MD-0-2)。 両書式を出す。
MD-3-3 【誤り】 行1277〜1293 SDTAZKIN・SDTAZKI1 を「前回精算金額」(数値型)として扱っている。 0610 定義では SDTAZKIN=消費税表示区分、SDTAZKI1=消費税総額計算区分(各1桁)。現行は見出し1の SQHAZKKB・SQHAZKK1(税区分)に入れている(src L1573)。
MD-3-4 【誤り】 行911〜919、行1237〜1245 「請求・精算区分」に出力形態 SDTAPKEI を入れている(見出し1の SQHASSKB に当たる)。 現行は SQHASSKB ← 1(固定、src L1570)。
MD-3-5 【漏れ】 - 見出し2の区分表示 SQHBSQKB を設定していない(DB更新仕様でも「設定無し」)。 現行は印刷順の先頭で、区分の先頭10桁を入れる。ただし出力区分 '1' なら空白、検品料なら '検品料'(src L583〜588・646)。
MD-3-6 【要確認】 行847〜865 発行店名を RDTENS の VETENAME(キー SDTAHHTN)から取る(CL-3)。 -

No.4 見出しレコード登録(ステップ2)/No.5 見出しレコード登録(ステップ1)

No 区分 行 指摘内容 正しい内容・対応案
MD-4-1 【誤り】 行1642・行1647(No.4)、行1731(No.5) 検品料のとき登録件数を 0 に戻してから数え直している。No.4 は最後に「登録件数 ← 登録件数 + 登録件数」としている。実際の4件と戻り値が合わない。 0 に戻す処理と倍にする処理を削除し、+1 を4回にする。
MD-4-2 【誤り】 No.4・No.5 全体 鑑(請求額・住所・口座)を、毎回の見出し2に付けている(DB更新仕様でも常に設定)。 現行の鑑は、請求先の最初の新書式の見出し2(DTID 6)だけ(466バイト)。旧書式の見出し2(DTID 2)や2回目以降の見出しは 126 バイトで鑑なし(5.6 (2))。
MD-4-3 【誤り】 - 検品料の追加見出し(DTID 3・4)を、ステップの書式に合わせて出している。 現行は旧書式の見出しの直後にだけ出す(5.6)。

No.6 明細レコード登録

No 区分 行 指摘内容 正しい内容・対応案
MD-6-1 【誤り】 行1982 備考区分3の備考を「訂正変更区分(2) & 受付店・配達店(4) & "0000"」としている。後半が固定値。 現行は SQHCTSKB(2)+SQHCTENS(4桁)+(SDTBKKRO+SDTBKISH)(4桁)。距離の合計を入れる(7.5)。
MD-6-2 【誤り】 行1986〜1988 備考区分4で、検品個数を常に 0 にし、「"( " & 5文字目 & ")KKKK"」としている。いつも「( 0)KKKK」になる。 現行は軽油引取税の転嫁分 SDTBCHOS を、金額の桁数に応じて '( nnnnn)KKKK' 等の形に編集する(7.5、★No.10)。
MD-6-3 【誤り】 行1819〜1822 配信月日を年月解決で作っている(MD-3-1)。 発行年月日の月日。
MD-6-4 【要確認】 行1823〜1830 明細の店所コードを「解析済明細レコード.店所コード」から作っている。送り状明細では見出しの SDTASHTN(MD-17-4)、それ以外では空白(MD-18〜20)。 現行の SQHCTNCD は SDTBSEHT(1〜4バイト目の配信店。全レイアウト共通位置で、1025→1001 の読替え後)。

No.7 ページ小計レコード登録

No 区分 行 指摘内容 正しい内容・対応案
MD-7-1 【誤り】 引数(行2122〜2130) 新行番号を引数に持たないため、印刷順の終わりのページ小計の NSKP(34-NEWLINE)が作れない(MD-2-6)。 新行番号を引数に追加する。途中改ページと印刷順の終わりで SKIP・NSKP を分ける。
MD-7-2 【誤り】 行2148〜2150 検品料の集約の説明が「代引手数料」になっている(MD-2-2)。 「転嫁料(DAIT)」

No.8 集計行レコード登録

区分計の行番号(98/99)と、SKIP・NSKP(元払計 41-LINENO/34-NEWLINE、着払計 00/34-NEWLINE、元着計 00/00)は、現行と一致しています。区分の項目(SQHDSQKB)は DB-6 を参照してください。

No.9 顧客識別キー構築

No 区分 行 指摘内容 正しい内容・対応案
MD-9-1 【誤り】 行2446〜2476 変数「請求・精算書発行店」を宣言しているが値を設定していない。キーが「空文字+顧客名5桁+請求書NO」になり、配信店が入らない。 現行の KEY1 は、配信店(1025→1001 読替え後)+SDTAKKKK の先頭5桁+請求先番号(3.4)。
MD-9-2 【誤り】 行2442(戻り値) 戻り値が「1(正常登録)(数値型)」になっている(キー文字列を返す処理)。 文字型(顧客識別キー)。

No.10 合計明細レコード登録処理

No 区分 行 指摘内容 正しい内容・対応案
MD-10-1 【誤り】 行2510〜2512 総合計にも検品料(95)の集約をかけている。 現行は総合計・元払計・着払計には集約をかけない(6.4、★No.4)。
MD-10-2 【誤り】 行2550〜2551 「特殊店所コード正規化.戻り値」を使っているが、このメソッドの中で正規化を呼んでいない。 正規化の呼出しを追加する。

No.11 照会マスター更新連携レコード登録

No 区分 行 指摘内容 正しい内容・対応案
MD-11-1 【誤り・重大】 全体 請求先ごとに、マスターを読まずに新しいレコードを1件作っている(MD-0-4)。 現行の手順は次のとおり。
・配信店ごとに印刷照会マスターを読む。
・印刷データを出した請求先ごとに SEQTSTNI(1)+1、SEQTSTPG(1)+旧ページ数、SEQTSTNP+新ページ数を加算し、明細1行ごとに SEQTSTME(1)+1 を加算する。
・配信店の終わりに1件出力する。
MD-11-2 【誤り】 引数(行2615〜2619) No.2 からは「明細集計バケット(区間)」と「連番」も渡されているが、引数の定義に無い(行256〜263、582〜589)。 呼出しと定義をそろえる。

No.12 ページレコード登録

No 区分 行 指摘内容 正しい内容・対応案
MD-12-1 【誤り】 行2677 「頁番号」が変数欄で IN になっている(引数欄の誤記)。 不要なら削除する。
  • 出力の内容(請求先番号・発行年月日・新ページ数)は現行と一致しています。ただし、新ページ数が累積値になる問題は MD-2-4 を参照してください。

No.13 ステップ2レコード変換/No.14 ステップ1レコード変換

No 区分 行 指摘内容 正しい内容・対応案
MD-13-1 【誤り】 行2739〜2741、行2773〜2775 データ区分を SDTADTID(見出しの列)から取っている。明細の行では SDTADTID が空なので、データ区分が設定されない。それでもリストには追加している。 0610 の REC_TYPE(または各レイアウトのデータIDの列)から取る。
MD-13-2 【誤り】 行2735、行2769 請求入力レコードをループの外で1回だけ初期化し、同じオブジェクトをリストに追加し続けている。リストの全要素が同じオブジェクト(最後のレコード)を指してしまう。 ループの中で毎回新しく作る。

No.15 明細レコード解析/No.16 表示パターン有効判定

  • データIDでの振分け(01・21・31・95/02/22・33/45・55・65)は、現行と一致しています。
  • No.16 は、パターンの文字が '0' と空白以外なら有効とする判定です。現行は数字項目 HYOJI_PTN(n) が 0 以外かどうかなので、実質同じです。

No.17 通常送状明細(SQALLDTB)解析

No 区分 行 指摘内容 現行の仕様(6.3、7章)
MD-17-1 【誤り・重大】 行2971〜3098 基本の運賃を見出しの SDTAUNTI、料金を SDTARYOK から取っている。割増・手数料・集配料など12項目は 0 のままで、どの列からも値を取っていない。その後、行3094〜3098 で集配料・割増料などを 0 に戻している。 運賃欄=SDTBUUNN+(パターンで運賃欄に振り分けた料金)+SDTBTECH+SDTBWARI。料金の元は SDTBWAHA、WACH、WAFU、TECH、TERE、TESO、SHSH、HHAI、KOSO、CHOS、KONP、YUDO、ETCC。
MD-17-2 【誤り】 行3053〜3055 「料金計 <> その他料金ならその他料金 ← 料金計」としている(条件が無く、しかも行3098 で 0 に戻している)。 現行は SDTBRECT(着払区分)= 1 の場合だけ、割増等12項目を 0 にし、SDTBETCC ← SDTBRYKE とする(7.1、src L818)。
MD-17-3 【誤り】 行3192、行3240 「航送料 ← 航送料 + 航送料」「その他料金 ← その他料金 + その他料金」と、同じ変数を足している。 入力の料金(SDTBKOSO、SDTBETCC)を各欄に足す。
MD-17-4 【誤り】 行3196〜3206 パターン(10) の対象が「着払手数料 → 代引手数料欄」になっている。 パターン(10) は転嫁料 SDTBCHOS。0 なら転嫁料欄(DAIB)、0以外なら運賃欄(7.2)。
MD-17-5 【誤り】 行3244〜3266 歩引額(生値)を 0 固定にしている。割引欄も運賃への加算も常に 0。 割引欄=歩引前表示なら 0、それ以外は SDTBWARI ×(−1)。運賃には SDTBWARI を加算(★No.3)。
MD-17-6 【誤り】 行3268〜3292 消費税を見出しの SDTATTAX・SDTAATAX から取っている。 税欄は、歩引前表示なら SDTBBTAX、それ以外は SDTBRONN。
MD-17-7 【誤り】 行3296〜3297、行3302 個数・重量・保険料を 0 にしている。 個数 SDTBKOSU、重量 SDTBKKGG、保険料 SDTBEENN。
MD-17-8 【誤り】 行3313〜3315 送り状NO ← SDTASQNO(請求書NO)、作業年月日 ← SDTAHYMD(発行年月日)、店所コード ← SDTASHTN としている。 送り状番号 SDTBOKRN、月日 SDTBYYMD の下4桁、配信店 SDTBSEHT。
MD-17-9 【誤り】 行3326〜3332 元着区分・宛先名称・取引先名称・受付店・配達店・発地着地コード・着荷主電話番号をすべて null にしている。 元着区分 SDTBMOCH(元払・着払の集計に必要)、地名 SDTBNIAD、名称 SDTBNINA、店 SDTBTENS、地名コード SDTBCHCD、電話 SDTBTELL(検品料は SDTBTANO の1〜10桁)。
MD-17-10 【漏れ】 - SDTBTATE(立替金)、SDTBSEKU・SDTBTANO(備考の元)の取得が無い。 立替欄 SQHCTATE = SDTBTATE。

No.18 一括精算明細(SDPSQALA)解析(データID 02)

No 区分 行 指摘内容 現行の仕様
MD-18-1 【誤り】 行3387〜3699 運賃・料金・保険料・歩引・消費税・請求NO・日付・店を、見出しの列(SDTA〜)から取っている(MD-0-3)。 個数 SSALMAIS、運賃 SSALUNCN+SSALRYOK、転嫁料欄 SSALDASO+SSALDABT、保険料 SSALHOKE、割引 SSALWARI、税 SSALDARO、店 SSALUKTE、月日 SSALUKYM の下4桁。
MD-18-2 【誤り】 行3706 代引手数料(転嫁料欄)に「再計算済消費税」を入れている。 SSALDASO+SSALDABT

No.19 一括訂正・付替明細(SQALLDTC)解析(データID 22・33)

No 区分 行 指摘内容 現行の仕様
MD-19-1 【誤り】 行3781〜3946 運賃・消費税・請求NO・日付・店を見出しの列から取っている。 運賃 SDTCUNCH、税 SDTCUNZK、店 SDTCTTTN、月日 SDTCTETU の下4桁。
MD-19-2 【誤り】 行3950〜3960 明細行集計メトリクスに運賃を設定していない(運賃が集計されない)。 運賃 ← SDTCUNCH
MD-19-3 【誤り】 行3962〜3985 '一括訂正'/'一括付替' を宛先名称に入れた直後(行3985)に、解析済明細レコードの宛先名称をスペース(12)で上書きしている。 地名欄 SQHCCHNM に '一括付替'(22)/'一括訂正'(33)を入れる。

No.20 使用料明細(SQALLDTD)解析(データID 45・55・65)

No 区分 行 指摘内容 現行の仕様
MD-20-1 【誤り】 行4061〜4241 運賃・その他料金・消費税・日付を見出しの列から取っている。 運賃 SDTDUNCH、その他 SDTDSONO、税 SDTDUNZK、店 SDTDSEHA、月日 SDTDYYYY の下4桁。
MD-20-2 【誤り】 行4282 元着区分に「荷主の事業区分」を入れている。元払・着払の集計(MOP/CHP)に紛れ込む。 送り状明細以外は元着区分を設定しない(元着計 GOP にだけ加算)。
MD-20-3 【誤り】 行4267 ID 65 の名称が半角の "サポートⅡ " になっている。 現行は全角の 'サポートⅡ '(src L1034)。

No.21 KS45取引先名称解決

No 区分 行 指摘内容 正しい内容
MD-21-1 【誤り】 行4322 荷主コード ← 請求書NO ÷ 10000。8桁以上の値になり、17荷主のどれとも一致しない(常に「システム使用料」になる)。 現行は請求先番号(SDTDSENO)を12桁の数字にして先頭7桁(NINUCD1、src L995)。数値で書くなら「(請求書NO mod 10^12) ÷ 10^5 の整数部」。
  • 17荷主のコード、"CP使用料 "、"システム使用料 "、"** FAXサ-ビス **" は現行と一致しています。

No.22〜29

No 区分 行 指摘内容 対応案
MD-23-1 【誤り】 行4368〜4420(No.23 年月解決処理) 年月(YYMM)か処理日付から4桁を作っている(MD-3-1)。 発行年月日の月日(MMDD)を返す処理にする。
MD-0-5 【漏れ】 - 入力の前編集(5.2 (1))が無い。区分 SDTASPA1 の11桁目が 'X'・'Y' なら空白、'V' なら7〜11桁目を空白、'W' なら受付日付(パック9桁)を数字8桁に変換する(src L373〜376、L1093〜1096)。 印刷順のキーと区分表示に影響するので追加する。
MD-0-6 【要確認】 No.25 1025→1001 の読替えを、出力項目を作るときだけ行っている(現行は読込みごとにレコードの配信店自体を書き換え、区切りのキーにも使う)。 区切りのキー(MD-9-1)にも読替え後の値を使う。★No.1(1001 の配信店が2回処理される)の扱いも決める。
  • No.22(明細レコードサポート判定)、No.24(請求荷主名称解決)、No.26〜29(共通の変換処理)には指摘はありません。

DB更新仕様

No 区分 対象(行) 指摘内容 正しい内容・対応案
DB-1 【誤り】 見出し1(STEP1 行314〜、STEP2 行3〜) 次の3点が現行と違う。
・SDTAPKEI(請求・精算区分)に出力形態を入れている(MD-3-4)。
・SDTAZKIN・SDTAZKI1 を前回精算金額として設定し、税区分の列 SDTAZKKB・SDTAZKK1 は空のまま。
・OPAG(旧フォーマット頁番号)が「設定無し」。
SQHASSKB=1、SQHAZKKB/SQHAZKK1 ← SDTAZKIN/SDTAZKI1、SQHAOPAG ← PAGENO(src L1558〜1573)。
DB-2 【漏れ】 見出し2(行422 ほか) SQHBSQKB(区分表示)が「設定無し」(MD-3-5)。 -
DB-3 【誤り】 見出し2(行432〜448 ほか) 鑑の項目(郵便番号〜口座)を、すべての見出し2に設定している(MD-4-2)。 請求先の最初の新書式の見出し2だけ。
DB-4 【誤り】 検品料見出し(行492・577 ほか) NPAG(新頁番号)に「頁番号文字列」を入れている。 新ページ番号。
DB-5 【誤り】 明細(STEP1 行781〜804、STEP2 行703〜721) 明細の項目の設定が現行と違う。
・SQHCTATE(立替金)← 再計算済消費税(歩引含み)。現行は SDTBTATE(src L817)。
・SQHCMMDD ← 作業年月日(見出しの発行年月日)。現行は明細の日付の下4桁。
・SQHCWARI ← 歩引額(常に 0)。
・SQHCZIKN ← 「引数.税額」(No.6 に引数は無い。正しくは変数.税額)。
MD-17〜20 の値で設定する。
DB-6 【誤り】 ページ小計・集計行・合計明細(行886・1048・1133・1210・1295 ほか) SQHDSQKB(区分)に「変数.送状名称」(請求先名)を入れている。 現行は OKEY25(終わった印刷順の区分11桁、src L557・1204・1249 ほか)。
DB-7 【誤り】 ページ小計・集計行・合計明細(行885・1047・1130・1209・1292 ほか) SQHDSONT(その他立替金)に「再計算済消費税(歩引含み)」を入れている。 現行は TATE(立替金の集計、src L543・1190・1247 ほか)。
DB-8 【誤り・重大】 0642/0701(行1302〜1339) 照会マスター更新用データの作り方が現行と違う(MD-11-1)。
・請求先ごとに出力している。
・SEQTTNIK・SEQTTPAG・SEQTNTNI に値を入れている(現行は更新しない列)。
・マスターの既存値を引き継がない。
・0642 の定義にこれらの列が無い(T42-1)。
現行の更新列は SEQTSTNI(1)、SEQTSTPG(1)、SEQTSTME(1)、SEQTSTNP の4つだけ。ほかの列はマスターの値のまま、配信店ごとに1件出力する。
DB-9 【漏れ】 明細 STEP2(行654〜721) STEP1 にある SQHCOKNO、SQHCMCKB、SQHCMMDD、SQHCWARI、SQHCZIKN が無い。 STEP1 と同じ項目を設定する。
DB-10 【漏れ】 ページ小計 STEP2(行816〜888)、集計行 STEP2(行978〜1050) SQHDWARI、SQHDZIKN が無い(STEP1 にはある)。 追加する。
DB-11 【誤り】 集計行 STEP2(行1027) SQHCKOSU(個数)の編集内容が「引数.明細行集計メトリクス」で、項目名(.個数)が抜けている。 「.個数」を付ける。
DB-12 【誤り】 集計行 STEP1(行1129〜1132) 一部の項目が「変数.明細行集計メトリクス」になっている(同じ節のほかの項目は「引数.」)。 「引数.」にそろえる。
DB-13 【誤り】 ページ小計(行898・821) LINE に「変数.行番号」(No.7 で文字列にした値)をそのまま入れている。行番号が0のときの +1 補正が無い。 現行は SQHDLINE が 0 または NEWLINE が 0 のとき +1(5.8.2、キーの逆転防止)。
DB-14 【誤り】 検品料のページ小計・元着計 運賃・集配料・航送料・転嫁料をその他に合算したあと、各欄を0にすることが書かれていない。 合算した欄は0にする(6.4)。
DB-15 【誤り】 0646/0702(行1347〜1358) 項目名が「受付・配達請求書NO」「受付・配達年月日」になっている。 請求先番号・発行年月日(PAGSSQNO・PAGSHYMD)。
DB-16 【要確認】 0646/0702(行1347) PAGSSQNO(DECIMAL 12)に SDTASQNO(13桁)を入れている。 現行は PIC'(12)9' に代入し、上位1桁を切り捨てる。移行後も同じにするか決める。
DB-17 【要確認】 全体 システム項目(SYSCRDTS〜VERSION)と ID の設定値が無い。 共通部品で設定するのであれば、その旨を記載する。
DB-18 【漏れ】 全体 DATA_KBN("1"〜"7")の値の意味(見出し1、見出し2、明細、小計、検品料見出し…)の定義が無い(T35-5)。 コード表を記載する。

マッピング仕様

No 区分 指摘内容 対応案
MP-1 【要確認】 見出しだけで内容が空。 使わないのであれば「対象なし」と記載する。

処理フロー生成定義(非表示シート)

指摘はありません(メソッド詳細と同じ内容のため、メソッド詳細を直したら合わせて直してください)。


② テーブル定義 DAISEQ4J_0610TD(全送状ワークデータ)

更新履歴・DAISEQ4J_0610TD

No 区分 指摘内容 対応案
T10-1 【要確認】 定義は KS60130 のレビュー時と同じ。DECIMAL の桁数が空欄、SDTBNIAD の名称がカナ、REC_TYPE の設定元が無い、の各指摘がそのまま当てはまる。KS60144 はデータIDを SDTADTID から取っており、REC_TYPE を使っていない(MD-13-1)。 KS60130 レビューの T2-1・T2-2・DB-1 と合わせて直す。

ER図・SQL

No 区分 セル 指摘内容 正しい内容・対応案
T10-2 【誤り】 D16〜D23・D31〜D38(並び順) ORDER BY SDTAKKKK, SDTASQNO, SDTAYYMM, SDTADTID, SDTAKARI, SDTADPKB, SDTAHYMD, SDTACKTT は見出しの列だけで、明細の並びが決まらない。先頭キーの配信店も無い。KS60144 のキーの区切りはこの並びが前提。 JCL No.5 と同じ順(配信店・予備・請求先番号 → データIDの十の位 → 区分 → データIDの一の位 → 明細の年月日 → 元着区分・送り状番号)。
T10-3 【誤り・重大】 B24〜C29(No.3) 見出しは「全件取得」だが、WHERE SDTADTID = '00' で見出しだけを取っている。KS60144 はこの No.3 を入力に指定している(PR-2)。 KS60144 用には全件を取るSQLにする。見出しだけのSQLが必要なら、見出しの名前を直して別に定義する。

③ テーブル定義 DAISEQ4J_0635TD(請求明細印刷ワークデータ)

No 区分 No.(列) 指摘内容 正しい内容・対応案
T35-1 【誤り】 15・16(SDTAKYMD・SDTASYMD) NCHAR(8) になっている。 現行の SQHASYMD・SQHAEYMD は PIC'(6)9'。入力の 0610 も6桁。
T35-2 【誤り】 20・21(SDTAZKIN・SDTAZKI1) 「前回精算金額」DECIMAL(10) として定義している。現行の出力レイアウト(SQHAIDAA〜D)にこの項目は無い。 削除し、税区分は 23・24(SDTAZKKB・SDTAZKK1)を使う(DB-1)。
T35-3 【誤り】 56・59・60・61・62 明細・小計の運賃・保険料・その他を、見出しの名前の列(SDTAUNTI・SDTAHOKR・SDTARYOK・SDTAAAAA・SDTATTAX)で持っている。 現行の明細は SQHCUNCN・SQHCHOKN・SQHCSONN・SQHCWARI・SQHCZIKN、小計は SQHDUNCN・SQHDSHUH・SQHDKOSO・SQHDSONN・SQHDHOKN。後続の KS60151・KS60152 が読む列との対応を明確にする。
T35-4 【漏れ】 - どの DATA_KBN のレコードでどの列を使うかの対応表が無い(見出し1・見出し2・明細・小計で列を共用している)。 対応表を「テーブル説明」に記載する。
T35-5 【漏れ】 2(DATA_KBN) 値の定義(1〜7)が無い(DB-18)。 コード表を記載する。
T35-6 【要確認】 70(SQHCWARI) DECIMAL(9) になっている。 現行は FIXED(7)。桁を合わせるか確認する。

④ テーブル定義 DAISEQ4J_0642TD(請求明細アップデート連携ワーク)

No 区分 指摘内容 正しい内容・対応案
T42-1 【誤り・重大】 列が SQ21YYMM・SQ21TNCD・SQ21RENB・SQ21PAGE・SQ21LINE・SQ21DTID・SQ21FILL になっている。これは検品料の追加見出し(OUT21)のレイアウトで、0642(SQUPSEQ)の中身ではない。DB更新仕様(行1302〜1339)が書き込む SEQTENCD 等の列が存在しない。 現行の SQUPSEQ は印刷照会マスター(SQSSPRSK、120バイト)と同じレイアウト。SEQTENCD、SEQTFYMD、SEQTEQDT(2)(SEQTHNIK〜SEQTSTME)、SEQTSHNP、SEQTSTNP、SEQTNHNI、SEQTNTNI、SEQTNTNK の各列で定義し直す(現行解析MD 付録J)。

⑤ テーブル定義 DAISEQ4J_0646TD(請求明細ページワーク)

No 区分 No.(列) 指摘内容 正しい内容・対応案
T46-1 【誤り】 2(PAGSSQNO) 論理名が「ページシーケンス番号」になっている。 請求先番号(12桁)
T46-2 【要確認】 2(PAGSSQNO) DECIMAL(12) に、13桁の請求先番号を入れる(DB-16)。 -
  • PAGSHYMD(6桁)・PAGSPAGE(5桁)・PAGSSPAC(7桁)は、現行の SDAREA と一致しています。

参考A 現行と一致していることを確認した事項

対象 確認内容
入出力テーブルの切替え STEP1:0610 → 0635・0642・0646、STEP2:062S → 0700・0701・0702 は JCL No.8・No.12 と一致する。
発行区分 '9' 明細を出さない(見出し・明細・小計とも)。
改ページの行数 旧書式40行・新書式33行、明細のスキップ(ページ先頭 03)、検品料のスキップ 00。
区分計の行番号とスキップ 98(検品料)/99、元払計 41-行/34-新行、着払計 00/34-新行、元着計 00/00。総合計 SKIP 41・NLIN 99・NSKP 34。
1025→1001 の読替え 正規化処理の内容(No.25)。
明細行の訂正変更区分 21:'S'、31:'T'。
検品料の備考・電話番号 SDTBSEKU の1〜9桁+SDTBTANO の11〜13桁、電話は SDTBTANO の1〜10桁。
ID 45 の名称 CP使用料の17荷主のコード、"システム使用料 "、ID 55 の "** FAXサ-ビス **"。
見出し2の請求額(鑑) 歩引前表示なら運賃+歩引額・再計算済消費税、通常は運賃・消費税(7.4)。
見出しのみの請求先 明細が無いとき連番を1戻す(発行区分 '9' を除けば一致。MD-2-9)。
(1-1/3)