BizTalk Server を使用すると、バッチ処理オーケストレーションに送信された EDI トランザクション セットを送信バッチと関連付けることができます。 これを行うには、バッチ処理オーケストレーション (BTSInterchangeID) に送信されたトランザクション セットの状態レポート エントリを、オーケストレーション (ActivityID) の状態レポート エントリに関連付けます。 この相関関係は、BusinessMessageJournal BAM アクティビティのエントリを使用して実行されます。 これらのエントリは、バッチ要素を受信したときにバッチ処理オーケストレーションによって作成されます。
Von Bedeutung
BizTalk Server は、契約に対して EDI 状態レポートとトランザクション セット追跡が有効になっている場合にのみ、BusinessMessageJournal アクティビティにエントリを作成します。
以下のセクションでは、以下について説明します。
BizTalk Server による追跡データの保存方法
関連付けを有効にするカスタム パイプライン コンポーネントを作成する方法
受信トランザクション セットを送信バッチと関連付ける方法。
バッチに含まれるトランザクション セットの BTSInterchangeID がわかっている場合に、BusinessMessageJournal アクティビティに対してクエリを実行して、バッチの BTSInterchangeID を特定する方法。
[前提条件]
BizTalk Server Administrators または BizTalk Server B2B Operators グループのメンバーとしてログオンしている必要があります。
アクティビティの変更
バッチ処理オーケストレーションは、BatchingActivity、TransactionSetActivity、および BusinessMessageJournal BAM アクティビティにエントリを作成します。 トランザクション セットが BizTalk Server を通過すると、BizTalk Server は、トランザクション セットとそれを含むバッチについて、これらのアクティビティ テーブルに次のエントリを作成します。
EDI 逆アセンブラーは、受信 EDI インターチェンジを処理するときに、InterchangeStatusActivity テーブルと TransactionSetActivity テーブルにエントリを作成します。
注
BAM アクティビティの詳細については、「 EDI-AS2 メッセージを追跡するために作成された BAM アクティビティ」を参照してください。
バッチ処理オーケストレーションがインスタンス化されると、オーケストレーションによって BatchingActivity にエントリが作成されます。 BAM サブシステムは、ActivityID の値を作成します。
バッチ処理オーケストレーションは、トランザクション セットを取得した後、TransactionSetActivity テーブルにトランザクション セットのエントリを作成します。
オーケストレーションは、BusinessMessageJournal アクティビティにエントリを作成します。 このアクティビティの MessageTrackingID フィールドは、TransactionSetActivity テーブルでオーケストレーションによって作成されたエントリの ActivityID フィールドの値に設定されます。 BTSInterchangeIDフィールドをトランザクションセットのBTS.InterchangeIDコンテキストプロパティに設定し、BTSMessageIDフィールドをトランザクションセットのBTS.MessageIDコンテキストプロパティに設定します。
オーケストレーションは、BusinessMessageJournal アクティビティに 2 番目のエントリを作成します。 MessageTrackingID フィールドを、TransactionSetActivity テーブルでオーケストレーションによって作成されたエントリの ActivityID フィールドに設定します。 BTSInterchangeID フィールドをバッチのために BTS.InterchangeID コンテキスト プロパティに設定します。 BTSMessageID は設定されません。 ContainerActivityID を BatchingActivity の ActivityID の値に設定します。
関連付けを有効にするためのカスタム パイプライン コンポーネントの作成
受信トランザクション セットと、そのトランザクション セットを含む送信バッチの相関関係を設定するには、カスタム パイプライン コンポーネントを作成する必要があります。 このパイプライン コンポーネントは、EDI 逆アセンブラーの後、および EDIReceive パイプラインの BatchMarker コンポーネントの前に配置する必要があります。 このパイプライン コンポーネントは、BusinessMessageJournal アクティビティにエントリを作成する必要があります。 このエントリでは、BTSInterchangeID フィールドを BTS.InterchangeID コンテキスト プロパティに設定し、BTSMessageID フィールドを BTS.MessageID コンテキスト プロパティに設定する必要があります。
バッチ内のトランザクション セットのインターチェンジ ID の検索
次に説明するように、BatchingActivity テーブルのエントリと BusinessMessageJournal アクティビティを使用して、受信したインターチェンジとインターチェンジからのトランザクション セットを含むバッチを関連付けます。
受信トランザクション セットを、そのトランザクション セットを含む送信バッチに関連付ける
BatchingActivity テーブル内のバッチの ActivityID の値を決定します。
BusinessMessageJournal アクティビティ テーブルの ContainerActivityID フィールドで ActivityID 値を検索します。
ContainerActivityID によって識別されるレコードで、バッチに関連付けられている MessageTrackingID フィールドの値を検索します。
BusinessMessageJournal アクティビティ テーブルのバッチに関連付けられている MessageTrackingID フィールドの値を使用して、BusinessMessageJournal アクティビティ テーブル内の他のレコードの MessageTrackingID フィールドで同じ値を検索します。 見つかったすべてのレコードは、バッチ処理オーケストレーションによって記録されたバッチ内のトランザクション セットに関連付けられます。
BusinessMessageJournal アクティビティ テーブルのトランザクション セットに関連付けられているレコードで、BTSInterchangeID フィールドの値を検索します。
BTSInterchangeID の値を使用して、BusinessMessageJournal アクティビティ テーブルで作成されたトランザクション セットのレコードを、カスタム パイプライン コンポーネントによって記録されるように検索できます。 TransactionSetActivity テーブルでトランザクション セットのレコードを検索することもできます。
BusinessMessageJournal のクエリ
トランザクション セットのレポートが有効で、受信したインターチェンジの BTSInterchangeID がわかっている場合は、次の SQL クエリを使用して、バッチ処理オーケストレーションに送信されたトランザクション セットを含むバッチの BTSInterchangeID を確認できます。 このコードを使用すると、カスタム アプリケーションを作成して、バッチ内のメッセージを可視化できます。
Von Bedeutung
BizTalk Server は、契約に対して EDI 状態レポートとトランザクション セット追跡が有効になっている場合にのみ、BusinessMessageJournal アクティビティにエントリを作成します。
Select MessageTrackingID
From BusinessMessageJournal
Where BTSInterchangeID = <given InterchangeID of the receive interchange>
Select BTSInterchangeID
From BusinessMessageJournal
Where MessageTrackingID = <MessageTrackingID from the previous query> and BTSInterchangeID = <given InterchangeID>
こちらもご覧ください
EDI-AS2 メッセージを追跡するために作成された BAM アクティビティ
EDI および AS2 状態レポートの有効化