Mandato OrderStatus
El mandato OrderStatus se utiliza cuando se recibe un mensaje
Update_WCS_OrderStatus, Update_NC_OrderStatus o Actualizar estado del pedido
procedente de un sistema de fondo. El mandato actualiza la información
relacionada con el estado de un pedido existente.
Parámetros
- sequenceNumber
- String. SequenceNumber es el número de secuencia de estado del pedido WCS para su serialización.
- lastUpdateTimestamp:
- Serie en formato de indicación de la hora. La indicación de la hora de la última
actualización del estado del pedido WebSphere Commerce para su serialización.
- versioning: String "TRUE" o "FALSE". El valor por
omisión es FALSE.
- Si su valor es TRUE, se habilitará versioning.
Los parámetros que se listan a continuación corresponden a las columnas de la tabla ORDSTAT.
- orderId: Integer.
- El número de referencia de pedido de WebSphere Commerce según se ha definido
en la columna ORDERS_ID de la tabla ORDSTAT. Es una clave externa que hace
referencia a la columna ORDERS_ID de la tabla
ORDERS.
- merchantOrderNumber: String. Es obligatorio.
- El número de pedido que genera el sistema de fondo según está definido en la columna OSMORDER.
- currency: String
- El tipo de moneda ISO 4217 en el que está expresado el precio, según se ha
definido en la columna OSCPCUR.
- priceTotal: BigDecimal(20,4)
- El precio total de los productos para el pedido, según se ha definido
en la columna OSPRTOT.
- taxTotal: BigDecimal(20,4)
- El total de impuestos del pedido, según se ha definido en la columna
OSTXTOT.
- shippingTotal: BigDecimal(20,4)
- El total de los costes de envío del pedido, según se ha definido en
la columna OSSHTOT.
- shipingTaxTotal: BigDecimal(20,4)
- El total de los impuestos aplicados a los costes de envío del pedido,
según se ha definido en la columna OSSHTXTOT.
- orderStatus: String
- El estado del pedido, según se ha definido en la columna OSSTATUS.
- placeDateTime: Timestamp
- La fecha real en que se ha formalizado el pedido, según se ha definido
en la columna OSPLTIME.
- requestShipDateTime: Timestamp
- La fecha en que se ha solicitado el envío del pedido, según se ha
definido en la columna OSRSTIME.
- scheduleShipDateTime: Timestamp
- La fecha en que se ha planificado el envío del pedido, según
se ha definido en la columna OSSSTIME.
- actualShipDateTime: Timestamp
- La fecha real en que se ha enviado el pedido, según se ha
definido en la columna OSASTIME.
- invoiceDateTime: Timestamp
- La fecha real en que se ha facturado el pedido, según se ha
definido en la columna OSINVTIME.
- invoiceValue: BigDecimal(20,4)
- El valor neto de facturación del pedido según se ha definido en la columna OSINVVAL.
- shipCondition: String
- Código para designar si se aceptará el envío parcial del pedido según
se ha definido en la columna OSSCOND."SC": Envío completado, "SP":
Envío parcial.
- shippingModeFlag: String
- El código que indica que la dirección y la modalidad de envía están en
el nivel de pedido o en el nivel de artículo del pedido, según se ha
definido en la columna OSSMFLAG."O": Nivel de pedido; "I": Nivel de artículo.
- comment: String
- Los comentarios relacionados con el estado del pedido, según se ha definido en la columna OSCMNT.
- field1: Integer
- El campo de personalización de estado del pedido número 1 de la
columna FIELD1.
- field2: BigDecimal(15,2)
- El campo de personalización de estado del pedido número 2 de la
columna FIELD2.
- field3: String
- El campo de personalización de estado del pedido número 3 de la
columna FIELD3.
- items: Vector de tabla de totales de control.
- Cada tabla de totales de control representa a los parámetros de un artículo.
Comportamiento
- El estado del primer pedido de un pedido debe tener especificados
orderId y merchantOrderNumber.
- Comprueba si el pedido especificado en orderId
existe en la tabla ORDERS.
- Si hay información de serialización disponible como, por ejemplo, los
parámetros sequenceNumber y lastUpdateTimestamp, comprueba si los valores
son más recientes que los que ya existen en la tabla ORDSTAT, si no es así
no se lleva a cabo ninguna actualización.
- Crea o actualiza una fila en la tabla ORDSTAT utilizando toda la información suministrada.
- Si se ha habilitado versioning y este es el primer estado del
pedido, se creará una fila nueva en la tabla ORDSTAT, de lo contrario, se
creará una copia del último estado del pedido y su versión (OSVERNBR) se
establecerá en el número máximo de la versión existente +1. Se creará una
nueva fila que contendrá toda la información suministrada con el valor de OSVERNBR
establecido en 0.
- Actualiza el valor de la columna STATUS de la tabla ORDERS en "G".
Condiciones de excepción
- El valor de orderId especificado no es un número de pedido válido en
la tabla ORDERS.
- No se ha especificado orderId o merchantOrderNumber en el primer
estado de pedido para un pedido determinado.
- El valor de orderId y merchantOrderNumber no coinciden con el existente en la tabla ORDSTAT de un pedido determinado en una operación de actualización de estado de pedido siguiente.
- Se proporciona información de serialización y el mensaje de estado de pedido está fuera de secuencia