Magicエンジン > エンジン実行レベル > イベントレベル > 内部イベント一覧
[レコード書込]イベントは、データベースに現在のレコードの書き込みを行います。
通常、オンラインタスクでは、次のレコードに移動したり、タスクを終了することで、ユーザがそのレコードを抜けた場合に、Magicは現在のレコードの書き込みを行います。しかし、ユーザがタスクを終了する前にレコードを保存したい場合もあります。例えば、現在のレコードを印刷するために[印刷]ボタンを画面に追加したい場合などが考えられます。印刷対象として現在のレコードを含むようにする場合は、印刷処理が実行される前にレコードが書き込まれている必要があります。
これは、[レコード書込]の内部イベントを使用することで簡単に実現できます。
このイベントが発行されると、Magicエンジンは以下のような処理を実行します。
[レコード後]を実行します。
データベースにレコードを書き込みます。
データベースからレコードを読み直します。(キャッシュの指定内容にかかわらず。)
同じレコードの[レコード前]を実行します。
最初にパークしていたカラムにカーソルが移動します。
この内部イベントは、オンラインタスクでのみ有効です。
マルチユーザ環境での考慮事項
レコードが削除されたり、他のユーザによって変更された場合、カーソルは次のレコードにパークし、「レコードは失われました」というメッセージが表示されます。
レコードが範囲外の場合、そのレコードの位置付けに変更がない限り、画面上に表示が残ります。
インデックスが他のユーザによって変更され、レコードが書き込まれた場合、更新されたレコードで表示されます。
タスクレベルのトランザクション上で、修正されたレコード書き込まれた後ロールバックが実行されると、変更前のレコードが表示されます。
レコードレベルのトランザクション上で修正されたレコード書き込まれた後、ロールバックが実行されると、修正後のレコードが表示されます。
注意: |
|
デフォルトキーボード割付
なし
参照