如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

码影云栖客
• 阅读 1682

官网链接:https://developers.sap.com/tu...

  • SAP Workflow service: helps to digitalize workflows and quickly orchestrate tasks that span people, applications, and organizations.

SAP 工作流服务可以使企业运行流程实现数字化,让横跨企业组织架构,应用和员工的任务能够协同工作。

通过这些任务(比如审批,订单履行,以及对时间敏感的合作伙伴协作)的自动化和无缝跟踪与协调,企业生产力得以提升。

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

You can enhance productivity by automating and tracking coordinated, account-able tasks – including approvals, order fulfillment, or time-sensitive partner collaboration.

The sample business rule used in this scenario is published in API Business Hub.

链接地址:
https://api.sap.com/package/E...

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

SAP Business Rules service is part of SAP Workflow Management which enable business users & application developers to automate their decisions and enhance their decision-making experience. It offers simplified Fiori-based rule authoring tool & a central rule repository with various deployment options to different runtimes.

SAP Business Rules Service 是 SAP workflow management 的一部分,使业务用户和应用开发人员能够自动化其决策制定,以及增强决策制定的体验。

SAP Business rules Service 提供了简化的基于 Fiori 风格的规则创作工具以及规则存储仓库,以及各种部署选项,支持多种运行环境的部署。

  • SAP Process Visibility service:

SAP 流程可见性服务:提供对运行在 cloud 或者 On-Premises 或者混合环境下的流程可见性的洞察功能。

provides visibility into processes that run in the cloud, on-premise, or in hybrid environments.

Process visibility works on events. SAP or non-SAP applications (cloud or on-premise) push events into Process Visibility.

Process visibility 基于事件工作,接收来自 SAP 或者 非 SAP 应用的事件推送。

These events are persisted, processed and enhanced to form end-to-end process instances with insights, which are visualized by business users in their process workspace.

这些事件被持久化且进一步增强,形成具有洞察力的端到端流程实例。业务用户在其流程工作区(一个 Fiori Launchpad tile 的名称)中以可视化的方式查看。

The insights enable business users to identify process bottlenecks, track process performance, and operational issues and act on them.

这些见解使业务用户能够识别流程瓶颈、跟踪流程绩效和运营问题并对其采取行动。

BUSINESSRULES_APIHUB destination is used in Manage Rule Projects application to import business rules from API Business Hub.

从 API Business Hub 导入 business rule.

This destination is already created in the previous set up tutorial, and now you will configure the destination for the password.

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

确保该 Destination 能够正常工作:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

创建一个新的 system:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

指向 SAP API Business Hub:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

在 Manage Projects 里,选择 Import Project from API Business Hub:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

选择 Equipment determination business rules:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如果遇到 Bad gateway error 的错误消息,检查 Destination 里维护的用户名和密码是否正确:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

If you get Bad Gateway Error error, then check the username and password you have used in BUSINESSRULES_APIHUB destination. If your user is 2-Factor-Authentication enabled, then the password will be password+passcode. This passcode will expire in a minute.

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

点击这个按钮:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

点击 deploy 按钮:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

可以选择 Deploy 到 Cloud Runtime 或是 Success Factors,这里我们选择前者。

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

部署成功:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

Only deployed business rules can be consumed via APIs published in API Business Hub.

下载这个例子程序的源代码:
https://github.com/SAP-sample...

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

登录 SAP Business Application Studio:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

创建一个 dev space:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

确保 space 处于 running 状态:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

打开 workspace,导入 reference workflow 应用:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

打开的 workflow 项目如下图所示:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

这个 MTA 应用的核心是这个工作流 onboard.workflow:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

起始事件:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

这个工作流包含如下内容:

  • 一个名为 determine equipment 的 service task:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

  • script task:

为员工决定出需要的工作设备:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

这个 script task 的执行,位于 script file 里:

这些字段的值来自 sample Data:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

service task:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

business rule:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

输入和输出:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

  • user task:confirmation of the equipment selected via business rules and for the approval of equipment.

确认通过 business rules 选择的 equipment 并审批。

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

这个 user task 的接收者:info.startedBy, 也就是说,谁启动这个 workflow 实例,谁就会接收到 Change or Confirm Equipment 这个 task:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

这些 user task 的 UI, 实现在 forms 文件夹下面:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

选择项目文件夹里的 mta.yaml 文件,右键菜单里选择:Build MTA Project:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

上图 Build MTA Project 的菜单,实际执行的是 mta build -s '/home/user/projects/cf-onboarding-sample' 的命令行:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

build 成功后,在 mta_archives 文件夹里,生成了一个 .mtar 压缩包:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

通过菜单 Deploy MTA Archive, 把这个压缩包,部署到运行时:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

需要输入用户名和密码,在 SAP Business Application Studio 里登录 SAP BTP:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

成功登录:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

选择 CloudFoundry 环境里的 organization 和 space:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

可以使用如下命令行查看日志:

cf dmol -i 4f65fe6d-cf36-11eb-a329-eeee0a914605

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

使用 Fiori Launchpad tile Configure Visibility Scenarios:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

创建一个新的 scenario:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

把之前创建好的 workflow 添加到这个 scenario 里来,这样,后续就可以使用该 scenario,查看该 workflow 的执行明细:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

workflow 的 id,可以从源代码里获得:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

之后,onboard 工作流所有的事件和上下文都已经成功导入了:
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

创建一个新的 sub-status:

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

关于后续测试,参考 Jerry 的文章:SAP 业务技术平台(SAP Business Technology Platform) Workflow 工作流功能介绍

更多Jerry的原创文章,尽在:"汪子熙":
如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这