Deprecated feature

URL OrderQuotationRequest

Soumet des requêtes de commandes de devis à un ou plusieurs magasins habilités aux devis pour les articles de commandes spécifiées. Toutes les commandes de devis existantes pour les commandes spécifiées à partir de l'un des centres de distribution spécifiés sont supprimées. (Utilisez la commande de contrôleur OrderQuotationCheck pour vérifier si toutes les commandes de devis demandées ont été reçues.)

Remarque : Vous ne pouvez pas utiliser cette commande avec des kits statiques et dynamiques.

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

Valeurs des paramètres

quotationType
Spécifie le type de devis demandé, "initial" ou "final". La valeur par défaut de ce paramètre est "initial"
orderId
Spécifie le panier pour lequel les devis doivent être demandés. La valeur par défaut de ce paramètre est ".". Ce paramètre peut être utilisé plusieurs fois.
deleteOrderQuotationRelId
Spécifie les objets OrderQuotationRel à supprimer (avec leurs commandes enfant) si leur type est "initial", "final" ou "selection" et si leurs commandes mères sont l'un des paniers spécifiés dans le paramètre orderId. La valeur par défaut de ce paramètre est "*n". Ce paramètre peut être utilisé plusieurs fois.
quotationStoreId_ i
Spécifie un magasin à partir duquel des devis doivent être demandés. Les magasins qui ne sont pas activés par devis dans le cadre du contrat spécifié par le paramètre quotationContractId_ i pour l'utilisateur actuel dans le magasin actuel sont ignorés.
quotationContractId_ i
Spécifie un contrat contenant une modalité d'interface de référentiel qui indique une commande de stratégie à utiliser pour obtenir un devis. Une exception système se déclenche si un contrat spécifié ne contient pas une telle modalité ReferralInterfaceTC ou n'est pas déployé dans le magasin indiqué dans quotationStoreId_ i. Ce paramètre est ignoré si quotationStoreId_ i n'est pas spécifié.
quotationUserId_ i
Spécifie l'ID utilisateur à envoyer avec la demande de devis envoyée au magasin indiqué par storeId_ i pour le contrat indiqué par quotationContract_ i. Ce paramètre est ignoré si quotationStoreId_ i n'est pas spécifié.
quotationPassword_ i
Spécifie un mot de passe pour l'ID utilisateur spécifié par le paramètre quotationUserId_ i. Ce paramètre est ignoré si quotationStoreUserId_ i n'est pas spécifié.
outOrderQuotationRelIdName
Définit les paires nom-valeur à ajouter à l'URL de redirection. Les valeurs des paires nom-valeur sont les identificateurs des objets OrderQuotationRel créés par cet appel de commande. Ce paramètre peut être utilisé plusieurs fois.
URL
Spécifie l'URL de redirection qui est renvoyée lorsque la commande aboutit.

Exemple 1

L'exemple suivant demande des devis initiaux pour le panier actuel dans le magasin 1111 des magasins de référence 2222 et 3333. Toutes les commandes initiales, finales et de sélection existantes pour le panier sont supprimées avant l'envoi des requêtes. Une fois les requêtes envoyées, redirige vers une URL qui attend l'arrivée des réponses de devis.


    
http://myhostname/webapp/wcs/stores/servlet/OrderQuotationRequest?storeId=1111
          &orderId=.
          &quotationType=initial
          &quotationStoreId_1=2222&quotationStoreId_2=3333
          &deleteOrderQuotationRelId=*parent.
          &URL=
WaitForInitialQuotations

Exemple 2

L'exemple suivant demande des devis finaux pour les commandes de sélection du panier actuel dans le magasin 1111 des magasins de référence 2222 et 3333. Une fois les requêtes envoyées, redirige vers une URL qui attend l'arrivée des réponses de devis.


    
http://myhostname/webapp/wcs/stores/servlet/OrderQuotationRequest?storeId=1111
          &orderId=.
          &quotationType=final
          &quotationStoreId_1=2222&quotationStoreId_2=3333
          &URL=
WaitForFinalQuotations

