För att köra ett kommando eller en kommandogrupp i en kedja upprepade gånger, skapa en iterator.
Obs: Om du vill konvertera en utdata från en relationsdatabas eller extern webbtjänst till en JSON-array som ska användas med en iterator använder du JSON connector CSV to JSON kommandot eller en JSON-variabelomvandling.
Skapa en iterator
Med en iterator kan du upprepa ett kommando eller en grupp baserat på:
- En statisk eller dynamisk lista med värden
- Ett exakt antal värden
- Baserat på om ett tillstånd föreligger
En iterator kan upprepa ett kommando eller en grupp flera gånger:
- En statisk lista med värden, t.ex. regioner eller enheter
- En dynamisk eller variabel lista med värden, t.ex. från en arkivering som laddats upp som en resurs på arbetsytan eller från ett kommando tidigare i kedjan
Obs: Ett kommando eller en grupp är begränsad till 1000 iterationer.
För att köra en iterator över en lista med värden:
- I kedjan markerar du kommandot eller gruppen som ska köras upprepade gånger och klickar på Edit .
- På fliken Iterationer aktiverar du Iterator .
- I Välj modifieringstyp, välj Lista.
-
Ange värdena för iterationerna:
- För en statisk lista anger du värdet för varje iteration genom att trycka på Enter efter varje iteration.
- För en dynamisk lista väljer du utdata från det tidigare kommandot med de värden som ska användas.
- För en statisk lista anger du värdet för varje iteration genom att trycka på Enter efter varje iteration.
En iterator kan upprepa ett kommando eller en grupp över ett exakt antal värden, t.ex. det totala antalet sidor som matas ut från ett kommando tidigare i kedjan.
Steg 1. Skapa en variabel för talvärdet
För att ange antalet iterationer skapar du en dynamisk kedjevariabel:
- I kedjan lägger till en dynamisk variabel för antalet iterationer, t.ex. Counter, utan något startvärde.
- För att ställa in variabelns startvärde när kedjan körs, efter kommandot som matar ut antalet iterationer, lägg till en Set dynamic chain variable händelse:
- Välj den dynamiska variabel som skapats för antalet iterationer.
- I Value, och ange dess startvärde, t.ex. 1.
Steg 2. Lägg till en kommandogrupp
Lägg till en kommandogrupp för att ange kommandona för att iterera och iterationsregeln:
- Efter Set dynamisk kedjevariabel händelse, lägg till Kommandogrupp, och dra en länk mellan dem.
- Markera gruppen och klicka på Redigera.
- På gruppens flik Iterationer aktiverar du Iterator .
- I Select modifieringstyp, välj Repeat until.
- Klicka på Rule, välj datatypen Float och ange när iterationerna ska stoppas. Om du t.ex. vill iterera baserat på resultatet Total records från ett tidigare kommando, ställer du in en regel som stoppar iterationer när variabelvärdet är större än (>) resultatet Total records.
- Lägg till kommandona för att iterera till gruppen.
Steg 3. Lägg till en händelse för att öka variabelns värde
För att öka variabelvärdet med varje iteration:
- Som sista steg i gruppen, lägg till ytterligare en Set dynamisk kedja variabel händelse:
- Välj den dynamiska variabel som skapats för antalet iterationer.
- I Value väljer du samma variabel.
- För att transformera värdet klickar du på variabeln i Värde och lägger till en Parse Number transformation.
- Lägg till en Lägg till transformation med ett värde på 1 och klicka på Godkänn.
Om värdena eller det exakta antalet värden är okända kan du iterera baserat på om specifika villkor är uppfyllda. Du kan t.ex. upprepa ett kommando medan eller tills ett visst kriterium uppfylls.
Steg 1. Ställ in variabler för de villkorliga värdena
För att representera de villkor som anger värden att iterera över skapar du dynamiska kedjevariabler. Om ett kommando t.ex. innehåller en boolesk nyckel som anger om svaret innehåller ytterligare sidor och en heltalsoffsetparameter som identifierar varje sida, skapar du variabler för dessa värden:
- I kedjan lägger till en dynamisk variabel för varje villkor, utan något startvärde.
- För att ställa in variablernas startvärden när kedjan körs, efter kommandot som matar ut villkorens värden, add a Set dynamic chain variable event, välj de dynamiska variablerna och ange deras startvärden.
Ange t.ex. värdet för den booleska nyckeln som True och offsetvärdet som 0.
Steg 2. Lägg till en kommandogrupp
Lägg till en kommandogrupp för att ange kommandona för att iterera och iterationsregeln:
- Efter Set dynamisk kedjevariabel händelse, lägg till Kommandogrupp, och dra en länk mellan dem.
- Markera gruppen och klicka på Redigera.
- På gruppens flik Iterationer aktiverar du Iterator .
- I Välj modifierartyp , välj "Upprepa tills:".
- Klicka på Regel, och ange när iterationerna ska stoppas, t.ex. när den booleska nyckeln är False.
- Lägg till kommandona för att iterera till gruppen.
Steg 3. Ställ in variabelvärden för varje iteration
Som sista steg i gruppen lägger du till ytterligare en Ställ in dynamisk kedjevariabel händelse för att ställa in eller öka variabelvärdena med varje iteration.
- För att ställa in variabelvärden mappar du varje variabel till respektive utgång från det tidigare kommandot. Till exempel, för variabeln Boolean väljer du den booleska nyckelutgången; för variabeln Offset väljer du parametern heltalsoffset.
- För att inkrementera en variabel, t.ex. Offset, klicka på dess värde och tillämpa sedan en Parse Number transformation och en Add transformation med det värde som ska inkrementeras vid varje iteration.
Iterator utgångar
Du kan använda en iterators utdata som en egenskap för andra kommandon eller händelser längre fram i kedjan. Utgångarna beror på iteratorns modifierare-Lista eller Upprepa till.
| Utdata | Beskrivning |
|---|---|
| Kommandoiteration eller gruppiteration | Variabelvärdet för den iteration som bearbetas i loopen. |
| Index | Det nollbaserade antalet som indikerar den iteration som bearbetats i loopen. |
| Första iterationen | Ett booleskt värde som anger om den bearbetade iterationen är den första i loopen. |
| Senaste iterationen | Endast för en List iterator, ett booleskt värde som anger om den bearbetade iterationen är den sista i loopen. |
| Totalt antal iterationer | Endast för en List iterator, ett nollbaserat antal iterationer som bearbetas av loopen. |
Om du vill använda en utgång som en egenskap för ett annat kommando eller en annan händelse väljer du den under Command Iterator respektive Group Iterator.