Maintain Date Alias Offset Constraints - CALF0442

Purpose

To control date alias instances resulting from a date alias offset relationship such that the date alias instance cannot fall on certain specified days

Subsystem

Calendar

Structure

Two Blocks

Date Alias Offset

Date Alias Offset Constraint

Image

 

 

This form is accessed via a navigation button in the Maintain Date Aliases form (CALF0420). In that form, a date alias is able to be defined in terms of an offset from another date alias. When an instance of the first date alias is created, the date of the second is calculated as the first date plus or minus the offset.

This form is used (optionally) to ensure that the calculation of the second date results in that date falling on 'acceptable' days. For example, the second date can be constrained to fall outside Institution holidays or only on a weekday or only on a Wednesday (or any valid combination of any of the constraints).

With constraints defined, when an instance of the first date alias is created, the date of the second is calculated as the first date plus the offset. If this falls either on a day specified by a constraint as unacceptable or doesn't fall on a day specified as the required day, the date is moved forward or backward until the constraint is satisfied. For example, if the calculated date of the second date alias falls on a Saturday, and the constraint WEEKDAY,MUST,1 (i.e. date alias instance must fall between Monday and Friday inclusive) has been specified for the date alias, the instance is moved forward to Monday in order to satisfy the constraint. Monday's date forms the date alias instance.

In each case a number of resolution days must be specified. If the calculated date falls on a day which conflicts with the recorded constraints, the System moves the calculated date forward or backward that number of days. For example, if resolution days is set to 2, and the constraint MONDAY, MUST NOT is set, and the date calculated from the offset falls on a Monday, the date is moved forward two days to Wednesday.

 

 System date offset constraint type defines the day or days used in the constraint. E.g. MONDAY, WEEKDAY, HOLIDAY.

Condition is the operator which acts on the constraint type. The available conditions are MUST and MUST NOT. E.g. MUST (be a) MONDAY, MUST (be a) WEEKDAY, MUST NOT (be a) HOLIDAY.

Resolution days is the number of days which a calculated date should be moved forward or backward in order to resolve a constraint. E.g. 3 moves a calculated date forward from Monday to Thursday (provided no other constraint prevents this).

 Notes/Rules:

  • Date alias instances based on HOLIDAY calendars can only have absolute values. i.e. cannot be offset values and hence cannot be subject to offset constraints.
  • The System constraint type HOLIDAY recognises any single date in a Holiday calendar (a calendar of calendar category HOLIDAY). The System constraint type INST BREAK recognises date alias pairs in Holiday calendars (the paired date alias instances need not be in the same calendar instance. E.g. could have start-break in 1998 holiday calendar and end-break in 1999 holiday calendar) as a date range. The constraint uses all days within the range.
  • The user is warned of an unresolvable constraint either when the constraint is recorded (for more common conflicts) or when date alias instances are being created using offsets. If the system is unable to resolve the constraint/s at the point of deriving the alias value, it ignores the constraints and calculates the alias value from the offset date alias instance.