前提条件
BAPIメソッドは、少なくとも以下の条件が満たされている場合にのみ、非同期インターフェースとして実装する必要があります。
-
データベースの変更はすべてのシステムで一貫していますデータはローカルシステムとリモートシステムの両方で一貫して更新する必要があります。
-
緩い結合同期インターフェースでは、クライアントとサーバーシステム間の結合が狭すぎます。接続に失敗すると、クライアントシステムは正常に動作しなくなります。
-
パフォーマンスの負荷インターフェイスは頻繁に使用されるか、インターフェイスが大量のデータを処理します。パフォーマンスが低すぎるため、この状況では同期インターフェイスを使用できません。
SAPシステムで適切なBAPIが利用できない場合は、独自のBAPIを実装できます。IBU、パートナー、および顧客は、SAPが提供するBAPIを変更することもできます。BAPIの変更については、カスタマ拡張およびBAPIの変更を参照してください。
手順
BAPIの実装の詳細については、 『 BAPIプログラミングガイド』を参照してください。IBU、パートナー、および顧客は、独自の名前空間でBAPIを開発し、BAPIプログラミングガイドで定義されている特定のガイドラインに従う必要があります。
BAPIを非同期インターフェースとして実装する場合は、標準のプログラミングBAPIガイドラインに従うことに加えて、以下の情報に留意してください。
-
BAPIはCOMMITWORKコマンドを発行してはなりません。
-
BAPI戻りパラメーターは、参照構造BAPIRET2を使用する必要があります。
-
Returnパラメータを除くすべてのBAPIエクスポートパラメータは無視され、生成されるIDocには含まれません。
-
IDocを受信側システムで対応するBAPIコールに変換する汎用モジュールが呼び出された後、IDocのステータスレコードが書き込まれ、 Returnパラメータで送信されたメッセージがログに記録されます。
Returnパラメータのエントリの少なくとも1つで、 returnパラメータのTypeフィールドがA(中止)またはE(エラー)で埋められている場合、これは次のことを意味します。
-
タイプA:
ROLLBACK WORKが実行された後、ステータス51(エラー、アプリケーションドキュメントが転記されていません)がすべてのステータスレコードに書き込まれます。
-
タイプE:
ステータス51(エラー、アプリケーションドキュメントが転記されていません)がすべてのステータスレコードに書き込まれ、ROLLBACKWORKが実行されます。
それ以外の場合は、ステータス53(申請伝票転記)が書き込まれ、COMMITWORKが実行されます。
-