A time-qualified rule (also called a date-qualified or temporary rule) is a rule instance that has a non-blank associated start date and time, end date and time, or both.
Regardless of other rule resolution logic, time-qualified rule instances are found and used only between the start date and time and the end date and time. Before or after these moments in time, time-qualified rules are invisible to rule resolution.
To create a time-qualified rule instance, first create a
base rule using the New () and Save (
) operations, or the Save As
(
)
operation. If you need to prevent anyone from running the rule
immediately, you can choose
No/Draft Mode
for the
initial Availability value and change this
value to Yes
later.)
Then use
Save As again and complete a starting date and time and/or an
ending date and time. Click the
button to produce a pop-up calendar window that helps you
choose dates and times. You can omit the time.
If the original rule has an Applies To key part, the time-qualified rule must have the same Applies To key part, or identify a subclass that is derived from the Applies To value in the original rule.
When you save a
time-qualified rule, a green clock appears on the rule form
near the Availability icon. To view the start and end times in
a ToolTip, hold the pointer over the clock icon.
Rules with a
Start, End, or
Circumstance value are known as
qualified rules, as they are valid only when certain
qualifications are met. You cannot delete a base, unqualified
rule when a qualified rule with the same key exists; the
unqualified version provides a fallback.
Your application can include
multiple time-qualified rules (for the same base rule) that
have overlapping (but not identical) date and time intervals.
At runtime, rule resolution processing finds all the
time-qualified rules with an interval that includes the current
date and time. It selects the "best" rule to run
based on the following tests:
You can create time-qualified
rules only for rule types with the Allow rules that are
valid only for a certain period of time box selected
on the Class form. In Version 5.4+, you can time-qualify
Declare-Constraints, Declare-Expression, and
Declare-OnChange rules. .
You cannot override a final rule with a time-qualified rule.
When time-qualified rules are used
in a multinode system, be sure to synchronize the internal
clocks of all the server nodes in the cluster. Clock
differences of less than a few seconds may lead to incorrect
application results. Most operating systems offer facilities
for such synchronization.
Don't confuse time-qualified
rules with as-of date processing.
If a time-qualified stream rule
contains JSP tags (rather than directives), the base rule must
also contain JSP tags rather than directives. Conversely, if
the time-qualified rule contains directives, the base rule must
contain directives.
You can't check out a
time-qualified rule at a time when the base rule is checked out
(by you or by anyone). Similarly, you can't check out a
rule that is a base rule when you or another developer has a
related time-qualified rule checked out.