Scheduling

Once calendars are defined, calendar references are assigned and are mapped to calendars, the Deadline and Calendar (DAC) component can work out the deadline for a work item.

This is done using the calcDeadline operation. The process followed is like that shown in the figure below.

Note: Note that deadlines of less than one hour are calculated without using calendars or invoking the Calendar services components. BPM simply adds the work item’s duration to its start time.
Calculating a Deadline

Procedure

  1. The calcDeadline operation is submitted. It specifies when the work item starts, how long it should take, and one or more items of calendar lookup information — either calendar references or identifiers of organizational entities involved in the work item.
  2. As described in Identifying Calendars, an examination of the organization model determines which Base calendar reference and which (if any) Overlay calendar reference to use.
  3. Once the calendars have been determined, the available working hours are calculated from the information in the calendar entries.
  4. The combination of the starting time, the duration of the work item, and the working hours available is used to calculate the earliest date and time at which the given work item can be completed.
    • The duration parameter may be interpreted as indicating elapsed time or a number of working days, depending on how it is expressed. See Duration Definitions for details.
    • If the duration parameter is defined in working days, it ignores any day which has a number of available hours less than the min-hours parameter defined for the base calendar being used. See Minimum Hours in Working Day Calculations.
  5. The value set for the calendarLookAhead property in the dac.properties file determines how far ahead the calculator should look when working out the deadline. If the calculation shows that there is not enough working time available in the period defined by duration plus calendarLookAhead, an error is returned.
  6. The deadline is calculated using UTC, but displayed using the local time zone of the client. For example, assume that TIBCO ActiveMatrix BPM offers a work item to the users in an organization unit, and that the base calendar for that organization unit is based upon the London time zone. However, the work item being offered resides on a TIBCO ActiveMatrix BPM node based in New York. Calculation of the deadline is based on the time zone and the working times of the London organization unit, and not on the New York time zone of the BPM node.
    Note: These calculations may not be performed correctly if the base calendar in use does not explicitly specify a time zone. See Base and Overlay Calendars for details.