Difference between revisions of "Rules"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Β 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
===Creating or Modifying a Rule===
===Creating or Modifying a Rule===
You can add Rules when specifying [[Event Based Rules]], [[Timer Rules]], [[Scheduled Rules]], or when creating a [[Rule Set]]. Β 
You can add Rules when specifying [[Event Rules]], [[Timer Rules]], [[Scheduled Rules]], or when creating a [[Rule Set]]. Β 


:''Learn more:'' [[Rules and Rule Sets]]
:''Learn more:'' [[Rules and Rule Sets]]
Line 8: Line 8:
:* '''Enabled -''' Whether or not the Rule is enabled. (Disable the rule to deactivate it without deleting it.)
:* '''Enabled -''' Whether or not the Rule is enabled. (Disable the rule to deactivate it without deleting it.)
:* '''Description -''' A descriptive summary
:* '''Description -''' A descriptive summary
:* '''On Success -''' Whether to'''Stop''' processing other rules in the Rule Set, when these Rule conditions are satisfied, or whether to '''Continue''' processing other Rules.


====Execution Criteria====
====Execution Criteria====
:* '''Unconditionally (Always)'''
<blockquote>
:: Use this option for actions that should action whenever the Rule is invoked.<br>(This option is not present for [[Scheduled Rules]].)
:{{:Common:LogicalCriteria}}
Β 
</blockquote>
:* '''When Specified Conditions are True'''
:: Use this option to specify a series conditions that determine whether the Rule's actions are carried out.
::* '''All of the Conditions are met -''' Every condition in this category must be satisfied
::* '''Any of the Conditions are met -''' At least one of the conditions in this category must be satisfied.
::For example, here is a sample Rule that checks for a variety of conditions, to show the kinds of possibilities that exist:
:::[[File:RuleCondition.png|border]]
Β 
:* '''When Specified Expression is True'''
:: More complex conditions can be specified using the [[Expression Builder]]. For example, here is an expression that checks for either P1 or P2 priority on a new case:
:::[[File:RuleExpression.png|border]]


====Actions to Perform====
====Actions to Perform====
# Select the [[#Rule Actions|Action]] to perform when the Rule conditions are satisfied.
{{:Rule Actions}}
#: [[File:RuleActions.png]]
# As with conditions, additional options appear, depending on the action you select.
#: [[File:RuleActionOptions.png]]
# Click '''[Add More]''' to specify additional actions.
#: [[File:RuleActionsAddMore.png]]
Β 
=====Rule Actions=====
Each Rule can carry out one or more of these actions:
:* '''Set Priority -''' Change the priority of a case, for example from "P2" to "P1"
:* '''Set Status -''' Change the status of a Case--for example, to mark it as closed
:* '''Update Record -''' Make a change to the Case record
:
:* '''Assign to User -''' Determine the new owner of the Case record
:* '''Assign to Team -''' Determine the group it goes to, so members of the group can claim it
:
:* '''Send Email -''' Send a message, optionally using an [[Email Template]]
:* '''Post Message in Relay -''' Deliver a message to a social-networking [[Relay]] feed
:
:* '''Start Activity -''' Automatically initiate an activity associated with a Case [[Process]]
:* '''Change Activity Status -''' Set the status of the activity.
:
:* '''Execute Rule Set -''' Chain to a different Rule Set, and execute those Rules. Come back to this when done, and resume processing with the next Rule.
:* '''Invoke Method -''' Invoke a method in a Java [[Class]]
<noinclude>
Β 
[[Category:{{HD}}]]
</noinclude>

Latest revision as of 23:19, 25 March 2014

Creating or Modifying a Rule

You can add Rules when specifying Event Rules, Timer Rules, Scheduled Rules, or when creating a Rule Set.

Learn more: Rules and Rule Sets

Basic Information

  • Name - The name of the Rule, displayed in the ServiceDesk interface.
  • Enabled - Whether or not the Rule is enabled. (Disable the rule to deactivate it without deleting it.)
  • Description - A descriptive summary

Execution Criteria

Unconditionally (Always)
Use this option for actions that should occur whenever the Rule is invoked.
(This option is not present for Scheduled Rules.)
When Specified Conditions are True
Use this option to specify a series of conditions that determine whether the Rule's actions are carried out.
  • All of the Conditions are met - Every condition in this category must be satisfied
  • Any of the Conditions are met - At least one of the conditions in this category must be satisfied.
For example, here are tests for a variety of conditions, to show the kinds of possibilities that exist:
ConditionSpecification.png
Learn more: Defining Conditions
When Specified Expression is True
More complex conditions can be specified using the Formula Builder. For example, here is an expression that checks for either P1 or P2 priority on a new case:
ExpressionSpecification.png
Expressions also allow the use of the platform's built-in Formula Functions. For example, this expression returns true only of a specific field has changed, and if had some specific value before it changed:
AND( ISCHANGED('some_field'),
IF(PRIORVALUE(some_field) == 'some_value', true, false) )
Learn more:

