Expression Language 2.0(简称 DMN SFEEL),它是足够友好的表达语言 (FEEL) 的子集,为规则条件提供标准语法,并在建模规则时减少歧义。 表达式语言 2.0 中一个典型的规则条件如下所示:
customer.customer name MATCHES 'John'
表达语言 2.0 的主要特点包括:
自动建议列表(Autosuggest list)是一个建议下拉菜单,可让您选择规则表达式的所需元素。 您不必在相应字段中键入规则表达式。
您还可以在字段中键入规则表达式并从自动建议列表中选择相应的词汇表元素。 使用自由流输入,您还可以编辑和删除规则表达式中的标记。
看个实际的例子:
在以下规则表达式中:
DO1.Equipment = 'Laptop' AND DO2.Date = 'Dec 3, 2020'
如果光标位于 DO 和 1 之间,则所有以 DO 开头的数据对象都会列在自动建议列表中。 同样,根据光标位置,列出对应的数据对象或属性名称。
要更改日期或时间戳值,请编辑自动建议列表的固定值字段中的值。
如果光标放在属性名称 Equipment 之前,则删除属性名称。
如果光标位于数据对象名称 DO1 之间或之前,则删除数据对象和属性名称 DO1.Equipment。
表达式语言 2.0 支持使用词汇规则。可以在规则表达式中使用的规则称为词汇规则。 词汇规则返回的结果可以在规则表达式中使用。
您可以将表达式语言从 Expression Language 1.0 更改为 Expression Language 2.0。 您只能将表达式语言从 1.0 更改为 2.0,反之亦然。
要迁移到 Expression Language 2.0,请在代码中将表达式语言对象设置为 AstExpressionLanguage,如下所示:
oExpressionLanguage = new sap.rules.ui.services.AstExpressionLanguage();
oRuleBuilder.setExpressionLanguage(oAstExpressionLanguage);