Déroulez une boucle pour créer un élément séparé ne faisant pas d'itération.
Avant de commencer
Vous avez créé une map avec une structure d'entrée et de sortie. Dans cet exemple, vous pouvez utiliser en entrée et en sortie.
Pourquoi et quand exécuter cette tâche
Dans cet exemple, la structure d'entrée comprend un élément Component
contenant une boucle SubComponents
récursive. Dans la sortie, la boucle SubComponents
doit être une boucle simple, du même niveau que Components
.
Cette map est disponible dans .
Procédure
-
Dans la structure d'entrée, cliquez-droit sur la boucle
SubComponents
et cliquez sur Expand Recursive Elements. Cliquez-droit dessus à nouveau et cliquez sur Expand All pour afficher ses enfants.
Vous pouvez répéter les mêmes étapes sur les éléments SubComponents
enfants pour afficher autant de niveaux que nécessaire.
-
Dans la structure de sortie, cliquez-droit sur la boucle
Components
et cliquez sur Unroll From Loop.
Cela crée un élément Components
n'itérant pas et tous ses enfants.
-
Glissez l'élément d'entrée
Component
sur la sortie Components (Unrolled from Loop)
.
Les éléments du même nom dans les deux structures sont automatiquement mappés.
-
Glissez l'entrée
SubComponents
sur la sortie Components[2]
.
Les éléments sont mappés et une fonction
SimpleLoop est ajoutée à l'élément de boucle de sortie.
-
Cliquez sur l'élément de sortie
Row
, puis déposez une fonction FixedLoop depuis l'onglet Functions et déposez-la dans son onglet Loop.
L'élément
Row
est une boucle et nécessite une expression d'itération. Cependant, puisque l'entrée
Component
n'effectue pas d'itération, vous n'avez pas besoin de plusieurs occurrences de
Row
dans la sortie. La fonction
FixedLoop indique le nombre d'occurrences à retourner (par défaut, la valeur est 1).
Résultats
Les boucles sont mappées. Vous pouvez utiliser le bouton
Test Run pour voir la sortie, basée sur le fichier échantillon d'entrée. Dans cet exemple, la sortie se présente comme suit :
<FlatComponents>
<Row>
<Components>
<Id>1</Id>
<PartNumber>45I1122</PartNumber>
<Quantity>1</Quantity>
<Description>Main Component</Description>
</Components>
<Components>
<Id>102</Id>
<PartNumber>12ZSSS</PartNumber>
<Quantity>5</Quantity>
<Description>Door Assembly</Description>
</Components>
<Components>
<Id>302</Id>
<PartNumber>12IQWO</PartNumber>
<Quantity>14</Quantity>
<Description>Window Assembly</Description>
</Components>
</Row>
</FlatComponents>