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

Scinder une boucle

Scindez une boucle en deux boucles séparées.

Avant de commencer

Vous avez créé une map avec une structure d'entrée et de sortie. Cet exemple utilise la même map que dans Dérouler une boucle (uniquement en anglais).

Pourquoi et quand exécuter cette tâche

Dans cet exemple, vous avez mappé l'élément d'entrée Component et vous souhaitez inclure dans votre structure d'entrée deux boucles récursives SubComponents au même niveau que Components.

Procédure

  1. Si vous utilisez la map créée dans l'exemple précédent, cliquez-droit sur l'élément de sortie Components[2] et cliquez sur Remove Expressions (Mappings).
  2. Dans la structure d'entrée, développez les boucles SubComponents récursives pour afficher deux niveaux de boucles avec leurs enfants.
    Votre map doit ressembler à ceci :
  3. Cliquez-droit sur la boucle Components[2] et sélectionnez Split Loop.
    Cela crée une boucle identique au même niveau.
  4. Déposez la première boucle d'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. Glissez la boucle enfant d'entrée SubComponents sur la sortie Components[3].
    Les éléments sont mappés et une fonction SimpleLoop avec NestedContext est ajoutée à l'élément de boucle de sortie.

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>
    <Components>
      <Id>201</Id>
      <PartNumber>88-B</PartNumber>
      <Quantity>2</Quantity>
      <Description>Hinge</Description>
    </Components>
    <Components>
      <Id>202</Id>
      <PartNumber>GF4488-B</PartNumber>
      <Quantity>1</Quantity>
      <Description>Lock</Description>
    </Components>
    <Components>
      <Id>203</Id>
      <PartNumber>288333-I10023</PartNumber>
      <Quantity>1</Quantity>
      <Description>Sign</Description>
    </Components>
    <Components>
      <Id>401</Id>
      <PartNumber>88-C</PartNumber>
      <Quantity>2</Quantity>
      <Description>Window Lock</Description>
    </Components>
    <Components>
      <Id>402</Id>
      <PartNumber>RT433</PartNumber>
      <Quantity>1</Quantity>
      <Description>Window Frame</Description>
    </Components>
    <Components>
      <Id>403</Id>
      <PartNumber>15</PartNumber>
      <Quantity>1</Quantity>
      <Description>Glass</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 !