使用する
バンドルを呼び出す
呼び出しのバンドルは、更新タスクで個々のBAPI呼び出しをバンドルすることにより、インスタンスBAPIのパフォーマンスを向上させます。個々のBAPI呼び出しは、更新タスクに到達するまでバンドルされないため、BAPIのプログラミングモデルは、更新モジュールの更新ロジックへの1つの変更を除いて、同じままです。
コールバンドリングを実現するには、次の3つのコンポーネントを変更および/または生成する必要があります。
-
各BAPIは、必要な整合性チェックと、番号の割り当てやロック管理などの組織的な操作を実行します。このアプリケーションロジックがエラーなしで渡された場合、更新モジュールはINUPDATETASKと呼ばれます。
-
更新モジュール:
プログラミングモデルの拡張には、更新モジュールが含まれます。具体的には、データベースアクセスが直接トリガーされなくなりました。代わりに、保留中のオプションが機能グループのメモリにバッファリングされ、フォームルーチンが間接的に「ONCOMMIT」と呼ばれます。これは、更新タスクの最後にすべての操作が実行されることを意味します。
-
フォームルーチン
フォームルーチンは、関数グループメモリ内のフラグ付き操作のセットを取得し、配列挿入などの手法を使用して、1回のデータベースアクセスのみで更新を実行します。
コールバンドリングに関連する3つのコンポーネントの構造は、次のように疑似コーディングで説明できます。
-
BAPI:
-
更新モジュール:
-
バンドルされた更新のフォームルーチン:
コールバンドリングの概念には、次の利点があります。
-
更新タスクはバンドル情報をバッファリングするため、BAPI自体はトランザクションです。
-
追跡可能な番号の割り当て。これは、一部のシナリオでは法的要件です。
-
一般的な更新によるパフォーマンスの向上。
-
BAPIは、他の変更なしでローカルプログラムで使用できます。
ただし、この概念の主な欠点は、サーバーの障害などの技術的な問題により、すべてのデータが失われることです。