Deprecated feature

URL OrderQuotationCreate

Crée des commandes de devis, si les objets OrderQuotationRel spécifiés existent toujours.

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 OrderQuotationCheck.

Valeurs des paramètres

quotationData
La valeur valide de ce paramètre est définie par l'appel de la méthode de sous-système de messagerie. Ce paramètre unique de valeur désigne les informations représentant un devis reçu.

Comportement

  • Analysez les données quotationData pour découvrir les informations suivantes, qui seront incluses dans la commande de devis créée :
    1. Vérifiez si l'OrderQuotationRelId requis ne fait pas référence à un objet OrderQuotationRel existant, essayez de le revérifier jusqu'à 20 secondes. Si l'objet OrderQuotationRel n'existe toujours pas, ignorez la demande (retour).
    2. La devise du devis est requise.
    3. Pour chaque article de devis (identifié par un ID OrderItemId d'origine et pas d'ID OrderItemComponentListId d'origine), les éléments sont requis :
      1. Obligatoire : L'ID d'article de commande d'origine. Si l'article de commande d'origine n'existe plus, ignorez la demande (retour).
      2. Facultatif : Le numéro de référence du fournisseur et les informations relatives au fournisseur.
      3. Obligatoire : Le prix du devis.
      4. Facultatif : L'UOMCode externe pour les quantités dans cet article de devis.
      5. Obligatoire : La quantité pour le devis de prix.
      6. Facultatif : La quantité demandée.
      7. Facultatif : La quantité disponible à l'achat.
      8. Facultatif : La durée de disponibilité estimée.
    4. Si l'OrderQuotationRelId fait référence à un OrderQuotationRel qui a déjà une quotationOrder, définissez la quotationOrder sur null et supprimez la quotationOrder.
    5. Créez une commande avec l'attribut de statut I et définissez l'attribut quotationOrder de l'objet OrderQuotationRel sur son ID de commande. Si le centre de distribution de la source devis a un magasin de devis, créez la commande dans le magasin de devis. Si l'attribut childStoreId n'est pas nul, créez la commande dans le magasin qu'il spécifie. Sinon, créez la commande dans le magasin du panier.
      1. Copiez les informations au niveau de la commande à partir de la commande du panier.
    6. Pour convertir des quantités du devis en quantités BaseItem utilisées dans l'attribut OrderItem neededQuantity, utilisez l'externalUOMStandard et la table QTYUNITMAP pour déterminer l'unité QuantityUnit du devis, faites la conversion de cette unité QuantityUnit dans la mesure BaseItem quantityMeasure, puis divisez par le multiple BaseItem quantityMultiple. Pour convertir ces unités neededQuantity dans la quantité normalisée utilisée dans l'attribut de quantité OrderItem, multipliez par l'attribut BaseItem quantityMultiple, convertissez les unités BaseItem quantityMeasure en unités CatalogEntryShipping quantityMeasure, arrondissez au multiple le plus proche de l'attribut CatalogEntryShipping quantityMultiple et divisez par la quantité nominale CatalogEntryShipping nominalQuantity.
    7. Convertissez la quantité pour le devis de prix en quantité normalisée, comme décrit ci-dessus, puis définissez le prix unitaire (l'attribut de prix OrderItem) sur le prix indiqué divisé par la quantité normalisée pour le devis de prix.
    8. Définissez le prix unitaire (l'attribut de prix OrderItem) sur le prix de devis multiplié par la quantité nominale CatalogEntryShipping nominalQuantity et divisé par la quantité pour le prix (converti en mesure de quantité CatalogEntryShipping quantityMeasure). Le prix unitaire est arrondi de manière appropriée à l'aide du gestionnaire de devises.
    9. Définissez les attributs OrderItem prepareFlags pour indiquer "quotation" (devis).
    10. Convertissez la quantité demandée ou, si aucune quantité n'a été fournie, convertissez la quantité pour le devis de prix et définissez-la en unités neededQuantity. Arrondissez jusqu'à l'entier supérieur le plus proche pour arriver à la quantité nécessaire. Convertissez ensuite à partir des unités NeededQuantity pour définir l'attribut de quantité normalisée. Convertissez ensuite la quantité normalisée en quantité nécessaire (multipliez par la quantité nominale CatalogEntryShipping, convertissez en mesure BaseItem quantityMeasure, divisez par le multiple de quantité BaseItem et arrondissez à l'entier le plus proche) et définissez l'attribut NeededQuantity.

      Si elle est fournie, convertissez la quantité disponible à l'achat en quantité BaseItem et stockez-la dans l'attribut availableQuantity. Sinon, copiez la quantité nécessaire dans la quantité disponible. Si la quantité disponible à l'achat n'est pas fournie, définissez la quantité disponible sur la quantité utilisée pour calculer la quantité nécessaire. Convertissez la quantité disponible à l'achat en quantité BaseItem et définissez l'attribut availableQuantity. Arrondissez à l'entier inférieur le plus proche pour arriver à la valeur d'attribut availableQuantity.

    11. Définissez shippingAddress et shippingMode comme étant identiques à la valeur de l'OrderItem indiquée par l'ID OrderItemId d'origine.
    12. Définissez l'attribut correlationGroup comme étantidentique à l'attribut correlationGroup de l'OrderItemId d'origine.
    13. Définissez les attributs supplierPartNumber et supplierData.
    14. Définissez l'attribut OrderItem tradingAgreementId sur l'attribut tradingAgreementId de l'objet OrderQuotationRel.
    15. Si l'article est un article de substitution, définissez OrderItems.LineItemType sur "ALT".
    16. Lors de la création d'un OrderItem de devis représentant un kit dynamique, puis pour chaque élément de composant de devis, créez un nouvel élément de composant dans la table OICOMPLIST :
      1. Définissez l'OrderItemId pour indiquer le nouveau devis OrderItem.
      2. Définissez l'attribut inventoryQuantity sur la quantité renvoyée convertie en unités BaseItem.
      3. Définissez la catalogQuantity sur inventoryQuantity, convertie à partir des unités BaseItem en unités de quantité nominale CatalogEntryShipping, divisées par la quantité nominale.
      4. Définissez le prix unitaire et la devise sur null (seul le prix de devis de l'ensemble du kit dynamique est disponible).
      5. Définissez l'ID configurationId sur null. Remarque : Le configurationId est normalement fourni par un configurateur externe. Etant donné que le devis peut modifier les composants d'une configuration, il serait incorrect de conserver le même configurationId. Le fait de le laisser nul indique que cette configuration est arrivée dans le cadre d'un devis, et non à partir d'un configurateur externe.
      6. Définissez les attributs catalogEntryId et specifiedItemId requis pour qu'ils soient les mêmes que dans l'élément OrderItemComponentList spécifié par l'objet OrderItemComponentListId d'origine.
      7. Définissez les attributs supplierPartNumber et supplierData.