Most activities referenced in a flow are defined in the Work- base class, or a class derived from the Work- base class. To become a Notify
, Integrator
, Utility
, Routing
, or Assignment
activity, they must meet other constraints and have this type recorded in the Activity Type field of the Security tab.
See the PDN article Introduction to Activities for an example of a simple activity and the development process.
Select Actions > Preview or type the equivalent keyboard shortcut CTRL+ALT+P
to see a step-by-step verbalization or English text description of this activity (informally known as the "Describe This Rule" presentation). The system creates an HTML topic describing each step of the activity, with links to other rules referenced by the step.
When a top-level activity completes but produces no HTML display, by default a "No content" form appears with a green checkmark and the message "The operation completed successfully, but returned no content.
When an activity fails or encounters an uncaught exception, by default a "Please contact your system administrator" window appears with a red X mark:
Your application can override and localize standard harnesses that present these two windows, and can override the standard activities that call the harnesses.
The standard function callActivity() in the Pega-RULES Utilities library calls an activity, but returns only void, not a value result. You can execute an activity in an expression, but only for its side effects. Identify the primary page, the activity, and the parameter page. For example:
@Pega-RULES:Utilities.callActivity(pyWorkPage,
MyActivity, tools.getParameterPage());
Note: To learn how to invoke callActivity() indirectly (as an extension) in a custom hybrid mobile app, see also callActivity action as extension.
Click Actions > View Java to view the generated Java of a rule. You can use the Java code to debug your application or to examine how rules are implemented.
If your application rulesets contain activities with Java steps, run the Rule Security Analyzer before locking a ruleset version, to look for possible security issues.