# Kapitel 2: Struktur einer EDIFACT-Nachricht



# Struktur einer EDIFACT-Nachricht

## Kapitel 1.2: Struktur einer EDIFACT-Nachricht (UNB, UNH, UNT, UNZ)

In diesem Kapitel tauchen wir tiefer in die grundlegende Struktur einer **EDIFACT**-Nachricht ein. Wir betrachten die wichtigsten Segmente, die jede Nachricht umschließen und für den korrekten Datenaustausch in der **Marktkommunikation** der **Energiewirtschaft** unerlässlich sind: UNB, UNH, UNT und UNZ. Ein Verständnis dieser Segmente ist entscheidend, um **EDIFACT**-Nachrichten zu erstellen, zu interpretieren und Fehler zu beheben. Das **BDEW**-Regelwerk legt die spezifischen Anforderungen für diese Segmente in der deutschen Energiewirtschaft fest.

### Die Grundstruktur einer EDIFACT-Nachricht

Eine EDIFACT-Nachricht lässt sich vereinfacht in folgende Bestandteile gliedern:

- **UNB (Interchange Header):** Der "Umschlagkopf" – identifiziert den Sender und Empfänger der gesamten Nachrichtengruppe.
- **UNH (Message Header):** Der "Nachrichtenkopf" – identifiziert den Nachrichtentyp und die Nachrichtenreferenznummer.
- *Datensegmente:* Der eigentliche Inhalt der Nachricht, bestehend aus verschiedenen Segmenten, die die auszutauschenden Daten enthalten (z.B. Stammdaten, Messwerte).
- **UNT (Message Trailer):** Der "Nachrichtenfuß" – enthält die Anzahl der Segmente in der Nachricht und die Nachrichtenreferenznummer (zur Validierung).
- **UNZ (Interchange Trailer):** Der "Umschlagfuß" – enthält die Anzahl der Nachrichten in der Gruppe und die Umschlagreferenznummer (zur Validierung).

## Die Segmente im Detail

### UNB – Interchange Header (Umschlagkopf)

Das **UNB**-Segment ist der Startpunkt jeder EDIFACT-Nachricht. Es enthält wichtige Informationen über den Absender, den Empfänger und die Syntax der Nachricht. Es fungiert als eine Art "Umschlag" für die gesamte Nachrichtengruppe.

**Beispiel:**

```
UNB+UNOC:3+SENDER_ID:ZZZ:1234+RECEIVER_ID:ZZZ:5678+240126:1000+12345+++++BDEW'
```

**Erläuterung:**

- `UNB`: Kennzeichnet das Segment als UNB-Segment.
- `UNOC:3`: Gibt den verwendeten EDIFACT-Syntaxstandard an (UNOC Version 3).
- `SENDER_ID:ZZZ:1234`: Identifiziert den Absender (SENDER\_ID) mit Qualifier (ZZZ) und Code (1234).
- `RECEIVER_ID:ZZZ:5678`: Identifiziert den Empfänger (RECEIVER\_ID) mit Qualifier (ZZZ) und Code (5678).
- `240126:1000`: Datum (240126 = 26. Januar 2024) und Uhrzeit (1000 = 10:00 Uhr) der Nachrichtenerstellung.
- `12345`: Eine eindeutige Referenznummer für den Nachrichtenaustausch.
- `+++++BDEW`: Spezifische Informationen, in diesem Fall die Kennzeichnung als BDEW-Nachricht.

### UNH – Message Header (Nachrichtenkopf)

Das **UNH**-Segment kennzeichnet den Beginn einer einzelnen Nachricht innerhalb des Umschlags. Es identifiziert den Nachrichtentyp (z.B. UTILMD, MSCONS) und vergibt eine eindeutige Referenznummer für diese Nachricht.

**Beispiel:**

```
UNH+12345+UTILMD:D:21BPDE:BDEW:1:FOO'
```

**Erläuterung:**

- `UNH`: Kennzeichnet das Segment als UNH-Segment.
- `12345`: Eine eindeutige Referenznummer für diese Nachricht. Diese Referenznummer muss im UNT-Segment wiederholt werden.
- `UTILMD:D:21BPDE:BDEW:1:FOO`: Identifiziert den Nachrichtentyp (UTILMD), die Version (D), den Sub-Release (21BPDE), die Organisation (BDEW), den Release (1) und ggf. eine anwendungsspezifische Kennung (FOO).

### UNT – Message Trailer (Nachrichtenfuß)

Das **UNT**-Segment markiert das Ende einer einzelnen Nachricht. Es enthält die Anzahl der Segmente in der Nachricht (inklusive UNH und UNT) und die Nachrichtenreferenznummer aus dem UNH-Segment. Dies dient der Validierung der Nachricht.

**Beispiel:**

```
UNT+25+12345'
```

**Erläuterung:**

