Vous êtes ici :
Configuration de l’orchestrateur de revenu dynamique pour interrompre les changements de statut
Coordonnez l'exécution entre Orchestrateur de revenu dynamique (DRO) et Gestion des commandes en configurant des étapes d'interruption qui attendent des jalons spécifiques de Gestion des commandes. Par exemple, interrompez l'exécution jusqu'à la livraison de tous les articles commandés.
Avant de commencer, activez Orchestrateur de revenu dynamique dans votre organisation.
Mappez les champs OMS avec votre définition de contexte afin de permettre aux ensembles d'expressions de les évaluer pour déterminer si des étapes d'interruption doivent être libérées dans les plans d'orchestration.
-
Étendez votre définition de contexte pour mapper les champs OMS.
- Dans Configuration, accédez à Paramètres de Dynamic Revenue Orchestrator, puis sélectionnez la définition de contexte préconfigurée.
-
Ajoutez des balises de contexte pour les champs OMS que vous souhaitez suivre.
Exemples courants :
- ItemStartQuantity : Mappe avec OrderItemSummary.QuantityOrdered
- ItemEndQuantity : Mappe avec OrderItemSummary.QuantityDelivered ou QuantityShipped
- Mappez ces balises avec des champs de l'objet SalesTransactionItem.
- Enregistrez la définition du contexte.
-
Créez un attribut transitoire pour les calculs.
Les ensembles d'expressions nécessitent des attributs transitoires pour contenir des valeurs de calcul temporaires.
- Dans votre définition du contexte, ajoutez un attribut personnalisé au même nœud que vos champs mappés.
- Définissez le Nom d'affichage et la Description pour correspondre exactement au nom de l'attribut.
- Marquez l'attribut comme Transitoire afin d'empêcher la persistance des données.
- Enregistrez vos modifications.
Important Si Nom d'affichage et Description ne correspondent pas au nom de l'attribut, l'évaluation ExpressionSet échoue. -
Créez un ensemble d'expressions pour des conditions de réalisation.
- Dans Configuration, recherchez Ensembles d'expressions, puis créez un ensemble d'expressions.
- Sélectionnez votre définition de contexte étendue.
- Définissez Type d'utilisation sur Condition d'exécution.
-
Configurez la logique de comparaison des valeurs de champ OMS.
Exemple : Relâchez l'interruption lorsque tous les éléments sont livrés.
- Ajoutez un Groupe de listes pour gérer plusieurs OrderItemSummaries dans un OrderSummary.
- Calculez la différence entre ItemStartQuantity et ItemEndQuantity pour chaque élément.
- Faites la somme des différences en utilisant la fonction Agréger la liste. Si toutes les quantités correspondent, la somme est égale à 0.
-
Ajoutez une variable booléenne locale nommée
isExecuteStepavec une valeur par défautFalse. -
Définissez la condition : Si sum est égal à 0, définissez
isExecuteStep = True. -
À l'étape de calcul finale, cochez Inclure dans la sortie de la variable
isExecuteStep. - Enregistrez ExpressionSet.
Important Définissez la variable de sortie exactement surisExecuteStep(sensible à la casse). Si Vrai, DRO reprend l'étape. Si faux, le scrutateur laisse l'étape interrompue. -
Configurez une étape d'interruption dans votre workflow d'exécution.
- Dans la définition de votre étape de réalisation, ajoutez une nouvelle étape Interrompre.
- Dans la configuration de l'étape, sélectionnez Utiliser ExpressionSet comme type de condition.
- Sélectionnez ExpressionSet que vous avez créé à l'étape 3.
- Configurez la fréquence à laquelle DRO réévalue la condition (intervalle d'interrogation).
- Enregistrez votre définition d'étape de réalisation.
Lorsqu'une commande est soumise, DRO évalue l'ensemble d'expressions à chaque intervalle de sondage. Lorsque la Gestion des commandes met à jour les quantités OrderItemSummary et que la condition renvoie True, l'étape d'interruption est libérée et l'exécution continue.
| Interrompre jusqu'à | Logique ExpressionSet |
|---|---|
| Tous les articles livrés | OrderItemSummary.QuantityDelivered = QuantityOrdered |
| Tous les articles expédiés | OrderItemSummary.QuantityShipped = QuantityOrdered |
| Seuil d'expédition partiel | OrderItemSummary.QuantityShipped >= (QuantityOrdered × 0.8) |
| Stock alloué | OrderItemSummary.QuantityReserved = QuantityOrdered |
Dépannage
| Problème | Résolution |
|---|---|
| L'ensemble d'expressions affiche « Quelque chose s'est mal passé ». | Définissez isExecuteStep, puis sélectionnez Inclure dans sortie. |
| Les balises de contexte ne sont pas disponibles dans ExpressionSet. | Vérifiez que Nom d'affichage et Description correspondent au nom de l'attribut pour les attributs transitoires. |
| L'étape d'interruption n'est jamais libérée. | Vérifiez que isExecuteStep est une variable booléenne et que la logique la définit sur True lorsque les conditions sont remplies. |
| Une erreur d'évaluation générique est affichée. | Activez l'autorisation d'organisation DynamicCommonOrchestrator. |
