Traitement des étapes par condition

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Travailler avec des tâches >

Traitement des étapes par condition

Pour traiter les étapes selon certaines conditions, ajouter une étape de type "Choisir". Ces étapes consistent en deux parties : une partie "when" et une partie "otherwise".

ConditionalStep

Représentation abstraite d'une tâche qui comprend un traitement conditionnel

Comme indiqué dans le graphique ci-dessus, la partie "When" et la partie "Otherwise" nécessitent une étape d'exécution. De même, la partie "when" requiert une expression. Cette expression dicte laquelle des deux parties sera exécutée lorsque la tâche est exécutée. En particulier, si l'expression "When" évalue à une valeur booléenne true, l'Étape C sera exécutée. Sinon, c'est l'Étape D qui sera exécutée. C'est pourquoi la séquence de traitement de la tâche abstraite illustrée ci-dessus sera comme suit (à la condition qu'aucune erreur d'exécution ne se produit) :

 

1.Étape A
2.Étape B
3.Étape C ou D, selon l'expression
4.Étape E
5.Étape F

 

Par exemple, dans l'étape illustrée ci-dessous, FlowForce exécutera la fonction delete intégrée uniquement si l'expression "fileexists" évalue en tant que valeur booléenne true.

expression_field_when

 

Veuillez noter que "fileexists" doit avoir été déclaré dans une étape précédente (ou peut-être en tant que paramètre d'entrée), Par exemple :

variable_assignment

 

Sinon, FlowForce affichera une erreur de validation de syntaxe :

syntax_validation_error

 

 

Si vous avez l'intention de passer le résultat d'une étape "Choose" vers une autre étape ou de le déclarer comme étant de type particulier, veuillez vous assurer que chaque condition "When" et "Otherwise" produit le même type de retour. Sinon, le type de retour de l'étape "Choose" est le type de retour commun de toutes les branches "When" et "Otherwise", susceptibles de déclencher des erreurs de validation.

 

Considérons par exemple, une tâche qui contrôle la valeur d'une température de paramètre numérique pour vous indiquer si le temps est chaud ou normal. Une telle tâche peut ressembler à l'exemple suivant :

fs_conditional_job

Dans la tâche ci-dessus, vous constaterez que Déclarer le type de retour en tant que est configuré sur "chaîne". Si la température dépasse une certaine valeur (dans cet exemple, 35), une expression de string sera calculée, en particulier "Il fait chaud". Sinon, l'expression de string "Elle est normale" est calculée. Jusque là, les deux conditions "When" et "Sinon" produisent un string, la tâche peut donc être enregistrées et exécutée avec succès.

 

Néanmoins, si nous n'avions pas rempli la condition "Sinon", la tâche aurait déclenché une validation d'erreur, comme indiqué ci-dessous.

fs_conditional_job2

La raison est due au fait que le type de retour de la tâche est "chaîne" (comme indiqué par le paramètre Déclarer le type de retour en tant que). Si la branche "Sinon" n'est pas définie, le calcul ne donnera rien. "Rien" n'est pas la même chose en tant que string ; c'est pourquoi, cela déclenche l'erreur de validation.

 

Les tâches illustrées sur cette page utilisent des expressions FlowForce. Pour une introduction aux expressions FlowForce, voir Le langage d'expression FlowForce.


© 2019 Altova GmbH