Comando OrderStatus
Il comando OrderStatus viene utilizzato quando viene ricevuto il messaggio
Update_WCS_OrderStatus, Update_NC_OrderStatus o Aggiornamento stato ordine da un sistema back-end. Il comando aggiorna le informazioni sullo stato di
un ordine esistente.
Parametri
- sequenceNumber
- Stringa. Lo stato dell'ordine WCS sequenceNumber per la serializzazione.
- lastUpdateTimestamp:
- Stringa in formato data/ora. Lo stato dell'ordine di WebSphere Commerce dell'ultimo aggiornamento del formato orario per la serializzazione.
- versioning: String "TRUE" o "FALSE". Il
valore predefinito è FALSE.
- Se è TRUE, viene abilitata la conversione.
I parametri elencati di seguito corrispondono alle colonne della tabella ORDSTAT.
- orderId: Integer.
- Il numero di riferimento dell'ordine di WebSphere Commerce come definito nella colonna ORDERS_ID della tabella ORDSTAT. Questa è una chiave esterna
che fa riferimento alla colonna
ORDERS_ID nella tabella
ORDERS.
- merchantOrderNumber: String, obbligatorio.
- Numero di ordine creato nel sistema backend
come definito nella colonna OSMORDER.
- currency: String
- Il tipo valuta ISO 4217 in cui il prezzo viene espresso come definito nella colonna OSCPCUR.
- priceTotal: BigDecimal(20,4)
- Prezzo totale del prodotto per l'ordine come definito nella colonna OSPRTOT.
- taxTotal: BigDecimal(20,4)
- L'imposta totale per l'ordine come definito nella colonna OSTXTOT.
- shippingTotal: BigDecimal(20,4)
- Il costo totale di spedizione per l'ordine come definito nella colonna OSSHTOT.
- shipingTaxTotal: BigDecimal(20,4)
- L'imposta totale sui costi di spedizione per l'ordine come
definito nella colonna OSSHTXTOT.
- orderStatus: String
- Lo stato dell'ordine come definito nella colonna OSSTATUS.
- placeDateTime: Timestamp
- La data in cui l'ordine è realmente effettuato come
definito nella colonna OSPLTIME.
- requestShipDateTime: Timestamp
- La data in cui è richiesta la spedizione dell'ordine
come definito nella colonna OSRSTIME.
- scheduleShipDateTime: Timestamp
- La data in cui è programmata la spedizione dell'ordine
come definito nella colonna OSSSTIME.
- actualShipDateTime: Timestamp
- La data in cui l'ordine viene effettivamente spedito come
definito nella colonna OSASTIME.
- invoiceDateTime: Timestamp
- La data in cui l'ordine viene fatturato come definito nella colonna OSINVTIME.
- invoiceValue: BigDecimal(20,4)
- Il valore netto con cui l'ordine viene fatturato come definito nella colonna OSINVVAL.
- shipCondition: String
- Codice da stabilire se viene accettata la spedizione parziale dell'ordine come definito nella colonna OSSCOND. 'SC': Spedizione completa, 'SP':
Spedizione parziale.
- shippingModeFlag: String
- Codice per indicare che l'indirizzo e la modalità di spedizione sono al livello ordine o articolo ordine, come definito nella colonna OSSMFLAG. 'O': Livello ordine; 'I': Livello articolo.
- comment: String
- Commenti sullo stato dell'ordine come definito nella colonna OSCMNT.
- field1: Integer
- Campo 1 Personalizzazione stato ordine come definito nella colonna FIELD1.
- field2: BigDecimal(15,2)
- Campo 2 Personalizzazione stato ordine come definito nella colonna FIELD2.
- field3: String
- Campo 3 Personalizzazione stato ordine come definito nella colonna FIELD3.
- items: Vector of Hash table.
- Ciascun tabella hash rappresenta i parametri di un articolo.
Azione
- Il primo stato per un ordine deve avere orderId e
merchantOrderNumber specificati.
- Controllare se l'ordine specificato in orderId esiste
nella tabella ORDERS.
- Se le informazioni di serializzazione sono disponibili, ad
esempio i parametri sequenceNumber e lastUpdateTimestamp, controllare
se i valori sono più aggiornati rispetto a quelli già presenti nella
tabella ORDSTAT, altrimenti non verrà eseguito alcun aggiornamento.
- Creare o aggiornare una riga nella tabella ORDSTAT utilizzando
tutte le informazioni fornite.
- Se la conversione è abilitata e questo è il primo stato ordine
verrà creata una nuova riga nella tabella ORDSTAT, altrimenti verrà
eseguita una copia dell'ultimo stato ordine e la relativa versione (OSVERNBR)
verrà impostata con il numero versione più alto esistente +1. Verrà
creata una nuova riga contenente tutte le informazioni fornite, con
il valore OSVERNBR
impostato su 0.
- Aggiornare il valore nella colonna STATUS della tabella ORDERS
su 'G'.
Condizioni di errore
- Il valore orderId specificato non è un numero di ordine valido
nella tabella ORDERS.
- Non è specificato orderId o merchantOrderNumber nel primo stato
ordine per un ordine particolare.
- I valori di orderId e merchantOrderNumber non corrispondono a
quello nella tabella ORDSTAT per un ordine particolare in un
aggiornamento successivo dello stato dell'ordine.
- Vengono fornite le informazioni di serializzazione e il
messaggio di stato dell'ordine è fuori sequenza