 |
データ入力系に属する単票形式・伝票明細形式・グリッド一覧形式のテンプレートでは、データを登録・更新することを前提に構成されたテンプレートなので、特にトランザクション処理について気になさる必要はありません。メインテーブルの更新に付随する形であれば、トランザクションの開始から終了までの処理ロジックを自動的に生成します。
作表・更新系、画面問合せ系、検索モジュール、それとフリーフォーマットに関しては、必ずしもデータの更新を前提としないため、トランザクションの開始から終了までの処理ロジックは御自身でコーディングしていただく必要があります。
LLL/winでは、トランザクションに関係する関数として、[テーブルID]_BeginTrans、[テーブルID]_CommitTrans、[テーブルID]_RollBackが用意されています。また、CL_TranErrorという変数が用意されており、トランザクション中に再試行不可能なエラーが発生した際に自動的にTrueになります。これらを組み合わせることによってトランザクション処理を容易にコーディングすることができます。
記述例
担当マスタ(テーブルID:HATANM)のレコードを更新する
(更新処理開始時)
Call HATANM_BeginTrans
(更新処理終了時)
If CL_TranError Then
Msgbox "レコード更新失敗しました","更新処理"
Call HATANM_RollBack
ELSE
CALL HATANM_CommitTrans
End If
|