This activity will pull one or more values from a List. For detailed information on how Lists work, see Global Lists.
When this activity is first created, a red exclamation mark shows up to the right of the activity notifying you that a link to a List is required for this activity to function. This link may be a direct pointer which can be created by clicking on the exclamation mark and then clicking on a List object, or the reference may be dynamic by setting the value for the List property.
By default, this activity does not finish until the it has successfully pulled everything that it required from the list. This means that a token will remain at a Pull from List activity until the Require Number of values has been pulled off the list.
You can use the Max Wait Timer to cause the token to attempt to pull a value from the list and then move on to additional activities.
The process of pulling a value from a list does not cause that token or object to be physically moved. Instead, a reference to the pulled value can be stored on the pulling token. This reference can be used later in other activities.
Connectors
The Pull From List activity allows multiple connectors out. However, tokens automatically released from this activity will be released through the first connector. Only manually released tokens have the opportunity to exit out a different connector. See Adding and Connecting Activities for more information.
Properties
The following image shows properties for the Pull From List activity:
Each of these properties will be explained in the following sections.
- Name You can change the name of the activity using the Name box. See Name for more information about this property.
- Font The Font button opens a window to edit the activity's background color and font properties. See Font for more information about this property.
- Statistics The Statistics button opens the activity's statistics window. See Statistics for more information about this property.
- List Reference The reference to the List that this activity is pulling from.
- Request Number This defines how many values you want to pull. The request number must be greater than or equal to the Require Number. If more values than the require number are available when the token initially pulls, then the token will pull those additional values, up to the request number, and then immediately release the token.
If the request number is zero, then the pull operation will become a mere querying operation. The pull will retrieve all objects on the list that meet the query filter, but it will not remove any values from the list.
- Require Number This defines the minimum number of values that you need to pull. If the list has insufficient values for the require number, a back order will be created and the token will wait in the activity until the required number of values is available.
If the require number is zero then the activity will always finish immediately, returning the amount that it succesfully pulled. In this case no back order will be created.
- Assign To Assigns a reference on the specified label/node to the value(s) were pulled from the list. See the Assign To section of Common Properties for more information.
- Query The conditions which specify which values to pull. This takes the form of an SQL query. You can use the button for help in constructing this query.
- Partition ID Defines which partition in the list to pull from.
- Puller Defines the puller object. This may be important if the query accesses fields that are dynamic and based upon the puller.
- All or NothingIf checked, no values will be pulled from the list until the entire Require Number of values can be pulled at onetime. Otherwise, values will be pulled as they become available.
- Do not remove entries from ListIf checked, all values that are 'pulled' from the list will not be removed from the list. The values will still be assigned to the Assign To label/node. This can be useful for querying the list for when specific data is added, or for using the list as an informational database. This option behaves like the All or Nothing in that no values will be 'pulled' until all values are available.
- Use Max Wait Timer The max wait timer will be evaluated if the token has not pulled its required amount after the specified time. See Max Wait Timer for more information.
- Use Max Idle Timer The max idle timer will be evaluated each time a value is pulled from the list by the token. See Max Idle Timer for more information.
- Keep Back Order On Early ReleaseIf checked and the token is manually released before it was able to pull its required amount, the back order will be kept on the list to be fulfilled at a later time.