次の方法で共有


受信トランザクション セットと送信パッチの関連付け

BizTalk Serverを使用すると、バッチ処理オーケストレーションに送信された EDI トランザクション セットを送信バッチと関連付けることができます。 これを行うには、バッチ処理オーケストレーションに送信されたトランザクション セットの状態レポートのエントリ (BTSInterchangeID) を、オーケストレーションの状態レポートのエントリ (ActivityID) に関連付けます。 この関連付けは、BusinessMessageJournal BAM アクティビティのエントリを使用して行います。 これらのエントリは、バッチ処理オーケストレーションが、バッチ要素の受信時に作成します。

重要

BizTalk Serverでは、契約に対して EDI 状態レポートとトランザクション セット追跡が有効になっている場合にのみ、BusinessMessageJournal アクティビティにエントリが作成されます。

以下のセクションでは、次の事項について詳しく説明します。

  • 追跡データBizTalk Server保存する方法

  • カスタム パイプライン コンポーネントを作成して関連付けを有効にする方法

  • 受信トランザクション セットを送信バッチに関連付ける方法

  • バッチに含まれるトランザクション セットの BTSInterchangeID がわかっている場合に、BusinessMessageJournal アクティビティに対してクエリを実行し、バッチの BTSInterchangeID を特定する方法

前提条件

BizTalk Server Administrators または BizTalk Server B2B Operators グループのメンバーとしてログオンする必要があります。

アクティビティに対する変更

バッチ処理オーケストレーションは、BatchingActivity、TransactionSetActivity、および BusinessMessageJournal の各 BAM アクティビティにエントリを作成します。 BizTalk Server は、トランザクション セットの処理を行う間に、これらのアクィビティ テーブルに対し、トランザクション セットとそれを含むバッチのエントリを次のように作成します。

  1. EDI 逆アセンブラーは、受信 EDI インターチェンジの処理時に、InterchangeStatusActivity テーブルと TransactionSetActivity テーブルにエントリを作成します。

    Note

    BAM アクティビティの詳細については、「 EDI-AS2 メッセージを追跡するために作成された BAM アクティビティ」を参照してください。

  2. バッチ処理オーケストレーションは、インスタンスが作成されたときに、BatchingActivity にエントリを作成します。 BAM サブシステムは、ActivityID の値を作成します。

  3. バッチ処理オーケストレーションは、トランザクション セットの受信時に、TransactionSetActivity テーブルにそのトランザクション セットのエントリを作成します。

  4. オーケストレーションは、BusinessMessageJournal アクティビティにエントリを作成します。 次に、このアクティビティの MessageTrackingID フィールドを、TransactionSetActivity テーブルに作成したエントリの ActivityID フィールドの値に設定します。 さらに、BTSInterchangeID フィールドをトランザクション セットの BTS.InterchangeID コンテキスト プロパティに、BTSMessageID フィールドをトランザクション セットの BTS.MessageID コンテキスト プロパティに設定します。

  5. オーケストレーションは、BusinessMessageJournal アクティビティに 2 つ目のエントリを作成します。 次に、MessageTrackingID フィールドを、TransactionSetActivity テーブルに作成したエントリの ActivityID フィールドに設定します。 さらに、BTSInterchangeID フィールドを、バッチの BTS.InterchangeID コンテキスト プロパティに設定します。 また、BTSMessageID は設定せずに、 ContainerActivityID を BatchingActivity の ActivityID の値に設定します。

カスタム パイプライン コンポーネントの作成による関連付けの準備

受信トランザクション セットと、そのトランザクション セットを含む送信バッチの関連付けを設定するには、カスタム パイプライン コンポーネントを作成する必要があります。 このパイプライン コンポーネントでの処理は、EDI 逆アセンブラーによる処理の後、EDIReceive パイプラインの BatchMarker コンポーネントで処理を行う前に行います。 このパイプライン コンポーネントでは、BusinessMessageJournal アクティビティにエントリを作成する必要があります。 このエントリでは、BTSInterchangeID フィールドを BTS.InterchangeID コンテキスト プロパティに、BTSMessageID フィールドを BTS.MessageID コンテキスト プロパティに設定します。

バッチ内トランザクション セットの InterchangeID の検索

受信したインターチェンジと、インターチェンジ内のトランザクション セットを含むバッチを関連付けるには、BatchingActivity テーブルと BusinessMessageJournal アクティビティのエントリを使用して、次に示す作業を行います。

受信トランザクション セットとそのトランザクション セットを含む送信バッチを関連付けるには

  1. BatchingActivity テーブルで、バッチの ActivityID の値を特定します。

  2. その ActivityID の値を、BusinessMessageJournal アクティビティ テーブルの ContainerActivityID フィールドで検索します。

  3. ContainerActivityID で特定したレコード内で、バッチに関連付けられている MessageTrackingID フィールドの値を検索します。

  4. BusinessMessageJournal アクティビティ テーブルでバッチに関連付けられている MessageTrackingID フィールドの値を使用して、BusinessMessageJournal アクティビティ テーブル内で同じ MessageTrackingID フィールドの値を持つ他のレコードを検索します。 ここで見つかったレコードが、バッチ処理オーケストレーションによって記録された、バッチ内のトランザクションに関連付けられたレコードです。

  5. BusinessMessageJournal アクティビティ テーブルのトランザクション セットに関連付けられたレコードで、BTSInterchangeID フィールドの値を検索します。

  6. この BTSInterchangeID の値を使用して、カスタムのパイプライン コンポーネントによって BusinessMessageJournal アクティビティ テーブルに作成された、トランザクション セットのレコードを調べることができます。 また、TransactionSetActivity テーブルでも、トランザクション セットのレコードを検索できます。

BusinessMessageJournal に対するクエリの実行

トランザクション セットのレポートが有効になっており、受信したインターチェンジの BTSInterchangeID がわかっている場合は、次の SQL クエリを使用して、バッチ処理オーケストレーションに送信されたトランザクション セットを含むバッチの BTSInterchangeID を検索できます。 このコードを使用すると、バッチ内のメッセージを表示するカスタムのアプリケーションを作成できます。

重要

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 状態レポートの有効化