Why does my business rule keep firing the same CPM?
Oracle Service Cloud, business rules, object event handlers
Suppose you have a business rule that checks to see if an incident's source equals a certain value. The rule's "then" action is to fire an asynchronous custom process module (CPM). The CPM saves the object without suppression, triggering the rule again, triggering the CPM again, and so on.
In this scenario, consider either:
- Implementing suppression within the custom process. For details, see Enabling API suppression in Connect for PHP Customizations or consult the documentation for the Connect PHP API linked from the answer Technical Documentation and Sample Code.
- Modifying the rule to check the source of the last update ("Updated from") on the object, rather than the "source" which never changes once the object has been created.
- Modifying some other field on the object within the CPM, and checking that field in the rules as well.
It is expected that rules will be processed every time an object is saved, unless suppression is called.