Use the Return system function to immediately exit from a called workflow
map (that is, a submap) and return to the calling map. Upon return to
the calling map, the work item is placed at the beginning of either (a)
the state it was in when the other map was called or (b) the next state.
As a result, the actions associated with the state the work item was in
when the other map was called are either repeated (case a) or skipped
(case b). For further details about the actions associated with step states,
see About step
states.
Two factors determine which case occurs upon return to the calling map:
The retry option (a boolean expression) specified in the properties
of the Return system function, and
The Consistent Return setting for the VWService in which the workflow
is running. The system administrator enables or disables the Consistent
Return setting in the Process Configuration Console.
Following is a summary of Return system function behavior, based on these
two factors.
Map containing Return is:
Retry option
= true
Retry option
= false
Consistent Return enabled (checked)
N/A; map type is not a factor in all cases except
when an exception-handling map is called by the system during evaluation
of a routing condition (see below).
repeat
skip
An exception-handling map called by the system during the evaluation
of a routing condition.
repeat
repeat
Consistent Return disabled (unchecked)
All cases except an exception-handling map called by the
system during evaluation of a routing condition.
repeat
skip
An exception-handling map called by the system during the evaluation
of a routing condition.
repeat
repeat
A map called via the Call system function or VW_Call API
repeat
skip
A timer expiration map called because it is designated (in a BeginTimer
system function) to be called if a timer expires
repeat
repeat
By default, the Consistent Return setting is enabled; see Set
Runtime Options for further information.
To specify the properties for the Return system function
Place a system step on the workflow map where you want to return control
to the calling map.
In the Properties pane under Available Functions, select Return,
then click the right arrow to move it to the Selected Functions column.
Double-click Return in the Selected
Functions column.
Enter a valid boolean expression to determine the behavior upon return
to the calling map--see above summary for guidelines. You can simply
enter the word true or the word false (lower case, no
surrounding quotes). If you enter a complex expression, that expression
cannot reference a data field in an operation.
NOTE
As described in the above summary, if Consistent Return is disabled
and the Return system function is on a timer expiration map,
the Return behaves as if the the expression evaluates to true, regardless
of the expression's actual value.
Design considerations
At the end of every submap, there is an implicit return to the calling
map. The behavior of the implicit return is the same as the behavior of
the Return system function. It is only necessary to place a Return system
function on a map if you want to return to the calling map prior to completion
of the submap.
In addition, avoid using a Return system function in a path that is outgoing
from an AND-split step and incoming to an AND-join step. Because a work
item exists for each path outgoing from an AND-split, using a Return in
this case can result in the creation of extraneous work items. For further
information about AND-split and AND-join steps, see System
step - routing properties.