Willi Mako
// PROTOCOL:

EDIFACT-Trennzeichen: Standards & Anwendung einfach erklärt

ID#A09-14
STATUSREAD_ONLY
AUTHORSYS_ADMIN
TAGS [EDIFACT]

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:3 und 1234567890123:14)
  • : = Trennt Komponenten innerhalb eines Datenelements (z. B. UNOC:3 → Syntaxversion 3)
  • ' = 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 Datenelement 137 (Code für "Dokumentdatum")
  • : = Trennt die Komponenten:
    • 20231015 = Datum im Format JJJJMMTT
    • 102 = 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

  1. Konsistenz: Die Trennzeichen müssen innerhalb einer Nachricht einheitlich verwendet werden. Abweichungen führen zu Fehlern bei der Verarbeitung.
  2. Zeichensatz: EDIFACT verwendet standardmäßig den UNOB-Zeichensatz (ISO 646), der auf ASCII basiert. Sonderzeichen außerhalb dieses Bereichs erfordern eine explizite Deklaration.
  3. Leerzeichen: Leerzeichen am Anfang oder Ende von Datenelementen werden ignoriert, es sei denn, sie sind Teil des Inhalts (dann müssen sie maskiert werden).
  4. 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.