介绍
Business Rule Framework plus (BRFplus) 提供了一个全面的应用程序编程接口 (API) 和用户界面 (UI),用于定义和处理业务规则。它允许您以直观的方式对规则进行建模,并在不同的应用程序中重用这些规则。生成的业务规则可以合并到其他 SAP 程序或替换/验证规则中。
BRF+ 并不是新事物,甚至与 SAP S/4HANA 没有直接关系,但随着 SAP S/4HANA 1610 的发布,BRF+ 作为一些业务流程的首选解决方案而受到更多关注。最重要的是计费和采购的输出管理的变化。它是 SAP NetWeaver ABAP 堆栈的一部分。
T-CODE是 BRF+ 或 BRFplus。
BRF+的意义是什么?
在 BRF+ 出现之前,业务还在运行吗?.
所以,在我们进入 SAP BRF+/BRFplus 之前,了解它是如何处理的非常重要。
以下是 SAP BRF+ 不存在或开发人员不了解 SAP BRF+/BRFplus 时所采用的方法。
假设您想根据特定的公司代码(BUKRS)和销售组织(VKORG)添加一个条件并执行一些功能,这是通过简单地在 IF ELSE 条件下进行硬编码来实现的,并实现为特定公司工作的功能代码和销售组织——这是在程序本身中处理的,这是传统的方法。
上述方法有点困难——如果将来发生任何变化,因为开发人员首先进行分析并进行更改非常耗时——如果在多个地方进行了更改。因此,第二种方法和更好的方法是在定制表(Z/Y 表)中维护公司代码(BUKRS)和销售组织(VKORG),并从定制表中获取相应的值。桌子。
SAP 建议的第三种方法是使用表 TVARVC 和关联的事务来存储参数数据并基于存储在 TVARVC 中的参数数据来维护硬编码值,验证是针对特定的公司代码 (BUKRS) 和销售组织 (VKORG) 以及相应的值被提取。
因此,即使在某些标准应用程序或程序中,SAP 仍然遵循上述方法。但是,现在 SAP 正在考虑通过称为 SAP BRF+/BRFplus 的框架来克服上述方法。
至少随着 SAP S/4HANA 的发展,BRF+ 变得更加突出,SAP 已经开始在一些标准应用程序中使用 BRF+ 来进行决策。
BRF+ 的组成部分:
-
应用
-
数据对象创建
-
功能
-
规则集
-
规则
-
决策表
-
决策树
注意:
-
所有基于 SAP NetWeaver 的 SAP 应用程序都可以在 SAP 系统的边界内访问 BRFplus。
-
在 BRF+ 术语中,输入称为上下文,输出称为结果。
-
这可从 SAP (ECC) ERP 6.0 及更高版本获得。
我们如何创建 BRF+ 及其程序?
-
使用 t-code BRF+ 创建一个应用程序。
-
在 Application 内部,我们将创建所有其他对象,例如 Data Object Creation 、 Functions 、 Rule Set 等。
-
数据对象创建由所有使用的变量组成,这些变量将用于处理。这些变量基本上是 BRF+ 的输入数据,用于处理和生成输出/结果。
-
下一步,是创建作为核心组件的函数——在其中执行功能的实际处理。
-
在函数内部,我们有一个规则集,它基本上是一个包含所有规则集的容器,这些规则是根据决策表处理的。
-
在这里,规则将分配给规则集,规则集分配给功能,功能将被标记到应用程序。
-
决策表将保存由所有可能的输入和相应的输出值组成的数据。
-
基本上,数据对象导入参数根据决策表进行验证,这些决策表将生成结果/结果。
-
决策树也可以用来代替决策表,但是当您有非常简单的验证时使用这些 - 是或否类型的验证。
注意:这只是创建 BRF+ 的步骤
例子:
您需要在经过一定验证的 adobe 表单/智能表单中打印国家信息。
| 决策表 | ||
| 公司代码 | 销售组织 | 国家 |
| DE01 | 0001 | 德国 |
| PK01 | 0002 | 巴基斯坦 |
| IN01 | 0003 | 印度 |
-
检验基于您的公司代码和销售组织,并显示相应的国家信息。
-
公司代码和销售组织是输入参数,国家是输出参数。
-
这不过是在 BRF+ 中维护的决策表,并根据维护的规则集确定相应的输出。
在维护所有必要的决策检查之后,我们如何在程序中调用 BRF+?
-
在函数组件中。您有一个名为 Create Code Template 的选项 - 选择此选项后,它会显示生成的代码模板。
-
生成的代码是您需要放置在程序中的代码 - 您将公司代码和销售组织作为输入传递给生成的代码,它会根据规则集在决策表中提供相应的国家信息作为输出保持。这是调用 BRF+ 的一种方式,直接在 Function Code Template 的帮助下调用。
-
另一种方式是借助 ABAP Function Module 进行调用,这里需要创建 Function Module 并将生成的逻辑包裹在一个 Function Module 上,在需要验证的地方可以直接调用 Function Module。
注意:每个生成的功能代码模板都包含一个与其关联的唯一字母数字 ID(常量)。这将唯一标识相应的功能,应调用该功能进行验证。
用例:
-
验证数据和检测无效数据和状态
-
匹配职责、合适的产品和位置
-
成本、间接费用和风险的计算
-
BRFplus 作为技术配置引擎
结论 :
-
BRF+ 允许我们以直观的方式对规则进行建模,并在不同的应用程序中重用这些规则。
-
BRF+ 避免了创建自定义表和维护自定义表以进行验证,还避免了对值进行硬编码,这是开发人员遵循的传统方法。
-
基本上,BRF+ 用于进行决策,其中动态决策输入和输出值保存在决策表中,该表具有进行验证的高级功能。