Deprecated feature

URL OrderPrepare

Prépare une commande en déterminant ses prix, ses remises, ses frais de port et ses taxes. Si un numéro de référence de commande n'est pas spécifié, toutes les commandes en attente en cours seront préparées pour le client actuel dans le magasin donné.

URL

OrderPrepare

Commande de contrôleur

com.ibm.commerce.order.commands.OrderPrepareCmd

Classe d'implémentation

com.ibm.commerce.order.commands.OrderPrepareCmdImpl

Commandes appelées

ValidateShippingAdjustmentCmd

PrepareOrderCmd

Structure de l'adresse URL

http:// host_name/ path/
Nom entièrement qualifié de votre Transaction server et du chemin de configuration.

Ce diagramme affiche la structure de l'adresse URL OrderPrepare.

Valeurs des paramètres

langId
Définit ou redéfinit la langue préférée pour la durée de la session ; les langues prises en charge dans un magasin sont répertoriées dans la table STORELANG
forUser
ID de connexion de l'utilisateur pour lequel est exécutée l'instruction. Seuls les utilisateurs disposant des droits permettant de traiter des commandes peuvent spécifier ce paramètre.
forUserId
Identique à forUser, mais identifiant l'utilisateur par son ID interne, répertorié dans la table USERS.
URL
Obligatoire : Adresse URL à appeler une fois que la commande a abouti.
storeId
Numéro de référence du magasin pour lequel la commande doit être préparée.
orderId
Numéro de référence de la commande à préparer. Si ce paramètre est omis, cette commande est définie par défaut sur les commandes en attente en cours. Voir Abréviations de commande pour obtenir une description. Ce paramètre peut être utilisé plusieurs fois.
outOrderName
Définit les noms des paires nom-valeur à ajouter à l'URL de redirection. La valeur de chaque paire nom-valeur ajoutée est le numéro de référence d'une commande préparée. Si le nom n'est pas fourni, l'orderId du nom par défaut est utilisé. Ce paramètre peut être utilisé plusieurs fois.
validation
Contrôle si chaque commande est traitée dans une transaction de base de données distincte. Une valeur de 0 spécifie que toutes les commandes doivent être préparées en une seule transaction ; une valeur de 1 spécifie qu'une nouvelle transaction est démarrée pour chaque commande à préparer. La valeur par défaut de ce paramètre est 0.
remerge
Liste d'article d'une commande à fusionner avec d'autres articles de la même commande, dotés, si possible, du même attribut correlationGroup. Les articles de commande ne sont pas fusionnés à moins que leur InventoryStatus ne soit NALC ou qu'ils ne soient spécifiés par un ou plusieurs paramètres allocate, backorder et reverse. Ce paramètre peut être utilisé plusieurs fois.
merge
Liste des articles d'une commande à fusionner avec d'autres articles de la même commande, quels que soient leurs attributs correlationGroup. Ce paramètre peut être utilisé plusieurs fois.
vérification
Liste des articles d'une commande à vérifier à l'aide de l'instruction de tâche CheckInventory. Ce paramètre peut être utilisé plusieurs fois.
allocate
Liste des articles d'une commande à allouer à partir du stock existant. Ce paramètre peut être utilisé plusieurs fois.
backorder
Liste des articles d'une commande à allouer à partir du stock prévu. Ce paramètre peut être utilisé plusieurs fois.
reverse
Liste des articles d'une commande dont l'allocation doit être annulée (c'est-à-dire qui ne doivent plus être attribués à partir du stock existant ou prévu). Ce paramètre peut être utilisé plusieurs fois.
keepAutoAddedOrderItemsBeforeCalculate
Indique si les articles de commande ajoutés automatiquement dans la commande doivent être conservés (true) ou supprimés (false) avant que la commande ne soit calculée. La valeur par défaut est false.
Note for ATP inventory : Les paramètres remerge, merge, check, allocate, backorder, et reverse ne sont applicables que si le stock ATP est activé (voir la colonne INVENTORYSYSTEM dans la table STORE). Ils représentent des listes d'articles de commande qui sont transmis à DoInventoryActionCmd. Cette commande appelle l'instruction de tâche AllocateInventory, qui appelle à son tour les instructions de tâche com.ibm.commerce.fulfillment.commands.CheckInventoryAvailabilityCmd, com.ibm.commerce.fulfillment.commands.AllocateExistingInventoryCmd, com.ibm.commerce.fulfillment.commands.AllocateExpectedInventoryCmd, com.ibm.commerce.fulfillment.commands.DeallocateExistingInventoryCmd, et com.ibm.commerce.fulfillment.commands.DeallocateExpectedInventoryCmd, GetEligibleFulfillmentCenters, ReserveInventory, AdjustInventoryReservation comme indiqué ci-dessous. Ces paramètres acceptent les abréviations d'articles de commande, détaillées dans l'aide relative aux adresses URL de sous-système de gestion de commande.

Les valeurs de paramètre ATP par défaut sont les suivantes :

  • remerge=*
  • merge=*n
  • check=*n
  • allocate=*
  • backorder=*
  • reverse=*
Remarque : Si vous souhaitez que tous les articles de commande d'un magasin soient attribués dans l'instruction OrderPrepare, transmettez reverse=*n avec allocate=*.

Exemple

L'exemple suivant prépare une commande avec le numéro de référence 1 et redirige vers l'instruction OrderDisplay pour afficher cette commande.


    
http://myhostname/webapp/wcs/stores/servlet/OrderPrepare?orderId=1
     &URL=/webapp/commerce/OrderDisplay 

Comportement

Vérifiez si la commande est verrouillée par le CSR en cours. Si la commande n'est pas verrouillée et appelée par un RSC, ou si elle est verrouillée par un autre RSC, une exception est émise.

Appelez ValidateShippingAdjustmentCmd pour valider le fait que la commande n'a pas changé depuis l'ajout d'un ajustement d'expédition

Appelez PrepareOrderCmd pour effectuer des tarifs, des stocks et des calculs sur la commande

Conditions d'exception

  • Si aucune commande ne correspond aux paramètres spécifiés, la commande émet l'exception ECApplicationException spécifiant l'instruction de visualisation d'erreur ErrorOrderNoneCmd.
  • Si l'un des produits ou articles de la commande n'est pas achetable, la commande émet l'exception ECApplicationException spécifiant l'instruction de visualisation d'erreur BadOrderDataErrorView. Pour plus d'informations sur les conditions d'exception concernant les erreurs de commande, reportez-vous aux Codes d'erreur pour les vues d'erreur de commande.
  • L'instruction lance l'exception ECApplicationException, spécifiant l'instruction de visualisation d'erreur RetrievePriceErrorView si l'une des conditions suivantes est vraie :
    • Les accords commerciaux entrants (contrats) ne sont pas valides ou admissibles à l'utilisation.
    • Les accords commerciaux qui sont utilisés dans la commande appliquent des modes de paiement incompatibles.
    • Les listes de prix ne peuvent pas être récupérées pour l'un des produits ou des articles.
  • Si un calcul indiqué par la colonne USAGEFLAGS dans la table STENCALUSG n'a pas été en mesure de calculer une valeur pour chaque article de commande dans une commande, et si la colonne USAGEFLAGS de la table STENCALUSG indique qu'une valeur doit être calculée, une exception ECApplicationException est émise.
  • Si une commande n'a pas d'articles de commande, une exception ECApplicationException est émise.