Instruction OrderItemMove
Cette instruction permet de déplacer OrderItems d'une commande vers une autre.

Valeurs des paramètres
- http://host_name/path/
- (Obligatoire) Nom qualifié complet de votre serveur WebSphere Commerce Server et chemin de configuration
- fromOrderItemId
- Articles de commande (OrderItems) en entrée. Tous les OrderItems ne figurant pas dans les commandes spécifiées par le paramètre fromOrderId sont ignorés. Les abréviations d'OrderItem sont converties à l'aide des commandes spécifiées par fromOrderId.
- fromOrderId
- Commandes à partir desquelles des OrderItems vont être déplacés. Ce paramètre est utilisé pour convertir les abréviations d'OrderItem spécifiées dans fromOrderItemId.
- toOrderId
- Indique une commande cible pour les OrderItems en sortie. Si ce paramètre n'est pas spécifié, cela signifie qu'il n'y a aucune commande en sortie et que les OrderItems en entrée vont simplement être supprimés de la commande source spécifiée par le paramètre fromOrderId.
- URL
- (Obligatoire) URL devant être lancée lorsque l'instruction aboutit.
- deleteIfEmpty
- Indique que les commandes doivent être supprimées si elles sont vierges de tout OrderItem une fois le traitement de cette instruction terminé.
- inOrderName
- Indique les noms des combinaisons nom-valeur à ajouter à l'URL de réacheminement. La valeur de chaque paire nom-valeur est le numéro de référence d'une commande en entrée.
- outOrderName
- Indique les noms des combinaisons nom-valeur à ajouter à l'URL de réacheminement. La valeur de chaque paire nom-valeur est le numéro de référence d'une commande en sortie.
- outOrderItemName
- Indique les noms des combinaisons nom-valeur à ajouter à l'URL de réacheminement. La valeur de chaque paire nom-valeur est le numéro de référence d'un OrderItem en sortie.
- inRemerge
- Liste des OrderItems qui doivent être fusionnés avec d'autres OrderItems de la même commande et avec le même
attribut correlationGroup, si cela est possible.
- inMerge
- Liste des OrderItems qui doivent être fusionnés avec d'autres OrderItems de la même commande si possible, sans distinction d'attributs correlationGroup. La valeur de chaque OrderItem est le numéro de référence d'une commande en entrée.
- inCheck
- Liste des OrderItems qui doivent être contrôlés par l'instruction d'activité CheckInventory. La valeur de chaque OrderItem est le numéro de référence d'une commande en entrée.
- inAllocate
- Liste des OrderItems qui doivent être attribués à partir d'un stock existant. La valeur de chaque OrderItem est le numéro de référence d'une commande en entrée.
- inBackorder
- Liste des OrderItems qui doivent être attribués à partir d'un stock prévu. La valeur de chaque OrderItem est le numéro de référence d'une commande en entrée.
- inReverse
- Liste des OrderItems dont les attributions doivent être préparées (en d'autres termes, les attributions doivent être retirées du stock existant ou prévu concerné). La valeur de chaque OrderItem est le numéro de référence d'une commande en entrée.
- outRemerge
- Liste des OrderItems qui doivent être fusionnés avec d'autres OrderItems de la même commande et avec le même
attribut correlationGroup, si cela est possible. La valeur de chaque OrderItem est le numéro de référence d'une commande en sortie.
- outMerge
- Liste des OrderItems qui doivent être fusionnés avec d'autres OrderItems de la même commande si possible, sans distinction d'attributs correlationGroup. La valeur de chaque OrderItem est le numéro de référence d'une commande en sortie.
- outCheck
- Liste des OrderItems qui doivent être contrôlés par l'instruction d'activité CheckInventory. La valeur de chaque OrderItem est le numéro de référence d'une commande en sortie.
- outAllocate
- Liste des OrderItems qui doivent être attribués à partir d'un stock existant. La valeur de chaque OrderItem est le numéro de référence d'une commande en sortie.
- outBackorder
- Liste des OrderItems qui doivent être attribués à partir d'un stock prévu. La valeur de chaque OrderItem est le numéro de référence d'une commande en sortie.
- outReverse
- Liste des OrderItems dont les attributions doivent être préparées (en d'autres termes, les attributions doivent être retirées du stock existant ou prévu concerné). La valeur de chaque OrderItem est le numéro de référence d'une commande en sortie.
Exemple 1
L'exemple suivant crée tout d'abord une nouvelle commande contenant tous les OrderItems non attribués ou en amont des
commandes 123 et 456, puis affiche les commandes 123 et 456 et enfin la nouvelle commande.
http://myhostname/webapp/wcs/stores/servlet/OrderItemMove?fromOrderId=123
&fromOderId=456&fromOderItemId=*ub&toOrderId=**&inOrderName=orderId&outOrderName=orderId
&URL=/webapp/commerce/OrderDisplay
Exemple 2
L'exemple suivant crée tout d'abord une nouvelle commande contenant tous les OrderItems des commandes 123 et 456 qui ne sont pas attribués, et d'autres OrderItems avec le même attribut CorrelationGroup, puis affiche les commandes 123 et 456 et enfin la nouvelle commande.
http://myhostname/webapp/wcs/stores/servlet/OrderItemMove?fromOrderItemId=*ug
&fromOderItemId=*bg&fromOderId=123&fromOrderId=&456&toOrderId=**&inOrderName=orderId
&outOrderName=orderId&URL=/webapp/commerce/OrderDisplay
Exemple 3
L'exemple suivant crée tout d'abord une nouvelle commande contenant tous les montants non attribués des commandes 123 et 456 pour les OrderItems dont les articles ne sont pas suspendus, puis affiche les commandes 123 et 456 et enfin la nouvelle commande.
http://myhostname/webapp/wcs/stores/servlet/OrderItemMove?fromOrderItemId=*cub
&fromOderId=123&fromOrderId=&456&toOrderId=**&inOrderName=orderId
&outOrderName=orderId&URL=/webapp/commerce/OrderDisplay
Exemple 4
L'exemple suivant retire tout d'abord les OrderItems qui ne sont pas attribués dans les commandes 123 et 456 pour les articles suspendus, puis affiche les commandes 123 et 456.
http://myhostname/webapp/wcs/stores/servlet/OrderItemMove?fromOrderItemId=*dub
&fromOderId=123&fromOrderId=&456&inOrderName=orderId&URL=/webapp/commerce/OrderDisplay
Exemple 5
L'exemple suivant crée tout d'abord une nouvelle commande contenant tous les OrderItems des commandes 123 et 456 pour les OrderItems qui ne sont pas correctement attribués et mis en amont, et dont les articles ne sont pas
suspendus, ainsi qu'un autre OrderItems ayant le même attribut que CorrelationGroup, puis affiche les commandes 123 et 456 et enfin les nouvelles commandes.
http://myhostname/webapp/wcs/stores/servlet/OrderItemMove?fromOrderItemId=*igc
&fromOderId=123&fromOrderId=&456&toOrderId=**&inOrderName=orderId&outOrderId=orderId
&URL=/webapp/commerce/OrderDisplay
Exemple 6
L'exemple suivant retire tout d'abord les OrderItems suspendus et d'autres OrderItems ayant le même attribut
CorrelationGroup des commandes 123 et 456 s'ils ne sont pas correctement mis en amont, puis affiche les commandes
123 et 456.
http://myhostname/webapp/wcs/stores/servlet/OrderItemMove?fromOrderItemId=*igd
&fromOderId=123&fromOrderId=&456&toOrderId=**&inOrderName=orderId
&URL=/webapp/commerce/OrderDisplay
Exemple 7
L'exemple suivant fusionne dans une commande existante appelée 789 tous les OrderItems des commandes 123 et 456 qui ne
sont pas correctement attribués et mis en amont, et dont les articles ne sont pas suspendus, puis affiche les
commandes 123, 456 et 789.
http://myhostname/webapp/wcs/stores/servlet/OrderItemMove?fromOrderItemId=*ic
&fromOderId=123&fromOrderId=&456&toOrderId=&789&inOrderName=orderId&outOrderName=orderId
&URL=/webapp/commerce/OrderDisplay
Exemple 8
L'exemple suivant retire tout d'abord les OrderItems suspendus des commandes 123 et 456 s'ils ne sont pas correctement attribués et mis en amont, puis affiche les commandes 123 et 456.
http://myhostname/webapp/wcs/stores/servlet/OrderItemMove?fromOrderItemId=*id
&fromOderId=123&fromOrderId=&456&inOrderName=orderId&URL=/webapp/commerce/OrderDisplay
Exemple 9
L'exemple suivant crée tout d'abord une nouvelle commande et déplace les OrderItems 1001 et 1004 vers la nouvelle
commande. Il vont être fusionnés dans la nouvelle commande si cela est possible (pour éviter la fusion, vous pouvez également préciser outMerge=*n), puis affiche les commandes attribuées.
http://myhostname/webapp/wcs/stores/servlet/OrderItemMove?fromOrderItemId=1001
&fromOrderItemId=1004&&toOrderId=**&outMerge=**&inOrderName=orderId&outOrderName=OrderId
&URL=/webapp/commerce/OrderDisplay
Exemple 10
L'exemple suivant déplace tout d'abord les OrderItems 1002 et 1003 vers la commande 1001. Ils vont être fusionnés dans
l'OrderItems de la commande 1001 si cela est possible (pour éviter la fusion, vous pouvez également préciser outMerge=*n), puis affiche les commandes attribuées.
http://myhostname/webapp/wcs/stores/servlet/OrderItemMove?fromOrderItemId=1002
&fromOrderItemId=1003&&toOrderId=1001&outMerge=**&inOrderName=orderId&outOrderName=OrderId
&URL=/webapp/commerce/OrderDisplay
Comportement
- Permet de déplacer des OrderItems d'une ou plusieurs commandes en entrée vers une commande en sortie.
- AllocateInventory est appelé en premier pour les commandes en entrée, puis pour les commandes en sortie s'il ne s'agit pas également d'une commande en entrée. Les commandes en entrée sont celles spécifiées par le paramètre fromOrderId. La commande en sortie est celle spécifiée par le paramètre toOrderId.
AllocateInventory est appelé pour essayer de transférer des attributions de la commande en entrée vers la commande en sortie. Etant donné que les appels sont effectués dans la même transaction, toutes les attributions émises dans cette transaction vont être disponibles pour les demandes d'attributions ultérieures effectuées dans la même transaction.
- Lorsqu'une nouvelle commande est créée, les informations relatives au niveau de commande, telles que le paiement et l'adresse de facturation, sont copiées à partir d'une des commandes en entrée correspondantes.
- Les OrderItems sont déplacés en créant de nouveaux OrderItems dans la commande en sortie et en copiant les
informations relatives au niveau d'OrderItem (CorrelationGroup, ShippingAddress, ShippingMode, Offer, Contract,
CatalogEntry, ItemSpec, Quantity et NeededQuantity, par exemple) de l'OrderItem en entrée vers l'OrderItem en sortie. L'OrderItem n'est ensuite plus attribué et il est supprimé de la commande en entrée. Si la commande en sortie pour un OrderItem en entrée est identique à sa commande en entrée, aucune modification n'est
nécessaire.
- Si certaines commandes sont modifiées, elles sont "déverrouillées" de sorte que
OrderPrepare soit appelé par OrderDisplay au prochain affichage de ces commandes.
- Les commandes dont les OrderItems sont tous supprimés sont supprimées à leur tour si elles sont répertoriées dans le
paramètre deleteIfEmpty. Dans le cas contraire, elles ne sont pas supprimées, mais restent des commandes vides.
Condition d'exception
Aucune.