アダプターは、BAPI インターフェースを使用して BAPI 関数またはトランザクションを要求します。
要求は SAP システムに送信され、応答が戻されます。
アダプターは、以下のステップに従い、BAPI インターフェースの Outbound 処理に対応します。
注: BAPI 呼び出しを作成するクライアント・アプリケーションは、エンタープライズ・サービス・ディスカバリー・ウィザードにより生成されたインターフェース情報を使用します。
- アダプターは、BAPI ビジネス・オブジェクトが組み込まれた要求を、クライアント・アプリケーションから受け取ります。
- アダプターは、BAPI ビジネス・オブジェクトを SAP JCo 関数呼び出しに変換します。
- アダプターは Remote Function Call (RFC) インターフェースを使用して、SAP アプリケーション内で BAPI/RFC 関数呼び出しを実行します。
- アダプターは、データを SAP に渡した後、SAP からの応答を処理し、データをビジネス・オブジェクトに再変換します。
- ビジネス・オブジェクトは次に、呼び出し側コンポーネント (クライアント・アプリケーション) に送信されます。
BAPI トランザクション
アダプターは、BAPI トランザクションに対しては自動ロールバック・メカニズムを提供しません。BAPI トランザクションのロールバックは、次のいずれかの方法で実行することができます。
- アプリケーション固有の情報のシーケンスで明示的に COMMIT を指定しません。
いずれかの BAPI でエラーが発生した場合、
BAPI 呼び出しのシーケンスは強制終了され、BAPI_TRANSACTION_ROLLBACK が呼び出されます。
既に呼び出されている BAPI のいずれにも組み込みの COMMIT がない場合は、これ以上のステップは必要ありません。ほとんどの BAPI には、組み込みの COMMIT はありません。
- 既にコミットされた処理 (COMMIT が組み込まれた BAPI による処理の場合のように) を補正できる別の BAPI を呼び出します。
ローカル・トランザクション
アダプターは、BAPI インターフェースの J2C ローカル・トランザクションをサポートします。