プロジェクト

全般

プロフィール

レビュー指摘 #11937

未完了

KS60152指摘一覧

幸塚 和久 さんが15日前に追加. 8日前に更新.

ステータス:
新規
優先度:
通常
開始日:
期日:
進捗率:

0%

予定工数:
実開始日:
DD名:
INCLUDE:
DSN:
バグ区分:
QA分析:
方針(第一貨物):
実終了日:
ツールのバージョン:
AsIsSource行:
進捗計画:
設計・開発者:
画面ID:
機能区分:
機能ID:
レビュー指摘区分:
記述の仕方
検査完了日:
検査依頼日:

説明

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」

凡例

区分 意味
【重大な誤り】 現行と処理結果が変わり、出力の内容・有無に大きく影響するもの
【誤り】 現行と処理結果が変わるもの、または記述が明確に誤っているもの
  • 根拠は、ソースを「src L○○」、JCL を「JCL L○○」、ルールを「ルール X.Y」「ルール X.Y.Z」と書きます。
  • 指摘番号は、前回(KS60151・KS60152 の共通指摘と KS60152 単独の指摘)の番号を引き継いでいます。同じ事象をまとめたものや除外したものは欠番になっています。
  • 非表示シート(処理フロー生成定義)と処理フロー図(ルール 5.2 で省略可)は対象外です。

本件の前提

  • 帳票は1行133文字(ASA+132桁)に納めることを前提とし、帳票は帳票構造体(帳票構造体設計書、ルール 11.1〜11.3)で設計するものとします。
  • 帳票に関する指摘(出力方式、行レイアウト・桁位置・編集書式・SO/SI、見出し・計・明細・銀行欄など帳票の各項目の編集)は、この資料から除外しています。【重大な誤り】【誤り】は「KS60152_帳票_レビュー指摘.md」にまとめ、漏れ・要確認・軽微なものは記載していません。
  • MD-1-1(2行目の配信キーとキャッシュ)は、現行どおり(D-11 と A→X→A の挙動を再現する)とすることで決定済みです。
  • 出力ワークの事前削除は、バッチ設計書 DAISEQ4J の処理フローで行うため、指摘していません。

件数

資料 シート 重大な誤り 誤り 計
① プロパティ一覧 2 0 2
① メソッド詳細 3 4 7
① マッピング仕様 0 1 1
② DAISEQ4J_0700TD 2 1 3
合計 7 6 13

① クラス設計書 KS60152

プロパティ一覧

No 区分 セル 指摘内容 対応案
PR-3 【重大な誤り】 P19・P20(配信キー・配信店)、荷主キーキャッシュ 荷主キーが前回と同じなら前回の配信キー・配信店を使い、キャッシュを VKSYUPR の取得結果に関係なく更新するため、D-11 と A→X→A の挙動(確定仕様)を再現しない(MD-1-1 と同じ)。 「荷主キーキャッシュ」を「優先印刷キャッシュキー(最後に取得できた VKSYUPR のキー、初期値 null)」に改め、配信キー・出力先区分・自店所フラグ・配信店の備考に初期化の扱いと「現行の挙動を意図的に再現」を書く。
PR-4 【重大な誤り】 AY27(データ No.1「条件無し」)、メソッド詳細 行32・行40〜42 0700TD の取得に並び順が無い(T70-11 と同じ)。現行は KS60144P の出力順のまま読み、見出し1の前回キー比較・行カウンタ・改ページをこの順に頼っている(src L546、L568、L618、L2148)ので、順が崩れると帳票全体が崩れる(KS60151 PR-1・PR-4 と同じ)。 T70-11 の ORDER BY を使い、AY27 に並び順を書く。

メソッド詳細

