Skip navigation FileNet logo
Glossary  |  Help Directory  
  Help for Process Designer
  Search  |  Index
Process Reference  
Process Designer
Getting Started
Workflow Properties
Steps
  Add a step
  Move steps
  Specify step properties
  Delete a step or route
  Change step type
  Launch step
  General steps
  Submap steps
  System steps
    General properties
    Routing properties
    Rules properties
    General system functions
      Assign system function
      Call system function
      Create system function
      DbExecute system function
      Delay system function
      Log system function
      Return system function
      Terminate system function
      Using dollar symbol ($)
    Timer system functions
    Checkpoint system functions
    WaitForCondition system function
  Component steps
Routes
Validate & Launch
   

Return system function

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

  1. Place a system step on the workflow map where you want to return control to the calling map.
  2. In the Properties pane under Available Functions, select Return, then click the right arrow to move it to the Selected Functions column.
  3. Double-click Return in the Selected Functions column.
  4. 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.