I have created a new rule, but it does not seem to execute properly. What can I check to get it to work correctly?
Oracle B2C Service
Sometimes getting business rules to function as you expect them to can be tricky. Sometimes, the rule itself may need to be edited, but other times the rule is fine, but its relationship with other rules in your list may cause problems.
If you are having difficulty getting your rule(s) to execute as you expect, review the items below:
|Activate the Ruleset -- You must activate the changes to your rulebase. When you edit rules, you are actually editing a copy of your rules, which you must then activate. After you have edited your rules, click the Activate button in the lower section of the right frame.
You can tell if the copy of the rulebase has not been activated recently by checking the Created date for the copied rulebase. When you first open rules in edit mode, the right frame lists the date the copy was created and by whom. It also lists when the copy was last edited and by whom.
If the date that it was created is not close to the current date and time, this indicates that the copy of the rulebase was created some time ago, but never activated. Therefore, any changes you made to the copy of the rulebase have never actually been implemented.
|Placement Order -- If your rule is placed too low in your list, the incident may end up being affected by a different rule that is placed higher in the list. As a result, you might think that the rule is not working.
Use the Rule Log to determine if other rules acted upon the incident before it could match the rule that you expected. For more information on the Rule Log, refer to Answer ID 1873: Using the Rule Log to troubleshoot rules.
|Check the rule itself -- Review the rule as you have created it. Verify that the Incident Source is correct and that the fields and criteria specified in the IF part of the rule are appropriate and correct. Also, verify that the action(s) specified in the THEN part of the rule accomplish all the actions you want to execute.
|EQUALS Operator -- The EQUALS operator should only be used if you know the exact value of the field; for example, the exact name of the menu option for a custom field. The EQUALS operator is case-sensitive in evaluating the value field. That is, make sure you have capitalized the entry in the value text box appropriately. The EQUALS or NOT EQUALS operators are used primarily with values used in drop-down menus, such as custom fields.
Note: When working with text fields, do NOT use the EQUALS operator. This includes the Incident.Summary or Incident.Customer thread. Instead use CONTAINS or MATCHES REGULAR EXPRESSION.
|CONTAINS Operator -- When using the CONTAINS or DOES NOT CONTAIN operator, do NOT include wildcards around the text that you specify in the Value field. That is, do not enter %specific text% in the field; instead just enter the specific text of interest.|
|Pipe Functionality ( | ) for OR Logic -- If you are using the pipe ( | ) as an OR function for matching text, you must use either the MATCHES REGULAR EXPRESSION or DOES NOT MATCH REGULAR EXPRESSION operator. Also, do not include a pipe at the beginning or end of the entry in the value field. Also, do not include a space between the pipe and the text sequence.
|Testing the Rule -- When creating a test incident, make sure you are creating the incident from the appropriate Incident Source with the appropriate criteria to match ALL of the conditions of the IF section of the rule.|