Kurzantwort
Eine Segmentgruppe ist ein Block aus Segmenten, der mit einem festen Segment beginnt, dem Trigger-Segment. In der UTILMD Strom öffnet zum Beispiel NAD die Gruppe SG2, IDE die Gruppe SG4 und LOC die Gruppe SG5. Die Nachricht enthält weder einen Gruppennamen noch eine Endmarke. Eine neue Instanz beginnt, wenn das Trigger-Segment wiederkehrt; die Gruppe endet, sobald ein Segment kommt, das nicht mehr zu ihr gehört. Die Gruppennummern SG… stehen nur im MIG.
Der Baum der UTILMD
Das Diagramm der UTILMD MIG Strom S2.2 (S. 24 bis 25) zeigt die Ebenen 0 bis 4. Das Bild fasst es zusammen. Die Zuordnung der Segmente zu ihren Gruppen stammt aus der Nachrichtenstruktur (S. 3 bis 23).
- UNHNachrichtenkopfM · 1×
- BGMBeginn der NachrichtM · 1×
- DTMNachrichtendatumM · 9×
- SG1RFFReferenz auf eine frühere AnfrageC · 9×
- SG2NADMarktpartner Absender, EmpfängerC · 99×
- SG4IDEVorgang (oder Liste)C · 99999×
- DTMTermine des VorgangsC · 99×
- STSTransaktionsgrund, StatusC · 9×
- FTXFreitextC · 9×
- AGRBeauftragung liegt vorC · 9×
- SG5LOCLokation (Marktlokation, Messlokation …)C · 999999×
- SG6RFFReferenz (Prüfidentifikator, Vorgangsnummer …)C · 99×
- DTMTermine zur ReferenzC · 9×
- SG8SEQDaten zu einer Lokation, Art per QualifierC · 99999×
- RFFReferenzC · 9×
- PIAProduktC · 9×
- SG9QTYMengeC · 99×
- DTMZeitraum der MengeC · 9×
- SG10CCIEigenschaftC · 99×
- CAVWert der EigenschaftC · 99×
- SG12NADBeteiligter, z. B. KundeC · 99×
- RFFReferenzC · 9×
- SG13CTAKontaktC · 9×
- COMKommunikationC · 9×
- UNTNachrichtenendeM · 1×
Auf Ebene 0 stehen die Segmente der Nachricht selbst: UNH, BGM, UNT. Auf Ebene 1 hängen der Kopf (DTM, SG1, SG2) und die Vorgänge in SG4. Fast alle fachlichen Daten liegen unter SG4 auf den Ebenen 2 bis 4: Lokationen in SG5, Referenzen wie der Prüfidentifikator in SG6, Daten zu einer Lokation in SG8 mit Mengen (SG9) und Eigenschaften (SG10), Beteiligte wie der Kunde in SG12 mit Kontakt in SG13. Die Nummern SG3, SG7 und SG11 kommen in Nachrichtenstruktur und Diagramm dieser Fassung nicht vor; einzelne Bemerkungen im Segmentlayout nennen noch SG7.
Eine Gruppe im MIG erkennen
In der Nachrichtenstruktur hat die Gruppe eine eigene Zeile ohne laufende Nummer, darunter folgt ihr Trigger-Segment. Ein Auszug (S. 3 ff.):
0320 SG5 C D 999999 999999 Ebene 2 Marktlokation
0330 LOC M M 1 1 Ebene 2 Marktlokation
Gelesen von links: Zähler, Gruppe, Status Standard (C), Status BDEW (D, abhängig vom Anwendungsfall), Wiederholung Standard und BDEW, Ebene, Inhalt. Darunter das Trigger-Segment LOC, Muss und einmal. Die Zeile steht nicht nur einmal, denn die Gruppe SG5 hat in der Struktur eine Zeile je Lokationsart: Netzlokation, Marktlokation, ruhende Marktlokation, Technische Ressource, Steuerbare Ressource, Tranche, Messlokation und MaBiS-Zählpunkt. Welche Art in der Nachricht vorliegt, sagt der Qualifier im LOC-Segment: Z16 Marktlokation (S. 76), Z17 Messlokation (S. 81), Z15 MaBiS-Zählpunkt (S. 36).
Dasselbe Muster gilt für SG6 (RFF mit verschiedenen Referenzarten) und SG8 (SEQ mit verschiedenen Datenarten, etwa SEQ+Z22 für Daten der Summenzeitreihe, S. 39). Die Gruppe ist also eine Strukturstelle, ihre Bedeutung kommt vom Qualifier im Trigger-Segment.
Wiederholung: Standard und BDEW
Jede Gruppenzeile trägt zwei Wiederholungsgrenzen. Der Standard sagt, wie oft die Gruppe nach UN/EDIFACT höchstens vorkommen darf. Die BDEW-Anwendung schränkt das je Verwendung ein. Beispiele aus der Nachrichtenstruktur:
- SG2 (NAD, Absender und Empfänger): Standard 99, BDEW 1 je Verwendung. Absender und Empfänger haben je eine eigene Zeile.
- SG4 (IDE): Standard 99999. Bei einem Vorgang BDEW 99999, bei einer Liste (
IDE+Z01) BDEW 1. - SG8 (SEQ), Priorisierung erforderliches Produktpaket: Standard 99999, BDEW 5.
Maßgeblich ist die BDEW-Spalte. Zusätzlich kann das AHB je Prüfidentifikator weiter einschränken (Muss, Kann und Bedingung).
Ein Ausschnitt, gruppenweise gelesen
Der Ausschnitt ist aus Beispielzeilen des MIG zusammengesetzt. Er zeigt die Reihenfolge, ist aber keine gültige Nachricht:
IDE+24+VorgangsId12345'
LOC+Z16+20072281644:::2'
LOC+Z17+DE00713739359S0000000000001222221:::2'
RFF+Z13:55001'
IDE+24(S. 42) öffnet die Gruppe SG4, einen Vorgang (Ebene 1).LOC+Z16(S. 76) öffnet die erste SG5-Instanz: eine Marktlokation mit der elfstelligen ID20072281644.LOC+Z17(S. 81) öffnet die zweite SG5-Instanz: eine Messlokation. Die Gruppe hat sich durch die Wiederkehr von LOC wiederholt.RFF+Z13(S. 88) öffnet SG6. Z13 kennzeichnet den Prüfidentifikator, hier 55001, Anmeldung verb. MaLo.
Alle vier Zeilen gehören zum selben Vorgang, bis ein neues IDE die nächste SG4-Instanz beginnt.
So liest ein Parser Gruppen
- Segmente nacheinander lesen und mit der MIG-Struktur abgleichen.
- Ein Trigger-Segment öffnet eine Instanz seiner Gruppe auf seiner Ebene und schließt offene Gruppen derselben oder tieferer Ebene.
- Ein Segment einer höheren Ebene schließt alle Gruppen darunter.
- Wiederholungszähler je Gruppe und Elterninstanz führen und gegen die BDEW-Grenze prüfen.
Die Zugehörigkeit zu einer Elterninstanz geht verloren, wenn man alle Segmente flach einliest und nach Segmentnamen gruppiert. Zwei Lokationen mit je einer Referenz sehen dann wie vier gleichrangige Segmente aus. Die AHB-Werkbank hat eine Strukturansicht je Prüfidentifikator; die AHB-Spalte nennt Gruppen mit ihrem Namen, etwa SG5 LOC.
Fehlerfälle
- Reihenfolge verletzt: Ein Segment steht in der falschen Gruppe oder vor seinem Trigger. Die Nachricht ist strukturell falsch, auch wenn jedes Segment einzeln gültig ist.
- Zu viele Wiederholungen: Die Standard-Grenze wird eingehalten, die BDEW-Grenze nicht.
- Trigger fehlt: Ohne Trigger-Segment gibt es keine Gruppe; ein bedingtes Segment darin entfällt mit ihr.
- Falsche Fassung: Gruppen und Ebenen ändern sich zwischen MIG-Fassungen. Maßgeblich ist die Fassung, die UNH nennt (UNH, UNT).
Typische Missverständnisse
„Die Gruppe hat eine Kennung in der Nachricht.“ Nein, SG5 steht nur im MIG.
„Die Zahl hinter SG sagt, wie oft die Gruppe vorkommt.“ Sie nummeriert nur. Die Häufigkeit steht in der Wiederholungsspalte.
„Es gibt ein Gruppenende.“ Nein, nur das nächste Segment, das nicht mehr hineinpasst.
„Der Standardwert gilt.“ Es gilt die BDEW-Spalte.
Zum Lesen der Zeilen siehe Einen MIG lesen, zur Einordnung EDIFACT, AHB und MIG. Glossar: Segment, Prüfidentifikator.