Befehl 'OrderStatus'
Der Befehl 'OrderStatus' wird dann
verwendet, wenn eine XML-Nachricht 'Update_WCS_OrderStatus',
'Update_NC_OrderStatus' oder eine Nachricht 'Aktualisierung des
Bestellstatus'
von einem Back-End-System empfangen wird. Der Befehl aktualisiert
Informationen über den Status einer vorhandenen Bestellung.
Parameter
- sequenceNumber
- Zeichenfolge. WCS-Bestellstatus 'sequenceNumber'
zur Serialisierung.
- lastUpdateTimestamp:
- Zeichenfolge im Timestamp-Format. Zeitmarke für die letzte Aktualisierung des WebSphere Commerce-Bestellstatus'
zur Serialisierung.
- versioning: String "TRUE" oder "FALSE". Standardwert ist
FALSE.
- Bei TRUE wird Versioning aktiviert.
Die unten aufgeführten Parameter entsprechen den Spalten in der Tabelle ORDSTAT.
- orderId: Integer.
- Die WebSphere Commerce-Bestellreferenznummer, wie in Spalte ORDERS_ID
der Tabelle ORDSTAT definiert. Dies ist ein Fremdschlüssel, der auf
die Spalte
ORDERS_ID in der Tabelle ORDERS
verweist.
- merchantOrderNumber: String, obligatorisch.
- Die im Back-End-System generierte Bestellnummer, wie in der Spalte OSMORDER definiert.
- currency: String
- Die Art der Währung, in der die Preisangabe erfolgt, als
ISO 4217-Code, wie in der Spalte OSCPCUR definiert.
- priceTotal: BigDecimal(20,4)
- Der Gesamtproduktpreis für die Bestellung, wie in der Spalte
OSPRTOT definiert.
- taxTotal: BigDecimal(20,4)
- Der Steuergesamtbetrag für die Bestellung, wie in der Spalte
OSTXTOT definiert.
- shippingTotal: BigDecimal(20,4)
- Der Gesamtbetrag der Versandspesen für die Bestellung, wie in
der Spalte OSSHTOT definiert.
- shipingTaxTotal: BigDecimal(20,4)
- Der Steuergesamtbetrag auf die Versandspesen für
die Bestellung, wie in der Spalte OSSHTXTOT definiert.
- orderStatus: String
- Der Status der Bestellung, wie in der Spalte OSSTATUS definiert.
- placeDateTime: Timestamp
- Tatsächliches Aufgabedatum und tatsächliche Aufgabezeit der
Bestellung, wie in der Spalte OSPLTIME definiert.
- requestShipDateTime: Timestamp
- Vorgesehenes Datum und vorgesehene Uhrzeit für den Versand der
Bestellung, wie in der Spalte OSRSTIME definiert.
- scheduleShipDateTime: Timestamp
- Vorgesehenes Datum und vorgesehene Uhrzeit für den Versand der
Bestellung, wie in der Spalte OSSSTIME definiert.
- actualShipDateTime: Timestamp
- Tatsächliches Versanddatum und tatsächliche Versanduhrzeit
der Bestellung, wie in der Spalte OSASTIME definiert.
- invoiceDateTime: Timestamp
- Tatsächliches Datum, an dem die
Bestellung in Rechnung gestellt wird, wie in der Spalte OSINVTIME definiert.
- invoiceValue: BigDecimal(20,4)
- Der Nettobetrag, mit dem die
Bestellung in Rechnung gestellt wird, wie in der Spalte OSINVVAL definiert.
- shipCondition: String
- Code, um kennzuzeichnen, ob eine Teilversand der Bestellung
akzeptiert wird, wie in der Spalte
OSSCOND definiert. 'SC': Versand vollständig (Ship Complete), 'SP':
Teilversand (Ship Partial.
- shippingModeFlag: String
- Code mit dem gekennzeichnet wird, dass sich Versandadresse und auf der Bestellstufe oder
auf der Stufe der Bestellartikel befinden, wie in der Spalte
OSSMFLAG definiert. 'O': Bestellstufe (Order Level); 'I': Artikelstufe (Item Level).
- comment: String
- Kommentare zum Bestellstatus, wie in der
Spalte OSCMNT definiert.
- field1: Integer
- Angepasstes Feld 1 zum Bestellstatus, wie in der Spalte FIELD1 definiert.
- field2: BigDecimal(15,2)
- Angepasstes Feld 2 zum Bestellstatus, wie in der Spalte FIELD2 definiert.
- field3: String
- Angepasstes Feld 3 zum Bestellstatus, wie in der Spalte FIELD3 definiert.
- items: Vektor der Hash-Tabelle.
- Jede Hash-Tabelle stellt die Parameter für einen Artikel dar.
Verhalten
- Für den ersten Bestellartikelstatus einer Bestellung
muss orderId und merchantOrderNumber angegeben sein.
- Es wird geprüft, ob die in orderId angegebene Bestellung in
der Tabelle ORDERS vorhanden ist.
- Sind Serialisierungsinformationen (wie z. B. die Parameter
sequenceNumber und lastUpdateTimestamp) verfügbar, wird geprüft,
ob diese Werte neuer als die bereits in der Tabelle ORDSTAT
vorhandenen Werte sind. Wenn dies nicht der Fall ist, wird die
Aktualisierung nicht ausgeführt.
- Mit den bereitgestellten Informationen wird eine Zeile in der
Tabelle ORDSTAT erstellt oder aktualisiert.
- Wenn das Versioning aktiviert ist und es sich um den ersten
Bestellstatus für die Bestellung handelt, wird in der Tabelle ORDSTAT
eine neue Zeile erstellt. Im anderen Fall wird eine Kopie des letzten
Bestellstatus erstellt, und ihre Version (OSVERNBR) wird auf die
maximale Anzahl vorhandener Versionen + 1 gesetzt.
Es wird eine neue Zeile erstellt, die alle bereitgestellten
Informationen enthält und deren Wert für OSVERNBR
auf 0 gesetzt ist.
- Der Wert in der Spalte STATUS der Tabelle ORDERS wird auf
'G' aktualisiert.
Ausnahmebedingungen
- Die angegebene 'orderId' ist keine gültige Bestellnummer in der
Tabelle ORDERS.
- Entweder die 'orderId' oder die 'merchantOrderNumber' ist nicht im
ersten Bestellstatus für eine bestimmte Bestellung angegeben.
- Bei einer nachfolgenden Aktualisierung des Bestellstatus
stimmen die 'orderId' und die 'merchantOrderNumber' nicht
mit den bereits in der Tabelle ORDSTAT für eine bestimmte Bestellung
vorhandenen Werten überein.
- Die Serialisierungsinformationen werden zur Verfügung gestellt,
und die Nachricht zum Bestellstatus wird in falscher Reihenfolge
ausgegeben.