EulandaXtools — Funktionsreferenz
Prüft die Struktur und Segmentreihenfolge einer EDIFACT-Nachricht anhand einer Gruppen-Syntaxdefinition.
Test-EdiGroupSyntax [[-InputFile] <string>] [[-MessageLines] <string[]>] [[-EdiGroupSyntax]
<System.Collections.IDictionary>] [<CommonParameters>]Die Funktion `Test-EdiGroupSyntax` wertet eine EDIFACT-Nachrichtzeile für Zeile gegen eine strukturierte Baumdefinition (`EdiGroupSyntax`) aus.
Dabei wird geprüft:
Erkannte Fehler werden in einem strukturierten Prüfbericht (`ArrayList`) gesammelt.
-InputFile
Type: stringPfad 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.IDictionaryDie Segmentgruppen-Definition als geordnete Hashtable. Jeder Eintrag enthält Angaben zu Level, Segmentcode, Status (M/K), Wiederholung und optional `sequence`.
System.Collections.ArrayListDie 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.
# 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