Actions to Perform

Selecting actions
  1. Select the action to perform when Rule conditions are satisfied.
    (Possible actions are listed below)
  2. As with conditions, additional options appear, depending on the action you select.
    RuleActionOptions.png
  3. Click [Add More] to specify additional actions.
    RuleActionsAddMore.png
Available Actions
Set Priority
This option appears for Cases. It allows the priority to be changed--for example from "P2" to "P1"
  • Trigger Rules - This option enables the firing of Case-update rules.
Set Status
This option appears for Cases. It allows the status to be changed--for example, to Closed
  • Trigger Rules - This option enables the firing of Case-update rules.
Add Record
Select an object to add a record to, and specify field values for the record:
  • Do Not Trigger Rules - By default, Rules are enabled when adding a record. This option disables them.
  • Use the Field Chooser to select object fields.
  • For each field, use the Formula Builder to specify the field value.
Update Record
Modify data in the current record
  • Trigger Rules - This option enables the firing of record-updated rules.

Warn.png

Warning: Be careful when triggering rules in a record-update action. Make sure that there is no possibility of an "infinite regression", where one update triggers a Rule which updates a record, which re-triggers the first Rule, and so on.

  • Use the Field Chooser to select fields to modify -- including fields in a record targeted by a Lookup field in the current record, or fields targeted by Lookups in those records, and so on, as shown here:
borderβ€Ž

Notepad.png

Note: To clear a lookup reference in any lookup field, use a pair of single quotes as the field value.

Add Note
Add a note to the current record.
  • Enter text for the note in the text area
  • Use the field selector to add record variables
  • Example: This note is for $user.full_name.
Assign to User
Determine the new owner of the record. The options are:
  • Logged-In User - The user who is running the application when the rule is triggered. (Not the designer who created the rule.)
Note: This value is undefined for a record that is created or updated by a Process.
  • Pick a User - A lookup field appears. Use it to select a specific user.
  • Select a User Field - The [Choose User] button appears. Use it to select a Lookup field that targets the Users object.
That field can be defined in the current record or in the record the Lookup points to, up to 5 levels deep.
For example: Owner > Reports To > Reports To_id assigns the record to the current owner's second-level manager.
  • Use an expression - Use a combination of fields and expression operators to choose the user to assign to.
This feature is commonly used to specify if-then logic, or to find a User field defined in an associated record.
For example, for Case with a Lookup to an OrderItem, the Rule might choose OrderItem > Order > Customer > Agent in Charge_id
That setting would assign the case to the "troubleshooter" who handles issues raised by that customer.
Assign to Team
Determine the group the record goes to, so members of the group can claim it.
Send Email
Send a message, optionally using an Email Template
Note:
Do not choose a template that includes a JSP page as an attachment.
Learn more: JSP Attachment Deprecation
Start Process
Automatically initiate a Process.

Note: One you start a process, you cannot stop it half way and resume it from that point at a later time. A process always restarts from the first step.

Invoke IS Service

Select this to communicate with Integration Server (IS). It allows you to fetch a list of all the IS packages that you created in the Software AG Designer for the runtime application. You can view all the services that are part of each IS package. Designer is a separate application and is available to you as part of the Integration Server package. For more information about this action, see Invoking Integration Server Services from Business Rules.

Create Task
Create a new task and specify its settings:
  • Owner - Who should perform the task.
  • Subject - Title of the task.
  • Duration - How long it is expected to take.
  • Do not notify - A notification is sent automatically, unless this box is checked.
  • Description - Description of the activity to perform.
    Use the Record Variable selector to add references to record fields, dates, times, user data, and company information.
Change Process Status
Set the status of the process.
Change process shows the following statuses:
  • Enable: You can enable the process instance, only if the current process status is DISABLED.
  • Disable: You can disable the process instance, only if the current process status is READY. You cannot disable a process which is currently in progress state.
  • Stop: You can stop the process instance, only if the current process status is STARTED.


Execute Rule Set
Chain to a different Rule Set, and execute those Rules. Come back to this set when done, and resume processing with the next Rule.
Invoke Method
Learn more: Invoke a method in a Java Class
Execute Web Service
Select a Web Service, and specify the mappings for its input and output parameters.
Return Process Decision Value
This action can be taken by a Rule in a Rule Set whose return type is "Process Decision Value".
The specified value becomes available for testing in a Process Decision Switch.
When this action is taken, rule processing stops.
Learn more: Rule Set Properties
Return Step Owner
This action can be taken by a Rule in a Rule Set whose return type is "Step Owner".
Select the User or Role, who will be assigned the task associated with a Process step.
When this action is taken, rule processing stops.
Learn more: Rule Set Properties