Magicエンジン > エンジン実行レベル > レコードレベル
[レコード後]には、次のような処理を定義します。
バッチタスクの場合 データビューのレコードに関する処理
オンラインとブラウザタスクの場合
参照と変更が行われたレコードに関する処理
オンラインとブラウザタスクでは、レコードがユーザの入力などで変更されていない時には、普通、[レコード後]が実行されません。レコードが変更されていない場合にも[レコード後]を実行させたい場合には、[タスク特性]の[強制レコード後]特性で指定できます。
レコード終了処理
オンラインタスクやブラウザタスクではユーザが参照している各レコードについて、以下に説明する「レコード終了」処理が実行されます。また、バッチタスクでは、処理対象となる全レコードについて、[タスク特性]の[インデックス]で指定されたインデックスの順番あるいは[ソート]テーブルに指定された順番で、最初のレコードから最後のレコードまで、1レコードずつ処理が実行されます。
[レコード後]の処理が実行されます。
タスクがバッチタスクの場合、[レコード後]は常に実行されます。タスクがオンラインタスクの場合、現在の論理レコードが変更されている時に限って、[レコード後]が実行されます。現在のレコードは、次のような操作が行われた時、変更されたと解釈されます。
エンドユーザが、キーボードを使用して項目の値を編集した時。
[項目更新]処理コマンドにより、値が変更された時。
サブタスクの実行中に[項目更新]処理コマンドにより、値が変更された時。
[フォーム入力]処理コマンドにより、入力ファイルからデータが読み込まれた時。
[タスク特性]ダイアログの[強制レコード後]特性の値が「Yes」であるか、あるいは式が設定されていて、評価の結果「True」になった時。
レコードの削除が実行された時。
[レコード後]が完了すると、このレコードサイクル中に変更されたメインソースおよびリンクテーブルのレコードが全てディスクに保存されます。レコードが変更されなかった時には、ディスクへの保存は行われません。
参照