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.
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.
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=*ncheck=*nallocate=*backorder=*reverse=*
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.