No 区分 セル 指摘内容 対応案
MD-0-1 【重大な誤り】 No.1 行43〜75 行の種類を DATA_KBN("5"・"6"・"3"・"4")で判定している。KS60144 の設計は "5"・"6" を設定しない(見出しは "1"・"2")ので見出し1・2が処理されず、総合計("9")もどの分岐にも入らず「送り状合計」(src L1510〜L1511)が出ない(推測)。現行は SQHANLIN と SQHADTID で判定する(src L555〜L559、L713、L1263〜L1266、L1409〜L1413、L1852〜L1854。KS60151 MD-0-1 と同じ)。 見出し1=NLIN 00 かつ DTID 5、見出し2=NLIN 00 かつ DTID 6、検品計=NLIN 90・98 かつ DTID 3、通常計=NLIN 91・99 かつ DTID 3 または NLIN 99 かつ DTID 9、明細=それ以外の NLIN かつ DTID 0、それ以外は処理しない、とする。
MD-0-2 【重大な誤り】 No.1 行54〜72、No.4 行716〜774、No.5 行801〜891、No.7 行974〜1040 計・明細の処理に DTID の条件が無く、現行で印字しない元払計・着払計(DTID 1・2)などの行まで印字し、行カウンタも進む(src L1407・L1850・L2145 の ELSE ;)。No.7 は名前が「DTID=0」なのに判定が無い(KS60151 MD-0-2 と同じ)。 MD-0-1 の判定で振り分けるか、No.4・No.5・No.7 の冒頭に DTID の条件(No.4・No.5 は 3/9、No.7 は 0)を加える。
MD-0-3 【誤り】 行47〜49 見出し1処理のコールが「引数 見出し1処理 をコールする。」と崩れ、見出し1データを渡していない(ルール 2.17)。 「引数 請求明細配信データ(見出し1):変数.見出し1データ、分割出力制御リスト:変数.分割出力制御リスト」と書く。
MD-1-1 【重大な誤り】 行103〜133 確定仕様(現行どおり)と違い、見出し1のたびに配信キーを荷主キーに戻さず、キャッシュを VKSYUPR の取得結果に関係なく更新する(src L566〜L598)。KS601522 の2ページ目以降の2行目が集約代表コードになり、A→X→A の A が KS601521/523 でなく KS601522 に出る。 下の「MD-1-1 の確定仕様」の手順1〜6に書き直す(PR-3 も同じ)。
MD-1-2 【誤り】 行120 自店所フラグを「荷主区分 = ""」で判定しているため、UPRNASKB(CHAR(1))が空白の顧客でもフラグが "1" にならず、自店所出力の顧客まで KS601522 の店所CD が未収管理店に置き換わる(src L582、L692〜L693。KS60151 MD-1-5 と同じ)。 空白判定にする(MD-0-6)。
MD-7-2 【誤り】 行993〜995 元着区分ワークを元着区分 "1"・"2" のときだけ更新している。現行は明細ごとに無条件で更新する(src L1867)ため、元着区分 0 などの明細のあとの区分合計で、現行の「 元着別計」が「 元払い計」「 着払い計」になる。 「プロパティ.元着区分ワーク ← 変数.元着区分 をセット」(条件なし)に直す。
MD-14-2 【誤り】 行1965〜1968 第2銀行のキーに SQHBBAN1 をゼロ埋めせずに入れ(第1銀行は7桁ゼロ埋め、行1749)、取得するデータは「銀行マスター」、判定は「銀行マスター2の取得件数」で合わない(現行 src L61〜L63、L1063〜L1064)。 第2銀行も7桁ゼロ埋めにし、「データ.銀行マスター2を取得する」に直す。

MD-1-1 の確定仕様(2026-10-15 決定:現行どおり。src L561〜L601)

手順 処理
1 変数.荷主キー ← 請求書NO(12桁ゼロ埋め)の1〜7桁。プロパティ.配信キー ← 変数.荷主キー(見出し1のたびに条件なしで戻す)
2 プロパティ.優先印刷キャッシュキー = 変数.荷主キー の場合は何もしない(出力先区分・自店所フラグ・配信店は前回の値を使う)
3 2 以外の場合:出力先区分 ← "1"、自店所フラグ ← "0"
4 VKSYUPR を荷主キーで取得し、取得できたときだけ キャッシュキー ← 荷主キー、荷主区分[UPRNASKB] = "6" なら出力先区分 ← "0"、以外は "2"、荷主区分が半角空白なら自店所フラグ ← "1"
5 (手順3〜4と同じ分岐の中で)配信店 ← SQHATNCD。VKCORPO を取得できれば 配信キー ← CORPZAND、配信店 ← CORPZDTN
6 2行目126〜132桁 ← プロパティ.配信キー

マッピング仕様

No 区分 セル 指摘内容 対応案
MP-2 【誤り】 V121(集計行 No.11 SQHDKOSU) 合計の個数を明細の個数列 SQHCKOSU(DECIMAL(5))から取っており、99,999 を超えると入らない(現行 SQHDKOSU は FIXED(7)。T70-1 と同じ)。 T70-1 で設けた7桁の列から取る。

② テーブル定義 DAISEQ4J_0700TD(請求明細印刷ワークデータ ECOデリバリー版)

テーブル定義・ER図・SQL・DDL

No 区分 セル 指摘内容 対応案
T70-1 【誤り】 テーブル定義 A59(No.51 SQHCKOSU、DECIMAL(5)) 合計の個数(現行 SQHDKOSU FIXED(7)、SQHAIDAD)を明細の個数(FIXED(5))と共用しており、99,999 を超えると格納できない。 SQHCKOSU を DECIMAL(7) にするか、合計用の列 SQHDKOSU(DECIMAL(7))を追加する。
T70-3 【重大な誤り】 テーブル定義 No.20・21(SDTAZKIN・SDTAZKI1「前回精算金額」)、No.75・76(SQHAZKKB・SQHAZKK1) 現行のレイアウト(SQHAIDAA)に無い「前回精算金額」があり、KS60144 の設計が税区分をそこに入れるため(KS60144 DB-1・MD-3-3・T35-2)、KS60152 が読む No.75・76 の税区分が空になり、運賃・消費税・合計が変わる(src L703〜L704)。 SDTAZKIN・SDTAZKI1 を削除し、KS60144 の設計が No.75・76 に税区分を書くように合わせる。
T70-11 【重大な誤り】 ER図・SQL C5〜D8 SELECT * FROM DAISEQ4J_0700TD に ORDER BY が無い。現行は WORK0700 を書いた順に読み(src L546、L2148)、見出し1の前回キー比較・行カウンタ・改ページ・計の行の位置をこの順に頼っている(KS60151 T35-1 と同じ)。 KS60144 の書込み順を保証する ORDER BY(ID が書込み順なら ORDER BY ID)を付ける。

ファイル

KS60152_移行設計書_確認事項.md (15.9 KB) KS60152_移行設計書_確認事項.md [参考資料]確認事項 幸塚 和久, 2026-10-22 11:39 午前

他の形式にエクスポート: Atom PDF