0

我需要为每个规则设置一个新属性(例如:唯一 ID),并在执行期间从相应规则的操作部分访问它。例如:如果人的年龄超过 18 岁,则将输出设置为规则的 ID。

(这里的 ID 应该来自正在添加的新属性。)

我正在使用 IBM ODM 8.5。请建议从业务规则中获取唯一ID的所有方法是什么?

在虚方法的 B2X 映射中,我使用instance.getRule().properties. 我期待自定义属性和所有其他规则属性。但是,属性地图只有以下六个:

键:ilog.rules.business_name 值:测试分数

键:ilog.rules.package_name 值:检查分数

键:请求者邮件值:

键:状态值:新

键:ilog.rules.package 值:check_score

键:ilog.rules.group 值:check_score.test_score

4

2 回答 2

2

您可以使用模型扩展自定义规则模型,并将您的自定义属性 (YOUR_PROPERTY_NAME) 添加到规则工件中。

您可以通过添加虚拟方法(BOM 中的静态方法!不要使用 xom!只需使用 BOM 编辑器添加它)来表达 YOUR_VERBALISATION 来访问它。

  • 在方法实现 (B2X) 中,您可以使用instance.getRule().getPropertyValue("YOUR_PROPERTY_NAME");获取值 (实例是包含 IlrRuleInstance当前规则的运行时变量)
  • 在操作部分使用 YOUR_VERBALISATION 来调用方法。
于 2013-11-12T12:33:25.543 回答
0

您可以使用的另一种方法是创建变量集(Variable Set)。在变量集中,您定义:

  1. 变量名
  2. 变量的类型
  3. 这个变量的语言表达
  4. (可选)此变量的初始值

它很容易创建,并且您的规则应用程序或模块的任何部分都可以访问它。

希望这可以帮助。

于 2016-04-29T18:37:22.943 回答