次の方法で共有


EDI スキーマの変更

BizTalk Serverに付属する既存の EDI スキーマを変更できます。 お客様と取引先が標準スキーマの変更に同意し、関連するメッセージ実装ガイドライン (MIG) ファイルを変更した場合は、Visual Studio の BizTalk エディターでスキーマを変更できます。

Note

一部のスキーマ変更 (クロスフィールド検証と HIPAA サブドキュメントの分割) では、EDI スキーマの注釈が変更されます。 これらの変更は、BizTalk エディタで実行することはできませんが、メモ帳などのテキスト エディタを使用して実行できます。

前提条件

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

スキーマの名前付け規則

EDI スキーマはルート名と名前空間で識別されます。 同じルート名と名前空間を持つ同じ BizTalk グループ内に 2 つのスキーマを展開することはできません。 EDI スキーマのルート名を変更したり、ルート名に追加することはできません。これは、標準の名前付け規則に従って、ルート名にはバージョンとドキュメントの種類を含める必要があるためです。 したがって、同じルート名を持つ同じ BizTalk グループ内に 2 つのスキーマを展開するには、それぞれに別の名前空間を使用する必要があります。

同じ BizTalk グループ内で、2 つ以上の異なる取引先に対して同じスキーマの異なるバージョンを展開することは珍しくありません。 この場合、2 つのスキーマのバージョンとドキュメントの種類は同じになります。 これらの 2 つのスキーマを展開するには、スキーマごとに異なる名前空間を使用する必要があります。

EDI スキーマの変更

Visual Studio で EDI スキーマに次の変更を加えることができます。

目的 方法
列挙の変更

(コード リストの値の一覧など)
要素のプロパティで、 列挙エディター を開き、列挙リストに値を追加するか、列挙リストから値を削除します。
データ要素の選択肢の変更 Min Occurs プロパティを変更します。 フィールドを省略可能にする場合は 0、必須にする場合は 1 に変更します。
データ要素をファイルに表示できる最大回数の変更 Max Occurs プロパティを変更します
データ要素の文字数の変更 Length プロパティを変更します。
データ要素のデータ型の変更 [基本データ型] または [日付型] プロパティを変更します。
カスタム フィールドを追加する 子フィールド要素スキーマ ノードを挿入し、そのプロパティを設定します。 メモ: 要素のシーケンスが保証されないため、EDI スキーマのレコードに子フィールド属性を追加することはできません。 子フィールド属性を追加しようとすると、無効なスキーマが生成されます。 EDI スキーマ内のレコードに追加できるのは、子フィールド要素のみです。
カスタム レコードの追加 子レコード スキーマ ノードを挿入し、そのプロパティを設定した後、子フィールド要素を追加します。
カスタム フィールドまたはレコードの削除 カスタム フィールドまたはカスタム レコードを子フィールド要素と共に削除します。
クロスフィールド検証の有効化 スキーマの appinfo セクションの注釈のクロスフィールド検証フラグを [はい] に設定します。 このフラグは 、X12ConditionDesignator_Check (X12 または HIPAA スキーマの場合) または EdifactDependencyRule_Check (EDIFACT スキーマの場合) のいずれかです。

関係条件 (X12 および HIPAA) または依存ルール (EDIFACT) を指定して、特定の要素のクロスフィールド検証を有効にします。 詳細については、「 クロスフィールド検証の構成」を参照してください。

また、 Edi 型の検証 プロパティを yes に設定する必要 もあります

クロスフィールド検証は、HIPAA スキーマに対しては既定で有効になっています。
HIPAA サブドキュメントの分割の有効化 サブドキュメント分割を設定できる HIPAA スキーマの 1 つで、スキーマの subdocument_break プロパティと Split_Without_Sibling_Data プロパティを yes に設定し、スキーマ内の特定の要素の subdocument_creation_break プロパティを yes に設定します。

また、[ 受信バッチ処理オプション アグリーメント] プロパティを [トランザクション セットとしてインターチェンジを分割する] に設定する必要もあります。

詳細については、「 HIPAA サブ文書の分割」を参照してください。
トリガー フィールドを HIPAA ドキュメントに追加 "トリガー フィールド" と呼ばれる修飾子要素を基にして、HIPAA ドキュメントの 1 つのセグメントに対する一意の XML レコードを EDI 逆アセンブラーに作成することができます。 セグメントに対して一意の XML レコードが作成されるように、そのセグメントを表す属性とトリガー値を指定する必要があります。 詳細については、「 HIPAA スキーマ トリガー フィールドの注釈」を参照してください。
セグメントを X12 トランザクション セットに追加 X12 トランザクション セットに新しいセグメントを追加すると、セグメント名の最初の 3 文字がセグメント識別子として使用されます。 そのため、セグメントの名前は最初の 3 文字が一意になるように付けることをお勧めします。
ループを HIPAA トランザクション セットに追加 HIPAA トランザクション セットに新しいループを追加するときは、ループの名前の中に「Loop」を入れることをお勧めします。 たとえば、"TS837_2010AB_Loop" という形式でループ名を指定します。 メモ: あいまいさを回避するには、ループ内の最初のセグメントが必須です (セグメントの minOccurs は 1 に等しい必要があります)。
"順不同ループ" を HIPAA トランザクション セットに追加 1 つのトランザクション セットの中に、セマンティクスが異なる等価なセグメントが複数ある場合は、これらのセグメントを同じサブループの中で定義する必要があります。 Xs:all> の <XML 注釈を持つ SubLoop を使用すると、同等のセグメントを任意の順序で実行できます。

