Code Effects Rule Types

Code Effects supports two complementary types of rules:

  • Evaluation Type rules — return a boolean evaluation result; may invoke in-rule methods during rule evaluation; may use reusable rules as bool fields or method returns, and can itself be a reusable rule.
  • Execution Type rules — return a boolean evaluation result; may invoke in-rule methods during rule evaluation and may set/update/delete field values and invoke rule actions (void methods) after the evaluation is complete; may use reusable rules as bool fields or method returns, and may execute inline rules, other execution type rules run from its THEN or ELSE section. It can itself be an inline rule, but not a reusable rule.

Both rule types are authored in the same Rule Editor UI and stored in the same Rule XML format. The selected Rule Type determines which menus are enabled during authoring and which engine behaviors are active at runtime.

When to Use Which Type

Use evaluation rules when you need a decision that can be expressed as a predicate (eligibility, segmentation, routing, pricing tiers). These rules also support Data Filtering, so you can apply the same rule to collections with the Filter() method.

Use execution rules when, in addition to a decision, you need to perform side effects such as sending notifications, generating files, invoking HTTP calls, or updating state via actions.

Authoring Differences

Capability Evaluation Type Execution Type
Returns boolean True True
Actions and field setters False True
In‑rule methods True True
Filter mode (Data Filtering) True False
Loop evaluation mode False True
Ruleset evaluation mode False True
Uses reusable rules (as Boolean fields or method returns) True True
Can be a reusable rule True False
Executes inline rules False True
Can be an inline rule False True
Multilingual support and Help XML True True

Ask on Stack Overflow - Yes, it's still active
Ask in GitHub Discussions

p102

l097 --

l102

p101

×