The iterate step in Gloop is very similar to the
for loop in Java and other
programming languages. You simply give it an array of Gloop objects (or a Gloop input cursor) and it
will iterate through them one by one, calling every Gloop step which is a child of it. They are
especially useful when you want to perform mappings or transformations from one array to another.
Iterate steps rely on the
Input Array property to determine what to iterate over. For every entry in the input array,
the child steps of the iterate step will be invoked.
Iterate steps also have an
Output Array property. This makes it easy to map or transform from one array of Gloop
objects to another. By default, existing entries in the output array will be overwritten. Once the output array has less
entries than the input, new entries are added to the output. If you prefer to always add the records to the output, you
can change the
Append property on the iterate step from
If your iterate step only has
Input Array configured, its text in the
Gloop service editor will appear as
Iterate over <inputArrayName>. If it has both an input
and output configured, it will appear as
Iterate over <inputArray> → <outputArray>.
Iterate steps can also be configured to delay at the end of an iteration and close your Gloop cursors after finishing.
An iterate step will also introduce two variables to Gloop while it's being executed:
$gloopIndex- a zero-based counter of the loop
$gloopCount- a one-based counter of the loop
The array that the step is iterating over (and optionally writing to) will also appear as a single item in the Mapper
view when you're in the context of the iterate step. Look closely at the Mapper view below to see how the iterate
step changes what's available in the Mapper. You will notice the
$gloopCount variables being
added and the input array (which in this example, is called
myArray) changes from an array to a single item (the
array brackets badge on the bottom-right doesn't appear anymore).
Iterate over arrays like a ninja
If there is an array already in the Mapper view and you wish to iterate over it, you can trigger the
content-assist feature by pressing in the Gloop step editor and then choosing the
Iterate over array option. This will guide you to adding and pre-configuring the iterate step for you by asking
Input Array and