Trennzeichen in EDIFACT-Dateien: Standardvorgaben und Anwendung
EDIFACT (Electronic Data Interchange for Administration, Commerce and Transport) ist ein internationaler Standard für den elektronischen Datenaustausch. Die Struktur einer EDIFACT-Datei basiert auf einer klar definierten Syntax, die durch spezifische Trennzeichen (Delimiter) gegliedert wird. Diese Zeichen trennen Segmente, Datenelemente und Komponenten innerhalb einer Nachricht und ermöglichen eine maschinelle Verarbeitung.
1. Standardmäßige Trennzeichen in EDIFACT
Gemäß der UN/EDIFACT-Syntax (ISO 9735) sind folgende Trennzeichen als Standard definiert:
| Trennzeichen | Funktion | Standardwert |
|---|---|---|
| Segment-Terminator | Beendet ein Segment (z. B. UNA, UNB, DTM). |
' (Apostroph) |
| Datenelement-Trenner | Trennt einzelne Datenelemente innerhalb eines Segments. | + (Pluszeichen) |
| Komponenten-Trenner | Trennt Komponenten innerhalb eines zusammengesetzten Datenelements. | : (Doppelpunkt) |
| Freigabezeichen | Maskiert das folgende Zeichen, wenn es als Trennzeichen interpretiert werden könnte. | ? (Fragezeichen) |
| Dezimalzeichen | Trennt Ganzzahl- und Nachkommastellen in numerischen Werten. | . (Punkt) |
Diese Zeichen werden in der Service String Advice (UNA)-Segment zu Beginn einer EDIFACT-Nachricht explizit deklariert, sofern von den Standardwerten abgewichen wird. Fehlt das UNA-Segment, gelten die oben genannten Standardwerte.
2. Anwendung der Trennzeichen in Beispielen
Die folgenden Beispiele veranschaulichen die Verwendung der Trennzeichen in einer EDIFACT-Datei unter Einhaltung der Standardvorgaben.
Beispiel 1: UNA-Segment (Deklaration der Trennzeichen)
Falls abweichende Trennzeichen verwendet werden, muss dies im UNA-Segment angegeben werden. Bei Standardwerten kann das Segment entfallen.
UNA:+.? '
:= Komponenten-Trenner (Standard::)+= Datenelement-Trenner (Standard:+).= Dezimalzeichen (Standard:.)?= Freigabezeichen (Standard:?)(Leerzeichen) = Wird nicht genutzt (Platzhalter für zukünftige Erweiterungen)'= Segment-Terminator (Standard:')
Hinweis: Da in den meisten Fällen die Standardwerte gelten, wird das UNA-Segment oft weggelassen.
Beispiel 2: UNB-Segment (Nachrichtenkopf)
Das UNB-Segment leitet eine EDIFACT-Nachricht ein und enthält Metadaten wie Sender, Empfänger und Versionsangaben.
UNB+UNOC:3+1234567890123:14+9876543210987:14+201015:1434+123456'
UNB= Segmentkennung+= Trennt Datenelemente (z. B.UNOC:3und1234567890123:14):= Trennt Komponenten innerhalb eines Datenelements (z. B.UNOC:3→ Syntaxversion3)'= Beendet das Segment
Beispiel 3: DTM-Segment (Datum/Zeit-Referenz)
Das DTM-Segment gibt ein Datum oder eine Uhrzeit an.
DTM+137:20231015:102'
DTM= Segmentkennung+= Trennt das Datenelement137(Code für "Dokumentdatum"):= Trennt die Komponenten:20231015= Datum im FormatJJJJMMTT102= Formatcode (hier:CCYYMMDD)
'= Segmentende
Beispiel 4: Verwendung des Freigabezeichens
Falls ein Trennzeichen als Teil des Inhalts vorkommt (z. B. ein + in einer Produktbeschreibung), muss es mit dem Freigabezeichen maskiert werden.
FTX+AAA+++Dies ist ein Text mit einem +-Zeichen?+ und einem :-Zeichen?:'
?+= Das+wird als normales Zeichen interpretiert, nicht als Trennzeichen.?:= Der:wird als Inhalt behandelt, nicht als Komponenten-Trenner.
3. Wichtige Hinweise zur Anwendung
- Konsistenz: Die Trennzeichen müssen innerhalb einer Nachricht einheitlich verwendet werden. Abweichungen führen zu Fehlern bei der Verarbeitung.
- Zeichensatz: EDIFACT verwendet standardmäßig den UNOB-Zeichensatz (ISO 646), der auf ASCII basiert. Sonderzeichen außerhalb dieses Bereichs erfordern eine explizite Deklaration.
- Leerzeichen: Leerzeichen am Anfang oder Ende von Datenelementen werden ignoriert, es sei denn, sie sind Teil des Inhalts (dann müssen sie maskiert werden).
- Segmentlänge: Ein Segment darf maximal 512 Zeichen umfassen (inkl. Trennzeichen).
4. Typische Fehler und Lösungen
| Fehler | Ursache | Lösung |
|---|---|---|
| Segment wird nicht erkannt | Fehlendes oder falsches Segment-Terminator ('). |
Überprüfen, ob das ' am Segmentende steht. |
| Datenelemente werden falsch zugeordnet | Falscher Datenelement-Trenner (+ statt : oder umgekehrt). |
Syntax prüfen und ggf. UNA-Segment korrigieren. |
| Komponenten werden nicht getrennt | Fehlender Komponenten-Trenner (:). |
Sicherstellen, dass zusammengesetzte Datenelemente korrekt getrennt sind. |
| Trennzeichen im Inhalt | Ein + oder : wird als Trennzeichen interpretiert, obwohl es Inhalt ist. |
Freigabezeichen (?) verwenden. |
5. Zusammenfassung
Die standardmäßigen Trennzeichen in EDIFACT sind:
- Segment-Terminator:
'(Apostroph) - Datenelement-Trenner:
+(Pluszeichen) - Komponenten-Trenner:
:(Doppelpunkt) - Freigabezeichen:
?(Fragezeichen) - Dezimalzeichen:
.(Punkt)
Diese Zeichen strukturieren die Nachricht und ermöglichen eine eindeutige Interpretation durch EDI-Systeme. Abweichungen müssen im UNA-Segment deklariert werden. Bei der Erstellung von EDIFACT-Nachrichten ist auf korrekte Anwendung der Trennzeichen sowie auf die Maskierung von Sonderzeichen im Inhalt zu achten.