EulandaXtools — Funktionsreferenz
Erzeugt ein EdifactParser-Objekt zur Verarbeitung, Analyse und Generierung von EDIFACT-Dokumenten.
New-EdifactParser [[-Data] <string>] [<CommonParameters>]Die Funktion `New-EdifactParser` erstellt ein neues Objekt der Klasse `EdifactParser`. Dieses bietet umfangreiche Methoden, um EDIFACT-Nachrichten wie `INVOIC`, `ORDERS`, `DESADV` usw. strukturiert einzulesen, zu analysieren, zu verändern und bei Bedarf wieder auszugeben. Beim Einlesen wird die Nachricht in das `EULANDA-META-XML`-Format überführt. Umgekehrt kann beim Schreiben eine EDIFACT-Nachricht aus diesem Format generiert werden. Das `EULANDA-META-XML` dient dabei als neutrales Zwischensystem und lässt sich direkt in die EULANDA-SQL-Datenbank importieren oder daraus exportieren. Auf diese Weise können sämtliche Prüf- und Monitoring-Werkzeuge, die für `EULANDA-META-XML` vorhanden sind, auch für EDIFACT-Nachrichten genutzt werden. Zudem lässt sich dieses XML leicht in andere Formate transformieren, etwa eine `EDIFACT-INVOIC`-Nachricht in eine `XRechnung`. Die Parser-Logik basiert auf speziell erzeugten Syntaxdefinitionen aus offiziellen UN-ECE-Dokumenten. Dadurch kann gezielt auf verschiedene EDIFACT-Versionen und Subsets reagiert werden, inklusive nationaler oder branchenspezifischer Erweiterungen.
Das erzeugte Objekt bietet:
Standardmäßig verwendet das Objekt die EDIFACT-Syntax D96A, kann aber auch flexibel mit einer benutzerdefinierten Syntax initialisiert werden, um andere EDIFACT-Standards zu unterstützen.
-Data
Type: string
Default: ''Optionaler Parameter zur Übergabe einer benutzerdefinierten Syntaxdefinition als mehrzeiliger String. Die Syntax definiert Struktur und Bedeutung der Segmente und ihrer Felder gemäß UN-ECE-Vorgaben.
Beispiel einer Syntaxdefinition: BGM+(C002)1001:1131:3055:1000+1004+1225+4343
Wird kein Parameter angegeben, nutzt das Objekt standardmäßig die integrierte EDIFACT D96A Syntax.
EdifactParserDas instanzierte Parser-Objekt für EDIFACT-Daten.
# Erzeugt ein EdifactParser-Objekt mit Standard D96A-Syntax
$edi = New-EdifactParser# Erzeugt ein EdifactParser-Objekt mit eigener Syntaxdefinition
$customSyntax = @'
BGM+(C002)1001:1131:3055:1000+1004+1225+4343
LIN+1082+(C212)7140:7143:1131:3055:7143
'@
$edi = New-EdifactParser -Data $customSyntax# Lädt ein EDI File mit automatischer Zeichensatz-Erkennung
$edi.LoadFromFile('C:\Path\To\File.edi')# Fügt ein neues Segment hinzu
$edi.AddSegment("BGM+380:9:6:12345+4711+2'")# Verteilt einen langen String auf mehrdeutige Felder einer Komponente
$edi.SetComponentFields("C080", '3036', "EULANDA Software GmbH und Co KG für alle Internet GmbH", $true)# Exportiert die aktuelle EDIFACT-Struktur als formatierte XML
$xmlString = $edi.GetXmlString()# Setzt ein einzelnes Feld in einem Segment
$edi.SetField('3207', "IT")# Liest ein einzelnes Feld aus einem Segment
$edi.GetField('3207')# Gezielter Zugriff auf das erste Feld einer mehrdeutigen Komponente
$edi.GetComponentField('C080', '1')# Speichert das EDIFACT-Dokument als ANSI-Datei
$edi.SaveToFile("C:\Path\To\File.edi", "ANSI")# Zeigt einen detaillierten Segment-Bericht mit Metainfos
$edi.GetSegmentReport()Kompatibilität: PowerShell 5.1 und höher
Das Objekt unterstützt methodische Segmentnavigation, Field- und Component-Level-Manipulation sowie XML-Transformationen, was besonders bei komplexen Integrationsszenarien hilfreich ist.