OrderStatus command
The OrderStatus command is used when an Update_WCS_OrderStatus, Update_NC_OrderStatus, or Order Status Update message is received from a back-end system. The command updates information regarding the status of an existing order.
Parameter values
- sequenceNumber
- String. WCS order status sequenceNumber for serialization.
- lastUpdateTimestamp:
- String in timestamp format. WebSphere Commerce order status last update timestamp for serialization.
- versioning: String "TRUE" or "FALSE". Default is FALSE.
- If TRUE, the versioning will be enabled.
- updateMode: String "C" or "P". Default is P.
- If C, complete update-status information for all order items in the order must be specified. If P, partial update-individual order item status updates can be performed.
The parameters listed below correspond to columns in the ORDSTAT table.
- orderId: Integer.
- WebSphere Commerce order reference number as defined in the ORDERS_ID column in table ORDSTAT. This is a foreign key that references column ORDERS_ID in the ORDERS table.
- merchantOrderNumber: String, mandatory.
- Order number generated in the backend system as defined in the OSMORDER column.
- currency: String
- The ISO 4217 currency type in which the price is expressed as defined in the OSCPCUR column.
- priceTotal: BigDecimal(20,4)
- The total product price for the order as defined in the OSPRTOT column.
- taxTotal: BigDecimal(20,4)
- The total tax for the order as defined in the OSTXTOT column.
- shippingTotal: BigDecimal(20,4)
- The total shipping charge for the order as defined in the OSSHTOT column.
- shipingTaxTotal: BigDecimal(20,4)
- The total tax on shipping charge for the order as defined in the OSSHTXTOT column.
- orderStatus: String
- The status of the order as defined in the OSSTATUS column.
- placeDateTime: Timestamp
- The date that the order is actually placed as defined in the OSPLTIME column.
- requestShipDateTime: Timestamp
- The date that the order is requested to be shipped as defined in the OSRSTIME column.
- scheduleShipDateTime: Timestamp
- The date that the order is scheduled to be shipped as defined in the OSSSTIME column.
- actualShipDateTime: Timestamp
- The date that the order is actually shipped as defined in the OSASTIME column.
- invoiceDateTime: Timestamp
- The date that the order is invoiced as defined in the OSINVTIME column.
- invoiceValue: BigDecimal(20,4)
- The net value that the order is invoiced as defined in the OSINVVAL column.
- shipCondition: String
- Code to be designate whether partial shipment of the order will be accepted as defined in the OSSCOND column. 'SC': Ship Complete, 'SP': Ship Partial.
- shippingModeFlag: String
- Code to indicate shipping address and shipping mode are at order level or order item level as defined in the OSSMFLAG column. 'O': Order level; 'I': Item level.
- comment: String
- Comments regarding the order status as defined in the OSCMNT column.
- field1: Integer
- Order status customization field 1 as defined in the FIELD1 column.
- field2: BigDecimal(15,2)
- Order status customization field 2 as defined in the FIELD2 column.
- field3: String
- Order status customization field 3 as defined in the FIELD3 column.
- items: Vector of Hash table.
- Each hash table represents the parameters for one item.
Behavior
- The first order status for an order must have orderId and merchantOrderNumber specified.
- Check if the order specified in orderId exists in the ORDERS table.
- If serialization information is available, such as the sequenceNumber and the lastUpdateTimestamp parameters, check if the values are more recent than the ones already in the ORDSTAT table, if not then no update will be performed.
- Create or update a row in the table ORDSTAT using all the provided information.
- If versioning is enabled and this is the first order status for the order a new row will be created in ORDSTAT table, otherwise a copy of the last order status will be made and its version (OSVERNBR) will be set to the maximum number of existing version +1. A new row will be created containing all provided information with its OSVERNBR value set to 0.
- Update the value in the STATUS column of table ORDERS to 'G'.
Exception Conditions
- The orderId specified is not a valid order number in the ORDERS table.
- Either the orderId or merchantOrderNumber is not specified in the first order status for a particular order.
- The orderId and merchantOrderNumber do not match one already in ORDSTAT table for a particular order in a subsequent order status update.
- Serialization information is provided and the order status message is out of sequence