一文通读SAP BRFPlus

420 阅读5分钟

介绍

Business Rule Framework plus (BRFplus) 提供了一个全面的应用程序编程接口 (API) 和用户界面 (UI),用于定义和处理业务规则。它允许您以直观的方式对规则进行建模,并在不同的应用程序中重用这些规则。生成的业务规则可以合并到其他 SAP 程序或替换/验证规则中。

loio52d0611778c146d5b731c89383c21c64_LowRes.png

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+ 及其程序?

  1. 使用 t-code BRF+ 创建一个应用程序。

  2. 在 Application 内部,我们将创建所有其他对象,例如 Data Object Creation 、 Functions 、 Rule Set 等。

  3. 数据对象创建由所有使用的变量组成,这些变量将用于处理。这些变量基本上是 BRF+ 的输入数据,用于处理和生成输出/结果。

  4. 下一步,是创建作为核心组件的函数——在其中执行功能的实际处理。

  5. 在函数内部,我们有一个规则集,它基本上是一个包含所有规则集的容器,这些规则是根据决策表处理的。

  6. 在这里,规则将分配给规则集,规则集分配给功能,功能将被标记到应用程序。

  7. 决策表将保存由所有可能的输入和相应的输出值组成的数据。

  8. 基本上,数据对象导入参数根据决策表进行验证,这些决策表将生成结果/结果。

  9. 决策树也可以用来代替决策表,但是当您有非常简单的验证时使用这些 - 是或否类型的验证。

注意:这只是创建 BRF+ 的步骤

例子:

您需要在经过一定验证的 adobe 表单/智能表单中打印国家信息。

决策表 

公司代码销售组织国家
DE010001德国
PK010002巴基斯坦
IN010003印度
  • 检验基于您的公司代码和销售组织,并显示相应的国家信息。

  • 公司代码和销售组织是输入参数,国家是输出参数。

  • 这不过是在 BRF+ 中维护的决策表,并根据维护的规则集确定相应的输出。

在维护所有必要的决策检查之后,我们如何在程序中调用 BRF+?

  • 在函数组件中。您有一个名为 Create Code Template 的选项 - 选择此选项后,它会显示生成的代码模板。

  • 生成的代码是您需要放置在程序中的代码 - 您将公司代码和销售组织作为输入传递给生成的代码,它会根据规则集在决策表中提供相应的国家信息作为输出保持。这是调用 BRF+ 的一种方式,直接在 Function Code Template 的帮助下调用。

  • 另一种方式是借助 ABAP Function Module 进行调用,这里需要创建 Function Module 并将生成的逻辑包裹在一个 Function Module 上,在需要验证的地方可以直接调用 Function Module。

注意:每个生成的功能代码模板都包含一个与其关联的唯一字母数字 ID(常量)。这将唯一标识相应的功能,应调用该功能进行验证。

用例:

  • 验证数据和检测无效数据和状态

  • 匹配职责、合适的产品和位置

  • 成本、间接费用和风险的计算

  • BRFplus 作为技术配置引擎

结论 :

  • BRF+ 允许我们以直观的方式对规则进行建模,并在不同的应用程序中重用这些规则。

  • BRF+ 避免了创建自定义表和维护自定义表以进行验证,还避免了对值进行硬编码,这是开发人员遵循的传统方法。

  • 基本上,BRF+ 用于进行决策,其中动态决策输入和输出值保存在决策表中,该表具有进行验证的高级功能。