Convert-ToOrderResponse

EulandaXtools — Funktionsreferenz

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:

1. Simulation (1:1 Übernahme ohne SQL, fehlendes Datum und Belegnummer werden mit Defaults ergänzt).

2. Aufbereitung (Datenanreicherung über eine Callback-Funktion, z.B. Preise und Lagerbestände).

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