Back Forward Collection form
Completing the Collection tab

About Collection rules

Complete this tab to identify the rules in the collection, the sequence in which they execute, and preconditions. Rows on this tab are called steps, similar to the steps in an activity.

During the first phase of collection processing, the system uses the steps on this tab to assemble a candidate list of rules to execute. See Collect method for additional details.

During the second phase, preconditions are evaluated for each row (except as noted) to determine whether the rule identified in that row is retrieved and executed. If the rule executes, any forward chaining processing is performed for that row before the system begins any processing for the next row.

Field

Description

Define Collection Specifications

ArrayComplete the rows of this array to identify the rules that form the collection. Order is significant; at runtime, rows are evaluated starting at the top.

TipTo reorder the rows of this array, hold the mouse pointer over a number. Click and drag to another row. To duplicate or move a row, hold the mouse pointer over a number. Or, right-click to access a context menu with Cut, Copy, and Insert options.

Description Optional. Enter a brief text description of this step.
Precondition Type

Optional. To cause the rule in this row to execute only when certain conditions are met, specify a the type of a rule, or None:

  • None — No precondition.
  • When — A when condition rule, or an expression that evaluates to true or false.
  • Decision Tree — A decision tree rule that evaluates to true or false.
  • Decision Table — A decision table rule that evaluates to true or false.
  • Map Value — A map value rule that evaluates to true or false.

If the Execute field for this row has the value Other Collection, choose a precondition that does not depend on the results of other rules on this tab.

Step Page

Optional. Specify the name of a page for the precondition and the rule in this step. Include this page name and a class for the page on the Pages and Classes tab.
If blank, the system uses the primary page corresponding to the Applies To key part of the collection rule as the step page when evaluating the precondition.

Execute

Identify the type of the rule to execute (in the context of the Step Page page):

  • Another Collection — A collection rule. At runtime, the steps in the Collection tab of the collection rule you identify in this row are appended to those on this tab and run in sequence, subject to preconditions and processing controlled by the Duplicate Handling field. Click  Params   and select the Pass current parameter page? check box to share the parameter page of this collection rule with the called collection.
  • Activity — An activity. Click  Params   to provide parameters, or select the Pass current parameter page? check box to share the parameter page of this collection rule with the called activity.
  • Decision Tree — A decision tree rule.
  • Decision Table— A decision table rule.
  • Map Value — A map value rule.
  • Declare Expression — A Declare Expression rule that meets certain criteria.
  • List View — A list view rule that returns the keys of other rules.
Precondition (type)

Optional. If the Precondition Type is set to a value other than None, identify in this field the second key part of the rule that defines the precondition. If the Precondition Type is Decision Tree, Decision Table, or Map Value, you can enter here a property reference that at runtime contains the second key part.

(type) Details

Specify here the name — second key part — of the rule to be executed in this step. Choose a rule of the type identified in the Execute field. The system uses the class of the page in the Step Page field to locate this rule at runtime. Note these specific cases:

  • If you selected Activity or Another collection in the Execute field, click  Params   to enter literal constants, property references, or more complex expressions for the input parameters. Select the Pass current parameter page? check box to share the parameter page of the collection rule with the called activity or called collection rule.
  • If you selected Declare Expression in the Execute field, identify a property reference that may be computed by a Declare Expression rule that has When applied by a Rule Collection as the value of the Calculate Value field on the Change Tracking tab. The system uses the class of the step page for this step as the Applies To key part to find this Declare Expression rule.
  • If you selected List View in the Execute field, identify here the second key part of a list view rule that returns the keys of other rules that are to execute as part of this collection. Reference a list view rule that meets either of two conditions: (1) The Applies To class of the list view rule is Data-Rule-Summary and the list view returns the pyClass and pxInsID properties, or (2) the Applies To class is a subclass of the Rule- base class and it returns the pxInsID, and pxObjClass properties. (If the list view rule returns other list view rules, include the pyClassName property in the results too.) The system uses ALL as the third key part to locate the list view rule at runtime. Each pxResults() page that identifies a rule of one of the rule types that can appear in this Execute field becomes a new step; pxResults() pages that identify rules of other types are ignored. The order of results pages is significant.
Duplicate Handling

Complete this field when you specify Another Collection or List View in the Execute field. Select to control at runtime how the system consolidates rules already encountered with rules of the other collection or list view results:

  • Include All — No consolidation is necessary. If a rule appears more than once, it executes each time in the ordinary sequence.
  • Remove Rules with Same Name — If the rule with this name (pxInsID property) is already in the list, it is removed.  If it is in the list multiple times, then all occurrences are removed. 
  • Remove Identical Rules — If the rule with this handle (pzInsKey property) is already in the list, it is removed.  If it appears in the list multiple times, then all occurrences are removed.
Rule Resolution Qualifiers

Optional. These fields appear only when the rule to execute for this row is a decision tree, decision table, or map value.

By selecting the check box and entering a property reference or literal value in the adjacent text field, you can cause rule resolution to select a circumstance-qualified rule of that name rather than an unqualified rule, or a time-qualified rule with a date range that doesn't include "now".

These temporary values do not affect rule resolution for preconditions.

Override Circumstance Property Value?

Select to indicate that while rule resolution searches for the decision tree, decision table, or map value rule identified in this row, a replacement value is temporarily used for the Circumstance Property. The original property value is restored after the step completes (unless the value is changed again during the course of the step).

(no label)

SmartPromptEnter an expression that at runtime provides the temporary Circumstance Property value. The system evaluates replacement value only once at runtime, before any other collection processing (including presets) is performed.

Override Circumstance Date Property Value?

Select to indicate that while rule resolution searches for the decision tree, decision table, or map value rule identified in this row, a replacement value is temporarily used for the Circumstance Date Property.

The original property value is restored after the step completes (unless the value is changed again during the course of the step).

 

SmartPromptEnter an expression that at runtime provides the temporary Circumstance Date Property value. The system evaluates this expression only once at runtime, before any other collection processing (including presets) is performed.

Override Rule Resolution Date?

Select to indicate that while rule resolution searches for the decision tree, decision table, or map value rule identified in this row, a replacement value is used rather than the true current date and time. This can cause a time-qualified rule to be selected that otherwise would not be selected with the true current date and time.

 

SmartPromptEnter a literal DateTime constant or an expression that at runtime provides the date and time to be used during rule resolution. The system evaluates this expression only once at runtime, before any other collection processing (including presets) is performed.

zzz About Collection rules