内部エラー処理

SAP 内部エラー処理は、 に入ってくるトランザクションのプロセスモードに依存します。 SAP

このプロセスモードは、ZBC_INBPROGRAMSテーブルのBDCPR_MODE_ACTフィールドで維持されます。

  • プロセスモードがBDCの場合、ファンクションモジュールはバッチ入力マップを作成します。
  • プロセスモードがBAPIの場合、ファンクションモジュールはレコードをテーブルに格納します。 ZBC_BAPI_ADMIN プログラムを使用して、これらのエラーを再処理してください。

両方のプロセスモードにおいて、以下のアクションが実行されます

  • 指定された受信者に、エラーに関する必要な情報がすべて記載されたメールが送信されます。
  • レコードはログテーブルZBC_MSIFに書き込まれます。
  • RETURNテーブルは、Success - Message (RETURN-TYPE=S)のみを含むように操作されます。

バッチ入力マップ

バッチ入力マップには、受信セッションの記録が含まれています。 トランザクションコード sm35 を使用して、地図を確認し、誤ったデータを修正するか、不足しているデータを挿入してください。

マップの最後に、取引は SAP に投稿されます。

ZBC_BAPIADMINレポート

内部エラー処理プロセスでBAPIを使用してデータを SAP にポストする場合、エラーが発生すると、レコードが特定のテーブルに書き込まれます。 すべてのプロセスは、メッセージ、インデックス、エラーに関する情報を含むエントリをテーブルZBC_BAPIADMINに書き込みます。 データ自体はインデックス値によって参照される「プロセス固有」のテーブルに書き込まれます。 例えば、作業指示エラーデータはZBC_BAPI_WORKORに、予約エラーデータはZBC_BAPI_RESERVに書き込まれます。 これらのテーブルは、 SAP にデータを送信するために使用された構造と一致しています。

ZBC_BAPIADMINレポートを使用して、これらのレコードを再処理します。

ZBC_BAPIADMINレポートの設定

このレポートの最初の画面は選択画面であり、テーブルZBC_BAPIADMINのエントリをフィルタリングして表示することができます。

次の画面では、ZBC_BAPI_ADMINで選択されたすべてのエントリが表示されます。

エントリをダブルクリックすると、プロセス固有のテーブルにジャンプし、そこでデータ(一部のキーフィールドを除く)を変更したり、レコードを再処理または削除したりすることができます。

レコードを再処理すると、後続のエラーが発生した場合にヘッダー行のメッセージが更新されます。 レコードが正常に再処理された場合(または手動で削除された場合)、レコードはテーブルから削除され、プログラムはメッセージリストを表示する前の画面に戻ります。

ZBC_BAPI_XXXX プロセス固有テーブル

すべてのプロセスには、エラーとなったメッセージを保存するための異なるテーブルがあります。 それらは、データを転送する構造に一致します( SAP -IR)。

表 1. ZBC_BAPI_XXXX プロセス固有テーブル

プロセス

構造名

GLポスティング ZBC_BAPI_GLINVOI ZBC_M2S_GLINVOICES
請求書 ZBC_BAPI_INVOIC ZBC_M2S_MMINVOICES
問題 ZBC_BAPI_ISSUES ZBC_M2S_ISSUES
作業時間 ZBC_BAPI_LABHOUR ZBC_M2S_LABORHOURS
購入注文 ZBC_BAPI_PURCHO ZBC_M2S_PURCHASEORDER
購入条件 ZBC_BAPI_PURREQ ZBC_M2S_PURCHASEREQ
受領 ZBC_BAPI_RECEIP ZBC_M2S_RECEIPTS
予約 ZBC_BAPI_RESERV ZBC_M2S_RESERVATIONS
作業指示書 ZBC_BAPI_WORKOR ZBC_M2S_WORKORDERS