我需要为每个规则设置一个新属性(例如:唯一 ID),并在执行期间从相应规则的操作部分访问它。例如:如果 年龄超过18岁然后 将输出设置为规则的 ID。
(此处 ID 应来自要添加的新属性。
我正在使用 IBM ODM 8.5。请建议从业务规则中获取唯一ID的所有方法是什么?
在虚拟方法的 B2X 映射中,我使用 instance.getRule().properties
打印了 rule.properties 映射。我期待自定义属性和所有其他规则属性。但是,属性映射只有以下六个:
键:ilog.rules.business_name值:测试分数
键:ilog.rules.package_name值:检查分数
键:请求或邮件值:
键:状态值:新建
键:ilog.rules.package 值:check_score
键:ilog.rules.group 值:check_score.test_score
您可以使用模型扩展自定义规则模型,并将自定义属性 (YOUR_PROPERTY_NAME) 添加到规则工件中。
您可以通过添加虚拟方法(BOM 中的静态方法!不要使用 xom!只需使用 BOM 编辑器添加它)口头YOUR_VERBALISATION来访问它。
- 在方法实现(B2X)中,可以用
instance.getRule().getPropertyValue("YOUR_PROPERTY_NAME")
获取值;(实例是包含当前规则IlrRuleInstance
的运行时变量) - 在操作部分中,使用 YOUR_VERBALISATION 调用该方法。
的另一种方法是创建一组变量(Variable Set)
。在变量集中,您可以定义:
- 变量的名称
- 变量的类型
- 此变量的言语化
- (可选)此变量的初始值
它易于创建,并且可供规则应用程序或模块的任何部分访问。
希望这有帮助。