内部エラー処理
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)。
プロセス |
表 |
構造名 |
|---|---|---|
| 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 |