0

I am trying to come up with a mechanism in ODM to enable or disable a rule based on some input parameters like sales-zone, type of product and 6 or 7 other parameters. I don't want to put all these 7 parameters into the condition within the rule since that would reduce the reusability of the rules.

Are there any features available in ODM that can be used for this? Are there any techniques widely used in the BRMS community for such problems?

rahulmohan
  • 1,285
  • 11
  • 19

2 Answers2

1

You could extend the extension meta data model and add a property that can be set on the rule to indicate the sales zone associated with the rule. Then on the rule task on the rule flow, use a dynamic select to include or exclude rules that have the property set.

However be aware that with lots of rules, dynamic selects can cause performance issues potentially.

Justin Phillips
  • 1,358
  • 2
  • 12
  • 26
  • Thanks! I explored this option, but found out that there are several limitations on the extension approach. For examples, only scalar properties can be extracted for runtime filtering. – rahulmohan Jun 16 '15 at 15:26
1

You can probably make use of rule selection using IRL at rule task level. Write a function which will determine whether the rule is effective or not for this input param. We are using this strategy. See the below screenshot.

IRL Rule Selection

I hope this may help you out. Happy Rule Development. :)

Akif Patel - BRMS
  • 537
  • 1
  • 4
  • 13
  • Thanks! I ended up doing something very similar to your solution, but used a dynamic BAL with the isEffective functional verbalized. So the condition reads something like "if the rule is effective for ... " – rahulmohan Jun 16 '15 at 15:24