Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

In the first part of this use case two separate Calendars will be used to define a basic business week - i.e. Monday to Friday as "standard working days" - and to define the annual holidays.

...

The use of separate Working Day and Non-Working day Day Calendars brings a degree of flexibility and provides a more transparent configuration than the single Working Days Calendar configured in the Calendar Use Cases - Managing Working Day Calendars article. In particular, it results in simplification of the administration procedure in comparison with the single Working Days Calendar configuration. The simplifications are:

  • It is easier to see which Calender or Calenders apply for a particular Job or Order (Show assigned Calendar function)
  • Irregularly occurring non-working days such as national, regional and company holidays can be included in a Calendar on a yearly basis without the assignment of the Calendar to Orders needing to be changed.

Article Scope

This article describes how to configure basic Calendars with the intention that users will be able to adapt the procedures described to meet a large part of their everyday needs. This article is not intended to provide a description of all the possible configuration items. The JOC Cockpit - Calendar Management article provides starting point for more general information about the JOC Cockpit's Calendar feature.

Calendar Configuration and Order Assignment

In the configuration described in this use case, the "standard working week" of Monday to Friday is configured as an Included Frequency in a Working Day Calendar and national holidays are configured as an Included Frequency in a Non-Working Day Calendar.

Configure a Monday to Friday Working Day Calendar

Create a Working Day Calendar similar to the wkg_day_mo-fr-hol Calendar created in the Calendar Use Cases - Managing Working Day Calendars article and configure a Monday to Friday Included Frequency in this calendar.

...

Now click on Submit to save the Calendar.

Configure a Non-Working Day Calendar for National Holidays

Create a Non-Working Day Calendar that is valid for the same period as the working day Calendar described above - i.e. set Valid To to the 31st Dec. 2018.

...

Once the Holiday Calendar has been configured the Resources / Calendars folder should look similar to the following screenshot: 

Assign the Calendars to the Order

Now go to the Job Chains View to assign the Working Days and Non-Working Days Calendars configured in the first part of this article.

...

Once both Calenders have been selected, click on the Submit button at the foot of the Set Run-time window to save the configuration.

Inspecting the Configuration

The Edit XML function in the Set Run-time window can be used to inspect and - if necessary edit - the configuration for each individual day as shown below. Note that in contrast to the configuration described in the Calendar Use Cases - Managing Working Calendars article, Non-Working Days can be readily identified as such in the XML. 

...

In addition, the Show Assigned Calendars item in the Order's Additional Options menu allows the assigned calendars to be checked.

Anchor
period
period
Specifying a Period (Run-time) for the Order

A Period, specifying the Repeat Interval, Start Time and behavior On Non-Working days should now be configured for the Working Day Calendar. This is done in the New Period modal window which is opened by clicking on the + symbol in the Period column of the Set Run-time window (shown in several screenshots above). The configuration in the New Period window shown should be self-explanatory.

...

After a second Single Start Period starting at 21:00 has been configured the Set Run-time window will appear as shown in the following screenshot:

Inspecting the Configuration with the Daily Plan

The Show Daily Plan item in the Additional Options menu for the order_cs Order can be used to show how the configuration described above comes together:

...

Easter (Friday, the 30th March and Monday, the 2nd April), for example, is clearly shown as Non-Working Days.

Using Restrictions to Configure Execution on Every 3rd Working Day

Reopen the Set Run-time modal window for the order_cs Order and then click on the + symbol for the Working Day Calendar in the Restrictions column:

...

After configuring a Recurring Days Frequency for for every 3rd day December 2017 as shown in the screenshot above, repeat this procedure for Every 3rd day for 2018, valid from the 1st January to the 31st of December. In both cases the Valid From date sets the point from which every third day is to be counted. Click on Close once both Restrictions have been set. This will return to the Set Run-time window, which will appear as shown in the next screenshot: 

Effect of Period Settings and Restrictions

The effects of the Every 3rd day Restrictions on execution dates for 2018 can be seen in the Daily Plan view for the order_cs Order shown below:

...

The regular pattern is only changed when the execution date falls on one of the holidays specified in the Non-Working days Calendar. The behavior on Non-Working days was defined for the Order in the Period modal window and described in the Period section above. For both run-times (15:00 and 21:00) the On Non-Working days setting was left at the default suppress execution.

...

The effect of changing the different On Non-Working Day settings will have on execution dates will be described next. The effect of these changes can be best seen in the Daily Plan for the Order.

Behavior with "Execution on the last preceding day not in a Non-Working Day Calendar"

The last execution date in 2017 is the Wednesday, 27th of December and the last Working day the 29th. The execution for the Monday, 1st January 2018 will be moved to the Sunday, the 31st December, as can be seen in the next two screenshots below showing parts of the Daily Plan for 2017 and for 2018 respectively. Note that a detailed explanation for the logic behind this behavior is given in the Info Box above.

2017

2018

Behavior with "Execution on the first succeeding day not in a Non-Working Day Calendar"

With this setting the Order will be executed, for example, on the day after the first of January as shown in the next screenshot:

Behavior with "Ignore non-working day"

This setting means, for example, that execution on the 1st of January 2018 will take place as can be seen in the screenshot below:

Mixed Behavior

Note that the screenshots shown here have been generated after changing the On Non-Working Days behavior for both the 15:00 and 21:00 Periods. It could be readily conceived that there would be a use case for one Period in a Working Day that would be suppressed on Non-Working Days and another Period where execution took place, regardless of the whether or not a day was Non-Working. In this case the day will be marked in the Daily Plan as an execution day and there will be no indication that not all Periods will be executed on that day.

Comparison with Behavior defined using a Single Calendar

The behavior described in this article around irregularly occurring non-working days such as holidays - where execution is moved forward or postponed - is only possible when separate Working and Non-Working day Calendars are used. With the slightly simpler approach described in the Calendar Use Cases - Managing Working Day Calendars article, in which a single Calendar is used, execution on non-working days can only be suppressed.  

...