QA #1181
未完了
高橋 歩 さんが1年以上前に追加.
1年以上前に更新.
説明
プロパティ.委託マスター更新データは、型が「REABAT02_1020TD」なため、
一件のデータ(またはデータセット)を保持するためのものだと認識しています。
恐れ入りますが、なぜ件数分のループ処理が必要となるのか、教えていただけないでしょうか。
ファイル
関連するチケット
1 (0件未完了 — 1件完了)
- ステータス を 新規 から 作業中 に変更
- 担当者 を 柳川 岳志 から 高橋 歩 に変更
- AsIsSource行 を 仕様確認(処理) にセット
プロパティ.委託マスター更新データ(REABAT02_1020TD)は送り状単位のデータを保持するプロパティとなっています。
BS30070のバッチプログラムは、集配票NO・店所コード・集配区分が同じインデータの値をループ処理で集計し、更新データを作成しています。
当社の受付システムでは1つの集配票NOに複数の送り状NOが紐づくことから、上記のループ内で複数の送り状NOを集計するパターンが予想されます。
そのため、
①ループ内で集配票NOが同じ送り状のデータを集計し、プロパティ.委託マスター更新データに複数のレコードとして格納する。
②格納したレコードを230行目で1件ずつREABAT02_1020TD_委託マスター更新用データにINSERTする。
という処理を行う必要があると考え、プロパティ.委託マスター更新データの件数分ループさせる処理を取り入れました。
委託マスター更新データ周りの処理は現行ロジックから特に大きく変わっているため、設計上の不備や理解し辛い箇所が多く予想されます。
不明な点等がありましたら都度ご相談ください。
- ファイル clipboard-202504161519-kve4t.png を追加
- ステータス を 作業中 から 保留中 に変更
ご説明ありがとうございます。
なぜ件数分のループ処理が必要となるのか理解できました。

では、このループ処理について、
「プロパティ.委託NOマスタ枝番 ← プロパティ.委託NOマスタ枝番 + 1 をセット」をそのまま実行すると、
枝番は初期値「0」なので1ずつ増えていき、最終的にレコード件数の最大値がセットされると思います。
この処理は、想定されている挙動になっていますでしょうか?
その処理については想定の挙動となっています。
当該処理はVKTSITK_他社委託送り状NOマスターに既に登録されているレコードを更新するための処理であり、90行目で取得したレコードをプロパティ.委託マスター更新データにセットしています。
その後、136行目で呼び出される委託更新エリア加減算(ID毎)メソッドでプロパティ.委託マスター更新データの値を書き換え、ループを抜けた後にREABAT02_1020TD_委託マスター更新用データに登録する流れとなっています。
ご説明いただきありがとうございました。
処理の内容について頭の整理ができましたので、本件は解決とさせていただきます。
- 親チケット を #1179 から #373 に変更
他の形式にエクスポート: Atom
PDF