URL OrderItemSelect
Cette URL crée ou met à jour des articles de commande dans une commande de sélection de devis en fonction des quantités spécifiées pour les articles de commande parent ou de devis spécifiés.
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
- quotationStoreId_ i
- Spécifie les magasins pour lesquels les articles de sélection de devis doivent être créés ou mis à jour conformément au paramètre orderItemId_ i.
- quotationContractId_ i
- Le contrat par défaut pour le magasin indiqué par quotationStoreId_ i. Les contrats pour lesquels les commandes de sélection de devis doivent être créées ou mises à jour conformément au paramètre orderItemId_ i. Ignoré si quotationStoreId_ i n'est pas spécifié.
- orderId_ i
- Utilisé pour résoudre les abréviations OrderItemId_ i spécifiées par le paramètre orderItemId_ i.
- orderItemId_ i
- OrderItems à copier dans les commandes de sélection. Les OrderItems qui se trouvent dans des commandes de devis sont copiés dans des commandes de sélection pour leurs commandes mères, dans le même magasin et en utilisant le même contrat que leurs objets OrderQuotationRel de devis. Les OrderItems qui ne se trouvent pas dans des commandes de devis sont copiés dans des commandes de sélection pour eux-mêmes, dans les magasins et en utilisant les contrats spécifiés par les paramètres quotationStoreId_ i et quotationContractId_ i.
- quantity_ i
- Si le paramètre UOM_ i n'est pas spécifié, attribut de quantité de l'OrderItem correspondant spécifié par OrderItemId_ i. Sinon, la quantité réelle de l'OrderItem correspondant spécifiée par OrderItemId_ i, convertie vers l'unité de mesure spécifiée par l'UOM correspondante. Les quantités à définir dans les commandes de sélection de devis du panier pour chacun des articles spécifiés par orderItemId_ i.
- UOM_ i
- Indique les unités de mesure pour les quantités spécifiées par quantity_ i.
- outSelectionOrderQuotationRelIdName
- Définit les paires nom-valeur à ajouter à l'URL de redirection. Les valeurs des paires nom-valeur ajoutées sont les identificateurs des objets OrderQuotationRel avec le relType "selection" dont les commandes de sélection de devis ont été créées ou mises à jour.
- URL
- Indique l'URL de redirection qui est renvoyée si la commande se termine correctement.
Comportement
Pour chaque OrderItem spécifié par le paramètre orderItemId_ i :
- Déterminez la commande mère et les paires magasin et contrat applicables :
-
- Si la commande de l'OrderItem est une commande enfant pour un objet OrderQuotationRel, la commande mère est indiquée par l'attribut parentId de l'objet OrderQuotationRel, et la paire magasin et contrat applicable est indiquée par les attributs childStoreId et tradingAgreementId.
- Dans le cas contraire, la commande mère est la commande de l'OrderItem, et les paires magasin et contrat applicables sont les paires magasin et contrat indiquées par les paramètres quotationStoreId_ i et quotationContractId_ i.
- Si la commande mère n'a pas d'attribut de statut P, I, E, W ou N, lancez une exception et une restauration.
- Déterminez les objets de sélection OrderQuotationRel applicables (un pour chaque paire magasin et contrat applicable) avec le relType "selection" où les attributs childStoreId et tradingAgreementId indiquent l'une des paires magasin et contrat applicables, et l'attribut parentId indique la commande mère. Si l'un de ces objets de sélection OrderQuotationRel n'existe pas encore, créez-le.
- Pour chaque objet de sélection OrderQuotationRel applicable :
- Si l'objet de selection OrderQuotiationRel ne spécifie pas de commande de devis enfant, créez une commande dans le magasin indiqué par l'attribut childStoreId de l'objet de sélection OrderQuotationRel Lors de la création de la commande, copiez les informations au niveau de la commande de la commande du panier parent. Définissez l'attribut de statut de la commande sur P. Définissez l'attribut de statut de la commande sur P.
- Supprimez (en annulant toute commande en amont ou tout stock alloué) tous les OrderItems de la commande enfant indiqués par l'objet de selection OrderQuotationRel où :
- l'attribut de statut est P, I, E, W ou N et le fulfillmentStatus est INT.
- Le CatalogEntryId est le même que pour l'OrderItem spécifié.
- le specifiedItemId est le même que pour l'OrderItem spécifié.
- le correlationGroup est le même que pour l'OrderItem spécifié.
- le supplierPartNumber est le même que pour l'OrderItem spécifié.
Pour chaque OrderItem spécifié par le paramètre orderItemId_ i où la valeur du paramètre de quantité est supérieure à zéro :
- Pour chaque objet de sélection OrderQuotationRel applicable :
- Copiez l'OrderItem dans un nouvel OrderItem de la commande de sélection de devis indiqué par l'objet de sélection OrderQuotationRel :
- Définissez quantity_ i sur la quantité spécifiée par les paramètres quantity_ i et UOM_ i. Recalculez et définissez la quantité nécessaire neededQuantity.
- Si l'attribut prepareFlags de l'OrderItem indique "quotation" et les attributs storeId et tradingAgreementId indiquent le même Store et le même TradingAgreement que les attributs childStoreId et tradingAgreementId de l'objet OrderQuotationRel :
- Définissez l'attribut prepareFlags pour indiquer "quotation".
- Copiez l'attribut tradingAgreementId.
- Copiez les attributs basePrice et baseCurrency s'ils ne sont pas nuls.
- Définissez l'attribut de prix, en le convertissant si nécessaire. Si une conversion est nécessaire :
- Si le prix de base et la devise de base ne sont pas nuls dans l'OrderItem, convertissez-les pour arriver au prix.
- Si le prix de base et la devise de base sont nuls dans l'OrderItem, convertissez l'attribut prix pour arriver au prix dans le nouvel OrderItem et copiez le prix et la devise dans les attributs basePrice et baseCurrency du nouvel OrderItem.
- Définissez l'attribut de statut OrderItem comme étant le même que son statut de commande.
- Obtenez des valeurs d'autres attributs OrderItem en les copiant à partir de l'OrderItem spécifié ou en acceptant leurs valeurs par défaut, selon le cas. Les attributs à copier incluent, sans s'y limiter, correlationGroup, supplierData, shipping address, estimatedAvailabilityTime et shippingOffset. Les attributs supplierData, estimatedAvailabilityTime et shippingOffset ne doivent pas être copiés à moins que les attributs storeId et tradingAgreementId n'indiquent le même Store et le même TradingAgreement que les attributs childStoreId et tradingAgreementId de l'objet OrderQuotationRel.
- Enfin, redirigez vers l'URL spécifiée par le paramètre URL, en ajoutant les paires nom valeur spécifiées par le paramètre outSelectionOrderQuotationRelIdName.
Conditions d'exception
Aucun.