Table of Contents |
---|
...
Introduction
In the first part of this use case two separate Calendars are will be used to configure define a basic working business week - i.e. in the first, Monday to Friday will be specified as "standard working days" - and in the second the annual holiday Calenders. This approach results in changes to holidays will be specified.
In the second part of this use case these Calendars will be used as a basis for implementing an "only on every 3rd working day" Restriction on the execution of an Order. In addition, the range of behaviors possible when one of these "3rd Working Days" falls on a Non-Working Day such as a holiday will be described.
The use of separate Working Day and Non-Working 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 described in the Calendar Use Cases - Managing Working Day Calendars article. The changes simplifications are:
- administrationit It is easier to see which Calender Calendar or Calenders Calendars apply for a particular Job or Order (Show assigned Calendar function)
- If separate holiday calenders are specified for each year then these have to be individually assigned / removed from each Job and Order at the end of the year.
- improved performance as calendars are ignored when their validity period does not apply.
Status title Would this also apply with validity set?? - Assigned Calendars 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.
Feature Availability
The Calendar feature is introduced with JobScheduler
Display feature availability | ||
---|---|---|
|
Calendar Configuration and Order Assignment
In the configuration described in this use case, In this use case the "standard working week" of Monday to Friday is configured as an Included Frequency in a Working Day Calendar and Holidays national holidays are configured as an Included Frequency in a Non-Working Day Calendar. Status
Configuration Steps
...
Configure a
...
Monday to Friday Working Day Calendar
Create a second 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 Friday Included Frequency in this calendar.
At this point the Create Calendar modal window will look like this:
Now click on Submit to save the Calendar.
Configure a Non-Working Day Calendar for National Holidays
Next, create 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.
Then specify the National Holidays. Note that in contrast with the Calendar described in the Calendar Use Cases - Managing Working Day Calendars article, in which Holidays holidays were configured as Excluded Working Days, in this use case they will be configured as Included Non-Working Days.
To configure Configure the Calendar , ensure as shown in the next screenshot, ensuring that the Calendar Type is Non-Working Days and that the Included Frequencies tab is selected (the default setting), and then .
Then click on Add Frequency as shown in the next screenshot to specify the Non-Working Days:
Now configure the Frequency for the National Holidays for 2017 - in this Use Case use case we will be using Holidays holidays from the United Kingdom and selecting All Days all the days.
Click on Add Frequency to note the configuration and then change the Year to 2018 and again select all the days. The modal window should now look like this:
Once Add Frequency is clicked for the 2018 holidays the window will appear as shown in the next screenshot:
Note the configuration by clicking the Close button and then click Submit in the Create Calendar window to save the Calendar configuration.
Info | ||
---|---|---|
| ||
This The approach to Calendar configuration described above simplifies administration as individual Frequencies can be deleted from, edited and added to a Calendar without the necessity of a new Calendar having to be assigned to Jobs or Orders. For example, the National Holiday Frequency for 2017 can be deleted in January 2018, and the National Holiday Frequency for 2019 added in Autumn 2018, both of which will result in performance improvements. |
Once the Holiday Non-Working Day 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 Day and Non-Working Days Day Calendars configured in the first part of this article.
For the purpose of this demonstration a second Order - order_cs - has been configured alongside the original Order - order_c - that was configured for the Managing Working Day Calendars use case.
Now click on the Additional Options menu for the order_cs as shown and select Set Run-time.
Assign the wkg_day_hol_natmo-fr and nwkg_day_hol_nat Calendars by opening the relevant Assign Working Day Calendar and Assign Non-Working days links Day Calendar links in the Set Run-time modal window.
The Assign Non-Working day Working Days Calendar link will open the following selection window:
After selecting each Calendar, click on the Apply button at the foot of the window (not shown in the screenshot) to note the configuration.
Once both Calenders Calendars have been selected the Set Run-time window should appear as shown below:
Now , 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 Day 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 | ||||
---|---|---|---|---|
|
A Period, specifying the Repeat Interval, Start Time and behavior on 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 In the Create > New Period window shown should be self-explanatoryset a Start Time as shown. Leave the Repeat Interval selection at Single Start (i.e. once a working day) and the On Non-Working... days behavior as suppress execution.
After Now configure a second Single Start Period starting at 21:00. After this has been configured done 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 Job Chains view provides a starting point for showing how the configuration described above comes together. In the screenshot below shows that the Next Start date for the order_cs Order can be used to show how the configuration comes together:(partly obscured) is now displayed. Now open the Show Daily Plan item in the menu as shown in the screenshot:
The screenshot The first screen shot shows the Monthly view for December 2017, with Christmas and Boxing Day (2nd Christmas Day) holidays clearly indicated while the second :
The next screenshot shows the Yearly view for 2018:
Yearly view
Easter (Friday, the 30th March and Monday, the 2nd April), for example, is clearly shown as Non-Working Days.
Fall b) Zuweisen einer Restriction für Fall a). Verwendung von „on holiday“ in einer Period mit dem Wechsel auf next non-holiday bzw. previous non-holiday.
Title
Add frequency / Recurring Days
Show Daily Plan
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:
This will open the Add Frequency modal window then select the Recurring Days Frequency Type as shown in the next screenshot:
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, alid 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:
Now click on Submit to save the configuration.
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 non-working days 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.
This has the following effects:
- As the 1st
...
- of January is a non-working day,
...
- execution is suppressed.
- Note that this means that there is no execution between the 27th December 2017 and the 4th January 2018. This is even though the 1st of January was defined as a Valid From date for the Restriction.
- Execution on the 28th of May is suppressed.
- Easter (30th March and 2nd April) and Christmas (25th and 26th December) are simply
...
- ignored as execution is no longer planned during either of these holidays.
A number of behaviors can be specified for each Period in addition to the default suppress execution used above. These are:
- before non-working day
- i.e. execute on the last preceding day that is not in a Non-Working Day Calendar
- after non-working day
- i.e. execute on the first succeeding day that is not in a Non-Working Day Calendar
- (the default) suppress execution and
- ignore the non-working day
Info | ||
---|---|---|
| ||
Consider the following example:
|
To demonstrate the effects these settings can have on the execution dates, open the Show Run-time modal window for the Order and then click on Edit Period (the pencil symbol), which will open the following window:
Use the select box to change the behavior specified as shown in the screenshot and click on the Save button.
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 before non-working day
The last execution date in 2017 is the Wednesday, 27th of December and the last Working day the 29th. Note that the execution for Monday, 1st January 2018 is not moved to 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. This is because this date would outside the validity of the Non-Working Day Calendar Frequency, which starts at the 1st January.
2017
2018
Behavior with Execution after non-working day
With this setting the Order will be executed, for example, on the day after the first of January as shown in the next screenshot without all subsequent days also being moved:
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 whether or not a day was defined as 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 Day 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.
In Show Run-time Edit Period
Execute on next working day
Ignore non-working day