Update-SalesOrder #
ÜBERSICHT #
Aktualisiert ausgewählte Kopffelder eines vorhandenen Auftrags in EULANDA.
SYNTAX #
Update-SalesOrder [-XmlFile] <string> [-Conn] <__ComObject> [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion aktualisiert ausschließlich Kopffelder eines bereits existierenden Auftrags aus einer EULANDA-AUFTRAG-XML. Im Gegensatz zu Import-SalesOrder legt sie keinen Auftrag an. Im Gegensatz zu Update-SalesOrderLineItems fasst sie keine Positionen an.
Aktualisiert werden ausschließlich die folgenden Spalten - jeweils nur dann, wenn das zugehörige XML-Element vorhanden und nicht leer ist. Leere oder fehlende Elemente lassen die Spalte in EULANDA unverändert; es findet kein NULL-Override statt. Damit ist es ungefährlich, die Funktion gegen Aufträge laufen zu lassen, die ihre Texte aus anderen Quellen (z. B. EDI/EDIFACT, Tabelle AuftragText) befüllt bekommen haben - was nicht im XML kommt, wird auch nicht überschrieben.
Vortextaus<VORTEXT>(varchar(MAX); 1:1 in die SpalteAuftrag.Vortextgeschrieben; die TabelleAuftragTextwird nicht angefasst)Nachtextaus<NACHTEXT>(varchar(MAX); 1:1 in die SpalteAuftrag.Nachtext)UserVC1aus<USERVC1>(varchar(50))UserVC2aus<USERVC2>(varchar(50))UserVC3aus<USERVC3>(varchar(100))
Zu lange Werte für die UserVCn-Spalten werden auf die jeweilige DB-Maximallänge gekürzt und der Vorgang per Write-Warning protokolliert - das verhindert einen SQL-Truncation-Fehler, macht den Datenverlust aber sichtbar.
Enthält das XML mehrere <VORTEXT>-Knoten (z. B. strukturierte Einträge mit SubjectCode/ContentCode-Attributen, wie sie der Export aus AuftragText erzeugt), wird nur der erste als Plaintext in die Spalte übernommen. Strukturierte Vortexte werden von dieser Funktion bewusst nicht zurückgeschrieben - dafür gibt es in EulandaXtools derzeit keinen Import-Pfad.
Der Auftrag wird wie in Update-SalesOrderLineItems lokalisiert: bevorzugt über <AUFTRAGSNUMMER> (eindeutig, dbo.Auftrag.KopfNummer), Fallback über <BESTELLNUMMER> mit Eindeutigkeits-Check.
PARAMETER #
-XmlFile #
Type: string
Pfad zur EULANDA-AUFTRAG-XML-Datei.
-Conn #
Type: __ComObject
Eine aktive COM-Verbindung zur EULANDA-Datenbank.
AUSGABEN #
[int]
Anzahl der tatsächlich gesetzten Spalten. 0, wenn das XML zu keiner der unterstützten Spalten einen befüllten Wert mitbringt.
BEISPIELE #
# Vortext und Nachtext aus einer zurückgespielten App-XML übernehmen
Update-SalesOrder -Conn $conn -XmlFile 'C:\eulanda\order_rueck.xml'
# In Kombination mit Update-SalesOrderLineItems im Re-Import-Workflow
Update-SalesOrder -Conn $conn -XmlFile $localFile
Update-SalesOrderLineItems -Conn $conn -XmlFile $localFile -ReplaceLineItems