操作
レビュー指摘 #11937
未完了KS60152指摘一覧
開始日:
期日:
進捗率:
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)を付ける。 |
ファイル
操作