"順不同" ループの名前には "SubLoop" を入れることをお勧めします。 形式の例は "TS837Q1_2010A_SubLoop" です。注: 任意の順序ループの要素は、ループ内で 1 回だけ発生する必要があります。 あいまいさを避けるために、サブループの兄弟では maxOccurs が 1 に設定されている必要があります。

BizTalk エディタで既存の EDI スキーマを変更するには

  1. Visual Studio で、変更するスキーマをプロジェクトに追加し、BizTalk エディターでスキーマを開きます。

    Note

    スキーマ エディター画面の下部にある [ EDI ] タブをクリックすると、スキーマをグラフィカルな形式で表示できます。 この表形式を使用して、スキーマのノードを移動すると非常に簡単です。

  2. データ要素またはレコードのプロパティを変更するには、BizTalk エディタの左ペインで適切なノードをクリックし、[プロパティ] ウィンドウでプロパティを変更します。

  3. 列挙体の値を変更するには、[ プロパティ ] ペインで列挙を選択し、省略記号をクリックして 列挙エディターを開きます。 必要に応じて、値の一覧に追加または削除し、[ ] ペインの各行に 1 つの値があることを確認します。 [OK] をクリックします。

  4. スキーマにユーザー設定フィールドを追加するには、BizTalk エディターのコンソール ツリーでレコード ノードを右クリックし、[ スキーマ ノードの挿入] をポイントして、[ 子フィールド要素] をクリックします。 データ要素に名前を付けた後、レコード内の適切な位置にドラッグします。 必要に応じて、カスタム フィールド プロパティのプロパティを設定します。

    Note

    EDI スキーマ内のレコードに子フィールド属性を追加することはできません。これは、要素の順序が保証されないためです。 子フィールド属性を追加しようとすると、無効なスキーマが生成されます。

  5. スキーマにカスタム レコードを追加するには、スキーマ エディターのコンソール ツリーでレコード ノードを右クリックし、[ スキーマ ノードの挿入] をポイントして、[ 子レコード] をクリックします。 レコードに名前を付けた後、スキーマ内の適切な位置にドラッグします。 レコードに少なくとも 1 つのデータ要素を追加します。 必要に応じて、カスタム レコードのプロパティを設定します。

  6. スキーマに必要な変更を加えた後、ルート ノード (<>スキーマ) をクリックし、[ターゲット名前空間] プロパティを変更することで、スキーマ プロパティに適用されるターゲット名前空間を変更できます。

  7. スキーマを保存します。

  8. スキーマを検証するには、ソリューション エクスプローラーでスキーマを右クリックし、[スキーマの検証] をクリックします。

    Note

    ルート ノード (<スキーマ) のスキーマ エディター拡張機能プロパティが EDI スキーマ エディター拡張機能に設定されているため、[スキーマ>の検証] コマンドは EDI スキーマを検証します。

既存の EDI スキーマで注釈のプロパティを変更するには

  1. スキーマをメモ帳などのテキスト エディタで開きます。

  2. クロスフィールド検証を有効にするには、次の手順を実行します。 詳細については、「 クロスフィールド検証の構成」を参照してください。

    1. スキーマの上部にある appinfo 注釈で、クロスフィールド検証フラグ (X12 または HIPAA スキーマ の場合はX12ConditionDesignator_Check 、EDIFACT スキーマ の場合はEdifactDependencyRule_Check ) を [はい] に設定します。

      Note

      BizTalk Server HIPAA スキーマの場合、クロスフィールド検証フラグは既定で [はい] です。

    2. 特定の要素の注釈で、要素の関係条件 (X12 または HIPAA) または依存ルール (EDIFACT) を指定します。 これらの設定の詳細については、「 クロス Field-Segment 検証」を参照してください。

      Note

      関連する契約の [契約のプロパティ] ダイアログ ボックスの一方向アグリーメント タブの [検証] ページ ([トランザクション セットの設定] セクション) で、EDI の種類の [検証] プロパティが選択されていることを確認します。

  3. HIPAA サブドキュメントの分割を有効にするには、次の手順を実行します。 詳細については、「 HIPAA サブ文書の分割」を参照してください。

    1. スキーマの上部にある appinfo 注釈で、 subdocument_break フラグと Split_Without_Sibling_Data フラグを yes に設定します。

    2. 特定の要素の appinfo 注釈で、 subdocument_creation_break フラグを yes に設定する方法を参照してください。

      Note

      関連する契約の [契約のプロパティ] ダイアログ ボックスの [一方向アグリーメント] タブの [ローカル ホスト設定] ページ ([インターチェンジの設定] セクション) で、[受信バッチ処理] オプション プロパティが [トランザクション セットとしてインターチェンジを分割] に設定されていることを確認します。

参照

EDI スキーマの開発