「楽楽販売」の自動処理において、実行単位を「明細単位」に設定している場合、システムは各明細行を1件の独立した処理として順次実行します。
処理キャンセルパーツの詳細設定で「このパーツ以前の処理はすべてキャンセルする」にチェックを入れている場合、そのパーツを通過したタイミングで、「現在処理を行っているその明細行」に対して行われた登録や更新などの処理内容のみが取り消し(ロールバック)されます。
この設定を行うことで、特定の条件に合致する明細行のみ処理を中断し、データの整合性を保つことが可能になります。
なお、その明細行の処理がキャンセルされたとしても、それより前に処理が完了している明細行や、その後に控えている明細行の処理には影響を与えず、自動処理自体は最後まで継続されます。
例えば、1つのレコードに6行の明細があり、3行目の処理中に「キャンセル設定」が有効な処理キャンセルパーツを通過した場合の挙動は以下の通りです。
1行目・2行目:既に処理が正常に完了しているため、そのまま確定されます。
3行目:処理キャンセルパーツを通過したため、この自動処理内で3行目に対して行われた「レコード更新」や「レコード登録」などの操作がすべて取り消されます。
4行目〜6行目:3行目のキャンセルに関わらず、引き続き自動処理が実行されます。
このように、明細単位の自動処理では「1行ごとに処理の確定とロールバックの判定」が行われるため、特定の行でエラーやキャンセルが発生しても、レコード全体の処理が止まることはありません。
処理キャンセルパーツで特定の明細行のみをロールバックさせるための具体的な設定手順は以下の通りです。
【設定箇所】 DB設定>機能設定>自動処理設定>[対象の自動処理]>自動処理パーツ設定>「処理キャンセル」パーツの詳細設定
詳細な仕様の違いや作成手順については、下記記事をご確認ください。
処理キャンセルパーツの基本的な役割や、キャンセル設定の有無による挙動の違いについて詳しく解説しています。
自動処理設定:「処理キャンセル」パーツ
自動処理を作成する際に選択する「実行単位」による処理回数やデータ構造の違いについて説明しています。
自動処理設定:実行単位(レコード単位/明细単位)
「楽楽販売」はお客様から頂戴したご意見・ご要望をもとに、
よりよく、寄り添う 販売管理クラウドを目指してまいります。
現在の仕様ではご希望の機能に対応しておりませんが、
お客様からの貴重なご意見として真摯に受け止め、今後の改善に役立ててまいります。
(記事ID:2610)