SAP 业务工作流程 - 快速指南
SAP 业务工作流程 - 简介
在 SAP 系统中,业务工作流用于在应用程序中执行业务流程。工作流是 SAP 系统的关键组件,其中它们帮助设计业务流程 - 它可以是简单的发布或复杂的重复业务流程,例如创建物料主数据等。
SAP 业务工作流程在 SAP R/3 系统中预定义,用户还可以创建自己的新工作流程。该工作流允许用户以有效的方式管理业务流程,使其与合规性保持一致。
工作流程确保在正确的时间以正确的顺序将正确的信息发送给正确的人员。
要在 SAP 系统中执行复杂的任务,例如发票审批、采购请求等,需要执行不同的步骤。这些步骤可以手动执行,也可以使用一些正式的通信方式(例如电子邮件、注释等)执行。当手动执行任务时,会出现一些与之相关的常见问题,例如 -
- 难以跟踪任务状态
- 处理低效率问题
- 难以追踪正式通讯
- 管理最后期限
上图描绘了 SAP Workflow 流程。它是一种用于自动化业务流程的工具,并且在所有应用程序中统一工作。正如您所看到的,它适用于业务流程涉及多人或一组人的情况。
业务工作流程可以轻松地与组织管理和 SAP NetWeaver BI 集成以进行分析,以便轻松确定适合您组织的业务流程。
SAP 业务工作流程 - 挑战
SAP系统中业务流程中需要工作流的原因有很多。任何业务流程中最长的持续时间就是等待时间。
上图显示了标准采购申请流程。它表明业务流程中的每个步骤都涉及等待时间,而使用标准 SAP 工作流可以消除这种等待时间。
组织的业务流程涉及以下挑战 -
提高采购订单、发票和销售订单 - 所有这些都需要特定利益相关者的批准,并且涉及多个步骤。因此,循环中增加了大量的等待时间。
审计和合规性 - 需要审计或任何特定合规性必须基于法院法律、SOX 等的领域。使用手动业务流程很难管理它们。
特定流程 - 涉及标准重复步骤并遵循特定业务规则的流程。举例:当创建一个新的BP时,您需要定义联系方式、信用额度等管理流程的信息。建议使用 SAP Workflow 管理这些特定流程。
通过使用 SAP 工作流程,组织可以轻松克服这些挑战,还可以执行详细的报告,例如执行时间、等待时间等。
SAP 业务工作流程 - 优点/功能
在 SAP 系统中,工作流程确保将正确的信息在正确的时间发送给正确的人。SAP 工作流程可用于 ERP、CRM 等 SAP 应用程序。用户可以轻松地使用这些工作流程来映射业务流程,也可以使用工作流程构建器来编辑这些工作流程。
注意- 工作流向导创建的工作流并不完整,仅用作框架。
要创建满足您的业务流程要求的工作流程,您应该使用工作流程生成器。
以下是使用 SAP 工作流的好处 -
工作流提供由任务、活动和步骤序列组成的业务流程的自动化。
使用工作流,可以轻松管理任务依赖性并在 SAP 邮箱中发送有关待处理操作的通知。
通过使用 SAP Workflows,用户可以轻松了解必须执行哪些任务。工作项通过通知发送给用户,只需单击一下,它就会调用正确的 T 代码并导航到应用程序中所需的屏幕。
SAP 应用程序包含可供使用的工作流程。用户还可以编辑预定义的业务工作流程,将其与组织的流程进行映射。
通过使用不同的工作流向导,用户还可以创建业务工作流的特定部分。工作流构建器可用于显示现有工作流并对其进行更改。
工作流程不绑定到特定的 SAP 应用程序,并且可以进行定制。
使用 SAP Workflow 的主要好处之一是它在所有 SAP 应用程序中都是相似的。
工作流对于包含多人或一组人、任务序列以及不同对象之间的协调的流程非常有用。
下图显示了工作流生成器中缺勤通知的示例工作流。
SAP 业务工作流程 - 层
SAP应用程序系统中的SAP工作流架构由以下几层组成:
- 业务对象
- 业务流程
- 组织模式
SAP Business Workflow 中的业务对象定义为业务流程中实体的方法或事件的集合。SAP 系统中的几个常见业务对象包括:客户、物料和供应商。
在 SAP Workflow 中,业务流程是在 Workflow Builder 中定义的。每个工作流程称为一个活动,并包含一个步骤任务或工作流模板。使用ABAP代码的业务逻辑在业务对象中定义。
组织模型包含负责在业务工作流中采取操作的人员或人员组。负责采取操作的人员也称为实际代理,他们在业务工作流的工作流活动中定义。
实际代理是在工作流程中实际执行操作的代理,例如批准业务文档、发送电子邮件通知或在工作流程中创建某些文档。
SAP 系统包含不同的预定义业务对象、事件和方法。以下是 SAP PLM 中的常见业务对象 -
画 | 文件管理 |
总线1001 | 材料大师 |
总线1080 | 物料清单 |
细胞外基质 | 变更大师 |
总线1003 | 班级 |
总线7051 | 通知 |
对于 SAP 系统中的每个对象,它都附带一组标准事件和方法来对该对象采取操作。最常见的方法和事件是 -
方法- 更改、显示、获取详细信息、创建
事件- 创建、更改
在 SAP 系统中,众所周知,Business Objects 通过将 SAP 系统划分为更小的单元来降低 SAP 系统的复杂性。每个业务对象通常用这些属性定义 -
对象类型 ID - 用于业务对象的内部标识。
对象名称- 用于业务对象的外部标识。使用此属性,外部系统可以与 SAP 系统交互。
超级类型- 它是继承 BO 的所有组件的父对象。
名称- 这是 BO 的描述性名称。
描述- 这是业务对象类型的简短描述。
应用程序- BO 所属的应用程序组件。
程序- 程序包含 BO 的 ABAP 代码。
SAP 业务工作流程 - 架构
正如上一章提到的,SAP Workflow 具有三层架构。以下是 SAP 工作流架构的三层 -
- 业务对象
- 业务流程
- 组织模式
在SAP Workflow架构中,业务对象是最小的单元,位于最底层。SAP Business Workflow 中的业务对象定义为业务流程中实体的方法或事件的集合。SAP系统中的几个常见业务对象包括:客户、物料和供应商。通过使用业务对象,所有服务都以可执行方法的形式提供。
有一个业务对象存储库,它是一种用于建模业务对象和流程的面向对象的方法。它是业务对象类型和接口类型及其组件(例如属性、方法和事件)的集合。
在工作流架构中,业务流程位于中间层,它们定义要作为工作流一部分执行的步骤。业务流程在 Workflow Builder 中定义。每个工作流程称为一个活动,并包含一个步骤任务或工作流模板。使用ABAP代码的业务逻辑在业务对象中定义。
在SAP Workflow架构中,组织模型是顶层。组织模型包含负责在业务工作流中采取操作的人员或人员组。负责采取操作的人员也称为实际代理,他们在业务工作流的工作流活动中定义。
您可以使用业务对象生成器创建新的业务对象。业务对象中的事件负责工作流的初始启动以及工作流的终止。事件还用于调用工作流中的后续任务。工作流下定义的所有任务将根据工作流定义按上述顺序执行。
常见任务示例包括 -
- 发布文件
- 过帐发票
- 批准缺勤
- 运行报告
- 更换材料
- 称呼
- 检查工作等等
下图描述了如何在 SAP Workflow 中执行任务以及它如何与对象类型和对象方法、组织模型、事件和文本进行交互。
连接流程、业务逻辑和人员
在 SAP Workflow 中,业务流程是在 Workflow Builder 中定义的。每个步骤都在工作流构建器中定义,称为活动。每个活动中都定义了单步任务或工作流模板。
下表显示了 SAP 工作流的组件。
组织计划 |
组织单位(企业中的职能单位) 职位(代表职位) 工作(企业职能分类) 人员分配/用户 ID 分配 |
标准任务 | 任务(活动的描述) |
工作流程生成器 |
概述 步骤类型 任务 留言 |
活动 |
触发事件 终止事件 |
业务逻辑在业务对象中定义,业务对象包含工作流中的属性、事件和方法。方法包含用于定义任务的 ABAP 代码。工作流中的每个标准任务都链接到一个方法和一个业务对象。
在组织模型中,人员/人群负责根据组织结构执行操作。所有这些都在工作流程构建器中定义。您可以使用 T 代码查看或创建工作流程:SWDD(工作流程生成器)。
SAP 业务工作流程 - 业务对象
SAP Business Workflow 中的业务对象定义为业务流程中实体的方法或事件的集合。SAP系统中的几个常见业务对象包括:客户、物料和供应商。通过使用业务对象,所有服务都以可执行方法的形式提供。
工作流中的对象代表 SAP 系统中的业务实体。常见的实体示例包括:采购订单、物料、供应商等。
SAP 系统中的对象执行以下功能 -
业务对象通过将 SAP 系统划分为小单元来降低 SAP 系统的复杂性。
通过使用 Business Objects,SAP 系统中的不同组件可以相互通信。
业务对象可用于 RFC 和工作流程。
通过使用 BAPI 和 Business Objects,SAP 系统可以与非 SAP 系统进行通信。
SAP系统中业务对象的组成
SAP 系统中的每个业务对象包含以下五个组件 -
重点领域
唯一对象键的规范 - 访问 BO 的特定实例
关键字段表示为一个或多个字段的组合
显示对底层应用程序表的引用
基于字符
您可以从其他非 SAP 系统读取业务对象
您无法从外部更改业务对象
连接键字段的最大长度可以是 70 个字符
属性
两种类型的属性 - Virtual(由 BO 程序设置)和 DB Field(由数据库加载)
可以从 SAP 系统外部读取属性,但无法更改该属性
BO 的属性显示了对象的属性和特征
属性可以显示为一行或多行
您可以拥有一个独立于实例或依赖于实例的属性
活动
事件包含 BO 外部的侦听器,如 SAP Workflow
它用于触发或终止 SAP 工作流程
它还显示业务对象出现的变化
方法
方法可以有两种类型 - 同步(结果返回到调用程序)和异步(结果可以使用事件返回到调用程序)
方法可以是实例相关的或实例独立的
方法由异常和参数组成,例如单行/多行、可选/强制等。
接口类型
SAP系统中的一个业务对象可以继承一个或多个接口
您可以在接口中定义方法,这些方法可以在工作流中的业务对象类型中重新定义
业务对象组件的状态
开发中的 BO 可以有不同的开发状态 -
已建模- 此状态显示仅定义的 BO - 即方法及其签名
已实施- 此状态表明 ABAP 实施已完成,您可以使用 BO 进行测试
已发布- 这表明该方法已准备好使用
已过时- 这表明该方法/事件不应再使用
创建业务对象
步骤 1 - 要创建业务对象,请使用业务对象生成器(T 代码 - SWO1)。弹出以下屏幕截图。
步骤 2 - 单击创建。将打开以下窗口。定义对象超类型。
步骤 3 - 填写所有其他详细信息。从搜索列表中选择应用程序,如下图所示。
步骤 4 - 接下来,保存包。将包保存在“Z”包中,如下图所示。
步骤 5 - 要更改对象类型的发布状态,请转到编辑→更改发布状态→对象类型→已实施。
步骤 6 - 单击对象类型并转到编辑。要再次更改发布状态,请转到更改发布状态→对象类型→已发布。
步骤 7 - 在以下窗口中,单击方法 → 创建按钮。将打开一个弹出窗口,选择“否”。传递方法名称和描述,如以下屏幕截图所示,然后单击“勾选”按钮。
步骤 8 - 现在,选择创建的方法。转到编辑→更改发布状态。这里,先实现对象类型组件,然后释放它。
步骤 9 - 请注意,方法和 BO 前面的勾号表示它已成功创建。单击“创建”按钮将参数添加到方法中。
步骤 10 - 导航到“程序”选项卡,将代码添加到方法中,如以下屏幕截图所示。单击“保存”按钮保存创建的对象。
委托业务对象
您还可以将此对象委托给其子类型。委派用于通过其子类型替换原始业务对象,您可以向该子类型添加其他事件/方法。
要委托业务对象,请导航至 SWO1 T 代码。设置 → 委托,如下图所示。
SAP 业务工作流程 - 启动和终止
工作流也可以手动启动,但是必须为其分配可能的代理。可能的代理被称为被授权启动任务并执行相关工作项的用户。工作项的可能代理在任务定义中定义,如果没有可能的代理,您将无法使用对话框执行或启动任务。
如果 SAP 工作流程的导入参数包含数据,您可以手动启动它们,并且它包括具有触发事件的工作流程。
您可以使用 T 代码:“SWUI”和“SWUS”,如以下屏幕截图所示。在这些事务中,您可以触发已定义的 SAP 工作流程。
您可以从左侧选择工作流程并使用选项 - 开始或从详细信息开始。右侧显示有关工作流程的详细信息。单击“开始”后,下一步就是进入决策步骤。
T 代码:SWUS(测试工作流程)
您可以从这两个事务导航到 Business Workplace。
要手动启动工作流程,您必须导航到 SAP Business Workplace(T 代码:SBWP)。在 SAP 系统中,业务工作区是用于执行业务流程的工作区,可通过 SAP GUI 访问,而不是通过 Web 浏览器或任何应用程序访问。经理在收件箱中收到的所有请求都称为“工作项目”。
请注意,启动 SAP 工作流程的屏幕有两部分 - 您可以在左侧看到所有已定义可能的代理的工作流程,在右侧您可以看到所选工作流程的详细信息。
要启动工作流程,您需要选择工作流程,然后单击左侧屏幕区域上的图标或右侧屏幕区域上的启动功能。
当您启动工作流程时,您还可以添加注释、截止日期或附件等信息。您有以下选项卡页面 -
特性
在此选项卡中,您可以定义工作流程的优先级。您还可以选择设置标志 - “为收件箱中已启动的工作流程创建标志”。当您手动启动工作流程时,此选项会在您的收件箱中获取一个工作项目。
请注意,当工作流终止时,该标志会自动删除。
开始时的页面注释
您在此处创建的注释将作为附件添加到工作流程中。
第 0 页 附件
您可以使用它来创建、显示、导入和删除附件。
要使用“启动工作流程”功能,您必须导航至“Office”→“启动工作流程”。
您还可以导航至“工具”→“业务工作流程”→“开发”→“运行时工具”->“启动工作流程”。
工作流程的启动条件
您还可以在工作流程开始时添加附加条件。这可以为通过事件触发启动的工作流进行定义。当您设置启动条件时,这意味着工作流的启动不仅取决于事件,还取决于此附加条件。
您可以使用以下选择标准来选择特定的工作流程 -
开始条件
使用此功能,您可以搜索为工作流定义的特定启动条件的名称。
业务对象
此选项用于使用特定对象类型搜索具有启动条件的工作流。
事件
在此选项中,您拥有所选对象类型的所有事件,这些事件与工作流链接,因为触发事件可供选择。
工作流程
这用于直接搜索具有启动条件的工作流程。
SAP 业务工作流程 - 条件编辑器
要将启动条件传递到工作流程,请使用条件编辑器。有两种使用条件编辑器的方法 -
直接文本输入模式- 在此模式下,您可以使用 F4 输入帮助直接传递表达式和运算符。
PC 模式- 这也称为面向鼠标的模式。条件编辑器的屏幕分为三个区域,即运算符、表达式和处理。
以下是条件的一般形式 -
[<Not>] <Expression> <Operator> <Expression> [<And/Or> <Not> <Expression> <Operator> <Expression> …]
逻辑运算符
注意- “NOT”比“AND”强,“AND”比“OR”运算符强。
您有以下表达式输入字段 -
- 系统字段
- 容器元素
您还可以定义条件编辑器的个人设置,如下所示。这包括相关的设置 -
- 展示
- 用户界面
- 通话模式
- 技术选项
SAP 业务工作流程 - 管理
在 SAP Workflow 中,管理员负责管理工作流并确保执行工作流、启用传输的工作流以及监视工作流引擎。
工作流程管理员应有权访问以下 T 代码 -
SWI2是用于分析Workitem的T代码。但是,它为以下交易提供了不同的过滤选项 -
- swi2_freq
- swi2_adm1
- swi2_死
- swi2_diag
- swie(解锁工作流程)
- swia(以管理员身份处理工作项)
- SWPR
- SWPC
- 苏维
- 水
- 斯瓦德
- 开关5
- swu8
- SBWP
- 膨胀
- 膨胀
- swu0
- 斯韦
- swu1
- swu2
- swu_obuf
- 斯沃德
- swb_条件
- 斯沃斯
- 开关1
- 开关6
- swu3
我们将在本教程的后面部分介绍这些 T 代码和其他重要事务的描述。
工作流程管理执行各种任务,可分为以下类别 -
- 工作流程运行时
- 事件管理器
- 工作流程定义时间
- 网络流
工作流运行时包含不同的事务,可用于监视和控制工作流的执行。T代码:SWDC_RUNTIME
活动经理管理
这包括用于控制和使用 SAP 工作流中的事件的 T 代码。可以在事件管理器管理下执行以下任务 -
事件队列管理
这用于定义事件队列的管理员,并管理在工作流程中存在与事件相关的错误时通过电子邮件通知的人员。
类型链接和实例链接
这在表中维护,该表包含将事件分配给对该事件感兴趣的事件接收者。
工作流程的事件跟踪
您可以使用工作流中的事件跟踪来记录有关创建和使用事件的所有信息。
事件队列
您可以使用事件队列来临时存储事件。
常规设置 → 工作流程 → 维护事件队列设置
在事件跟踪中,维护以下数据 -
- 事件数据
- 触发程序
- 触发日期和时间
- 触发对象
- 触发对象类型
- 活动名称
以下是 ABAP 开发中 SAP 工作流下的有用事务 -
SWE4 - 打开/关闭事件跟踪
SWEL - 显示事件跟踪
RSWELOGD - 删除事件跟踪
SWEC - 将变更文档链接到事件
SWED - 将更改文档对象分配给对象类型
要激活/停用事件跟踪,请导航到以下路径 -
工具 → 业务工作流程 → 开发 → 管理 → 事件管理器 → 事件 → 打开/关闭事件跟踪或使用 T 代码:SWELS/SWE4
要显示事件跟踪,请导航到以下路径 -
工具→业务工作流程→开发→管理→事件管理器→事件跟踪→显示事件跟踪或SWEL,如以下屏幕截图所示。
要删除事件跟踪,请导航到以下路径 -
工具→业务工作流程→开发→管理→事件管理器→事件跟踪→删除事件跟踪或使用T代码:RSWELOGD,如下面的屏幕截图所示。
有错误的 SAP 业务工作流程
您还可以列出工作流程中出现错误最多的工作项。ABAP系统中的SAP列表查看器用于查看有错误的工作流程,并根据错误原因对这些错误进行分组。以下是工作流程错误的可能原因 -
- 代理人
- 截止日期
- 从工作流到工作项的绑定
- 其他
您可以导航到以下路径访问有错误的工作流程的处理:工具→业务工作流程→管理→工作流程运行时→有错误的工作流程诊断。
您可以使用 T 代码:SWI2_DIAG(错误工作流程诊断) - 它被定义为 R/3 SAP 系统中可用的标准 SAP 代码,具体取决于您的版本和版本。
您可以在工作流程诊断中查看错误原因,也可以从这里“重新启动工作流程”。
SAP 业务 - 工作流程配置
在 SAP 工作流中,您可以创建 SAP 工作流的运行时定义。执行工作流时会评估这些配置。您可以配置以下步骤 -
- 活动
- 用户决定
- 模板中的文档
- 等待
对于每个工作流定义,您可以创建单独的工作流配置。您可以单独激活工作流配置,当工作流运行时,它会检查激活的工作流配置。
注意- 工作流配置中的数据始终优先于工作流定义中的数据。
要启动工作流配置,请导航至工具 → 业务工作流 → 开发 → 定义工具 → 工作流配置。
或者使用 T 代码:SWDD_CONFIG
这将打开名称为“流程工作流配置”的窗口。您必须双击工作流定义中的步骤才能显示步骤定义才能输入值。执行工作流时,将在运行时使用这些值,而不是工作流定义中提到的值。
保存工作流配置后,它默认处于活动状态。您还可以通过导航至“配置”→“删除”来删除配置。
使用 Easy Access 中的工作流配置时的 SAP 注意
您可以直接从工作流生成器中打开已打开工作流的工作流配置。
在工作流配置中,您可以单独调整工作流,而无需更改工作流本身。工作流配置的一种用途是用于 SAP 提供的工作流,您无法自行编辑该工作流。在工作流配置中,您可以在选定的输入字段中进行规范,这些规范在执行期间的评估中具有优先权。
例如,您可以调整负责代理或消息收件人的选择以完成所有步骤。您还可以调整定义的截止日期监控以满足您自己的要求。
注意- 工作流程配置特定于 SAP 系统中的客户端。还可以将工作流定义从一个客户端传输到另一客户端 - 仅传输工作流定义的活动版本。如果目标系统中存在具有相同版本号的 WF 定义,并且没有运行工作流,则将覆盖该 WF 定义,否则将使用免费版本号保存该 WF 定义。
SAP 业务工作流程 - 生成器
Workflow Builder 是用于创建、编辑和显示工作流定义的最常用工具。它为工作流定义提供图形和树形建模视图。使用 Windows 版 SAP GUI 时,会显示工作流生成器的图形视图。
使用其他 SAP GUI 时,树视图显示在工作流生成器中。
在工作流程构建器的图形视图中,定义了以下部分 -
- 工作流程
- 信息
- 导航
- 对象
- 留言
- 步骤类型
- 概述
概览区域不显示在树视图中。左侧有一个对象、导航和信息窗格。在屏幕中间,您有“消息”和“工作流程”窗格,右侧有“概述”和“步骤类型”。
导航窗格
在导航窗格中,您可以根据工作流定义显示显示工作流步骤。用户还可以直接从步骤列表导航至任何步骤定义。这也用于从上下文菜单编辑工作流程。
消息- 在消息窗格中,它包含所有消息和搜索结果,这些结果是在使用列表中生成的,并且工作流测试显示在此处。
信息- 此窗格用于显示加载的工作流程及其定义、相应工作流程的状态以及系统中的版本号。
调用工作流构建器
您可以使用不同的选项调用工作流构建器。您可以通过导航到以下路径直接调用它:工具 → 业务工作流程 → 开发 → 定义工具 → 工作流程构建器 → 工作流程构建器,或者您也可以使用 T 代码:SWDD。
要直接调用工作流程构建器的字母数字显示,请导航至工具 → 业务工作流程 → 开发 → 定义工具 → 工作流程构建器 → 工作流程构建器(字母数字)。
您可以使用选项在更改模式和显示模式之间导航。您还可以通过导航到工具 → 业务工作流程 → 开发 → 定义工具 → 工作流程构建器 → 工作流程构建器(选择)来选择不同的工作流程进行处理。
如果您想使用新的空工作流直接调用工作流生成器,请导航至工具 → 业务工作流 → 开发 → 定义工具 → 工作流生成器 → 工作流生成器:创建工作流。
请注意,工作流程启动使用指示符符号“启动工作流程”来表示。当您从定义了触发事件的多步骤任务的定义中调用新工作流时,它会使用符号 进行显示。
在图形工作流程定义中,您可以使用带有结果的未定义步骤添加新的工作流程定义,并由符号 显示。
工作流定义的结束由 指示。
与 Workflow Builder 和配置相关的重要事务代码如下表所示。
西南发展局 | 工作流程构建器(以字母数字模式调用工作流程构建器) |
社会发展署 | 工作流程构建器 |
SWDS | 工作流程构建器(选择) |
SWDD_配置 | 工作流程配置 |
SBWP | 商业工作场所 |
SWDC_DEFINITION | 工作流程构建器管理数据 |
SWDC_运行时间 | 工作流运行时管理数据 |
SWN配置 | 业务工作流程的扩展通知 |
SAP 业务工作流程 - 导入/导出
您还可以使用 XML 文件导入和导出工作流程。元语言BPM0.4用于描述工作流的结构。导出工作流时,工作流的以下组件无法与 BPML 0.4(BPML 代表业务流程建模语言)一起导出。
触发事件
任务的步骤
等待步骤
活动创作者
导出为 SAP 特定扩展的任务 ID
如果您的工作流程包含此类步骤类型,则在导入期间它们将被替换为空步骤
条件复杂
数据类型,例如结构、对象类型引用
建模期限监控
具有多个结果的活动
组织管理规则/要素作为责任代理
要将工作流程导出为 XML 文件,请导航到工作流程 → 导入/导出 → 导出到 XML 文件。
您还可以导航到查看 BPML 导出 → 单击导出到 xml 文件,然后将该文件保存在系统本地。
您可以在顶部的“工作流程”选项下导入时使用此文件。要导入此文件,请导航至工作流程 → 导入/导出 → 从 XML 文件导入。
SAP 业务工作流程 - 创建步骤
步骤在工作流中用于执行任务或控制工作流。步骤始终在块内创建,并且块始终包含步骤及其结果。可以通过在图形模式下更改未定义的步骤来创建步骤,也可以添加新步骤。
要更改工作流程中未定义的步骤,请双击未定义的步骤,这将打开步骤选择。选择步骤类型,如以下屏幕截图所示。
您可以根据需要选择不同的步骤类型。以下是一些常见的步骤类型、其在工作流程中的符号和说明。
象征 | 台阶类型 | 步骤 运行时 功能说明 |
---|---|---|
过程控制 | 取消工作项或将工作项设置为过时功能应用于当前工作流程的其他工作项。 | |
临时锚点 | 在定义中,您可以保存可以替换此步骤的工作流程。在运行时,授权用户可以选择已保存的工作流程之一。然后,临时锚点将被此工作流程的步骤所取代。 | |
活动 | 任务或子工作流程的执行。 | |
健康)状况 | 处理工作流定义中定义的两个分支之一。系统根据定义的条件做出决定。在执行此操作时,系统会考虑来自工作流上下文或所处理的应用程序对象的信息。 | |
用户决定 | 当前工作流的处理流程是根据当前代理做出的决策来控制的。 | |
模板中的文档 | 文档是根据文档模板创建的。 | |
集装箱作业 | 基本算术运算或赋值应用于工作流容器的各个元素。 | |
活动创建者 | 创建了一个事件。 | |
形式 | 引用结构的容器元素中的数据可以作为表单显示、处理或批准。 | |
发送邮件 | 在此步骤类型中输入的文本将作为电子邮件发送。 | |
多重条件 | 处理工作流定义中定义的多个分支之一。为此,系统检查工作流容器中容器元素的值。 | |
叉 | 接下来的处理在 fork 中进行。您可以定义必须执行多少个分支才能成功完成分叉,或者在条件编辑器中定义结束条件。 | |
未定义的步骤 | 运行时没有任何功能。未定义的步骤总会有结果。 | |
循环直到) | 重复处理一系列步骤,直到发生定义的终止条件。 | |
循环(同时) | 只要定义的比较适用,就会重复处理一系列步骤。当比较基准与任何比较值不一致时,系统离开循环。 | |
等待活动 | 系统等待特定事件。仅当预期事件发生时,工作项才会完成。XML 文档的出现也可以触发该事件。 | |
网络活动 | 容器元素的内容原封不动地或以生成的 XML 文档的形式发送到 URL。该步骤可以等待回复。可以与 Web 活动启动的进程进行通信。由 XML 消息启动的进程可以与其调用者进行通信。 |
当您在现有工作流程中插入新步骤时,其位置取决于先前选择的步骤或结果。
您想在哪里插入步骤 | 你必须选择什么 |
---|---|
一步之后 | 步骤的结果,位于工作流定义的相关分支中 |
一步之前 | 步骤 |
作为一个叉子的新分支 | 分叉前的符号 |
使用等待步骤
工作流程中的等待步骤可以等待 -
- 事件
- 当地活动
- 工作项目
- 工作流收到的事件
当等待步骤正在等待事件时,它会在特定事件发生时终止。该事件结束等待该特定事件的所有等待步骤。这是常用的 -
- 暂停工作流程直至发生特定事件
- 由于在不同系统中启动了另一个工作流程
- 作为并行处理中的事件
等待本地事件、条件或来自其他工作流程的事件时的工作方式相同。
等待活动 | 系统等待特定事件。仅当预期事件发生时,工作项才会完成。XML 文档的出现也可以触发该事件。 |
业务对象生成器
您还可以使用业务对象生成器创建、更改或显示业务对象存储库中可用的对象。要更改对象,您应该知道对象的名称、ID 或描述。
工作流中的对象代表 SAP 系统中的业务实体。常见的实体示例包括:采购订单、物料、供应商等。您还可以使用业务对象存储库浏览器访问业务对象存储库。要从业务对象生成器调用业务对象存储库浏览器,您必须选择业务对象存储库并选择要在对话框中显示的对象类型的数量。
当您通过导航到工具 → 业务工作流程 → 开发 → 定义工具 → 业务对象生成器打开业务对象生成器时,您可以在顶部菜单中看到业务对象存储库选项。
在业务对象存储库浏览器:输入屏幕中,选择筛选器其他设置以指定单独的筛选条件。
要启动业务对象生成器,您必须导航到工具→业务工作流程→开发→定义工具→业务对象生成器。
要创建业务对象,您可以使用 T 代码业务对象生成器 (SWO1)。
单击“创建”后,您必须在下一个窗口中定义对象超级类型。所有这些步骤均在上一主题的业务对象定义下定义。要直接切换到对象类型的维护,您需要输入对象类型的 ID,然后在初始屏幕中单击“显示”或“更改”按钮。
以下屏幕截图显示了业务对象以及如何更改存储库中对象的状态。
SAP 业务工作流程 - Abap 类
在 SAP ABAP Workbench 中,类构建器是 ABAP 中的一个工具,允许您定义、更改和测试全局 ABAP 类和接口。类生成器有两种模式 -
- 基于表单的模式
- 基于源代码的模式
通过使用 IF_WORKFLOW 接口,您可以在 SAP WebFlow Engine 中使用 ABAP 类。在SAP系统中,WebFlow引擎(SAP业务工作流)用于定义和映射未映射的业务流程。它包括发布或批准流程以及复杂的流程(例如创建采购订单等)以及所涉及部门的不同操作。SAP WebFlow Engine 主要用于本质上重复的流程或涉及大量代理按预定义顺序执行操作的流程。
WebFlow 引擎还可用于处理现有流程和工作流程中的错误。使用 WebFlow Engine,您还可以在发生预定义事件时启动工作流程。
要在工作流上使用ABAP类,需要在ABAP类中实现接口IF_WORKFLOW。该接口包含创建特定先决条件的方法,以便可以在 SAP WebFlow Engine 中使用该对象。
接口 IF_WORKFLOW 包含以下方法 -
- BI_PERSISTENT~FIND_BY_LPOR
- BI_持久~刷新
- BI_OBJECT~EXECUTE_DEFAULT_METHOD
- BI_PERSISTENT~LPOR
- BI_OBJECT~DEFAULT_ATTRIBUTE_VALUE
- BI_OBJECT~发布
如何在ABAP类中添加IF_WORKFLOW?
要将 IF_WORKFLOW 接口添加到类中,您必须打开类生成器 T 代码:SE24。
转到 Interface 选项卡,添加 IF_WORKFLOW 接口。添加此接口后,它还会添加两个子接口:BI_OBJECT 和 BI_PERSISTENT。当您移至“方法”选项卡时,您将看到这些接口的一些方法已自动继承到 ABAP 类。
对于一个Utility类来说,要实现IF_WORKFLOW接口,需要打开从IF_WORKFLOW接口继承的各个方法,然后激活空源代码→激活ABAP类。
注意- 当您在类中实现 IF_WORKFLOW 接口时,它可以在任何工作流程中使用。ABAP 类会自动发布以与该接口的实现一起使用。您应该仅在实现接口后进行兼容性更改,并且不应删除属性、类型更改或方法。在 SAP 系统中,它没有定义一个列表来提及该类在这些工作流程中使用。
另请注意,IF_WORKFLOW 接口不应在应用程序的内部类中实现,因为这意味着 ABAP 类的每个方法都可以在工作流中使用。
扩展通知
您还可以配置 SAP 工作流,将通知扩展到用户,告知他们有工作要做,这可以使用 MS Outlook 或 Lotus Notes 中的电子邮件通知来完成。您还可以通过提供工作项的简化视图来简化工作项选择。
在 SAP Workflow 中,您还可以使用事务 SWI2_DURA(按处理持续时间划分的工作项)进行性能分析。这可用于检查不同的性能参数,例如任务的平均处理时间等。
SAP 事务代码 (TCODE):SWI2_DURA
事务描述:按处理持续时间划分的工作项
SAP 模块描述:基础组件
这用于监控 -
- 可用于监视不同进程的预定义任务组。
- 用于发现偶尔的用户角色的单一任务。
通过使用 SAP Business Workflow 的扩展通知,您可以通知用户需要处理的工作项。您可以将工作项发送到组件。例如,带有后端事务的 MS Outlook 或 Lotus Notes,用户可以直接访问并执行操作。
以下是 SAP 系统中工作流程的不同通知的比较 -
SAP MAPI 包含 SAPoffice 消息存储、传输和地址簿 (mpsap32.dll)、可执行程序、工作流和业务对象附件解释器(mpinterp.exe、mpbusobj.exe 和 mpstub.exe)、工作流列显示文件和 PST 文件(个人文件夹)用于特殊 SAPforms Outlook 表单,用于离线工作流程支持和设置。
报告 RSWUWFML 是 SAP 系统中的标准可执行 ABAP 报告,用于向工作流中的代理发送有关代理 SAP 收件箱中工作项的 Outlook 电子邮件通知。
工作流程功能 | 映射接口 | RSWUWFML | RSWUWML2 | 延长通知 |
---|---|---|---|---|
将工作项发送到任何电子邮件客户端 | - | X | X | X |
SAP快捷方式附件 | - | - | X | X |
前缀和后缀文本(围绕工作项描述) | - | - | X | X |
增强的地址确定 | - | - | X | X |
增强的替换处理 | - | - | X | X |
HTML 电子邮件(仅限 Outlook) | - | - | - | X |
一般决策 | - | - | - | X |
链接到新的 Web UI(WebDynpro 等) | - | - | - | X |
一封电子邮件中的工作项目列表 | - | - | - | X |
支持通过电子邮件转发工作项 | - | - | - | X |
通知配置
SWN_SELSEN 是一个标准可执行 ABAP 报告,您可以使用它来选择和发送工作项。您可以定期运行此报告。
事务 SWNCONFIG 用于高级配置。
在对话框结构的左侧,有不同的选项,例如 -
- 业务场景
- 日程选择
- 交货时间表
- 常规设置
- 处理程序分配
- 消息模板
- 交货类型
您可以选择任何对话框结构,然后单击“新建条目”以在 SAP 系统中添加用于通知配置的条目。
事务 SWNADMIN 用于基本管理。当您运行此T代码时,将出现如下提示。
单击“允许”后,您将导航到页面:管理工作流的扩展通知。
在此窗口中,您可以为工作流程定义扩展通知。您可以激活/停用通知、定义时间表、定义消息、收件人等。
与非 SAP 工作流程应用程序集成
您还可以使用外部服务调用、Web 服务和 API 调用将您的工作流程与非 SAP 工作流程应用程序集成。以下是一些常见的集成选项 -
- 为外部服务调用和 BSP 创建工作流任务
- 通用工作列表启动处理程序
- SAP NetWeaver Exchange 基础设施业务流程管理
- Wf-XML 和 Web 服务
导入ABAP服务
您可以使用事务代码:WF_EXTSRV 来生成您的服务。该事务用于维护 WebFlow 服务。您还可以从菜单路径访问它,如下所示 -
SAP Easy Access → 工具 → 业务工作流程 → 开发 → 定义工具 → WebFlow 服务 → 维护 WebFlow 服务。
您必须在 SAP Workflow 中使用的所有 Web 服务都必须在 Web 服务目录中注册。您可以通过手动输入 Web 服务的所有数据来手动注册 Web 服务。使用 T 代码:WF_EXTSRV。
您还可以使用包含 Web 服务定义的 WSDL 文件,并且可以使用 T 代码直接导入该文件:WFWS。
要注册 Web 服务,请在对话框中选择服务并单击新建条目。
输入 Web 服务的服务 ID 和简短文本。
选择要调用Web 服务的日志。
对于主机,添加 Web 服务的地址,对于端口,添加端口号。
在路径字段中输入 Web 服务的目录和调用名称。
定义Web服务的调用方式。在这里,您可以确定是否涉及对话框或后台 Web 服务,以及是否执行回调以及如何执行回调。
双击并在对话框结构中选择一个参数。
这些参数决定了Web 服务的接口。任务容器是根据后续任务生成中的参数创建的。
输入所有 Web 服务参数。确保还将 Web 服务的服务 ID 分配给参数。任务容器的后续创建需要分配为导入元素和导出元素。
要生成服务,请单击“生成”按钮,如上面的屏幕截图所示。
您可以使用以下命令来执行配置任务 -
- WF_HANDCUST 配置工作流 URL。
- WFWS 用于导入外部 WSDL。
- WF_EXTSRV 用于 BSP 和 ABAP 服务。
- 生成任务。
- 扩展服务以执行对 WF_HANDCUST URL 的回调。
SAP 业务工作流程 - 通用工作列表
通用工作列表 (UWL) 是一个集中式工具,用于为工作项添加警报、通知、批准和临时任务。所有工作项都是作为业务流程的一部分创建的,并且可以使用通用工作列表轻松管理。
UWL 提供对所有工作项的统一中央访问。您还可以自定义满足您要求的 UWM 视图。您可以轻松地从对象存储库访问附加信息,例如附件、通知等。您可以在缺席时轻松地将任务委派给其他用户。
通过使用 UWL,您可以从不同的系统引入工作项。这些包括 -
- 业务流程
- 业务流程管理
- 协作任务
- SAP 办公室通知
- 引导程序
- 由自定义 UWL 连接器获取的工作项
通用工作列表设置
UWL 用于对与 HR 管理员相关的不同工作流程任务和警报进行分组。
SAP NetWeaver Portal 提供可用于配置所有后端工作流程的 UWL 配置。这完全是基于 xml 的配置。
要设置 UWL,请转至门户 → 选择系统管理 → 系统配置 → 通用工作列表和工作流程 → 通用工作列表 → UWL 系统配置。
如果系统中没有连接到系统别名的连接器,您可以设置一个新的连接器,否则您也可以使用现有的连接器。
优点
以下是使用 UWL 的主要优点 -
- 您可以在通用 UWL 收件箱中访问指导过程工作项。
- 您可以启动新项目、在同一窗口或新窗口中打开项目。
- 要管理工作项目,您可以使用收件箱自定义灵活性。
- 您可以使用拉动机制,该机制允许您对工作项使用自动或手动刷新选项。
- 您还可以管理项目类型并查看定义。
SAP 业务 - 创建工作流程
您可以在 SAP 系统中创建工作流程,以自动化包含任务、步骤和事件序列的业务流程。当您使用工作流程自动执行任务时,这可以帮助用户轻松采取行动,而不会面临技术/功能困难。您可以在用户 SAP 收件箱中设置有关待处理工作项目的通知,只需单击一下,它就会调用正确的事务并导航到相关屏幕。
让我们看看当员工在系统中提出休假请求时如何创建工作流程。必须执行以下步骤 -
步骤 1 - 定义组织计划 T 代码 PPOCE
此事务是在 SAP 系统中定义组织计划的最简单方法。您需要输入组织单位的开始日期→单击绿色勾号,如下图所示。
第2步