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