Mappages en chaîne
MapForce prend en charge les mappages qui consistent en plusieurs composants contenus dans une chaîne de mappage. Les mappages en chaîne sont des mappages dont au moins un composant agit en tant que source et cible. Un tel composant crée une sortie qui sera utilisée ultérieurement en tant qu'entrée pour une étape de mappage suivante dans la chaîne. Un tel composant est appelé un composant "intermédiaire".
Par exemple, le mappage illustré ci-dessous montre une note de frais (en format XML) qui sera traitée en deux phases. La partie du mappage de A à B filtre uniquement les dépenses libellées en tant que "Travel". Le mappage de B à C filtre uniquement les dépenses "Travel" dont le coût est de moins de 1500. Le composant B est le composant "intermédiaire", étant donné qu'il a aussi bien des connexions d'entrée et de sortie. Ce mappage est disponible sous le chemin suivant : <Documents>\Altova\MapForce2024\MapForceExamples\Tutorial\ChainedReports.mfd.
ChainedReports.mfd
Les mappages en chaîne introduisent une fonction appelée "passage". "Passage" est un aperçu vous permettant de consulter la sortie produite à chaque étape d'un mappage en chaîne dans la fenêtre Sortie. Par exemple, dans le mappage ci-dessus, vous pouvez consulter et enregistrer la sortie XML résultant de A à B, ainsi que la sortie XML résultant de B à C.
Note : | La fonction "passage" est uniquement disponible pour les composants basés sur fichier (par exemple, XML, CSV, et texte). Les composants de base de données peuvent être intermédiaires, mais la touche de passage n'est pas indiquée. Le composant intermédiaire est toujours régénéré à partir de zéro lors de la consultation ou de la génération du code. Cela ne serait pas faisable avec une base de données étant donné qu'elle devrait être supprimée avant chaque régénération. |
Si le mappage est exécuté par MapForce Server, ou par le code généré, la chaîne de mappage complète sera exécutée. Le mappage génère les fichiers de sortie nécessaires à chaque étape de la chaîne, et la sortie d'une étape d'un mappage en chaîne est transmise en tant qu'entrée vers l'étape de mappage suivante.
Il est également possible de générer des noms de fichier dynamiques pour les composants intermédiaires. C'est à dire qu'ils peuvent accepter des connexions vers l'item "File:" depuis le mappage, si le composant est configuré dans ce sens. Pour plus d'informations, voir Traiter plusieurs fichier d'entrée ou de sortie dynamiquement.
Touche Aperçu
Les composants B et C ont tout deux des touches d'aperçu. Cela vous permet de consulter dans MapForce le résultat de mappage intermédiaire de B, ainsi que le résultat final du mappage en chaîne. Cliquer sur la touche Aperçu du composant respectif, puis cliquer sur Sortie pour voir le résultat de mappage.
Les composants "Intermédiaires" dont la touche Passage est activée ne peuvent pas être consultés. Leur touche d'aperçu est automatiquement désactivée car il n'est pas approprié de consulter les données et de les laisser passer en même temps. Pour consulter la sortie d'un tel composant, cliquer tout d'abord sur la touche "passage" pour le désactiver, puis cliquer sur la touche d'aperçu.
Touche Passage
Le composant intermédiaire B a une touche supplémentaire dans la barre de titre du composant appelée "passage".
Si la touche de passage est active , MapForce mappera toutes les données dans la fenêtre d'aperçu en une seule fois ; du composant A au composant B, puis au composant C. Deux fichiers de résultat seront créés :
•le résultat du composant de mappage A vers le composant intermédiaire B
•le résultat du mappage du composant intermédiaire B, vers le composant cible C.
Si la touche passage est inactive , MapForce exécutera uniquement des parties de la chaîne complète de mappage. Les données sont générées selon les touches d'aperçu qui ont été activées :
•Si la touche d'aperçu du composant B est active, le résultat du composant de mappage A vers le composant B est généré. La chaîne de mappage peut effectivement s'arrêter au composant B. Le composant C n'est pas impliqué dans l'aperçu.
•Si la touche d'aperçu du composant C est active, le résultat du composant de mappage intermédiaire B vers le composant C est généré. Étant donné que le passage n'est pas actif, la chaîne automatique a été interrompue pour le composant B. Seule la partie droite de la chaîne de mappage est exécutée. Le composant A n'est pas utilisé.
Lorsque la touche "passage" est désactivée, il est important que le composant intermédiaire ait des noms de fichier identiques dans les champs "Fichier XML d'entrée" et "Fichier XML de sortie". Cela permet de garantir que le fichier généré en tant que sortie lorsque vous consultez la portion du mappage située entre A et B est utilisé en tant qu'entrée lorsque vous consultez la portion du mappage située entre B et C. De plus, dans le code généré, ou dans l'exécution de MapForce Server, cela permet de garantir que la chaîne de mappage n'est pas rompue. |
Comme mentionné précédemment, si le mappage est effectué par MapForce Server, ou par le code généré, la sortie de tous les composants est générée. Dans ce cas, les paramètres de la touche de passage du composant B, et le composant d'aperçu actuellement sélectionné sont ignorés. Si vous prenez le mappage ci-dessus en tant qu'exemple, les deux fichiers de résultat seront générés comme suit :
1.Le fichier de sortie résultant du composant de mappage A à B
2.Le fichier de sortie résultant du composant de mappage B à C.
Les sections suivantes, Exemple : Passage actif et Exemple : Passage non-actif, illustrent de manière plus détaillée comment les données de source sont transférées différemment lorsque la touche de passage est active ou inactive.