EDIFACT CONTRL-Nachricht als Funktionsbestätigung
Wenn Sie die Erstellung einer Funktionsbestätigung in Geschäftsprofileinstellungen oder Handelspartnervereinbarungen (oder einer Ausweichvereinbarung, falls keine Vereinbarung zwischen zwei Geschäftsprofilen definiert ist) festlegt haben oder das UNB9-Feld in der Nachricht auf „1“ festgelegt ist, wird eine CONTRL-Nachricht als Funktionsbestätigung (ACK) erzeugt. Diese Bestätigung enthält die Ergebnisse der Syntaxprüfungen des Austauschs.
Die CONTRL-Funktionsbestätigung enthält folgende Segmente:
UNH-Nachrichtenheader (obligatorisch)
Ein UCI-Segment, das den Betreffaustausch und den Empfang des Austauschstatus angibt sowie Verweise auf die UNA-, UNB- und UNZ-Segmente des empfangenen Austauschs enthält (obligatorisch). Das UCI-Segment tritt maximal ein Mal auf und meldet daher den ersten Fehler, der in einem der Kontrollsegmente festgestellt wurde.
Ein UCF-Segment, das ein Gruppensegment angibt (gekapselt durch den UNG-Header und den UNE-Nachspann) und die Art eines eventuellen Fehlers nennt (obligatorisch, wenn das UNG-Segment vorhanden ist)
Ein UCM-Segment, das ein Nachrichtensegment angibt (gekapselt durch den UNH-Header und den UNT-Nachspann) und die Art eines eventuellen Fehlers nennt (obligatorisch)
Ein UCS-Segment, das einen Transaktionssatz sowie die Art eines eventuellen Fehlers angibt (obligatorisch)
Ein UCD-Segment, das ein fehlerhaftes zusammengesetztes Datenelement oder Komponentendatenelement angibt und die Art des Fehlers nennt (bedingt)
UNT-Nachrichtennachspann (obligatorisch)
Enthält eine empfangene CONTRL-Funktionsbestätigung nur UNH-, UCI- und UNT-Segmente, verarbeitet die EDIReceive-Pipeline die Bestätigung als (technische) CONTRL-Empfangsbestätigung.
Auf einer Berichtebene kann jede Instanz eines Segments (also der Segmente UCI, UCF, UCM, UCS und UCD) nur einen Fehler melden.
Hinweis
Die CONTRL-Nachricht enthält mehrere obligatorische Datenelemente, die aus dem empfangenen Austausch kopiert werden. Wenn das Datenelement im Austausch fehlt oder syntaktisch ungültig ist, kann keine syntaktisch gültige CONTRL-Nachricht generiert werden. Der Fehler muss dann auf andere Weise gemeldet werden.
Hinweis
In BizTalk Server wird eine CONTRL-Nachricht (Empfangsbestätigung, Annahme oder Ablehnung) als Antwort auf einen empfangenen Austausch gesendet, der nur eine oder mehrere CONTRL-Nachrichten enthält. In BizTalk Server 2013 R2 wird keine CONTRL-Nachricht (Empfangsbestätigung, Annahme oder Ablehnung) als Antwort auf einen empfangenen Austausch gesendet, der nur eine oder mehrere CONTRL-Nachrichten enthält. Fehler in empfangenen CONTRL-Nachrichten müssen auf andere Weise als durch eine CONTRL-Nachricht gemeldet werden. Enthält ein Austausch neben Datennachrichten auch eine oder mehrere CONTRL-Nachrichten, wird die in Reaktion auf diesen Austausch generierte CONTRL-Nachricht so erzeugt, als ob keine CONTRL-Nachrichten im empfangenen Austausch enthalten seien.
SG-Schleifen
Die CONTRL-Funktionsbestätigung wird anders strukturiert, je nachdem, ob der empfangene Austausch Gruppen enthält. Enthält der Austausch eine oder mehrere Gruppen, enthält die Bestätigung ein UCF-Segment pro Gruppe. Jedes UCF-Segment enthält ein UCM-Segment pro Nachricht, und jedes UCM-Segment enthält eine Reihe paarweise angeordneter UCS- und UCD-Segmente.
Die XML-Form der Bestätigung enthält ein SG3Loop-Element, das jedes UCF-Segment kapselt, ein SG4Loop-Element, das jedes UCM-Element kapselt, und ein SG5Loop-Element, das jedes Paar aus UCS- und UCD-Elementen kapselt. SG-Schleifen-Tags sind im systemeigenen EDI-Format der Nachricht nicht enthalten.
Enthält der Austausch keine Gruppen, enthält die Bestätigung keine UCF-Segmente. Die Bestätigung enthält stattdessen ein UCM-Segment pro Nachricht, und jedes UCM-Segment enthält eine Reihe paarweise angeordneter UCS- und UCD-Segmente.
Die XML-Form der Bestätigung enthält ein SG1Loop-Element, das jedes UCM-Segment kapselt, und ein SG2Loop-Element, das jedes Paar aus UCS- und UCD-Elementen kapselt. Wie bei Austauschvorgängen mit Gruppen sind die SG-Tags im systemeigenen Format der Bestätigung nicht enthalten.
Hinweis
Gemäß dem Standard und der tatsächlichen Verwendung werden SG1/SG4-Schleifen bei akzeptierten Transaktionssätzen nicht erwartet. Um die Einhaltung von Standards zu unterstützen, können Sie jedoch die Generierung von SG1/SG4 erzwingen, indem Sie das Kontrollkästchen SG1/SG4-Schleife generieren für akzeptierte Transaktionssätze auf der Seite Bestätigungen des Dialogfelds Vereinbarungseigenschaften für eine Vereinbarung zwischen zwei Geschäftsprofilen (oder der Seite Bestätigungen auf der Registerkarte EDI-Einstellungen für ein Geschäftsprofil) aktivieren. Wenn dieses Kontrollkästchen aktiviert ist, generiert die Empfangspipeline SG1/SG4-Schleifen unabhängig davon, ob der Transaktionssatz akzeptiert oder abgelehnt wurde. Andernfalls werden diese Schleifen nur bei fehlerhaften Transaktionssätzen generiert (bei denen gilt: UCM5 != 7).
Datenelemente
Die CONTRL-Funktionsbestätigung enthält folgende Datenelemente:
Data-Element | Name | Verwendung |
---|---|---|
UNH1 | Nachrichtenverweisnummer | - |
UNH2 | Unterkomponenten der Nachrichten-ID | Diese Unterkomponenten sind: - 1 = CONTRL - 2 = 4 - 3 = 1 - 4 = UN |
UCI1 | Austauschkontrollnummer | Zugeordnet aus dem UNB5-Feld der empfangenen Nachricht |
UCI2 | Austauschabsender | Zugeordnet aus dem UNB2-Feld der empfangenen Nachricht. Die erste Unterkomponente (Identifikation) ist obligatorisch. Die zweite Unterkomponente (Codequalifizierer) und die dritte Komponente (Adresse für Rückmeldung) sind optional. |
UCI3 | Austauschempfänger | Zugeordnet aus dem UNB3-Feld der empfangenen Nachricht. Die erste Unterkomponente (Identifikation) ist obligatorisch. Die zweite Unterkomponente (Codequalifizierer) ist optional. |
UCI4 | Aktionscode | Die Aktionscodes lauten: - 8, wenn der Austausch akzeptiert wird - 7, wenn der Austausch akzeptiert, aber einige Transaktionssätze abgelehnt werden - 4, wenn der Austausch aufgrund eines Fehlers im UNA- oder UNB-Segment abgelehnt wird Dies ist ein obligatorisches Datenelement. |
UCI5 | Syntaxfehlercode | Gibt die Fehlerbedingung beim Empfang des Austauschs an (sofern vorhanden). Weitere Informationen finden Sie unter EDIFACT CONTRL-Bestätigungsfehlercodes. Die Optionalität dieses Datenelements lautet „bedingt“. |
UCI6 | Dienstsegmenttag | Gibt das Segment an, in dem die im UCI.5-Datenelement angegebene Fehlerbedingung vorliegt. Die Optionalität dieses Datenelements lautet „bedingt“. |
UCI7 | Datenelementidentifikation | Gibt die Datenelemente an, in denen die im UCI.5-Datenelement angegebene Fehlerbedingung vorliegt. Die Unterkomponenten von UCI7 sind: - Position des fehlerhaften Datenelements im Segment (obligatorisch) - Position des fehlerhaften Komponentendatenelements im Segment (bedingte Optionalität) - Auftreten eines fehlerhaften Datenelements im Segment (bedingte Optionalität) |
UCI8 | - | - |
UCF1 | Gruppenverweisnummer | Zugeordnet aus dem UNG5-Feld der empfangenen Nachricht Dies ist ein obligatorisches Datenelement. |
UCF2 | Identifikation des Anwendungsabsenders | Zugeordnet aus dem UNG2-Feld der empfangenen Nachricht mit Unterkomponenten Dies ist ein bedingtes Datenelement. |
UCF3 | Identifikation des Anwendungsempfängers | Zugeordnet aus dem UNG3-Feld der empfangenen Nachricht mit Unterkomponenten Dies ist ein bedingtes Datenelement. |
UCF4 | Aktionscodes | Die Aktionscodes lauten: - 7, wenn der Austausch akzeptiert wird - 4, wenn der Austausch aufgrund eines Fehlers im UNA- oder UNB-Segment abgelehnt wird Der Code gilt für diese und alle niedrigeren Ebenen. Dies ist ein obligatorisches Datenelement. |
UCF5 | Syntaxfehler, codiert | Gibt die Fehlerbedingung in der Gruppe an (sofern vorhanden). Weitere Informationen finden Sie unter EDIFACT CONTRL-Bestätigungsfehlercodes. Die Optionalität dieses Datenelements lautet „bedingt“. |
UCF6 | Dienstsegmenttag | Gibt das fehlerhafte Segment in der Gruppe an. Die Optionalität dieses Datenelements lautet „bedingt“. |
UCF7 | Datenelementidentifikation | Gibt die Datenelemente an, in denen die im UCF5-Datenelement angegebene Fehlerbedingung vorliegt. Die Unterkomponenten von UCF7 sind: - Position des fehlerhaften Datenelements im Segment (obligatorisch) - Position des fehlerhaften Komponentendatenelements im Segment (bedingte Optionalität) – Vorkommen eines fehlerhaften Datenelements im Segment (obligatorisch) |
UCM1 | Nachrichtenverweisnummer | Zugeordnet aus dem UNH1-Feld der empfangenen Nachricht Dies ist ein obligatorisches Datenelement. |
UCM2 | Nachrichten-ID | Zugeordnet aus dem UNH2-Feld der empfangenen Nachricht mit Unterkomponenten Dies ist ein bedingtes Datenelement. |
UCM3 | Aktionscodes | Die Aktionscodes lauten: - 7, wenn der Austausch akzeptiert wird - 4, wenn der Austausch aufgrund eines Fehlers im UNA- oder UNB-Segment abgelehnt wird Der Code gilt für diese und alle niedrigeren Ebenen. Dies ist ein obligatorisches Datenelement. |
UCM4 | Syntaxfehler, codiert | Gibt die Fehlerbedingung in der Gruppe an (sofern vorhanden). Weitere Informationen finden Sie unter EDIFACT CONTRL-Bestätigungsfehlercodes. Die Optionalität dieses Datenelements lautet „bedingt“. |
UCM5 | Dienstsegmenttag | Gibt das fehlerhafte UNH- oder UNT-Segment an. Die Optionalität dieses Datenelements lautet „bedingt“. |
UCM7 | Datenelementidentifikation | Gibt die Datenelemente an, in denen die im UCM5-Datenelement angegebene Fehlerbedingung vorliegt. Die Unterkomponenten von UCM7 sind: - Position des fehlerhaften Datenelements im Segment (obligatorisch) - Position des fehlerhaften Komponentendatenelements im Segment (bedingte Optionalität) – Vorkommen eines fehlerhaften Datenelements im Segment (obligatorisch) |
UCS1 | Segmentposition im Nachrichtentext | Anzahl der Position des fehlerhaften Segments, beginnend mit UNH als 1. Um zu melden, dass ein Segment fehlt, ist dies die numerische Zählungsposition des letzten Segments, das vor der Position verarbeitet wurde, an der sich das fehlende Segment befinden sollte. Um eine fehlende Segmentgruppe zu melden, wird das erste Segment in der Gruppe als nicht vorhanden gemeldet. Dies ist ein obligatorisches Datenelement. |
UCS2 | Syntaxfehlercode | Gibt die Fehlerbedingung in der Gruppe an (sofern vorhanden). Weitere Informationen finden Sie unter EDIFACT CONTRL-Bestätigungsfehlercodes. Die Optionalität dieses Datenelements lautet „bedingt“. |
UCD1 | Syntaxfehlercode | Gibt die Fehlerbedingung in der Gruppe an (sofern vorhanden). Weitere Informationen finden Sie unter EDIFACT CONTRL-Bestätigungsfehlercodes. Die Optionalität dieses Datenelements lautet „bedingt“. Hinweis: Wenn ein XSD-Validierungsfehler auftritt, meldet das UCD1-Datenelement den Codewert 12, Ungültiger Wert. |
UCD2 | Datenelementidentifikation | Gibt die Datenelemente an, in denen die im UCD1-Datenelement angegebene Fehlerbedingung vorliegt. Die Unterkomponenten von UCD2 sind: - Position des fehlerhaften Datenelements im Segment (obligatorisch) - Position des fehlerhaften Komponentendatenelements im Segment (bedingte Optionalität) – Vorkommen eines fehlerhaften Datenelements im Segment (obligatorisch) |
UNT1 | Anzahl der Segmente | - |
UNT2 | Nachrichtenverweisnummer | - |