Variables
Une variable est un type de composant spécial utilisé pour stocker un résultat de mappage intermédiaire pour un traitement ultérieur. Les variables peuvent être de type simple (par exemple, string, entier, booléennes, etc) ou de type complexe (une structure arborescente). Voir les exemples des deux types dans les sous-rubriques ci-dessous.
Un des aspects les plus importantes concernant les variables est qu'elles sont des séquences, et qu'elles peuvent être utilisées pour créer des séquences. Le terme séquence signifie une liste d’items zéro ou plus. Cela permet à une variable de traiter plusieurs items pour la durée du cycle de vie du mappage. Pour plus d’information, voir aussi Règles et stratégies de mappage. Toutefois, il est également possible d’assigner la valeur à une variable une fois et préserver cette valeur pour le reste du mappage. Pour des détails, voir Changer le contexte et l’étendue des variables.
Variables simples
Une simple variable est créée pour représenter des types atomiques tels que les strings, nombres booléennes (voir la capture d'écran ci-dessous).
![mf_variable_simple](./images/mf_variable_simple.png)
Variables complexes
Une variable complexe a une structure d’arborescence. Les structures sur lesquelles une variable complexe peut être basée sont résumées dans la liste ci-dessous.
Édition de base de MapForce :
•Structures de schéma XML
Édition professionnelle de MapForce :
•Structure de schéma XML
•Structure de base de données
Édition MapForce Enterprise :
•Structure de schéma XML
•Structure de base de données
•Structure EDI
•Structure FlexText
•Structure de schéma JSON
Exemple 1 : Variable basée sur Schéma XML
Vous pouvez créer une variable de type complexe en fournissant un schéma XML qui définit la structure de la variable (voir la capture d’écran ci-dessous). Si le schéma définit des éléments globalement, vous pouvez choisir lequel doit devenir le nœud de racine de la structure variable. Veuillez noter qu’une variable n’a pas de fichier XML d’instance associé. Les données de la variable sont calculées durant l’exécution du mappage.
![mf_variable_complex_schema](./images/mf_variable_complex_schema.png)
Exemple 2 : Variable basée sur la base de données (éditions MapForce Professional et Enterprise)
Si vous choisissez une structure de base de données pour votre variable(voir la capture d’écran ci-dessous), vous pouvez choisir une table de base de données spécifique en tant qu'item de racine pour la structure de variable. MapForce vous permet de créer des variable basés sur BD avec une arborescence de tables associées. L’arborescence de tables associées représente une structure in-memory qui n’a pas de connexion vers la base de données lors de l’exécution. Ceci signifie également qu’il n’y a pas de gestion automatique de la clé étrangère et pas d’actions de table dans les paramètres ou variables.
![mf_variable_complex_db](./images/mf_variable_complex_db.png)
Compute-when
Dans les deux exemples ci-dessus, chaque variable est dotée d’un élément dénommé compute-when. Connecter cet élément est optionnel : Ceci vous permet de contrôler comment la valeur de variable doit être calculée dans le mappage. Pour plus d’informations, voir Changer le contexte et l’étendue des variables.
Variables avec des entrées dupliquées
Si nécessaire, les items d’une structure de variable peuvent être dupliqués pour accepter les données de plus d’une connexion source. Ceci est semblable aux entrées dupliquées dans les composants standard. Néanmoins, cela ne s'applique pas aux variables créées depuis les tables de base de données. La capture d’écran ci-dessous illustre une variable simple avec des entrées dupliquées.
![mf_variable_simple_duplicated](./images/mf_variable_simple_duplicated.png)
Mappages en chaîne par rapport aux variables
Les variables peuvent être comparées aux composants intermédiaires d’un mappage en chaîne. Néanmoins, les variables sont plus flexibles et pratiques si vous ne devez pas produire de fichiers intermédiaires à chaque étape du mappage. La table suivante souligne les différences entre les variables et les mappages en chaîne.
Mappages enchaînés | Variables |
---|---|
Les mappages en chaîne impliquent deux étapes indépendantes. Par exemple, un mappage a trois composants, notamment A, B et C. Étape 1 : mapper des données de A à B. Étape 2 : mapper des données de B à C. | Vous pouvez contrôler quand et combien de fois la valeur variable est calculée quand le mappage est exécuté. Pour les détails, voir Changer le contexte et l’étendue des variables. |
Lorsque le mappage est exécuté, les résultats intermédiaires seront stockés extérieurement dans des fichiers.
| Lorsque le mappage est exécuté, des résultats intermédiaires sont stockés intérieurement. Aucun fichier externe contenant des résultats d’une variable n’est produit. |
Le résultat intermédiaire peut être consulté en utilisant la touche d'aperçu. | Un résultat de variable ne peut pas être consulté, puisqu'il est calculé lors de l’exécution du mappage. Vous pouvez, néanmoins utiliser le débogueur pour voir les données produites par la variable. |
Note : | les variables ne sont pas prises en charge si le langage de transformation de mappage est réglé sur XSLT 1.0. |