Test Edi Group Syntax
Zuletzt geändert: 14.03.2026 05:56

Test-EdiGroupSyntax #

ÜBERSICHT #

Prüft die Struktur und Segmentreihenfolge einer EDIFACT-Nachricht anhand einer Gruppen-Syntaxdefinition.

SYNTAX #

Test-EdiGroupSyntax [[-InputFile] <string>] [[-MessageLines] <string[]>] [[-EdiGroupSyntax]
    <System.Collections.IDictionary>] [<CommonParameters>]

BESCHREIBUNG #

Die Funktion Test-EdiGroupSyntax wertet eine EDIFACT-Nachrichtzeile für Zeile gegen eine strukturierte Baumdefinition (EdiGroupSyntax) aus.

Dabei wird geprüft: #

  • ob Segmentgruppen korrekt geöffnet/geschlossen werden
  • ob Muss-Segmente vorhanden sind
  • ob Wiederholungen die zulässige Anzahl nicht überschreiten
  • ob Segmente an der erwarteten Position stehen

Erkannte Fehler werden in einem strukturierten Prüfbericht (ArrayList) gesammelt.

PARAMETER #

-InputFile #

Type: string

Pfad zu einer EDIFACT-Datei. Wird ignoriert, wenn MessageLines bereits übergeben wurde.

-MessageLines #

Type: string[]

Die Segmentzeilen der Nachricht als Array. Wenn nicht gesetzt, wird InputFile verwendet.

-EdiGroupSyntax #

Type: System.Collections.IDictionary

Die Segmentgruppen-Definition als geordnete Hashtable. Jeder Eintrag enthält Angaben zu Level, Segmentcode, Status (M/K), Wiederholung und optional sequence.

AUSGABEN #

System.Collections.ArrayList

Die Funktion liefert einen strukturierten Prüfbericht als ArrayList zurück. Jeder Eintrag enthält Status, Segment, Path, Line, Counter, Data und die zugehörige Datenzeile.

BEISPIELE #

# Prüft die EDI-Datei "order.edi" gegen eine bestehende EDI-Gruppensyntax und gibt einen strukturierten Report zurück.
$report = Test-EdiGroupSyntax -InputFile "order.edi" -EdiGroupSyntax $syntax
# Lädt zunächst EDI-Zeilen aus "invoice.edi" und prüft diese gegen die übergebene EDI-Gruppensyntax und gibt einen strukturierten Report zurück.
$lines = Get-EdiMessageLines -Path "invoice.edi"
$report = Test-EdiGroupSyntax -MessageLines $lines -EdiGroupSyntax $syntax