機能確認としての EDIFACT CONTRL メッセージ
ビジネス プロファイル設定または取引先アグリーメント (2 つのビジネス プロファイル間でアグリーメントが定義されていない場合はフォールバック アグリーメント) で機能確認を生成するように選択した場合、またはメッセージの UNB9 フィールドが "1" に設定されている場合、機能確認 (ACK) として CONTRL メッセージが生成されます。 この確認では、インターチェンジの構文チェックの結果が報告されます。
CONTRL 機能確認には、次のセグメントがあります。
UNH メッセージ ヘッダー (必須)。
対象のインターチェンジを識別し、状態インターチェンジ受信を示す UCI セグメント (必須)。この中には、受信したインターチェンジの UNA、UNB、および UNZ セグメントへの参照が含まれます。 UCI セグメントの最大出現数は 1 です。したがって、制御セグメントの 1 つで発生した最初のエラーが報告されます。
(UNG ヘッダーおよび UNE トレーラーでカプセル化された) グループ セグメントを識別し、エラーの性質を示す UCF セグメント (UNG セグメントが存在する場合は必須)。
(UNH ヘッダーおよび UNT トレーラーでカプセル化された) メッセージ セグメントを識別し、エラーの性質を示す UCM セグメント (必須)。
トランザクション セットを識別し、エラーの性質を示す UCS セグメント (必須)。
エラーのある複合またはコンポーネント データ要素を識別し、エラーの性質を示す UCD セグメント (条件セグメント)。
UNT メッセージ トレーラー (必須)。
受信した CONTRL 機能確認に UNH、UCI、および UNT セグメントのみが含まれている場合、EDIReceive パイプラインでは、その確認を CONTRL 受信 (技術) 確認として処理します。
レポート レベルのセグメント (つまり、UCI、UCF、UCM、UCS、および UCD セグメント) の各インスタンスが報告できるエラーは 1 つだけです。
Note
CONTRL メッセージには、受信したインターチェンジからコピーされる複数の必須データ要素が含まれています。 インターチェンジ内のデータ要素が欠落しているか、構文が無効である場合、構文が有効な CONTRL メッセージを生成できません。 この場合は、CONTRL メッセージ以外の方法でエラーを報告する必要があります。
Note
BizTalk Serverでは、CONTRL メッセージ (受信確認、受け入れ、拒否) が、1 つ以上の CONTRL メッセージのみを含む受信インターチェンジに応答して送信されます。 BizTalk Server 2013 R2 では、1 つ以上の CONTRL メッセージのみを含む受信インターチェンジに応答して、CONTRL メッセージ (受信確認、受け入れ、拒否) は送信されません。 受信した CONTRL メッセージのエラーは、CONTRL メッセージ以外の方法で報告する必要があります。 データ メッセージが含まれているインターチェンジに 1 つ以上の CONTRL メッセージが含まれている場合、そのインターチェンジへの応答として生成される CONTRL メッセージは、受信したインターチェンジに CONTRL メッセージが含まれていなかったものとして生成されます。
SG ループ
受信したインターチェンジに 1 つ以上のグループが含まれているかどうかによって、CONTRL 機能確認の構造が異なります。 インターチェンジに 1 つのグループが含まれている場合、確認には、グループごとに 1 つの UCF セグメントが含まれます。 各 UCF セグメントにはメッセージごとに 1 つの UCM セグメントが含まれ、各 UCM セグメントには UCS セグメントおよび UCD セグメントの両方が含まれます。
XML 形式の確認メッセージには、各 UCF セグメントをカプセル化した SG3Loop 要素、各 UCM 要素をカプセル化した SG4Loop 要素、および UCS 要素と UCD 要素の各ペアをカプセル化した SG5Loop 要素が含まれます。 SG ループ タグは、ネイティブの EDI 形式のメッセージにはありません。
インターチェンジにグループが含まれていない場合、確認には、UCF セグメントは含まれません。 代わりに、確認にはメッセージごとに 1 つの UCM セグメントが含まれ、各 UCM セグメントには UCS セグメントおよび UCD セグメントの両方が含まれます。
XML 形式の確認メッセージには、各 UCM 要素をカプセル化した SG1Loop 要素、および UCS 要素と UCD 要素の各ペアをカプセル化した SG2Loop 要素が含まれます。 グループが含まれているインターチェンジの場合と同様、SG タグは、ネイティブ形式の確認にはありません。
Note
既定および業界の使用法では、受理されたトランザクション セットに対して SG1/SG4 ループは予期されていません。 ただし、標準への準拠をサポートするには、2 つのビジネス プロファイル間の契約 (またはビジネス プロファイルの [EDI 設定] タブの [確認] ページ) の [契約のプロパティ] ダイアログ ボックスの [確認] ページの [承認済みトランザクション セットの SG1/SG4 ループの生成] チェック ボックスをオンにして、SG1/SG4 の生成を強制できます。 このチェック ボックスをオンにした場合、トランザクション セットが受理されても拒否されても、SG1/SG4 ループが生成されます。 オフにした場合は、エラーのある (UCM5 が 7 と等しくない) トランザクション セットについてのみループが生成されます。
データ要素
CONTRL 機能確認には、次のデータ要素があります。
Data 要素 | 名前 | 使用法 |
---|---|---|
UNH1 | メッセージの参照番号 | - |
UNH2 | メッセージの識別子のサブコンポーネント | サブコンポーネントは次のとおりです。 - 1 = CONTRL - 2 = 4 - 3 = 1 - 4 = UN |
UCI1 | インターチェンジ制御番号 | 受信したメッセージの UNB5 フィールドからマップされます。 |
UCI2 | インターチェンジの送信者 | 受信したメッセージの UNB2 フィールドからマップされます。 最初のサブコンポーネント (ID) は必須です。 2 番目のサブコンポーネント (コード修飾子) と 3 番目のコンポーネント (逆ルーティング アドレス) は省略可能です。 |
UCI3 | インターチェンジの受信者 | 受信したメッセージの UNB3 フィールドからマップされます。 最初のサブコンポーネント (ID) は必須です。 2 番目のサブコンポーネント (コード修飾子) は省略可能です。 |
UCI4 | アクション コード | アクション コードは次のとおりです。 - インターチェンジが受け入れられる場合は 8 - インターチェンジが受け入れられるが、一部のトランザクション セットが拒否される場合は 7 - UNA または UNB セグメントのエラーが原因でインターチェンジが拒否された場合は 4 これは必須データ要素です。 |
UCI5 | 構文エラー コード | インターチェンジの受信にエラー状態がある場合、それを識別します。 詳細については、「 EDIFACT CONTRL 受信確認エラー コード」を参照してください。 このデータ要素は条件付きの選択肢です。 |
UCI6 | サービス セグメント タグ | UCI.5 データ要素で識別されたエラー状態を含むセグメントを識別します。 このデータ要素は条件付きの選択肢です。 |
UCI7 | データ要素 ID | UCI.5 データ要素で識別されたエラー状態を含むデータ要素を識別します。 UCI7 のサブコンポーネントは次のとおりです。 - セグメント内の誤ったデータ要素の位置 (必須) - セグメント内の誤ったコンポーネント データ要素の位置 (条件付きオプション) - セグメント内の誤ったデータ要素の発生 (条件付きオプション) |
UCI8 | - | - |
UCF1 | グループ参照番号 | 受信したメッセージの UNG5 フィールドからマップされます。 これは必須データ要素です。 |
UCF2 | アプリケーション送信者の ID | 受信したメッセージの UNG2 フィールドおよびサブコンポーネントからマップされます。 これは条件付きデータ要素です。 |
UCF3 | アプリケーション受信者の ID | 受信したメッセージの UNG3 フィールドおよびサブコンポーネントからマップされます。 これは条件付きデータ要素です。 |
UCF4 | アクション コード化 | アクション コードは次のとおりです。 - インターチェンジが受け入れられる場合は 7 - UNA または UNB セグメントのエラーが原因でインターチェンジが拒否された場合は 4 このコードは、このレベル以下のすべてのレベルに適用されます。 これは必須データ要素です。 |
UCF5 | 構文エラー、コード化 | グループにエラー状態がある場合、それを識別します。 詳細については、「 EDIFACT CONTRL 受信確認エラー コード」を参照してください。 このデータ要素は条件付きの選択肢です。 |
UCF6 | サービス セグメント タグ | グループに正しくないセグメントがある場合、それを識別します。 このデータ要素は条件付きの選択肢です。 |
UCF7 | データ要素 ID | UCF5 データ要素で識別されたエラー状態を含むデータ要素を識別します。 UCF7 のサブコンポーネントは次のとおりです。 - セグメント内の誤ったデータ要素の位置 (必須) - セグメント内の誤ったコンポーネント データ要素の位置 (条件付きオプション) - セグメント内の誤ったデータ要素の発生 (必須) |
UCM1 | メッセージの参照番号 | 受信したメッセージの UNH1 フィールドからマップされます。 これは必須データ要素です。 |
UCM2 | メッセージの識別子 | 受信したメッセージの UNH2 フィールドおよびサブコンポーネントからマップされます。 これは条件付きデータ要素です。 |
UCM3 | アクション コード化 | アクション コードは次のとおりです。 - インターチェンジが受け入れられる場合は 7 - UNA または UNB セグメントのエラーが原因でインターチェンジが拒否された場合は 4 このコードは、このレベル以下のすべてのレベルに適用されます。 これは必須データ要素です。 |
UCM4 | 構文エラー、コード化 | グループにエラー状態がある場合、それを識別します。 詳細については、「 EDIFACT CONTRL 受信確認エラー コード」を参照してください。 このデータ要素は条件付きの選択肢です。 |
UCM5 | サービス セグメント タグ | エラーを含む UNH または UNT セグメントを識別します。 このデータ要素は条件付きの選択肢です。 |
UCM7 | データ要素 ID | UCM5 データ要素で識別されたエラー状態を含むデータ要素を識別します。 UCM7 のサブコンポーネントは次のとおりです。 - セグメント内の誤ったデータ要素の位置 (必須) - セグメント内の誤ったコンポーネント データ要素の位置 (条件付きオプション) - セグメント内の誤ったデータ要素の発生 (必須) |
UCS1 | メッセージ本文でのセグメントの位置 | UNH を 1 から始めて、誤ったセグメントの位置の数。 セグメントが見つからないことを報告するために、これは、欠落しているセグメントが予期されていた位置の前に処理された最後のセグメントの数値カウント位置です。 欠落しているセグメント グループは、グループ内の最初のセグメントが欠落していると識別することによって表されます。 これは必須データ要素です。 |
UCS2 | 構文エラー コード | グループにエラー状態がある場合、それを識別します。 詳細については、「 EDIFACT CONTRL 受信確認エラー コード」を参照してください。 このデータ要素は条件付きの選択肢です。 |
UCD1 | 構文エラー コード | グループにエラー状態がある場合、それを識別します。 詳細については、「 EDIFACT CONTRL 受信確認エラー コード」を参照してください。 このデータ要素は条件付きの選択肢です。 メモ: XSD 検証エラーが発生した場合、UCD1 データ要素はコード値 12 の無効な値を報告します。 |
UCD2 | データ要素 ID | UCD1 データ要素で識別されたエラー状態を含むデータ要素を識別します。 UCD2 のサブコンポーネントは次のとおりです。 - セグメント内の誤ったデータ要素の位置 (必須) - セグメント内の誤ったコンポーネント データ要素の位置 (条件付きオプション) - セグメント内の誤ったデータ要素の発生 (必須) |
UNT1 | セグメント数 | - |
UNT2 | メッセージの参照番号 | - |