Comportement

  • Les instructions de tâche ResolveOrdersCmd et ResolveOrderQuotationRelsCmd sont appelées pour évaluer les abréviations spécifiées par les paramètres orderId et deleteOrderQuotationRelId.
  • Pour chaque commande spécifiée par le paramètre orderId, si elle a l'attribut de statut "P" ou "E" :
    • Attribuez un numéro displaySequence à chacune des paires de magasin et de contrat du devis spécifié :
      • Attribuez des numéros de séquence qui reflètent la séquence dans laquelle les paires de magasin et de contrat apparaissent dans les paramètres quotationStoreId_ i et quotationContractId_i, lorsque les paramètres sont disposés en séquence i de bas en haut.
    • Supprimez de la liste de paramètres quotationStoreId_ i et quotationContractId_ i (c'est-à-dire ignorez) les paires de magasin et de contrats spécifiées qui ne sont pas activées pour l'utilisateur actuel dans le magasin actuel.
    • Si quotationType est initial :
      • Pour chaque paire de magasin et de contrat spécifiée par les paramètres quotationStoreId_ i et quotationContractId_ i :
        • Déterminez une liste de données OrderItemData pour lesquelles des devis doivent être demandés, comme suit :
          • Incluez tous les articles de commande de la commande spécifiée.
    • Si quotationType est final :
      • Déterminez une liste d'objets OrderQuotationRel avec relType "selection" dont la commande mère est la commande spécifiée par le paramètre orderId et dont l'attribut childStoreId indique l'un des magasins spécifiés par le paramètre quotationStoreId_ i et dont l'attribut tradingAgreementId indique le contrat spécifié par le paramètre quotationContractId_ i correspondant.
      • Pour chaque paire magasin et contrat spécifiée par les paramètres quotationStoreId_ i et quotationContract_ i :
        • Déterminez une liste de données OrderItemData pour lesquelles des devis doivent être demandés, comme suit :
          • Incluez tous les articles de commande de la commande enfant référencés par l'objet OrderQuotationRel dans la liste déterminée précédente dont les attributs childStoreId et tradingAgreementId indiquent le magasin et le contrat spécifiés.
    • Pour chaque paire magasin et contrat spécifiée par les paramètres quotationStoreId_ i et quotationContractId_ i, supprimez tous les objets OrderQuotationRel pour cette commande, le magasin et le contrat dont les attributs relType correspondent au type de devis spécifié et supprimez également les commandes enfants qu'ils référencent. Supprimez également les objets OrderQuotationRel spécifiés par le paramètre deleteOrderQuotationRelId et leurs commandes enfant, mais uniquement ceux avec relType "initial", "final", ou "selection" et dont l'attribut parentOrderId indique la commande traitée (spécifiée par le paramètre orderId).
    • Pour chaque paire magasin et contrat (spécifiée par les paramètres quotationStoreId_ i et quotationContractId_ i) qui a des OrderItemData dans sa liste déterminée ci-dessus :
      • Créez un nouvel objet OrderQuotationRel pour la commande spécifiée avec le relType spécifié. Définissez les attributs childStoreId et tradingAgreementId pour indiquer le magasin et le contrat. Définissez l'attribut displaySequence sur le numéro displaySequence attribué (ci-dessus) au magasin et à la paire magasin et contrat. Définissez l'attribut tradingAgreementId pour indiquer le TradingAgreement du contrat.
      • Définissez l'attribut timeoutTime de l'objet OrderQuotationRel sur la durée actuelle plus le nombre de secondes spécifiées par l'attribut quoteWaitFor de la modalité ReferralInterfaceTC de l'accord commercial du contrat.
  • Appelez requestOrderQuotationCmd pour demander des devis pour chacun des objets OrderQuotationRel créés précédents et sa liste de données OrderItemData déterminée ci-dessus (si la liste n'est pas vide). Transmettez l'ID d'utilisateur de devis et le mot de passe de devis spécifiés ainsi que l'ID d'organisation de la commande.
  • Redirigez vers l'URL spécifiée par le paramètre URL, en définissant la propriété de réponse viewTaskName sur "RedirectView", en définissant la propriété de réponse d'URL de redirection sur la valeur spécifiée par le paramètre URL et en ajoutant des propriétés de réponse avec les noms et les valeurs spécifiés par le paramètre outOrderQuotationRelIdName.

Conditions d'exception

  • Si la valeur d'un paramètre d'entrée spécifié est manquante ou non valide, la commande déclenche une ECApplicationException avec un message d'erreur _ERR_BAD_MISSING_CMD_PARAMETER et une vue d'erreur GenericApplicationError.