Accéder au contenu principal Passer au contenu complémentaire

Dérouler une boucle

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 Other Projects (Autres projets) > Examples (Exemples) > Structures > Recursive > Component en entrée et Other Projects (Autres projets) > Examples (Exemples) > Structures > CSV > FlatComponents 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 Other Projects (Autres projets) > Examples (Exemples) > Maps > Looping > LoopSkipLevel.

Procédure

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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>

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !