New-EdifactParser

EulandaXtools — Funktionsreferenz

New-EdifactParser

ÜBERSICHT

Erzeugt ein EdifactParser-Objekt zur Verarbeitung, Analyse und Generierung von EDIFACT-Dokumenten.

SYNTAX

New-EdifactParser [[-Data] <string>] [<CommonParameters>]

BESCHREIBUNG

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.

PARAMETER

-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.

AUSGABEN

EdifactParser

Das instanzierte Parser-Objekt für EDIFACT-Daten.

BEISPIELE

# 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()

HINWEISE

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.