WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

解析済み IDoc パケットのイベント処理

インバウンド・イベントには、それぞれが単一のビジネス・オブジェクトと対応する単一の IDoc や複数の IDoc を含めることができます。 複数の IDoc は、SAP サーバーによりアダプターへ、IDoc パケットの形式で送信されます。 アダプター構成時に、パケットを個々の IDoc に分割できるかどうか、あるいは 1 つのオブジェクト (非分割) として送る必要があるかどうかを指定できます。

イベント処理は、SAP サーバーがトランザクション ID をアダプターに送信すると開始されます。 以下のシーケンスが発生します。
  1. アダプターがイベントの状況を調べ、以下のいずれかのアクションを実行します。
    • これが新規イベントである場合、アダプターは、各イベント・リカバリー・テーブルに状況 0 (作成済み) とともに EVNTID (トランザクション ID に対応する) を保管します。
    • イベント状況が -1 (ロールバック) の場合、アダプターは状況を 0 (作成済み) に更新します。
    • イベント状況が 1 (実行済み) の場合、アダプターは、成功の標識を SAP システムに戻します。
  2. SAP システムはアダプターに IDoc を送信します。
  3. アダプターは IDoc をビジネス・オブジェクトに変換し、それをエンドポイントに送信します。
    単一の IDocs と非分割 IDoc パケットの場合、アダプターは、トランザクションをサポートしているエンドポイントだけでなく、トランザクションをサポートしていないエンドポイントにもオブジェクトを送達できます。
    • トランザクションをサポートしているエンドポイントの場合、アダプターはオブジェクトを固有の XA トランザクションの一部として送達します。 エンドポイントがイベントを処理し、トランザクションがコミットされると、イベントの状況は 1 (実行済み) に更新されます。

      XA トランザクションをサポートするようにエンドポイントを構成する必要があります。

    • トランザクションをサポートしていないエンドポイントの場合、アダプターはオブジェクトをエンドポイントに送達して、イベントの状況を 1 (実行済み) に更新します。 アダプターは、1 回限りの送達を保証する Quality of Service (QOS) なしでビジネス・オブジェクトを送達します。
  4. 分割パケットの場合のみ、アダプターは以下のタスクを実行します。
    1. アダプターはイベント・リカバリー・テーブルの BQTOTAL 列 (またはテーブル・フィールド) をパケット内の IDoc の数に更新します。 この数は、監査やリカバリーの目的に使用されます。
    2. アダプターは、ビジネス・オブジェクトを 1 つずつメッセージ・エンドポイントに送信し、BQPROC プロパティーを、処理している IDoc 順序番号に更新します。 アダプターは、オブジェクトを、アプリケーション・サーバーによって制御される固有の XA トランザクション (2 フェーズ・コミット・トランザクション) の一部として、適切なエンドポイントに送達します。
    3. エンドポイントがイベントを受け取り、トランザクションがコミットされると、アダプターによって BQPROC プロパティーの数値が増分されます。

      XA トランザクションをサポートするようにメッセージ・エンドポイントを構成する必要があります。

      アダプターが分割 IDoc パケットの処理中にエラーを検出すると、アダプターは、IgnoreIDocPacketErrors 構成プロパティーに応じて、次の 2 とおりのうちいずれかの動作を行います。
      • IgnoreIDocPacketErrors プロパティーが false に設定されている場合、アダプターはパケット内の IDoc をそれ以上処理することをやめ、SAP システムにエラーを報告します。
      • IgnoreIDocPacketErrors プロパティーが true に設定されている場合、アダプターはエラーをログに記録して、パケット内の残りの IDoc の処理を続けます。 トランザクションの状況は 3 (進行中) として示されます。 この場合は、失敗した IDoc 番号がアダプターのログに示されます。これらの IDoc はそれぞれ別個に再実行依頼する必要があります。 イベント・リカバリー・テーブル内でこれらのレコードを手動で保守する必要もあります。

      このプロパティーは、単一 IDoc や非分割 IDoc パケットには使用されません。

    4. SAP システムがアダプターに COMMIT 呼び出しを送信します。
    5. アダプターが IDoc パケット内にあるすべてのビジネス・オブジェクトをメッセージ・エンドポイントに送達した後、アダプターはイベント状況を 1 (実行済み) に更新します。
    6. IDoc パケット処理の途中で突然の割り込みがあった場合、アダプターは現行シーケンス番号から IDoc の処理を再開します。 アダプターは、IgnoreIDocPacketErrors が true に設定されていても、BQPROC プロパティーの更新を続行します。 万一 IDoc パケットの処理中にアダプターを手動で終了してしまっても、アダプターは処理を続行します。
  5. アダプターがイベントを処理している途中で例外が発生した場合や、エンドポイントが例外を生成した場合は、いずれの場合もイベント状況が -1 (ロールバック) に更新されます。
  6. 例外が発生しなければ、SAP サーバーはアダプターに CONFIRM 呼び出しを送信します。
  7. アダプターは状況が 1 (実行済み) になっているレコードを削除し、トラッキングおよび監査目的で使用できる共通イベント・インフラストラクチャー (CEI) イベントをログに記録します。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:49:40


概念トピック概念トピック | バージョン 8.0.0.5 | csap_ale_event_proc_packet