チュートリアル (X12): バッチ EDI インターチェンジの受信
このチュートリアルでは、BizTalk Serverを使用して EDI バッチを受信するためのソリューションを作成する一連の手順について説明します。 このソリューションでは、バッチ EDI インターチェンジを受信する 2 つの方法を示します。
バッチを構成トランザクション セットに分割します。
トランザクション セットを分割せずにインターチェンジを 1 つのドキュメントとして処理することで、インターチェンジを保持します。
このチュートリアルでは、バッチの分割と保持の両方を構成する方法について説明します。
前提条件
BizTalk Server Administrators または BizTalk Server B2B Operators グループのメンバーとしてログオンする必要があります。
ソリューションにより受信した EDI バッチを分割する方法
バッチ化されたインターチェンジを構成トランザクション セットに分割するようにソリューションを構成すると、このソリューションは次の動作を実行します。
受信場所は、パーティから複数のトランザクション セットを含むバッチ EDI インターチェンジを受信します。
Note
この一覧のイベントは、示されている順序で発生するとは限りません。
受信パイプラインは、受信したインターチェンジを構成トランザクション セットに分割し、トランザクション セットを内部 XML 形式に変換します。
受信パイプラインは、インターチェンジ ヘッダーとグループ ヘッダー全体を、インターチェンジから分割された各トランザクション セットのコンテキストに昇格させます。 また、ISA6、GS1、GS2 などの特定のインターチェンジおよびグループ ヘッダーを昇格させ、これらのフィールドをルーティングに使用できるようにします。
受信パイプラインは、各トランザクション セット XML ファイルを MessageBox にドロップします。
Note
このソリューションでは、バッチには同じメッセージの種類の複数のインスタンスが含まれます。
送信ポートは、適切なコンテキスト プロパティをサブスクライブすることで各トランザクション セットを取得します。
送信パイプラインは、各トランザクション セットを EDI インターチェンジに組み込んだ後、インターチェンジを送信先に送信します。
Note
トランザクション セットBizTalk Serverバッチで分割する方法の詳細については、「Batched EDI インターチェンジの分割」を参照してください。
次の図に、バッチ化されたインターチェンジでトランザクション セットを分割するように構成した場合の、ソリューションのアーキテクチャとメッセージ フローを示します。
の分割
ソリューションにより受信した EDI バッチを保存する方法
バッチ化されたインターチェンジを保存するようにソリューションを構成すると、このソリューションは次の動作を実行します。
受信場所は、パーティから複数のトランザクション セットを含むバッチ EDI インターチェンジを受信します。
受信パイプラインは、トランザクション セットを分割せずにインターチェンジを処理し、2 つのトランザクション セットを 1 つの単位として内部 XML 形式に変換します。
受信パイプラインは、インターチェンジがバッチでなかった場合と同じプロパティを昇格させます。ただし、生成する XML に予約タグを適用する場合を除きます。 このタグは、X12 でエンコードされた EDI インターチェンジの場合は <X12InterchangeXml> 、 <EDIFACT でエンコードされた EDI インターチェンジの場合は EdifactInterchangeXml> です。 EDI 受信パイプラインでは、コンテキスト プロパティ
ReuseEnvelope
も適用され、インターチェンジが保持されていることを識別します。Note
EDI 送信パイプラインでは、 <X12InterchangeXml> タグまたは <EdifactInterchangeXml> タグを使用して、メッセージを保持されたバッチとして識別します。
ReuseEnvelope
context プロパティを使用すると、保持されているすべてのバッチインターチェンジをサブスクライブする送信ポートを作成できます。受信パイプラインは、メッセージ XML ファイルを MessageBox にドロップします。
送信ポートは、適切なコンテキスト プロパティでサブスクライブすることでインターチェンジを取得します。
送信パイプラインは、XML ファイル内の 2 つのトランザクション セットを 1 つのバッチ EDI インターチェンジに組み込んだ後、インターチェンジを送信先に送信します。
Note
保持されたバッチBizTalk Server処理する方法の詳細については、「受信バッチ EDI インターチェンジの保持」を参照してください。
このソリューションの機能
このチュートリアルを実行するために、以下の機能を有効にします。
このソリューションは、EDIFACT エンコードではなく X12 エンコードを使用するインターチェンジを対象に設計されています。
Note
HIPAA および EDIFACT エンコードに使用される構成は、X12 エンコードに使用される構成によく似ています。
最初に受信したインターチェンジ、または送信されたバッチ インターチェンジへの応答として、技術確認または機能確認は返されません。
Note
EDI 受信確認の生成の詳細については、「 チュートリアル (X12): EDI インターチェンジの受信と受信確認の返送」を参照してください。
このソリューションでは、一方向の受信ポートと静的な一方向送信ポートを使用します。 これらのポートは、FILE トランスポートの種類で構成されます。
EDI レポートが有効になります。
インターチェンジの状態レポートに表示するトランザクション セットが保存されます。
テストを実行するために、ソリューションは送信ポートを使用して、分割されたインターチェンジまたは保存されたバッチをローカル フォルダーに送信します。
チュートリアルの構成とテスト
このソリューションに必要な手順は以下のとおりです。
BizTalk プロジェクトに必要なメッセージ スキーマを追加してビルドおよび展開し、BizTalk サーバーがメッセージを処理するときにそのスキーマを利用できるようにします。
パーティから EDI X12 エンコード .txt バッチ入力メッセージを受信するBizTalk Serverの受信ポートを作成します。
BizTalk Server 用の送信ポートを作成し、バッチで受信した各トランザクション セットからインターチェンジを作成する (バッチを分割する場合) か、受信バッチ内のトランザクション セットから 1 つのインターチェンジを作成します (バッチを保存する場合)。 次に、送信ポートは送信先パーティに 1 つまたは複数のインターチェンジを送信します。 この送信ポートは、静的な一方向の送信ポートとなります。
パーティ A とパーティ B の両方に対してパーティ (取引先) を作成します。
両方の取引先それぞれにビジネス プロファイルを作成します。
インターチェンジを分割または保持してメッセージを受信するように EDI プロパティを構成して、2 つのプロファイル間にアグリーメントを作成します。
バッチ EDI インターチェンジを受信場所に関連付けられているローカル フォルダーにドロップします。 次に、BizTalk Server が受信バッチの個別のインターチェンジ (バッチを分割する場合) または保存された 1 つのバッチ インターチェンジ (バッチを保存する場合) を、送信ポートに関連付けられているフォルダにドロップしたことを確認します。
Note
バッチ インターチェンジの送信チュートリアルの手順を実行した場合、そのソリューションの出力をこのソリューションの入力として使用できます。 そのソリューションからの出力は、2 つの 850 メッセージのバッチです。 詳細については、「 チュートリアル (X12): バッチ EDI インターチェンジの送信」を参照してください。
ここでは、チュートリアルを構成する手順について説明します。
メッセージ スキーマを展開するには
Visual Studio で、BizTalk プロジェクトを作成または開きます。
Note
このトピックは、EDI スキーマ、パイプライン、およびオーケストレーションを含む BizTalk EDI アプリケーションに別のアプリケーションから参照を既に追加していることを前提としています。 そうでない場合は、「BizTalk Server EDI アプリケーションへの参照の追加」を参照してください。
プロジェクトを右クリックし、[ 追加] をポイントして、[ 既存の項目] をクリックします。 <drive>:\Program Files\Microsoft BizTalk Server 2009\XSD_Schema\EDI\X12\00401 に移動し、テスト メッセージに対応するスキーマをダブルクリックします。
Note
EDI スキーマがXSD_SchemaEDI フォルダーに解凍されていない場合は、XSD_SchemaEDI フォルダー内の MicrosoftEdiXSDTemplates.exe ファイルを実行して、スキーマを既定のフォルダーに解凍します。
Note
テスト メッセージには、バッチ インターチェンジの送信チュートリアルでソリューションによって生成されたバッチ インターチェンジを使用できます。 そのソリューションからの出力は、EDI インターフェイス開発チュートリアルに使用した 850 サンプル メッセージの 2 つのインスタンスのバッチです。 これを行う場合は、\Program Files (x86)\Microsoft BizTalk Server <VERSION>SDKEDI Interface Developer TutorialInbound_EDI にあるスキーマ x12_00401_850.xsd を使用する必要があります。
アセンブリ キー ファイルを設定し、アセンブリをビルドおよび展開します。
一方向の受信ポートを作成してバッチ処理された EDI メッセージを受信するには
BizTalk Server管理コンソールで、BizTalk アプリケーション 1 ノードの下にある [受信ポート] ノードを右クリックし、[新規] をポイントして、[一方向の受信ポート] をクリックします。
受信ポートに名前を付け、コンソール ツリーの [ 受信場所 ] をクリックします。
[新規作成] をクリックします。
受信場所に名前を付け、[種類] に [ファイル] を選択し、[構成] をクリックします。
受信フォルダーのフォルダーと、*.txtなどのファイル マスクのマスクを入力します。
[OK] をクリックします。
[ 受信パイプライン] で、[ EdiReceive] を選択します。
[OK] をクリックします。
コンソール ツリーで、[ 受信場所] をクリックします。 [ 受信場所 ] ウィンドウで、受信場所を右クリックし、[ 有効にする] をクリックします。
バッチ EDI インターチェンジを送信するための静的な一方向の送信ポートを作成するには
BizTalk Server管理コンソールで、BizTalk Application 1 ノードの下にある [送信ポート] ノードを右クリックし、[新規] をポイントして、[静的一方向送信ポート] をクリックします。
[ 送信ポートのプロパティ ] ダイアログ ボックスで、送信ポートに名前を付けます。
[トランスポート] セクションで、[種類] に [ファイル] を選択し、[構成] をクリックします。
[変換先] フォルダーにフォルダーを入力し、[ファイル マスク] にマスク (*.txtなど) を入力します。
[OK] をクリックします。
[ 送信パイプライン] で、[ EdiSend] を選択します。
コンソール ツリーで、[フィルター] を選択 します。 [ フィルター] ページで、バッチ内のメッセージをサブスクライブするフィルター式を入力します。 たとえば、[BTS] を選択します。Property の場合は ReceivePortName、==Operator の場合は 、Value には先ほど作成した受信ポートの名前です。
[OK] をクリックします。
コンソール ツリーで、[ 送信ポート] をクリックします。 [ 送信ポート ] ウィンドウで、送信ポートを右クリックし、[ 開始] をクリックします。
パーティ A のパーティおよびビジネス プロファイルを作成するには
BizTalk Server管理コンソールで [パーティ] ノードを右クリックし、[新規] をポイントして、[パーティ] をクリックします。
[名前 ] テキスト ボックス にパーティの名前を入力し、[OK] をクリック します。
Note
[Local BizTalk processes messages received by the Party or supports messages from this party チェック] ボックスを選択すると、作成するパーティが、BizTalk Serverをホストしているのと同じorganization用であることを指定できます。 その指定に基づいて、アグリーメントを作成するときに一部のプロパティが有効または無効になります。 ただし、このチュートリアルでは、このチェック ボックスはオンのままでかまいません。
パーティ名を右クリックし、[ 新規] をポイントして、[ ビジネス プロファイル] をクリックします。
[プロファイルのプロパティ] ダイアログ ボックスの [全般] ページで、[名前] テキスト ボックスに「PartyA_Profile」と入力します。
Note
パーティを作成すると、プロファイルも作成されます。 新しいプロファイルを作成する代わりに、そのプロファイルの名前を変更して使用できます。 プロファイルの名前を変更するには、プロファイルを右クリックし、[プロパティ] を選択 します。 [ 全般 ] ページで、プロファイルの名前を指定します。
パーティ B のパーティおよびビジネス プロファイルを作成するには
BizTalk Server管理コンソールで [パーティ] ノードを右クリックし、[新規] をポイントして、[パーティ] をクリックします。
[名前 ] テキスト ボックス にパーティの名前を入力し、[OK] をクリック します。
Note
[Local BizTalk processes messages received by the Party or supports messages from this party チェック] ボックスを選択すると、作成するパーティが、BizTalk Serverをホストしているのと同じorganization用であることを指定できます。 その指定に基づいて、アグリーメントを作成するときに一部のプロパティが有効または無効になります。 ただし、このチュートリアルでは、このチェック ボックスはオンのままでかまいません。
パーティ名を右クリックし、[ 新規] をポイントして、[ ビジネス プロファイル] をクリックします。
[プロファイルのプロパティ] ダイアログ ボックスの [全般] ページで、[名前] テキスト ボックスに「PartyB_Profile」と入力します。
Note
パーティを作成すると、プロファイルも作成されます。 新しいプロファイルを作成する代わりに、そのプロファイルの名前を変更して使用できます。 プロファイルの名前を変更するには、プロファイルを右クリックし、[プロパティ] を選択 します。 [ 全般 ] ページで、プロファイルの名前を指定します。
2 つのビジネス プロファイル間のアグリーメントを作成するには
[PartyA_Profile] を右クリックし、[新規] をポイントして、[契約] をクリックします。
[ 全般プロパティ ] ページの [名前 ] テキスト ボックスに、契約の名前を入力します。
[ プロトコル ] ドロップダウン リストから [ X12] を選択します。
[ Second Partner]\(2 番目のパートナー \) セクションの [Name ]\(名前\) ドロップダウン リストから[ PartyB]\(パーティ B\) を選択します。
[ 2 番目のパートナー ] セクションの [ プロファイル ] ドロップダウン リストから、[ PartyB_Profile] を選択します。
[ 全般 ] タブの横に 2 つの新しいタブが追加されていることがわかります。各タブは一方向アグリーメントを構成するためのものであり、各一方向アグリーメントはメッセージの 1 つの完全なトランザクション (メッセージ転送と受信確認転送を含む) を表します。
[ 全般 ] タブの [ 全般プロパティ ] ページの [ 共通ホスト設定] セクションで、[ レポートをオンにする] を選択し、[ レポート用にメッセージ ペイロードを保存する] を選択します。
[PartyA-PartyB] タブで次の>タスクを実行します。
[ 識別子 ] ページの [ インターチェンジの設定] セクションで、テスト メッセージのヘッダー フィールドの値に対応する修飾子フィールドと識別子フィールド (ISA5、 ISA6、 ISA7、 ISA8) の値を入力します。
Note
BizTalk Server契約解決を実行するには、送信者と受信者の修飾子フィールドと識別子フィールドが必要です。 インターチェンジ ヘッダーの ISA5、ISA6、ISA7、ISA8 の値と、契約のプロパティの値が一致します。 BizTalk Serverでは、送信者の修飾子と識別子 (受信者修飾子と識別子なし) を照合することで、契約も解決されます。 BizTalk Server契約を解決できない場合は、フォールバック 契約のプロパティが使用されます。
Note
テスト メッセージとして "EDI インターフェイス開発者チュートリアル" の SamplePO.txt ファイルを使用している場合は、 ISA5 を ZZ、 ISA6 を THEM、 ISA7 から ZZ、 ISA8 を US に設定します。
[インターチェンジの設定] セクションの [検証] ページで、[ISA13 の重複を確認する] オプションがオフになっていることを確認します。
Note
[ 重複する ISA13 のチェック ] プロパティをオフにすると、同じメッセージの複数のインスタンスを受信できます。
[ 文字セットと区切り記号 ] ページの [ インターチェンジの設定] セクションで、[ CR LF ] オプションを選択します。
[ ローカル ホストの設定] ページの [ インターチェンジの設定] セクションの [ 受信メッセージ処理オプション ] ボックスで、[ トランザクション セットとしてインターチェンジを分割 - エラー時にトランザクション セットを中断 する] オプションを選択します。
Note
最初に、このソリューションでは、このオプションを選択してインターチェンジを分割します。 後で、「次の チュートリアル手順をテストするには」の 一環として、インターチェンジを保持するようにソリューションを構成します。
[ 送信ポート ] ページの [ インターチェンジの設定] セクションで、前に作成した送信ポートを関連付けます。 [ 送信ポート ] グリッドの [ 名前 ] 列で空のセルをクリックし、ドロップダウン リストから送信ポートを選択します。
[封筒] ページ の [ トランザクション セットの設定] セクションで、グリッドの最初の行のすべての列の値を入力します。
プロパティ 目的 [Default] [既定値] を選択します。 メモ:この行を既定値として選択すると、トランザクションの種類、バージョン/リリース、およびターゲット名前空間の値がメッセージに一致しない場合でも、GS1、GS2、GS3、GS7、GS8 の値が使用されます。 トランザクションの種類 テスト メッセージのメッセージの種類 850 - 発注書を選択します。 バージョン/リリース EDI バージョン 00401 を入力します。 ターゲットの名前空間 [ http://schemas.microsoft.com/Edi/X12>
] を選択します。GS1 テスト メッセージのメッセージの種類 ( PO - 発注書 (850)) が選択されていることを確認します。 GS2 アプリケーション送信者の値を入力します (購入など)。 GS3 アプリケーション レシーバーの値 ( OrderControl など) を入力します。 GS4 日付の形式を選択します。 メモ: フィールドをクリックして既定値を表示するだけでなく、ドロップダウン リストで値を選択する必要があります。 ドロップダウン リストから値を選択せずにフィールドをクリックしても、値は実際に選択されません。 GS5 時刻の形式を選択します。 GS7 [ X - 認定基準委員会 X12] を選択します。 GS8 EDI バージョン 00401 が入力されていることを確認します。 Note
BizTalk Serverは、トランザクションの種類、バージョン/リリース、およびターゲット名前空間に入力された値に基づいて、送信確認の GS01、GS02、GS03、GS04、GS05、GS07、GS08 の値を設定します。 送信パイプラインは、トランザクション セットの種類、X12 バージョン、およびターゲットの名前空間と、メッセージ ヘッダー内の対応する値との照合を試みます。 成功した場合は、 トランザクションの種類、 バージョン/リリース、 およびターゲット名前空間 の値に関連付けられている GS 値が使用されます。
[PartyB-PartyA] タブで次の>タスクを実行します。
Note
このチュートリアルでは、必要な値をタブに指定し、アグリーメントを正常に作成できるようにします。 契約を正常に作成するには、両方の一方向アグリーメント タブに ISA5、ISA6、ISA7、ISA8 に対して値が定義されている必要があります。
[インターチェンジの設定] セクションの [識別子] ページで、テスト メッセージのヘッダー フィールドの値に対応する修飾子フィールドと識別子フィールド (ISA5、ISA6、ISA7、ISA8) の値を入力します。
Note
テスト メッセージとして "EDI インターフェイス開発者チュートリアル" の SamplePO.txt ファイルを使用している場合は、ISA5 を ZZ に、ISA6 を US に、ISA7 を ZZ に、ISA8 を THEM に設定します。
[適用] をクリックします。
[OK] をクリックします。 新しく追加された契約は、[パーティとビジネス プロファイル] ウィンドウの [契約] セクションに一覧表示されます。 新しく追加したアグリーメントは既定で有効になります。
チュートリアルのテスト
ここでは、チュートリアルをテストする方法について説明します。
チュートリアルをテストするには
Windows エクスプローラーで、受信場所に関連付けられているローカル フォルダーを開き、テスト バッチ EDI インターチェンジをフォルダーにドロップします。
Note
テスト メッセージには、バッチ インターチェンジの送信チュートリアルでソリューションによって生成されたバッチ インターチェンジ出力を使用できます。 このサンプル メッセージには、2 つのトランザクション セットが含まれます。
作成した送信ポートに関連付けられているフォルダーを開きます。 フォルダーに 2 つの新しいファイルが含まれ、各ファイルがテスト バッチ メッセージのトランザクション セットの 1 つを含む 850 インターチェンジであることを確認します。
BizTalk Server管理コンソールで、[パーティ] ノードをクリックし、先ほど作成した契約の一部である 2 つのビジネス プロファイルのいずれかをクリックします。 [契約] セクション で、契約 を右クリックし、[ プロパティ] をクリックします。
[ 契約のプロパティ ] ダイアログ ボックスの [ ローカル ホスト設定] ページの [ インターチェンジの設定] セクションの [ 受信メッセージ処理オプション ] ボックスで、[ インターチェンジの保持 - エラー時のインターチェンジの中断 ] または [インターチェンジの 保持 - エラー時のトランザクション セットの中断 ] を選択し、[OK] をクリック します。
[プラットフォーム設定] ノードの下にある [ホスト インスタンス] をクリックし、[BizTalkServerApplication] を右クリックし、[再起動] をクリックします。
Windows エクスプローラーで、受信場所に関連付けられているローカル フォルダーを開き、再度同じテスト バッチ EDI インターチェンジをフォルダーにドロップします。
Windows エクスプローラーで、前に作成した送信ポートに関連付けたフォルダーを開きます。 フォルダーに 1 つの新しいファイルのみが含まれ、そのファイルがテスト バッチ メッセージに存在した 2 つの 850 トランザクション セットを含むインターチェンジであることを確認します。
参照
BizTalk Server EDI ソリューションの開発と構成
バッチ EDI インターチェンジの分割
HIPAA サブドキュメントの分割
受信したバッチ EDI インターチェンジの保存
チュートリアル (X12): バッチ EDI インターチェンジの送信
チュートリアル (X12): EDI インターチェンジの受信と受信確認の送信
チュートリアル (X12): EDI インターチェンジの送信