Script Procedure Names

See Also

Although you can set an action name to anything, the script procedures do not reflect this user-defined naming. The script procedure names are based on the state ID or the associated state and the action name.

For example, if you add a Create action to a state called Resolved and you named it New, then the validation script procedure for that action is named State2_Validate_OnCreate.

Behind the scenes, each state in a workflow diagram is assigned a state ID. The state IDs are integers, starting at one and increasing by one. The first state, in this example Active, is one, the second state, Resolved, is two, and so on. When you assign actions for this Active state, such as Create, you have events called:

If you add a Change action, the associated events appear as:

The same Change action when created for Resolved, the second state, is called:

For transitions, the same format applies, with the addition of the next state ID at the end of the name. For example, when transitioning from State1 to State2:

The 2 at the end of the name refers to the state that is the result of the transition. In this example, it is the second state in the workflow process.

The following table shows a matrix detailing the event procedure naming convention for a single state. In this example, the state ID is State1, and the state name is Active.

Action Script procedure Event procedure name
Transition Validate State1_Validate_OnTransition2*
Transition Action State1_OnTransition2
Create Validate State1_Validate_OnCreate
Create Action State1_OnCreate
Delete Validate State1_Validate_OnDelete
Delete Action State1_OnDelete
Change Validate State1_Validate_OnUpdate
Change Action State1_OnUpdate
Enter Validate State1_Validate_OnEnter
Enter Action State1_OnEnter
Exit Validate State1_Validate_OnExit
Exit Action State1_OnExit
First Timeout Validate State1_Validate_OnTimeout
First Timeout Action State1_OnTimeout
Second Timeout Validate State1_Validate_OnTimeout1
Second Timeout Action State1_OnTimeout1
Third Timeout Validate State1_Validate_OnTimeout2
Third Timeout Action State1_OnTimeout2

*Transition events start with the name of the current state (in this example State1) and end with the state ID of the state being transitioned to (in this example 2 for State2).

You can have multiple transition actions and time-out actions. Time-out event procedures remain unique by adding a counter to the end of the event procedure name. The first state has no number, and each subsequent OnTimeout event is named OnTimeout1, OnTimeout2, and so on.

Transition event procedures remain unique by starting with the current state and ending with the next state: State1_Validate_OnTransition2, State1_Validate_OnTransition3, and so on. Because there can be only one transition between any two states, this helps keep the names unique.