On this page:

エラーフィルタを使用すると、ABAP エージェントによってビジネストランザクションに自動的に追加される特定のエラーを除外できます。エラーフィルタ UI にアクセスするには、t-code /DVD/APPD_CUST → [Instrumentation] に移動し、[Error filter value] タブを選択します。

この専用のエラーフィルタリングは、ABAP エージェントによって使用されるネイティブエージェント(C++ SDK)がコントローラ UI を介したエラーフィルタリングをサポートしないために必要です。また、ネイティブエージェントは、コントローラの例外タイプやメッセージクラスなどのエラーメタデータも公開しません。これらのメタデータを公開するには、BT error フラグをオンにしてデバッグモードを有効にしてください。「デバッグモード」を参照してください。

エラーフィルタタイプ

次のエラーフィルタタイプを作成できます。

Error Typeプライマリ値セカンダリ値注意事項
例外例外クラス例外テキスト ID例外がこのエラーフィルタタイプと一致すると、例外スタック全体が廃棄されます。

メッセージID

メッセージクラス名メッセージ番号

SE91 メッセージクラスに対してチェックされます。

このフィルタタイプは、IF_MESSAGE インターフェイスを実装する例外にも適用され、テキスト ID はメッセージクラスにリンクされます。

自由書式自由書式該当なし例外またはメッセージ ID を使用できない場合に使用します。このタイプでは、ワイルドカード文字「*」がサポートされます。

特定のビジネストランザクションのエラーフィルタリング

すべてのエラーフィルタタイプには、関連するビジネストランザクション名のリストを入力するためのフィールド [BT Name Filter] が含まれています。このフィールドが空の場合、フィルタはすべてのビジネストランザクションに適用されます。設定すると、エラーフィルタは指定されたビジネストランザクションにのみ適用されます。ワイルドカード文字「*」がサポートされます。

エラーフィルタリングの設定例

ビジネストランザクションに関連するエラーを無視する必要がある場合は、このガイドを参考にしてください。

  1. 次の例に示すように、エラーを特定し、関連性がないと判断しました。

    「C++ Error」テキストは、ABAP エージェント、つまりインストゥルメント化された SAP システムから発生したすべてのエラーに表示されることに注意してください。これは、ABAP エージェント - C++ SDK で使用されるネイティブエージェントから発生します。これは、一部の C++ アプリケーションでエラーが発生したことを意味するものではありません。階層が SAP システムに関連付けられている場合、このエラーは常に SAP システムから発生します。

  2. このエラーのメタデータを公開するには、t-code /DVD/APPD_STATUS に移動し、[Error metadata] フラグ設定チェックボックスをクリックしてデバッグモードをアクティブにします。
  3. トラフィックを生成し、ビジネス トランザクション エラーのスナップショットを再度確認します。エラー文字列にテクニカルメタデータが追加されていることが確認できます。この例のフォーマットは、例外スタックのレベル 3 でのタイプ /IWFND/CX_ACCESS_CHECK の例外を表しています。

    スナップショット UI には、ビジネストランザクションで受信した最後のエラーのみが表示されます。すべてを表示するには、ABAP エージェントがビジネストランザクションにエラーを追加したときに自動的に追加されるデータコレクタ「SAP Error」を参照してください。

  4. 一部のビジネストランザクションには、複数のエラーが追加されることがあります。「|」文字で区切られたエラーの完全なリストが含まれているため、データコレクタ「SAP Error」を必ず確認してください。このエラーを完全に除外するには、例外スタックの最上位にあるすべての例外(例外タイプの横にある番号 1)およびリストに表示されるメッセージ ID に対してエラーフィルタを作成する必要があります。この例では、/IWFND/CX_ACCESS_CHECK/IWCOR/CX_DS_FORBIDDEN  例外をフィルタリングする必要があります。番号 122 のメッセージ ID /IWFND/CM_CONSUMER もフィルタリングする必要があります。

    データコレクタ値では、改行やその他のフォーマットはサポートされていません。この制限は、「SAP Error」の値全体をテキストエディタにコピーし、「|」を改行文字に置き換えることで対処できます。個々のエラーが個別の行にリストされます。

  5. 1 つの例外タイプに複数のテキスト ID を含めることができます。特定のテキストのみを除外し、他のテキストに影響を与えないようにするには、t-code SE24 を使用して例外オブジェクトをチェックし、正しいものを確認することができます。この例では、例外タイプ /IWFND/CX_ACCESS_CHECK によってテキスト ID /IWFND/NO_SERVICE_ACCESS が使用されます。

  6. 必要なフィルタが定義されると、ビジネストランザクションはエラー ビジネス トランザクションとしてフラグ付けされなくなります。BT 名フィルタは、これらのエラーフィルタレコードの影響を特定のビジネストランザクションに制限するために使用されます。

このプロセスのいくつかのステップをスキップし、「SAP Error」データコレクタで検出されたすべてのメッセージに対して自由書式フィルタを定義することは可能ですが、このアプローチにはいくつかの欠点があります。

  • 各例外スタックのレベルごとに 1 つの自由書式フィルタを定義する必要があります。
  • 自由書式の比較は、例外タイプまたはメッセージ ID の比較よりも高いパフォーマンスが要求されます。