URL OrderCopy
Créez, fusionnez ou modifiez des commandes en attente qui sont à l'état P ou I.
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 le 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 : URL de redirection appelée à la fin de l'instruction.
- fromOrderId_ i
- Définit zéro ou plusieurs commandes source à partir desquelles des articles seront copiés lors du traitement du groupe d'énumérations i. Les abréviations spéciales "." , "*", " .t" , "*t" et "q" sont résolues à l'aide de memberId_ i et storeId. Voir Abréviations de commande pour obtenir une description de ces abréviations. Ce paramètre peut être utilisé plusieurs fois.
- toOrderId
- Définit la commande à créer ou à modifier. Peut être entré sous la forme d'une référence de commande ou d'une abréviation spéciale (".", "*", ".t", "*t", "**" et ".**."). Voir Abréviations de commande pour obtenir une description de ces abréviations. Si ce paramètre n'est pas défini, la valeur par défaut est **, ce qui crée une nouvelle commande. Si plusieurs commandes sont indiquées, c'est la dernière commande mise à jour qui est prise en compte. Les abréviations sont résolues à l'aide du client en cours (le client passant l'instruction) et du magasin défini au paramètre storeId.
- copyOrderItemId_ i
- Définit les articles qui doivent être copiés à partir des commandes source spécifiées dans fromOrderId_ i et ajoutés à la commande cible spécifiée dans toOrderId. Ce paramètre peut être utilisé plusieurs fois.
- Si ce paramètre n'est pas défini, ou qu'il est défini à "*", il fait référence à tous les articles faisant partie des commandes définies par fromOrderId_ i.
- Si sa valeur est ".", ce paramètre fait référence au dernier article mis à jour dans les commandes définies par fromOrderId_ i.
- Si sa valeur est "**", il fait référence à un article unique qui sera ajouté à la commande cible en utilisant les informations provenant d'autres paramètres du groupe d'énumérations défini par i, et non des commandes source de ce groupe d'énumérations. Dans ce cas, catEntryId_ i ou partNumber_ i doit être spécifié. L'instruction OrderCopy appelle l'instruction OrderItemUpdate pour ajouter des nouveaux articles à la commande cible.
- updateOrderItemId_ i
- Définit les articles à mettre à jour dans la commande cible. Ils sont mis à jour avec les informations provenant d'autres paramètres du groupe d'énumérations spécifié par i mais pas des commandes source pour ce groupe d'énumérations ni de catEntryId_ i et partNumber_ i. L'ID d'entrée de catalogue d'un article de commande cannot être mis à jour. L'instruction OrderCopy appelle l'instruction OrderItemUpdate pour la mise à jour des articles de la commande cible. Ce paramètre peut être utilisé plusieurs fois.
- La valeur "*" signifie tous les articles de la commande cible.
- La valeur "." signifie le dernier article mis à jour.
- orderInfoFrom
- Définit le numéro de référence d'une commande dont les informations (valeurs des colonnes DESCRIPTION, ADDRESS_ID, SEQUENCE, FIELD1, FIELD2, et FIELD3 de la table ORDERS) doivent être copiées. Ce paramètre peut être utilisé plusieurs fois.
- Si plusieurs commandes sont indiquées, c'est la dernière commande mise à jour qui est prise en compte.
- Si la valeur est "**", aucune information provenant d'une autre commande n'est copiée.
- Si ce paramètre n'est pas défini, et les paramètres fromOrderId_ i ne définissent qu'une commande, c'est celle-ci qui est prise en compte. Sinon, la valeur par défaut ** est utilisée. Les abréviations sont résolues à l'aide du client en cours et du magasin défini au paramètre storeId.
- payInfoFrom
- Ce paramètre ne sert que pour la compatibilité. Avec la nouvelle règle de paiement, les informations relatives au paiement ne sont pas stockées dans ORDPAYINFO.
Définit le numéro de référence d'une commande à partir de laquelle obtenir les informations sur le paiement en appelant l'instruction de tâche com.ibm.commerce.order.commands.GetOrderPaymentInfoCmd. Si plusieurs commandes sont indiquées, c'est la dernière commande mise à jour qui est prise en compte. Ce paramètre peut être utilisé plusieurs fois.
Si la valeur est "**", aucune information provenant d'une autre commande n'est copiée. Si ce paramètre n'est pas défini, et les paramètres fromOrderId_ i ne définissent qu'une commande source, c'est celle-ci qui est prise en compte. Sinon, la valeur par défaut ** est utilisée. Les abréviations sont résolues à l'aide du client en cours et du magasin défini au paramètre storeId.
- catEntryId_ i
- Définit l'ID d'entrée de catalogue des articles du groupe d'énumération i.
- quantity_ i
- Définit le nombre d'articles du groupe d'énumération i.
- UOM_ i
- Unité de mesure de quantity_ i.
- partNumber_ i
- Numéro de référence à résoudre en ID d'entrée de catalogue. Se substitue à catEntryId_ i.
- addressId_ i
- Numéro de référence de l'adresse à laquelle les articles du groupe d'énumérations défini par i doivent être expédiés. L'adresse doit appartenir au client exécutant l'instruction.
- shipModeId_ i
- Définit un numéro de référence de mode d'expédition à transmettre à l'instruction OrderItemUpdate lorsque des articles sont ajoutés ou mis à jour dans la commande cible, pour le groupe d'énumérations défini par i. Ce numéro de référence est associé à un service d'expédition particulier.
- ShipAsComplete
- Définit si la commande créée ou modifiée peut être partiellement expédiée. Si la valeur est Y, la commande ne sera expédiée que lorsque tous les articles seront disponibles. Si la valeur est N, la commande peut être expédiée partiellement lorsqu'une partie des articles est disponible. La valeur par défaut est Y. Ce paramètre est stocké dans la colonne SHIPASCOMPLETE de la table ORDERS.
- comment_ i
- Commentaire ajouté à l'article à transmettre à l'instruction OrderItemUpdate lors de l'ajout ou de la mise à jour d'articles dans la commande cible.
- field1_ i
- Définit un nombre entier à transmettre à l'instruction OrderItemUpdate lorsque des articles sont ajoutés ou mis à jour dans la commande cible, pour le groupe d'énumérations défini par i..
- field2_ i
- Définit une chaîne de caractères à transmettre à l'instruction OrderItemUpdate lorsque des articles sont ajoutés ou mis à jour dans la commande cible, pour le groupe d'énumérations défini pari..
- contractId_ i
- Numéro de référence du contrat associé à la commande, à transmettre à l'instruction OrderItemUpdate lors de l'ajout ou de la mise à jour d'articles dans la commande cible.
- offerId_ i
- Liste d'identifiants d'offre dans laquelle choisir lors de la création d'un nouvel article de commande. Cette liste est transmise à l'instruction OrderItemUpdate. Il n'existe pas de valeur par défaut.
- configurationId_i
- Si l'article de la commande est un kit dynamique configuré, il s'agit de l'ID de configuration. Ce paramètre peut être utilisé plusieurs fois.
- correlationGroup_ i
- Groupe auquel l'article de commande est associé. Normalement, le paramètre correlationGroup a la même valeur qu'OrderItemID. Les articles dont l'attribut correlationGroup a la même valeur représentent le même objet que celui choisi par l'acheteur. La valeur de correlationGroup peut être définie et propagée lorsque les articles de la commande sont fractionnés au moment de l'allocation du stock (lorsqu'il faut, par exemple, faire appel à deux centres de distribution pour satisfaire la commande d'un même article car l'un des centres ne dispose pas du stock suffisant), ou à la réception d'une demande de devis pour un article. Lorsqu'une commande est fractionnée au moment de l'allocation du stock, le nouvel article de commande hérite de la valeur de correlationGroup de l'article d'origine. Dans le cas d'un devis, l'article hérite de la valeur de correlationGroup de l'article correspondant dans la commande parent.
- outOrderName
- Définit les 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 de la commande cible. La valeur par défaut est orderId. Ce paramètre peut être utilisé plusieurs fois.
- outOrderItemName
- Définit les 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'un article de la commande cible. La valeur par défaut est orderItemId. Ce paramètre peut être utilisé plusieurs fois.
- description
- Définit la description de la commande cible. Si aucune valeur n'est définie, la description de la commande "orderInfoFrom" est utilisée, si elle existe.
- billingAddressId
- Définit l'ID d'adresse de facturation de la commande cible. Si aucune valeur n'est définie, l'ID d'adresse de facturation de la commande "orderInfoFrom" est utilisée, si elle existe.
- displaySeq
- Définit la séquence d'affichage de la commande cible. Si aucune valeur n'est définie, la séquence d'affichage de la commande "orderInfoFrom" est utilisée, si elle existe.
- field1 - field3
- Définit les valeurs de field1, field2, et field3 de la commande cible. Si aucune valeur n'est définie, la valeur de la zone correspondante de la commande "orderInfoFrom" est utilisée, si elle existe.
- état
- Définit le statut de la commande cible. Seules les valeurs I (soumise) et P (en attente) sont valides. La valeur par défaut est P. Si la valeur est I, la commande cible est mise à jour, préparée pour l'affichage, et verrouillée (comme si OrderPrepare avait été appelé), et son statut passe à I. La commande est prête à être acceptée par OrderProcess et n'est plus modifiable par le client.
- prepare
- Définit si la commande est préparée par l'appel de l'instruction PrepareOrder. Les valeurs valides sont Y et N. (Après sa mise à jour, la commande cible est préparée pour l'affichage et verrouillée. Elle est alors prête à être acceptée par OrderProcess et n'est plus modifiable.)
- memberId_ i
- Numéro de référence d'un membre, utilisé pour résoudre des abréviations spéciales (".", "*", ".t", ".**.", and "*t") lorsqu'elles apparaissent dans fromOrderId_ i. Par exemple, l'instruction suivante fait référence à toutes les commandes en attente du membre 1001 : fromOrderId_1=*&memberId_1=1001 La valeur par défaut est l'ID de membre de l'utilisateur en cours. Si le client en cours tente d'accéder aux commandes d'autres clients sans y être autorisé, une exception est émise.
- storeId
- Définit l'ID de magasin de la commande cible. Ce paramètre est aussi utilisé pour résoudre les abréviations spéciales (".", "*", ".t", ".**.", and "*t") lorsqu'elles apparaissent dans fromOrderId_ i, toOrderId, orderInfoFrom, et payInfoFrom. Par exemple, l'instruction suivante fait référence à toutes les commandes en attente du membre 1001 dans le magasin 1 : fromOrderId_1=*&memberId_1=1001&storeId=1
- attr_i_name
- Définit un nom et une valeur d'attribut à transmettre à l'instruction OrderItemUpdate lors de l'ajout à la commande cible d'articles du groupe d'énumérations défini par i. Par exemple, l'instruction suivante fait référence au numéro de référence ABC123 avec l'attribut "length"=="10" : partNumber_1=ABC123&attr_1_length=10
- pay_ payment_name (obsolète)
- Ce paramètre est pris en charge pour la compatibilité avec les versions précédentes. Avec la règle de paiement, ORDPAYINFO n'est pas utilisé, contrairement au contrôleur du plug-in de paiement et aux plug-in de paiement. Définit les paires de nom-valeur de paiement de la commande cible. Ce paramètre peut être utilisé plusieurs fois. Par exemple, l'instruction suivante fait référence à la paire nom-valeur de paiement "quot;quot;quot;quot;quot;quot;quot;quot;quot;quot;quot;creditCardNumber==2222222222" : pay_creditCardNumber=2222222222 Ces paires nom-valeur de paiement seront ajoutées à la table ORDPAYINFO à l'aide de l'instruction de tâche com.ibm.commerce.order.commands.SetOrderPaymentInfoCmd. Si aucune valeur n'est indiquée, les paires nom-valeur de paiement de la commande payInfoFrom sont utilisées, s'il y en a.
- partOwner_Id_ i
- ID de membre du propriétaire de la référence, utilisé avec partNumber_ i ; la valeur par défaut est le propriétaire du magasin.
- continue
- Détermine si la copie de la commande continue lorsqu'un ou plusieurs articles ne peuvent pas être copiés. La valeur 0 termine et annule l'exécution de la commande si un article ne peut pas être créé ou mis à jour dans la commande cible ; la valeur 1 ignore l'opération de création ou de mise à jour de cet article et poursuit l'exécution. La valeur par défaut est 0.
- orderComment
- Définit le commentaire de la commande, s'il en existe un.
- 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. Ce paramètre peut être utilisé plusieurs fois.
- merge
- Liste d'article d'une commande à fusionner avec d'autres articles de la même commande, quel que soit leur attribut 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 doivent être libérés dans le stock existant ou prévu). Ce paramètre peut être utilisé plusieurs fois.
- shippingAddressFromOrderProfile
- Indique si l'adresse d'expédition par défaut contenue dans le profil de commande doit être utilisée : si la valeur est 1, l'adresse d'expédition par défaut est copiée du profil de commande vers tous les articles de la commande définie par toOrderId. Remarque : Si la valeur de ce paramètre est 1, de façon implicite, la valeur d'updateOrderItemId_ i est définie à "*", et celle d'addressId_ i au numéro de référence de l'adresse d'expédition par défaut. Les valeurs d'updateOrderItemId_ i et d'addressId_ i indiquées dans l'adresse URL sont remplacées.
- shippingModeFromOrderProfile
- Indique si le mode d'expédition par défaut contenu dans le profil de commande doit être utilisé : si la valeur est 1, le mode d'expédition par défaut est copié du profil de commande vers tous les articles de la commande définie par toOrderId. Remarque : Si la valeur de ce paramètre est 1, la valeur d'updateOrderItemId_i est implicitement associée à "*" et la valeur de shipModeId _ _i est implicitement associée au numéro de référence du mode d'expédition par défaut. Les valeurs d'updateOrderItemId_ i et de shipModeId_ i fournies dans l'URL sont neutralisées.
- copyAutoAddedOrderItems
- Indique si les article ajoutés automatiquement à la commande doivent être copiés dans OrderCopy.
- blockInfoCopy
- La valeur par défaut de ce paramètre est Y. Il détermine si les objets ORDERBLOCK sont copiés.
- sensitiveInfoCopy
- La valeur par défaut de ce paramètre est N. Il détermine si les modes de paiement sont copiés.
- prepare
- La valeur par défaut de ce paramètre est null. Si la valeur est Y, la commande est préparée.
remerge, merge, check, allocate, backorder, et reverse ne sont applicables que si le stock ATP est activé (voir la colonne STORE.INVENTORYSYSTEM dans la table STORE). Ils représentent la liste des articles d'une commande transmis à l'instruction de tâche DoInventoryAction, qui appelle AllocateInventory lorsque la fonction ATP est activée. AllocateInventory appelle 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, 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.remerge=*nmerge=*ncheck=***allocate=*nbackorder=*nreverse=*n
Exemple 1
L'exemple suivant copie une commande en utilisant fromOrderId_1 parce que la valeur par défaut de toOrder est ** (nouvelle commande) et la valeur par défaut de copyOrderItemId_1 est * (tous les articles de la commande).
http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=388
&URL=OrderItemDisplay
Exemple 2
L'exemple suivant crée deux commandes en attente, puis fusionne tous les articles de toutes les commandes en attente du client.
http://myhostname/webapp/wcs/stores/servlet/OrderItemAdd?catEntryId=322200305&quantity=11&URL=OrderItemDisplay&storeId=32&orderId=**
http://myhostname/webapp/wcs/stores/servlet/OrderItemAdd?catEntryId=322200301&quantity=11&URL=OrderItemDisplay&storeId=32&orderId=**
http://myhostname/webapp/wcs/stores/servlet/OrderCopy?URL=OrderItemDisplay&fromOrderId_1=*©OrderItemId_1=*
Exemple 3
L'exemple suivant ajoute un nouvel article à la commande 111.
http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=111
&toOrderId=111&partNumber_1=PART-I312200303&quantity_1=21&memberId_1=0&storeId=31&URL=OrderItemDisplay
Exemple 4
L'exemple suivant effectue une copie en utilisant partNumber. Si partNumber est défini, le paramètre catEntryId_ i est ignoré. Le paramètre partNumber_ i et le numéro de référence du magasin spécifié ou défini de façon implicite par les autres paramètres sont utilisés pour déterminer une référence produit en sélectionnant les colonnes PARTNUMBER et MEMBER_ID dans la table CATENTRY. Cette commande se comporte comme si ce numéro de référence de produit avait été spécifié comme valeur pour catEntryId_ i. La commande doit être en mesure de déterminer un numéro de référence de magasin à partir des autres paramètres. Il résulte qu'un nouvel article est ajouté à la commande 111.
http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=111
&toOrderId=111&partNumber_1=PART-I312200303&quantity_1=21
&memberId_1=1&storeId=31&URL=OrderItemDisplay
Exemple 5
L'exemple suivant copie les informations relatives à la commande, au paiement et à l'adresse d'expédition, depuis le profil de commande vers la commande 1234 :
http://myhostname/webapp/wcs/stores/servlet/OrderCopy?
&toOrderId=1234&shippingAddressFromOrderProfile=1&orderInfoFrom=q&paymentInfoFrom=q&URL=OrderItemDisplay
Comportement
- Les instructions de tâche ResolveOrdersCmd et ResolveOrderItemsCmd sont appelées pour résoudre les abréviations d'OrderId et d'OrderItemId, et déterminer les commandes et les articles de commande définis par les paramètres.
- La commande cible est créée dans la table ORDERS avec le statut P, déverrouillé.
- La tâche CheckOrderCopyCmd est appelée pour vérifier le droit du client à copier des informations à partir des commandes définies par les paramètres fromOrderId_ i, orderInfoFrom, et payInfoFrom, et à mettre à jour les informations dans la commande cible.
- Les informations sur la commande sont mises à jour dans la table ORDERS.
- Les informations sur l'expédition sont copiées à partir de la table SHIPINFO de la commande spécifiée par le paramètre orderInfoFrom.
- Les informations sur le paiement sont lues dans la commande indiquée par le paramètre payInfoFrom, à l'aide de l'instruction de tâche GetOrderPaymentInfoCmd. Elles sont ensuite mises à jour comme indiqué par les paramètres pay_ payment_name, et enregistrées dans la commande cible spécifiée par le paramètre toOrderId, à l'aide de la tâche de processus SetOrderPaymentInfoCmd. Actuellement, cette instruction de tâche reste disponible à des fins de compatibilité avec les versions antérieures.
- Pour chaque paramètre copyOrderItem_ i et updateOrderItem_ i dans l'ordre croissant de i, les informations sur l'article de commande spécifié sont copiées ou mises à jour dans la table ORDERITEMS de la commande cible à l'aide de l'instruction OrderItemUpdate. Si le paramètre prepare est défini à Y, l'instruction PrepareOrderCmd est appelée.
- Si le paramètre status indique I, la commande cible est préparée pour l'affichage et le traitement, comme si l'instruction OrderPrepare était appelée : les montants sont calculés et la commande est verrouillée. Le statut de la commande cible et de ses articles passe à I dans les tables ORDERS et ORDERITEMS. ValidateOrderAddressCmd est appelé pour valider le paramètre billingAddressId après le démarrage de la copie de la commande. Si le paramètre prepare est défini à Y, l'instruction OrderPrepare est appelée.
- Si la valeur de blockInfoCopy est Y, les objets de blocage de commande sont copiés.
- Si la valeur de sensitiveInfoCopy est Y, les modes de paiement sont copiés.
- L'instruction de tâche ExtOrderCopyCmd est appelée.
- Les paires nom-valeur sont ajoutées à l'URL de redirection, comme indiqué par les paramètres outOrderName et outShiptoName.
Conditions d'exception
- L'instruction de tâche CheckOrderCopyCmd émet une exception ECApplicationException du type _ERR_ORDER_COPY avec l'écran d'erreur OrderCopyErrorView si l'accès à une commande est refusé à l'instruction OrderCopy. Les paires nom-valeur suivantes sont définies :
- ERROR_CODE=601
- orderId= the offending order ID
- Si la commande cible n'est pas en attente, une exception ECApplicationException du type _ERR_ORDER_WRONG_STATUS est émise avec l'écran d'erreur OrderCopyErrorView. Les paires nom-valeur suivantes sont également définies :
- ERROR_CODE=603
- orderId= the offending order ID
- Toutes les conditions d'exception OrderItemUpdate s'appliquent aussi.