SAPステートフルコールを実行する
一部のBAPIリモート関数はデータベースの変更をコミットしますが、一部のコードにはコミットが実装されていません。デフォルトでは、OutSystemsはSAPリモート関数の呼び出しごとに新しいトランザクションを作成し、変更をコミットしてから終了します。
ただし、SAPリモート機能を同じトランザクションで複数回呼び出す必要がある場合があります。
これを実現するには、SAPのステートフルコールを管理するエクステンションモジュールが必要です。
SAP Extensibility APIを利用してエクステンションモジュールを作成する
- Forgeに移動し、SAPユーティリティコンポーネントを取得します。これは、SAP用のエクステンションモジュールと、ステートフルコールを処理するためのアクションを持つサンプルです。
- SAPUtilitiesエクステンションはSAP Extensibility APIを利用するため、こちらで説明されている要件に従ってエクステンションを設定します。
- エクステンションをパブリッシュします。
アプリケーションでエクステンションを使用する
アプリケーションにステートフルコールを実装するには、以下の手順を実行します。
- SAPUtilitiesエクステンションの以下のアクションに依存関係を追加します。
- BeginContext: SAPでステートフル接続を開始する。
- EndContext: SAPでステートフル接続を終了する。
- Commit: SAPのステートフル接続内で変更をコミットする。
- Rollback: SAPのステートフル接続内で変更をロールバックする。
- エクステンションのアクションとSAPリモート機能を組み合わせて使用し、ステートフルコールを実装します。