Due Transition

Provides detailed information on the Due Transition.

A Due Transition is used when a process requires an instance to move to the next flow object within a specified time period. Due transitions are used to implement deadline processing.

Note: Flow objects can use only one due transition to link to another activity.

After you create the transition, a line with a directional arrow connects the two flow objects on the design workspace.

The icon next to the transition indicates that it is an Interval expression or Interval constant due transition . The due condition is displayed as well.

The icon next to the transition indicates that it is a Scheduled based due transition .

Note: If you do not want to see the Due Transitions disable the Show Due Transitions property from the View menu, Transitions option.

Defining the Due Condition

The Due Condition can be defined as Schedule based, Interval expression, or Interval constant.

In any of these cases, you can decide to use Calendar Rules. So, if the calculated due date is not a working day, the applicable due date is moved to a valid date.

Schedule based

If the next scheduled due time falls on a non-working day, you have the ability to select whether the due time is passed to the Next working day, same time or Next scheduled based time.

For example, if you set the due time to happen once a week, every Monday at 11:00 AM and one Monday is a holiday, then if you have selected:

Next working day, same time the due time is set to Tuesday at 11:00 AM, or

Next scheduled based time the due time is set to next Monday at 11:00 AM.

The Scheduled option indicates that the due transition is set to run on a specific date at a specific time.

The DAILY choice allows you to select a time you want the due time to apply each day. For example, every day at 3:00 AM.

The WEEKLY choice allows you to select a "day of the week" and a time that the due time applies every week. For example, every Monday at '' 10:18 A.M.''

The MONTHLY choice allows you to select the month, the week of the month (First-Second/Fourth-Last)/the day of the week (Sun-Sat) or the day of the month and the day (1-31) and the time to which the due time applies. For example, you can choose the third (3rd) Thursday of every month at 3:45 P.M.

Note: Notice that the due is moved based on the day and not on the time as explained on the dialog box

Interval Expression

The Interval Expression option allows the due time to begin the moment the instance arrives at the flow object plus an interval time. The interval time to add to the arriving time can be the result of an expression.

If the calendar rules apply and the calculated due time is on a non-working day, the due time is postponed to the first working time.


  • In the Due Interval field, type a time interval, making sure that you surround the time interval with a single quote. (See below for time syntax examples.) For example, if you require a time interval of five minutes, you need to type '5m'. This means that the instance has five minutes (5m) to flow through the Due transition from the source flow object to the next flow object. To implement this example, you can also define the Due transition as an Interval constant (see below for more information).

If you require a more complex condition, add a PBL-Method in the Due Interval field to force an instance through the process in a specified amount of time under certain conditions. In the following example, the PBL-Method indicates that an order greater than $5000 can sit in the Account Manager's queue for only 2 minutes ('2m'). If the order is less than $5000, the order can remain in the queue for 5 hours ('5h').

	(OrderAmount > 5000) ? '2m':'5h'
	

  • The syntax is automatically checked. If everything is correct, a green flag appears on the top right corner of the Conditional field. If something is wrong, a red flag appears. The error is shown at the bottom of the dialog box if you click on the statement that contains the problem.
Note: Time will start running immediately after the instance reaches the source flow object of the due transition.

Time syntax

Due interval logic to indicate an interval of time is added to the due transition properties. The syntax is:
  • d for day
  • h for hour
  • m for minute
  • s for seconds
Examples of valid intervals to enter in Due transition logic include:
  • '3d ' for three days
  • '1h' for one hour
  • '4m' for four minutes
  • '2m30s' for two minutes and 30 seconds.

See METHODS REFERENCE GUIDE for further information on time and interval syntax.

Interval Constant

The Interval Constant option allows the due time to begin the moment the instance arrives at the flow object plus a defined time (number of months/days/hours/minutes/seconds).

If calendar rules apply and the calculated due time is on a non-working day, the due time is postponed to the first working time.

For example, you decide that the due time is always the instance arrival time plus 7 days and 12 hours.

No expressions are available. If so, define the due time as an Interval expression.

Note: Time will start running immediately after the instance reaches the source flow object of the due transition.

Priorities for the Due times

A due transition can be specified for leaf flow objects as well as for group activities. Therefore, an instance can be affected by multiple due times as follows:
  • the flow object due transition interval,
  • each nesting group due transition interval,
  • the process instance deadline.

When an instance arrives at a flow Object, these three options are considered in order to determine the shortest due time and which due transition is first priority.

You should consider that a group's due transition time begins when the instance arrives at the first flow object within that group.

The due time assigned to an instance, as it arrives at a flow object, is the shortest time of all the three possible due time options listed above.

For example, as shown in following figure:


Figure 1. Due Transition Example
when the instance arrives at the activity Automatic3, as this activity has a due transition, the due time is the shortest time between:
  • 1 hour: defined in the Automatic3 due transition.
  • The remaining time of 90 minutes as defined for the Group1 due transition. This means that if the instance has remained for 50 minutes in the Automatic1 activity, the remaining time for the group is 40 minutes. In consequence, the instance will probably flow through the Group1 due transition to the Technical Control activity instead of flowing to the Control activity (1 hour).
  • The remaining time of 2 hours defined as the process due deadline. If the instance has been in the Automatic2 Activity for 100 minutes, the remaining time for the process is 20 minutes. Thus, the instance will probably flow to the End Event instead of flowing to the Technical Control activity (90 minutes) or to the Control activity (1 hour).

If more than one due transition expires at the exact same time, the instance is sent through the outermost due transition (of those transitions which time interval expired at that moment).

For example, the instance is within a flow object that has a due transition that expires at noon. Additionally, this flow object belongs to a group that has also a due transition that expires at noon. At noon the instance will flow through the group due transition.

When a due interval is calculated for a flow object (leaf or group), the calendar rules are taken into account as regards the role where the instance is or whether the group spreads over many roles.

Task Timeout

If a task is running, the time it has to complete depends on the task timeout, defined with the predefined variable timeout or 5 minutes by default. But the due time explained above also applies. Therefore, if there is a task running for a specific instance and any of the due time at flow object, group or process level expires, although the task might have some remaining time, the task will finish and the instance will flow through the corresponding due transition.

Moreover, if the task timeout was set with an interval greater than specified as the Engine property "Maximum task timeout", the task will fail until the process or maximum task timeout is fixed.

Continuing with the example image above, the Automatic1 activity has a task that has set a timeout to 30 minutes. And the instance has been in the Automatic2 activity for 100 minutes, the remaining time for the process is 20 minutes. So, although the task theoretically has 30 minutes to execute, after 20 minutes the process due deadline expires, the task is terminated and the instance flows to the End event.

Due Time Calculation Failure

If a due time calculation fails, the transaction of the flow object from which the instance came from, fails.

For example, if you send an instance from an Interactive Activity to an Automatic Activity that has a due transition but its calculation fails, the previous Interactive activity execution fails.