Back Forward Declare Expression form
Completing the Change Tracking tab

About Declare Expression rules

Complete this tab to determine the conditions that cause automatic recomputation of the expression. These conditions affect how often the computation on the Expressions tab is performed.

NoteChange tracking applies to properties on the primary page — the page that matches the Applies To key part of the rule. Changes to properties on other pages referenced in the expression or on the Pages & Classes tab are not tracked and do not trigger recomputation.

Additionally, the following operations that can change a property value do not cause change tracking to occur:

NoteForward chaining operates only when the source properties are not marked as invalid. If a property has an associated message, forward chaining halts.

AdvancedChanges made to a property value within a Java step of an activity do cause backward changing computations to start, but do not cause forward chaining computation.

Field

Description

Target Property Data

Select to determine how often Process Commander recomputes the value of the Target Property (identified in the second key part).

Calculate Value

Select an option to determine which events cause this rule to run:

Value

Description

Whenever inputs change

(Default). Forward-chaining recomputation. The target property is not recomputed when the property is used as a source, only when one of the expression inputs change. If the target property is not present on the page when needed or is present but has no value, the Declare Expression rule does not run.

When used if no value present

Compute when the value is null, blank, zero, or does not yet appear on the page. Assuming the computation results are not null, later requests for the target property do not cause the Declare Expression rule to run.

When used if property is missing

Recomputation when the target property is not present on the clipboard.

Whenever used

Just-in-time recomputation even when the property already has a value, using backward chaining.

CautionThis choice ensures that the target property value matches the computed value at the start of every activity step, by evaluating the rule upon every read access of the target property. Because this choice can be costly in terms of performance, a warning icon appears when you save the rule form.

AdvancedDuring backward chaining computations, if the Otherwise section of a decision tree or decision table, or the Default row in a map value rule referenced in a Declare Expression rule can be computed, but properties needed for other parts of the form are not defined, the Otherwise value is returned as the value of the rule. (In Process Commander releases before 5.3, this condition produced an exception that ended processing.)

When applied by a Rule Collection

Causes this Declare Expression rule to execute only when referenced during a collection rule execution (Rule-Declare-Collection rule type). Expressions of this type can be self-referential; for example:

MyProperty=.MyProperty+1.

TipAs a best practice, select Whenever used when the expression involves values from properties on multiple pages.

Additional Dependencies  
 

Optional. Enter property references to identify additional properties (in the same page context) to be tracked. Order is not significant. If not blank, changes to any of the properties cause this rule to execute.

This array appears only when you select Whenever inputs change for the Calculate Value field.

Context Execution Behavior  
Execute this Expression

Select one of three settings to further define which situations cause this expression to be evaluated:

Value

Description

Only when the top-level page is of the Applies to class

To execute this rule only if the property is on a top-level page.

NoteDon't select this option if the Applies To key part of this rule identifies a class derived from the Embed- base class; by definition, pages of such classes are never at the top-level.

When the top-level page is of the Applies To class, or one of the following

To restrict execution to contexts in which the top-level page matches the Applies To class, one of a specified list, or any descendent classes in the class hierarchy.

Regardless of any pages it is embedded in

To execute the rule regardless of the page context, making this rule completely "context-free".

NoteIf you select this option, you can't use the Top or Parent keywords in the computations on the Expressions tab, either explicitly or in decision rules referenced on that tab.

CautionThe third selection can produce high execution frequencies. Select the most restrictive value that meets your application requirements.

NoteIf this Process Commander system was upgraded from Version 5.2 or earlier, execution of context-free expressions is disabled by default. Enable them through changes to the prconfig.xml file. See More about Declare Expression rules.

Allowed top-level classes

ArrayThis array appears only if you select the second choice (When the top-level page...) for the Execute this Expression field.

Enter a list of classes. Execution occurs if the top-level page has a class that exactly matches any class on this list, or is a descendent of one of the classes on this list.

Do not list the Applies To key part here; that class is included automatically.

Array

zzz About Declare Expression rules