プロジェクト

全般

プロフィール

レビュー指摘 #11937 » KS60152_移行設計書_確認事項.md

[参考資料]確認事項 - 幸塚 和久, 2026-10-22 11:39 午前

 

KS60152 移行設計書 確認事項

項目 内容
対象資料 ① クラス設計書 KS60152「新請求書出力 ※電子帳票郵送依頼」(非表示シート・処理フローシートは対象外)
② テーブル定義 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 のER図欄) ER図番号がどの資料の 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 見出し1処理・見出し2処理・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(見出し2 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デリバリー版)

テーブル定義・ER図・SQL・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】 ER図・SQL 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)。 店所が無いときも同じ表示にするか、何も出さないかを決める。
    (1-1/1)