次の方法で共有


EDI ヘッダーのオーバーライド

EDI エンコード インターチェンジを送信する場合、メッセージに適用される EDI エンベロープは、通常、受信アグリーメントの EDI プロパティに、またはフォールバック アグリーメントのプロパティに基づきます。 しかし、多くの場合、ランタイムに生成される値に基づいて EDI エンベロープ プロパティを設定すると便利です。

BizTalk Serverでは、EdiOverride コンテキスト プロパティを使用して、送信ドキュメントで EDI エンベロープを生成するために使用する値を指定できます。

EdiOverride コンテキスト プロパティの使用

EdiOverride コンテキスト プロパティを使用すると、EDI エンベロープを生成するために使用する値のすべてまたは一部をオーバーライドできます。 EDI 送信パイプラインでは、エンベロープの作成に有効な値を格納する EdiOverride コンテキスト プロパティを使用します。 プロパティが設定されていない場合、パイプラインでは、アグリーメントのプロパティまたはフォールバック アグリーメントのプロパティ (アグリーメントが未定義の場合) で指定された値を使用します。 プロパティに無効な値が指定されている場合は、パイプラインではメッセージが中断し、検証エラーが報告されます。

Note

EdiOverride コレクションで指定された値は、プロパティがメッセージの EdiOverride.OverrideEdiHeader コンテキストに書き込まれ、値 "True" が含まれている場合にのみ使用されます。

既定では設定されません。

X12 エンベロープ値の EdiOverride プロパティ

次の表に、EdiOverride コンテキスト プロパティ、および対応する X12 エンベロープ ヘッダーを示します。

ヘッダー プロパティ
インターチェンジ制御ヘッダー (ISA) ISA01、ISA02、ISA03、ISA04、ISA05、ISA06、ISA07、ISA08、ISA09、ISA10、ISA11、ISA12、ISA13、ISA14、ISA15、ISA16
機能グループ ヘッダー (GS) GS01、GS02、GS03、GS04、GS05、GS06、GS07、GS08
トランザクション セット ヘッダー ST02

EDIFACT エンベロープ値の EdiOverride プロパティ

次の表に、EdiOverride コンテキスト プロパティ、および対応する EDIFACT エンベロープ セグメントを示します。

Segment プロパティ
文字列サービス通知 (UNA) UNA1、UNA2、UNA3、UNA4、UNA5、UNA6、UNA6Suffix
インターチェンジ制御ヘッダー (UNB) UNB1_1、UNB1_2、UNB2_1、UNB2_2、UNB2_3、UNB3_1、UNB3_2、UNB3_3、UNB4_1、UNB4_2、UNB5、UNB6_1、UNB7、UNB8、UNB9、UNB10、UNB11
機能グループ ヘッダー (UNG) UNG1、UNG2_1、UNG2_2、UNG3_1、UNG3_2、UNG4_1、UNG4_2、UNG5、UNG6、UNG7_1、UNG7_2、UNG7_3、UNG8
メッセージ ヘッダー (UNH) UNH1

UNA セグメントと UNG EDIFACT セグメントは省略可能であるため、GenerateUNA プロパティと GenerateUNG プロパティを使用して、 UNA セグメント アグリーメントの適用設定に関係なく、これらのヘッダーが生成されるかどうかを判断できます。 次の表には、これらのセグメントの生成の結果の値を示します。

GenerateUNA コンテキスト プロパティ [UNA セグメントを適用する] アグリーメント設定 エンジンの動作
TRUE CHECKED UNA を生成する
TRUE UNCHECKED UNA を生成する
FALSE CHECKED UNA を生成しない
FALSE UNCHECKED UNA を生成しない
存在しない (OverrideEDIHeader が false) CHECKED UNA を生成する
存在しない (OverrideEDIHeader が false) UNCHECKED UNA を生成しない
GenerateUNG コンテキスト プロパティ [UNG セグメントを適用する] アグリーメント設定 エンジンの動作
TRUE CHECKED UNG を生成する
TRUE UNCHECKED UNG を生成する
FALSE CHECKED UNG を生成しない
FALSE UNCHECKED UNG を生成しない
存在しない (OverrideEDIHeader が false) CHECKED UNG を生成する
存在しない (OverrideEDIHeader が false) UNCHECKED UNG を生成しない

グループ エンベロープ

インターチェンジには複数のグループが含まれる場合があるため、グループ エンベロープには特殊な課題があります。 この課題に対応するために、EDI 送信パイプラインは、インターチェンジ内のすべてのグループにエンベロープを適用することも、インターチェンジ内の唯一のグループにエンベロープを適用することもできます。

単一のトランザクションでは、すべての GS または UNG フィールドをオーバーライドできます。バッチ インターチェンジの場合にのみ、次のフィールドをオーバーライドできます。

  • GS04

  • GS05

  • UNG4_1

  • UNG4_2

バッチ処理

バッチ処理されたメッセージのトランザクション セット制御番号のオーバーライドは、バッチ処理オーケストレーションで処理されます。 次のプロパティは、トランザクション セット制御番号のオーバーライドをバッチ処理するために、任意のメッセージのコンテキストに書き込むことができます。

  • ST02 (X12 メッセージの場合)

  • UNH1 (EDIFACT メッセージの場合)

Note

複数の受信メッセージに同じグループの同じ制御番号が含まれる場合、重複した番号のメッセージは中断されます。

Note

バッチ処理するメッセージの EdiOverride コンテキスト プロパティ ISA、UNA、GS、UNG は昇格させないでください。 これらのプロパティをオーバーライドする必要がある場合は、EDI 送信パイプラインに送信する前にバッチ オーケストレーションの出力メッセージで昇格してください。

区切り記号の競合

UNA ヘッダーなどの区切り記号には、フィールドごとに一意な値が含まれている必要があります。 UNA ヘッダーなどの区切り記号の値をオーバーライドする場合は、オーバーライドする値内だけではなく、アグリーメントまたはフォールバック アグリーメント設定から使用するすべての区切り記号値間でも、各区切り記号値が一意である必要があります。

たとえば、UNA1、UNA2、UNA4 をオーバーライドし、UNA3、UNA5、UNA6、UNA6Suffix がアグリーメントのプロパティから取得される場合、各プロパティには他と比較して一意な値が含まれている必要があります。

参照

BizTalk Server が EDI メッセージを送信する方法