Test-EdiGroupSyntax

EulandaXtools — Funktionsreferenz

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:

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