用途
BAPI
は、発生する可能性があるすべてのエラーを記録、および分類することが可能でなければなりません。
すべての
BAPI に対して Return という名称のパラメータを登録する必要があります。このパラメータは、呼出元プログラムに例外メッセージまたは成功メッセージを返します。
BAPI
自体では、 (MESSAGE xnnn のように ) メッセージを開始することはできません。特に、強制終了または画面ダイアログボックスの生成はできません。その代わりに、すべてのメッセージは内部的に捕捉され、 Return パラメータで呼出元プログラムにレポートされなければなりません。このように処理しない場合は、 BAPI は正しく処理されず、コントロールが呼出元プログラムに返されない可能性があります。
BAPI
から返される可能性があるすべてのエラーメッセージ、およびその他どのようなメッセージでも、メッセージテーブル ( ツール → ABAP ワークベンチ → 開発 → プログラミング環境 → メッセージ ) に定義されていなければならず、またリターンパラメータの文書にも記述されていなければなりません。これは、アプリケーションプログラムに BAPI 経由で間接的に受渡される可能性がある、他のプログラムで生成される重要な、または一般的なエラーメッセージにも適用されます。
BAPI
インタフェースでは例外を使用することはできません。
強制終了メッセージ
( メッセージタイプ A) が開始されると、標準プログラミングモデルではデータベースロールバックが実行されます。つまり最後の COMMIT WORK 以降に実行されたすべてのタスクが取り消されます。 BAPI をプログラミングする場合、強制終了メッセージをリターンパラメータに設定する際に、同時にデータベースロールバックを実行することを推奨します。 Return パラメータの文書でこのプロセスを説明しなければなりません。タイプ E ( エラー )
のメッセージに対して、呼出元プログラムはエラー処理を実行します。
BAPI
コールからのエラーメッセージを診断し、処理するための 2 つのサービス BAPIがアプリケーション開発者に対して提供されています。
- BapiService.MessageGetDetail()
-
- は、
- BAPI
- エラーメッセージの短文および長文を表示します。
- BapiService.ApplicationLogGetDetail()
機能
EXPORT
は、以下のように導入することができます。
- 構造として。この場合汎用モジュールで
- のメソッドで定義されていなければなりません。
- テーブルとして。この場合汎用モジュールで
- パラメータとして定義されていなければなりません。
Return
パラメータを設定する前に、構造は CLEAR を使用して、またテーブルは REFRESH および CLEAR を使用して初期化します。
リターンパラメータが設定されない、または初期値に設定されない場合は、エラーが発生していないことを意味しています。
Return
リターンパラメータは、以下の参照構造ベースとして定義することができます。
-
- BAPIRET2
新しい
BAPI を開発するBAPI を開発する
場合は、この参照構造を使用しなければなりません。は、-
- BAPIRET1, BAPIRETURN
これらの参照構造は古い
BAPI ではまだ部分的に使用されています。
どちらの構造もログオン言語で設定されていなければなりません。
http://help.sap.com/saphelp_nw70/helpdata/JA/a5/3ec9f74ac011d1894e0000e829fbbd/content.htm