目的
本博客的目的是详细介绍使用BRFplus决策表确定动态代理的过程。
前提条件
读者必须了解基本的工作流设计术语和SAP BRFplus基本概念。
在日常场景中,需要根据某些规则或条件在运行时确定工作流审批者或代理。
如果规则本质上是动态的,并且根据业务流程频繁更改,则很难在生产环境中直接维护或更改代理分配规则。
考虑一个场景,我们希望根据物料类别组或物料类型或特定销售区域或特定区域审批人定义工作流代理的位置。或者我们可能需要为产品提供的特定折扣定义审批人,例如,如果折扣超过10%,则工作流请求应发送给特定审批人。
以更简单的方式定义简易代理确定规则的最佳方法是什么?
如果这些规则需要经常更改怎么办?
如果这些代理确定规则需要在没有任何代码更改的情况下快速反映在生产环境中,该怎么办?
在上述类似情况下,BRFplus和业务工作流集成可以得到最好的利用。
在这种情况下,BRFplus决策表可用于维护生产环境中的代理确定规则。
SAP业务工作流:
代理是指可以接收收件箱中的工作项并对其执行操作的人。
从组织管理区域,大数据概念,借助搜索功能触发一些代理确定领导职位、上级管理者等。这里的组织管理的参与可以是通过一些评估路径在规则中动态的,或通过职责定义。
SAP Business Workflow SAP Business Workflow可用于定义SAP系统中尚未映射的业务流程。这些可能是简单的发布或批准程序,或更复杂的业务流程,云100,如创建物料主数据。SAP Business Workflow特别适用于工作流程必须重复运行的情况,其中业务流程需要大量代理按特定顺序参与。
SAP Business Rules Framework(BRFplus):
BRFplus是在ABAP中开发业务规则的首选工具。BRFplus是一个业务规则引擎。
业务工作流和BRFplus集成有很多好处。在这个博客中,我们将看到如何利用BRFplus决策表来确定动态代理。
在BRFplus决策表中,我们可以维护基于特定输入条件定义输出的规则。这些决策表在生产环境中也很容易维护。
使用BRFplus可以灵活地在决策表中添加新的或修改现有的"代理确定规则",物联网技术应用,而不需要集成或修改代码,从而直接部署更改。
技术逐步过程:
所以让我们来讨论一下端到端示例,要从工作流触发BRFplus,请派生代理并在运行时为下一个工作流步骤设置代理。
让我们考虑材质创建和更改工作流,其中我们希望根据材质类型(MTART)字段值设置代理。
在这种情况下,我们将考虑简单的示例。我们可以根据具体的需求在BRFplus中设计更复杂的规则和规则集。
下面是我们希望从工作流中以物料类型作为输入的需求,从决策表中找到相关的代理,大数据什么意思,并为下一个工作流用户决策步骤设置此代理。
根据物料类型,工作流请求应发送给相关审批人。
让我们看看一步一步集成BRFplus和业务工作流的过程,以便在运行时派生代理。
1。让我们首先创建BRFplus应用程序:
2。创建2个数据对象:zStart和ZUSER并激活它们。
3。创建需要从工作流触发的新BRFplus函数。
4。在函数的上下文中添加已经创建的数据对象。保存并激活。
5。创建决策表——选择对象类型为"表达式",表达式类型为"决策表"。
6.从上下文数据对象插入列并激活决策表。在决策表中维护规则。参见下面的示例,如果物料类型为"成品",则物料创建工作流请求应发送给用户"A"进行审批。
7。现在创建一个规则集来处理决策表。转到函数并创建规则集。
8.现在在规则集中,添加新规则以处理决策表中的规则。单击创建规则,在条件中,添加-流程表达式-选择-(选择先前创建的决策表)。
规则如下所示。
9。分配给函数的规则集应该如下所示。可以在模拟模式下进行试运行,bi大数据,以查看决策表中的规则是否正确执行。
10。现在BRFplus设计部分已经完成。让我们从工作流定义开始,触发BRFplus函数并读取特定物料类型的用户,同时将该用户设置为工作流中下一个用户决策步骤的代理。
11。转到交易SWDD.
12。让我们开始构建工作流并与BRFplus集成。
13。工作流将有两个步骤
活动步骤-触发BRFplus功能,执行规则集并从BRF决策表读取输出(审批者或代理ID)。此步骤将根据输入参数Material Type(MTART)从BRFplus决策表确定运行时的审批者。用户决策步骤–在工作流中"批准"或"拒绝"请求。完整的工作流如下所示:
14.转到事务SWDD.
15.创建两个工作流容器元素,一个是启动物料类型(输入BRF决策表)和ZUSER审批者ID代理(输出BRF决策表)。
16.现在创建活动步骤:在活动步骤内-创建新任务以包含BRFplus函数
17.添加任务详情如下