Mandato OrderItemStatus
El mandato OrderItemStatus lo invocan internamente los mandatos
OrderStatus, OrderConfirmStatus, OrderInvoiceStatus y OrderShippingStatus
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 de un artículo.
Parámetros
La siguiente es una lista de parámetros del mandato. Cada parámetro
se corresponde con un campo de la tabla ORDISTAT:
- versioning: String "TRUE" o "FALSE". Es opcional y
su valor por omisión es FALSE.
- Si su valor es TRUE, se habilitará versioning.
- orderItemId: Integer
- El número de referencia de artículo de pedido de WebSphere Commerce según se ha definido
en ORDERITMES_ID de la tabla ORDISTAT. Es una clave externa que
hace referencia a la columna ORDERITEMS_ID de la tabla ORDERITEMS.
- merchantItemNumber: String
- El número de artículo de pedido generado en el sistema de fondo según se ha definido en la columna OIMITEM.
- PartNumber: String
- El número/código del producto o artículo, según se ha definido en la columna PARTNUMBER.
- UnitOfMeasure: String
- La unidad de medida del artículo según se ha definido en la columna OIUOFM.
- RequestQuantity: Integer
- La cantidad de artículos solicitados según se ha definido en la columna OIQTREQUEST.
- ConfirmQuantity: Integer
- La cantidad de artículos confirmados, según se ha definido en la columna OIQTCONFIRM.
- ShipQuantity: Integer
- La cantidad de artículos enviados, según se ha definido en la columna OIQTSHIP.
- Currency: String
- El tipo de moneda ISO 4217 en el que está expresado el precio, según se
ha definido en la columna OICPCUR.
- UnitPrice: BigDecimal(20,4)
- El precio por unidad del producto según se ha definido en la columna
OIUNPRC.
- PriceTotal: BigDecimal(20,4)
- El precio total del producto según se ha definido en la columna
OIPRTOT.
- TaxTotal: BigDecimal(20,4)
- El total de impuestos del artículo, según se ha definido en la columna
OITXTOT.
- ShippingTotal: BigDecimal(20,4)
- El total de los costes de envío del artículo, según se ha definido en
la columna OISHTOT.
- ShippingTaxTotal: BigDecimal(20,4)
- El total de los impuestos aplicados a los costes de envío del artículo,
según se ha definido en la columna OISHTXTOT.
- Status: String
- El estado del artículo según se ha
definido en la columna OISTATUS.
- PlaceDateTime: Timestamp
- La fecha y hora reales en que el pedido se ha formalizado, según se ha
definido en la columna OIPLTIME.
- RequestShipDateTime: Timestamp
- La fecha en que se ha solicitado el envío del artículo, según se ha
definido en la columna OIRSTIME.
- ScheduleShipDateTime: Timestamp
- La fecha en que se ha planificado el envío del artículo, según
se ha definido en la columna OISSTIME.
- ActualShipDateTime: Timestamp
- La fecha y hora en que se ha enviado realmente el artículo, según se
ha definido en la columna OIASTIME.
- InvoiceDateTime: Timestamp
- La fecha en que se ha facturado el artículo, según
se ha definido en la columna OIINVTIME.
- InvoiceValue: BigDecimal(20,4)
- El valor neto de facturación del artículo según se ha definido en la columna OIINVVAL.
- itemShipCondition: String
- Código para designar si se aceptará el envío parcial del artículo
según se ha definido en la columna OISCOND. "SC": Envío completado, "SP":
Envío parcial.
- itemComment: String
- Los comentarios sobre el estado del artículo, según se ha definido en
la columna OICMNT.
- field1: Integer
- El campo de personalización de estado del artículo número 1 de la columna
FIELD1.
- field2: BigDecimal(15,2)
- El campo de personalización de estado del artículo número 2 de la
columna FIELD2.
- field3: String
- El campo de personalización de estado del artículo número 3 de la
columna FIELD3.
Comportamiento
- El estado del primer artículo de un pedido debe tener especificados
orderItemId y merchantItemNumber.
- Compruebe si el artículo del pedido especificado en orderItemId
existe en la tabla ORDERITEMS.
- En el estado de cada artículo de pedido siguiente para el que ya
exista una entrada en la tabla ORDISTAT, no será necesario orderItemId
para permitir que el sistema de fondo cree un nuevo artículo de línea
para el artículo de línea existente.
- Utilizando la información proporcionada, cree o actualice una fila
en la tabla ORDISTAT.
- Si ha habilitado versioning y este es el primer estado de artículo
de pedido para el pedido, se creará una nueva fila en la tabla ORDISTAT.
De lo contrario, se creará una copia del último estado de artículo de
pedido y su versión (OIVERNBR) se establecerá en el número máximo de
versiones existentes +1. Se creará una nueva fila que contendrá toda la
información proporcionada, con su versión (OIVERNBR) establecida en
0.
Condiciones de excepción
- El valor de orderItemId especificado no es un número de pedido
válido en la tabla ORDERITEMS.
- No se ha especificado orderItemId o merchantItemNumber en el primer estado de artículo de pedido para un artículo de pedido determinado.
- OrderItemId y merchantItemNumber no coinciden con lo establecido en la tabla ORDISTAT para un artículo de pedido determinado en una actualización de estado de artículo de pedido posterior.