Commande OrderInvoiceStatus

La commande OrderInvoiceStatus est utilisée lorsqu'un message Update_WCS_OrderStatus avec une valeur de balise OrderStatusType OrderInvoice est reçu d'un système d'arrière-plan. La commande met à jour les informations relatives au statut de la facture d'une commande existante. Elle présente les mêmes paramètres, comportements et conditions d'exception que la commande OrderStatus. La seule différence entre les deux commandes est que la commande OrderInvoiceStatus définit la valeur du paramètre orderStatus sur une valeur par défaut de C, ce qui signifie que la commande a été facturée si elle n'est pas fournie dans le message.

Valeurs des paramètres

sequenceNumber
Chaîne. sequenceNumber du statut de commande WCS pour la sérialisation.
lastUpdateTimestamp :
Chaîne au format d'horodatage. Horodatage de la dernière mise à jour de la commande HCL Commerce pour la sérialisation.
versioning : Chaîne "TRUE" ou "FALSE". La valeur par défaut est false.
Si TRUE, la gestion de version est activée.

Les paramètres énumérés ci-dessous correspondent aux colonnes du tableau ORDSTAT.

orderId : Entier.
HCL Commerce numéro de référence de la commande tel que défini dans la colonne ORDERS_ID du tableau ORDSTAT. Il s'agit d'une clé étrangère qui référence la colonne ORDERS_ID dans le tableau ORDERS.
merchantOrderNumber : Chaîne, obligatoire.
Numéro de commande généré dans le système d'arrière-plan tel que défini dans la colonne OSMORDER.
currency : Chaîne
Type de devise ISO 4217 dans lequel le prix est exprimé tel que défini dans la colonne OSCPCUR.
priceTotal : BigDecimal(20,4)
Prix total du produit pour la commande tel que défini dans la colonne OSPRTOT.
taxTotal : BigDecimal(20,4)
Montant total des taxes pour la commande tel que défini dans la colonne OSTXTOT.
shippingTotal : BigDecimal(20,4)
Frais d'expédition totaux pour la commande tels que définis dans la colonne OSSHTOT.
shipingTaxTotal : BigDecimal(20,4)
Taxe totale sur les frais d'expédition de la commande telle que définie dans la colonne OSSHTXTOT.
orderStatus : Chaîne
Statut de la commande tel que défini dans la colonne OSSTATUS.
placeDateTime : Horodatage
Date à laquelle la commande est effectivement effectuée telle que définie dans la colonne OSPLTIME.
requestShipDateTime : Horodatage
Date à laquelle la commande est envoyée telle que définie dans la colonne OSRSTIME.
scheduleShipDateTime : Horodatage
Date d'expédition prévue de la commande, telle que définie dans la colonne OSSSTIME.
actualShipDateTime : Horodatage
Date à laquelle la commande est effectivement expédiée telle que définie dans la colonne OSASTIME.
invoiceDateTime : Horodatage
Date à laquelle la commande est facturée telle que définie dans la colonne OSINVTIME.
invoiceValue : BigDecimal(20,4)
Valeur nette de la facture de la commande telle que définie dans la colonne OSINVVAL.
shipCondition : Chaîne
Code à désigner si l'envoi partiel de la commande sera accepté tel que défini dans la colonne OSSCOND. "SC" : Expédition en un seul lot, "SC" : Expédition partielle.
shippingModeFlag : Chaîne
Le code pour indiquer l'adresse d'expédition et le mode d'expédition sont au niveau de la commande ou de l'article de la commande tel que défini dans la colonne OSSMFLAG. "O" : Niveau de la commande ; "I" Niveau de l'article.
comment : Chaîne
Commentaires concernant le statut de la commande tel que défini dans la colonne OSCMNT.
field1: Entier
Champ de personnalisation du statut de la commande 1 tel que défini dans la colonne FIELD1.
field2: BigDecimal(15,2)
Champ de personnalisation du statut de la commande 2 tel que défini dans la colonne FIELD2.
field3: Chaîne
Champ de personnalisation du statut de la commande 3 tel que défini dans la colonne FIELD3.
items: Vecteur de table de hachage.
Chaque table de hachage représente les paramètres d'un article.

Comportement

  • Le premier statut d'une commande doit présenter un orderId et un merchantOrderNumber.
  • Vérifiez si la commande spécifiée dans orderId existe dans le tableau ORDERS.
  • Si des informations de sérialisation sont disponibles, telles que les paramètres sequenceNumber et lastUpdateTimestamp, vérifiez si les valeurs sont plus récentes que celles déjà présentes dans le tableau ORDSTAT, sinon aucune mise à jour ne sera effectuée.
  • Créez ou mettez à jour une ligne dans le tableau ORDSTAT à l'aide de toutes les informations fournies.
  • Si la gestion de versions est activée et qu'il s'agit du premier statut de la commande, une nouvelle ligne sera créée dans le tableau ORDSTAT, sinon une copie du dernier statut de la commande sera effectuée et sa version (OSVERNBR) sera définie sur le nombre maximal de version existante +1. Une nouvelle ligne sera créée contenant toutes les informations fournies avec sa valeur OSVERNBR définie sur 0.
  • Mettez à jour la valeur de la colonne STATUS du tableau ORDERS sur "G".

Conditions d'exception

  • L'orderId spécifié n'est pas un numéro de commande valide dans le tableau ORDERS.
  • L'orderId ou le merchantOrderNumber n'est pas spécifié dans le premier statut d'une commande donnée.
  • L'orderId et le merchantOrderNumber ne correspondent pas à ceux déjà présents dans le tableau ORDSTAT pour une commande donnée dans une mise à jour ultérieure du statut de la commande.
  • Des informations de sérialisation sont fournies et le message de statut de la commande est hors séquence.