自動処理連続実行オプション利用時に途中の処理でエラーが発生した場合の挙動について
自動処理連続実行オプションによる複数の自動処理実行では、前段の自動処理が失敗した場合、後続の自動処理は実行されずにスキップされます。
「自動処理連続実行オプション」を利用して、1つのボタンに複数の自動処理を割り当てている場合、途中の処理でエラーが発生したり、「処理キャンセル」パーツによって結果が「失敗」と判定されたりすると、それ以降に控えている自動処理はすべて実行されない仕様となっています。
自動処理連続実行オプションにおけるエラー発生時の動作ルール
複数の自動処理(例:自動処理A → 自動処理B → 自動処理C)を連続して実行するように設定している場合、実行順序に基づき1つずつ処理が進みます。
この際、自動処理Aで何らかのエラーが発生すると、その時点で一連の動作が中断され、自動処理Bおよび自動処理Cは起動しません。
2つ目の自動処理でエラーが発生しても、正常に完了した1つ目の処理内容はデータベースに反映される
「自動処理A(成功)→ 自動処理B(失敗)」となった場合、自動処理Bは実行されませんが、すでに正常終了している自動処理Aによる「レコード更新」や「レコード登録」などの処理内容は、そのままデータベースに反映・保持されます。
連続実行として設定した一連の処理すべてがロールバック(取り消し)されるわけではありません。
エラーによる中断を防ぎ、複数の処理を確実に完遂させるための自動処理の構成案
特定の条件で後続の処理を止めたくない場合や、エラーが起きやすい処理がある場合は、以下の工夫を行うことで運用の安定性を高めることが可能です。
エラーの可能性が高いパーツを最後に配置する
ファイル生成やメール送信など、外部要因やデータ不備でエラーが起きやすいパーツを含む自動処理は、連続実行の最後に配置することで、主要なデータ更新(前段の処理)を確実に完了させることができます。
関連マニュアル
詳細な仕様の違いや作成手順については、下記記事をご確認ください。
自動処理を連続して実行した際の完了メッセージや仕様の詳細
連続実行時の処理順序や、実行単位(レコード単位・明細単位)が異なる処理を組み合わせた場合の挙動について詳しく解説しています。
自動処理連続実行オプション:仕様と完了時の表示
自動処理の実行単位による処理回数の違い
「レコード単位」と「明細単位」の自動処理を組み合わせる際の判断基準について記載されています。
自動処理設定:実行単位(レコード単位/明細単位)
(記事ID:2487)