Software AG Products 10.7 | Integrating On-Premises and Cloud Applications | Service Development | Building Flow Services | The LOOP Step | Building a LOOP Step
 
Building a LOOP Step
Use the following procedure to build a LOOP step in a flow service.
*To build a LOOP step
1. If you are inserting a LOOP step into an existing flow service, display that service in the editor and select the step immediately above where you want the LOOP step inserted.
2. Do one of the following:
*Click the button next to on the flow service editor toolbar and click .
*Click by the side of the flow service editor to open the Palette view. Click and drag it to the flow service editor.
3. Complete the following fields on the Properties view:
For this property…
Specify…
Comments
An optional descriptive comment for this step.
Scope
The name of a document (IData object) in the pipeline to which you want to restrict this step. If you want this step to have access to the entire pipeline, leave this property blank.
Timeout
Optional. Specifies the maximum number of seconds that this step should run. If this time elapses before the step completes, Integration Server issues a FlowTimeoutException and execution continues with the next step in the service.
If you want to use the value of a pipeline variable for this property, type the variable name between % symbols. For example, %expiration%. The variable you specify must be a String.
If you do not need to specify a time-out period, leave Timeout blank.
For more information about how Integration Server handles flow step timeouts, refer to the description of the watt.server.threadKill.timeout.enabled configuration parameter in webMethods Integration Server Administrator’s Guide.
Label
An optional name for this specific LOOP step, or a null, unmatched, or empty string ($null, $default, blank).
Important:
If you use this step as a target for a BRANCH or EXIT step, you must specify a value in the Label property. For more information about the BRANCH and EXIT steps, see The BRANCH Step or The EXIT Step.
Input array
The name of the array variable on which the LOOP will operate. This variable must be one of the following types: String list, String table, Document list, or Object list.
Output array
The name of the element that you want the server to collect each time the LOOP executes. You do not need to specify this property if the loop does not produce output values or if you are collecting the elements of Input array.
4. Build the body of the loop using the following steps:
a. Insert a flow step using the buttons on the flow service editor toolbar.
b. Indent the flow step using on the flow service editor toolbar to make it a child of the LOOP step.
c. Set the properties for the child step as needed.
5. Use the Pipeline view to link the elements of the input array to the input variables required by each child of the LOOP step. For more information about using the Pipeline view, see Mapping Data in Flow Services.
Important:
When you build a LOOP step, make sure that you specify the output array variable in the LOOP Output array property before creating a link to the output array variable within a MAP or INVOKE step in the body of the LOOP. If you specify the output array variable after creating a link to it, the link will fail at run time. You can debug the step in Designer to see if the link succeeds. If the link fails, delete the link to the output array variable and then recreate it.