バッチタスクでは、[行削除]イベントが発行された場合、次のような削除処理がエンジンによって実行されます。
タスクの[初期モード]が「削除」の場合、削除モードで、[レコード後]が1回だけ実行されます。
タスクの[初期モード]が「削除」でない場合には、[タスク特性]ダイアログの[レコード削除]特性の値が評価され、「True」の場合、次のような処理が実行されます。
修正モードで、[レコード後]の処理が実行されます。これで、リポジトリの処理に定義されている更新処理が実行され、更新が行われます。
続いて、今度は削除モードで、再度、[レコード後]の処理が実行されます。これは、1対多のリレーションにより関係づけられているレコードなど、レコードの削除に関する処理を行うため、または、加算更新モードで更新を行うために必要です。
上記のように削除モードで[レコード後]の処理が実行されると、レコードに「削除済み」というマークが付けられます。レコードが修正されてから削除される場合には、同一のレコードに対して[レコード後]が2回実行されるので、1レコードに1回しか実行してはならない処理コマンドは、[条件]パラメータにStat()関数などを用いて、実行モードにより実行を制御するようにしてください。
[レコード後]が実行されると、メインソースとリンクテーブルの変更内容が保存されます。レコードに変更がない場合は、保存されません。
[タスク特性]の[チェック時期]特性が「A=後置」と設定されている場合、[タスク終了条件]特性が評価され、「True」ならばレコードループを終了させます。