Cette rubrique décrit comment utiliser une transformation If, Else If et Else pour définir des conditions afin de contrôler le flux du mappage des données entre
des éléments définis comme ayant un type spécifique ou un type dérivé dans l'assemblage de message d'entrée et de sortie. Pour configurer la condition If, vous devez relier un
élément d'entrée à un élément de sortie et sélectionner la transformation pivot If.
Procédure
Pour créer et configurer
la condition If d'une transformation If, Else if et
Else, exécutez les actions suivantes :
- Connectez l'élément Country dans l'objet d'assemblage de messages d'entrée situé sous à l'élément Address dans l'objet d'assemblage de messages de sortie situé sous .
Une transformation de type Mappe locale
est créée automatiquement.
- Connectez la condition Carte locale à l'élément de sortie Adresse.
- Remplacez la transformation Carte locale par une transformation Si en sélectionnant la flèche vers le bas située à droite de la transformation Carte locale .
- Cliquez avec le bouton gauche de la souris sur la flèche située à droite de la transformation Carte locale .
La figure suivante décrit comment sélectionner la transformation
If.

- Sélectionnez la transformation Si située dans Transformations de base.
La
figure suivante répertorie les transformations pivot (Core) disponibles :

L'écran affiche une condition If assortie d'un point d'exclamation rouge reliée à deux éléments d'entrée et un élément de sortie.
Remarque: Vous allez résoudre ces erreurs en exécutant le scénario
Le point d'exclamation rouge
à gauche de la condition If signale
plusieurs problèmes de validation. L'un des messages d'erreur indique que la condition If ne contient pas d'expression. Le deuxième
message d'erreur vous informe que vous devez définir des transformations pour tous les
éléments figurant dans la mappe imbriquée associée à la condition If. Cette mappe imbriquée est la mappe que vous utilisez pour définir la façon dont
une adresse ayant le type dérivé CanadianAddress sera mappée au type d'adresse de base Address.

- Connectez l'adresse dont le type dérivé est CanadianAddress à la transformation If .
La figure suivante montre la mappe de messages que vous obtenez après avoir
créé la connexion :

- Sélectionnez la condition Si , puis définissez l'expression dans l'onglet Condition sous les propriétés Transformer-Si . Pour ce faire, procédez comme suit :
- Appuyez sur Ctrl + barre d'espacement pour obtenir la liste des éléments.
La figure suivante montre les
éléments que vous pouvez sélectionner dans le scénario :

Remarque: Bien que vous puissiez entrer directement l'expression XPATH, en fonction des étapes que vous effectuez pour créer votre solution d'intégration, les noms de variable générés sont différents du nom d'élément dans le fichier de schéma. A la fin du nom de l'élément se trouve un ID concaténé qui est défini
automatiquement par l'outil.
- Double-cliquez sur un élément pour le sélectionner.
- Définissez l'expression XPATH liée à cette variable.
- Répétez les étapes suivantes si votre expression XPATH
comprend plusieurs éléments d'entrée.
La condition est constituée d'une expression XPath 2.0 que vous pouvez définir directement ou que vous pouvez créer
avec le générateur d'expression XPath
en cliquant sur Editer.
Dans le scénario, si vous avez créé vous-même le flux de messages, l'expression sera similaire à celle de $Country4 = 'Canada'.
La figure suivante montre l'onglet Propriétés de la transformation If :

Résultats
Vous avez défini et configuré la condition If.
Etape suivante
Définissez la condition Else If de
la transformation If. Pour plus d'informations, voir Configuration de la condition Else If dans une transformation If, Else if et Else.