Convert-ToOrderResponse #
ÜBERSICHT #
Erzeugt eine ORDRSP-XML aus einer vorhandenen ORDERS-XML.
SYNTAX #
Convert-ToOrderResponse [-OrdersXmlPath] <string> [-DestinationPath] <string> [[-Mode] <string>]
[[-DocumentDate] <datetime>] [[-DocumentNumber] <string>] [[-Prefix] <string>]
[[-EnrichmentCallback] <ScriptBlock>] [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion deckt drei Szenarien ab:
- Simulation (1:1 Übernahme ohne SQL, fehlendes Datum und Belegnummer werden mit Defaults ergänzt).
- Aufbereitung (Datenanreicherung über eine Callback-Funktion, z.B. Preise und Lagerbestände).
- ERP-Ausleitung (Verwendung eines bereits in der ERP verarbeiteten Auftrags, ggf. Archivzugriff und erneute XML-Erstellung).
PARAMETER #
-OrdersXmlPath #
Type: string
Mandatory: True
Pfad zur bestehenden ORDERS-XML-Datei (EULANDA-Format).
-DestinationPath #
Type: string
Mandatory: True
Pfad, unter dem die erzeugte ORDRSP-XML gespeichert wird.
-Mode #
Type: string
Default: 'Simulate'
Arbeitsmodus: ‘Simulate’ (1), ‘Enrich’ (2) oder ‘FromErp’ (3).
-DocumentDate #
Type: datetime
Optionales Belegdatum für den Simulationsmodus. Standard ist Tagesdatum.
-DocumentNumber #
Type: string
Optionale Belegnummer für den Simulationsmodus. Standard ist die Bestellnummer mit Prefix ‘42-’.
-Prefix #
Type: string
Default: '42-'
Prefix für Belegnummer im Simulationsmodus. Default ‘42-’.
-EnrichmentCallback #
Type: ScriptBlock
ScriptBlock, der je Position aufgerufen wird und ein Hashtable mit Preis, Menge und ValidFlag zurückgibt.
AUSGABEN #
System.Xml.XmlDocument
BEISPIELE #
# 1:1 Simulation ohne SQL, Defaultwerte verwenden
$doc = Convert-ToOrderResponse -OrdersXmlPath 'ORDERS.xml' -DestinationPath 'ORDRSP.xml' -Mode Simulate
# Simulation mit Vorgabe Belegdatum und Belegnummer
$doc = Convert-ToOrderResponse -OrdersXmlPath 'ORDERS.xml' -DestinationPath 'ORDRSP.xml' -Mode Simulate -DocumentDate (Get-Date '2025-09-15') -DocumentNumber '42-ABC123'
# Aufbereitung mit Dummy-Callback (immer gültig, Menge/Preis übernehmen)
$dummyCb = {
param($positionNode)
@{
Price = $positionNode.VKVRAB
Quantity = $positionNode.MENGE
IsValid = $true
}
}
$doc = Convert-ToOrderResponse -OrdersXmlPath 'ORDERS.xml' -DestinationPath 'ORDRSP.xml' -Mode Enrich -EnrichmentCallback $dummyCb