- `UNT`: Kennzeichnet das Segment als UNT-Segment.
- `25`: Die Gesamtzahl der Segmente in der Nachricht (inklusive UNH und UNT).
- `12345`: Die Nachrichtenreferenznummer, die mit der Referenznummer im UNH-Segment übereinstimmen muss.

### UNZ – Interchange Trailer (Umschlagfuß)

Das **UNZ**-Segment markiert das Ende des gesamten Nachrichtenaustauschs (Umschlags). Es enthält die Anzahl der Nachrichten in der Gruppe und die Umschlagreferenznummer aus dem UNB-Segment. Dies dient der Validierung des gesamten Austauschs.

**Beispiel:**

```
UNZ+1+12345'
```

**Erläuterung:**

- `UNZ`: Kennzeichnet das Segment als UNZ-Segment.
- `1`: Die Anzahl der Nachrichten in diesem Austausch (Umschlag).
- `12345`: Die Umschlagreferenznummer, die mit der Referenznummer im UNB-Segment übereinstimmen muss.

## Praktische Beispiele

Betrachten wir ein einfaches Beispiel einer UTILMD-Nachricht (Stammdatenmeldung):

```
UNB+UNOC:3+SENDER_ID:ZZZ:1234+RECEIVER_ID:ZZZ:5678+240126:1000+12345+++++BDEW'
UNH+12345+UTILMD:D:21BPDE:BDEW:1:FOO'
BGM+52+M12345+9'
NAD+MS+DE12345678901+LIEFERANT'
LOC+139+47110815'
LOC+135+Berlin'
UNT+6+12345'
UNZ+1+12345'

```

In diesem Beispiel sehen wir die grundlegende Struktur einer EDIFACT-Nachricht mit den Segmenten UNB, UNH, BGM, NAD, LOC, UNT und UNZ. Die BGM-, NAD- und LOC-Segmente enthalten die eigentlichen Stammdaten. Dieses Beispiel ist stark vereinfacht, um die Kernstruktur zu verdeutlichen.

## Herausforderungen und Best Practices

Die korrekte Implementierung der **EDIFACT Struktur** ist entscheidend für einen reibungslosen Datenaustausch. Fehler in den Segmenten **UNB**, **UNH**, **UNT** oder **UNZ** können zu Fehlinterpretationen oder Ablehnungen der Nachricht führen. Es ist daher wichtig, die **BDEW**-Vorgaben genau zu beachten und Validierungstools einzusetzen. [Willi-Mako bietet umfassende Validierungsfunktionen, um sicherzustellen, dass Ihre EDIFACT-Nachrichten den Standards entsprechen.](https://stromhaltig.de/app)

Einige Best Practices für den Umgang mit der EDIFACT-Struktur:

- **Korrekte Zählung der Segmente:** Stellen Sie sicher, dass die Anzahl der Segmente im UNT-Segment korrekt ist.
- **Übereinstimmende Referenznummern:** Vergewissern Sie sich, dass die Referenznummern im UNH- und UNT-Segment sowie im UNB- und UNZ-Segment übereinstimmen.
- **Verwendung von Validierungstools:** Nutzen Sie Validierungstools, um Ihre EDIFACT-Nachrichten auf Fehler zu prüfen.
- **Klare Dokumentation:** Dokumentieren Sie Ihre EDIFACT-Implementierung, um die Wartung und Fehlerbehebung zu erleichtern.

## Fazit

Ein solides Verständnis der **EDIFACT Struktur**, insbesondere der Segmente **UNB**, **UNH**, **UNT** und **UNZ**, ist unerlässlich für alle, die in der **Marktkommunikation** der **Energiewirtschaft** tätig sind. Durch die Beachtung der **BDEW**-Vorgaben und den Einsatz geeigneter Tools können Sie einen reibungslosen und effizienten Datenaustausch gewährleisten. **EDIFACT** mag komplex erscheinen, aber mit dem richtigen Wissen und den richtigen Werkzeugen können Sie die Herausforderungen meistern. [Benötigen Sie Unterstützung bei der Erstellung und Validierung von EDIFACT-Nachrichten? Kontaktieren Sie uns für eine Demo!](https://stromhaltig.de/app/register)

## Praxis-Tipps

- **Nutzen Sie Testumgebungen:** Testen Sie Ihre EDIFACT-Implementierung in einer Testumgebung, bevor Sie sie in Produktion einsetzen.
- **Überwachen Sie Ihre Nachrichtenflüsse:** Überwachen Sie Ihre EDIFACT-Nachrichtenflüsse, um Probleme frühzeitig zu erkennen.
- **Bleiben Sie auf dem Laufenden:** Die EDIFACT-Standards und die BDEW-Vorgaben ändern sich im Laufe der Zeit. Bleiben Sie auf dem Laufenden, um sicherzustellen, dass Ihre Implementierung aktuell ist.