Back Forward Declare Trigger form
Completing the Triggers tab

About Declare Trigger rules

Complete this tab to identify those database operations that cause Process Commander to activate this trigger rule.

Field

Description

Trigger When an Instance Is

SmartPromptSelect:

Saved To cause this rule to execute when an instance in the class is saved (usually with the Obj-Save method).
Deleted To cause this rule to execute when an instance in this class is deleted (usually with the Obj-Delete method).
Saved and... To cause this rule to execute when an instance is saved and properties listed have values different from the previous values.
Committed Save To cause the rule to execute when a Commit method occurs and the previous method for the instance was Obj-Save. R-21048 R-21039 GENTJ 6/14/06 (Also, an Obj-Save method that executes with the WriteNow option selected causes trigger rules with Committed Save to execute.) Clinic 9/15/09 GENTJ
Committed Delete To cause the rule to execute when a Commit method occurs and the previous method for the instance was Obj-Delete. R-21048 R-21039 GENTJ

If you want processing to occur whether the instance is deleted or saved, create two Declare Trigger rules, one for each situation.

...One of These Properties Was Modified...

This area of the form appears only when you choose Saved and... for the previous field.

Property

Optional. Enter a property reference. Identify a Single Value, Value List or Page List property that resides on one of these pages:

  • The page defined by the Page Context field (on the Pages & Classes tab).
  • The top-level page that corresponds to the class defined in the Applies To key part of this rule, or
  • Other pages defined in the Pages & Classes tab.

The second and third options are acceptable only when the Page Context field is blank. For a reference to a property on the Applies To page, place a period before the property name. ERNST 11/9/09

Use a subscript to reference a scalar value of a Value List. Example:

  • Vehicle(2) — a specified element, where Vehicle is a Value List property

To detect changes in any portion of a Value List or Page List property, follow the name with empty parentheses. Examples: ERNSG Task-10884 11/6/09

  • Vehicle() — any element, where Vehicle is a Value List property
  • Child() — any element, where Child is a Page List property

The activity referenced in the Activity Name field can examine a system-created page named pyDeclarativeContext to determine which property or properties were modified. VAGUE-exactly how Q-1701

Copy Value to (optional)

Optional. Identify a property of the same mode and type as the property in the Property field on this row. This property can retain the current value of the changed property. Copying occurs only if the trigger activity runs, and after the trigger activity completes. SR-6796 B-25277 B-19772 GAJNJB-20290

Copying makes the previous property value available to the second and subsequent executions of this rule.

Condition  
When

SmartPromptOptional. Select a when condition rule. When this field is not blank, the system evaluates the when condition and performs the trigger operation only when the rule evaluates to true.

At runtime, the system uses the Applies To key part of this Declare Trigger rule as the Applies To key part of the when condition rule. B-3306

Trigger Activity  
Name

SmartPromptIdentify the second key part — the Activity Name — of an activity to trigger when any of the specified properties change. The system uses the Applies To key part of this Declare Trigger rule as the Applies To key part of the activity rule.KAUFT 1/18/06B-3306

Click the pencil icon (pencil) to open the activity.

If Immediately is selected for the Execute field, only activities with the Activity Type of Trigger appear in the SmartPrompt list for this field. Use of Trigger activities is recommended and avoids a warning condition reported when you save this rule. You can type in the name of an existing activity of another Activity Type, but the activity must conform to these restrictions, as do all Trigger activities: B-16779 ZELEK 2/3/06

  • The activity cannot itself commit database transactions, because a triggered activity runs during database commits.
  • Preconditions and transitions in the activity cannot use when condition rules and cannot call functions.

STEWS CautionAlthough your application can contain more than Trigger activities for one Applies To class, you cannot control the order that they run when two or more are triggered. Create activities that provide correct results when run in any order, and when run either independently or simultaneously.

Execute

SmartPromptSelect a value to determine how the activity runs:BUG-4609

  • Immediately — Runs the activity during forward chaining, before the commit completes.
  • In Background on Copy — Adds the activity to a queue for this requestor. The activity executes outside of the context of forward chaining. The activity can reference any method.

Up About Declare Trigger rules