レビュー指摘 #11910 » KS60144_移行設計書_レビュー指摘.md
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)。 |