类别

类别是应用于业务规则和业务元素 (例如类和成员) 的过滤器。

类别是可以分配给业务规则和某些业务元素 (类和成员) 的标识,以便过滤哪些业务规则可以使用哪些业务元素。 如果规则类别过滤器指定至少一个分配给业务元素的类别,那么规则可以使用业务元素。 只有规则可以看到的业务元素才会显示在规则编辑器下拉列表中。 您可以将一个或多个类别分配给业务对象模型 (BOM) 类和成员,或者分配给业务规则类别过滤器。

缺省情况下,所有业务规则,类和成员都属于预定义类别 any。 所有规则都可以查看 any 类别,无论使用的是什么类别过滤器。 因此,缺省情况是可以在所有业务规则中使用所有类和成员。

注:

系统 BOM 元素没有类别,因此无论规则使用哪个规则类别过滤器,都将对任何业务规则隐藏这些元素。

必须先在规则项目级别定义类别,然后才能使用该类别。 如果在另一个项目引用的项目中定义类别,那么该类别在这两个项目中都可用。

类与成员之间没有继承,但您可以将同一类别分配给同一类的所有成员。

有关使用类别的更多信息,请参阅:

表 1. 类别使用情况摘要
如果业务元素具有类别 ... 而业务规则类别过滤器是 ... 在该业务规则中,业务元素是 ...
any any 可视
any 另一个类别 可视
另一个类别 any 可视
category1category2 category1 可视
category1category2 category2 可视
category1category2 category1category2 可视
category1category2 category3category4 已隐藏

示例

在业务对象模型中,您有一个具有类别 vehicleCar 类。 您还拥有包含业务规则 CarRentalRule的规则项目,该业务规则在其类别过滤器中包含 vehicle 。 从 CarRentalRule开始,您可以查看具有类别 vehicle的所有类以及具有 any 类别的所有类。 因此, CarRentalRule 可以查看 Car 类。

如果然后定义类别 sales 并将其分配给类 Customer,那么在规则 CarRentalRule的规则编辑器下拉列表中看不到 Customer 类。 如果仍决定在业务规则中使用 Customer 类,那么会将其报告为警告。

类别

同样,如果 Car 类具有除 vehicle以外的类别的成员,那么即使您可以在规则的定义部分中定义 Car 类型的变量,也不能在 CarRentalRule的条件和操作中使用此成员。