Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
RebeccaYang
Product and Topic Expert
Product and Topic Expert
本文为翻译文,原文链接How-to: Combine SAP Build Process Automation with SAP Build Apps – Version 2,原文作者manuel.namyslo,由Kevin Yang翻译。

去年我创建了一个指南,介绍如何集成SAP Build应用程序和SAP Build流程自动化。我决定创建第二个版本,它更简单、更直观(在我看来)。有些人可能还记得,我们实际上使用了AppGyver Classic,并使用通过API Management公开的工作流API。在本文中,我将向您展示如何使用BTP Destination将SAP Build应用程序和SAP Build流程自动化连接在一起。这不仅更简单,而且更安全、更可扩展。

SAP Build Process Automation是SAP LCNC(低代码和无代码)产品组合的最新成员,是过程开发、增强和自动化的中心构建平台。 SAP Build Process Automation将SAP Workflow Management和SAP Intelligent Robotic Process Automation的功能结合在一起,提供易于使用、无代码的AI驱动体验。这一新解决方案使各种规模的组织能够:

  • 使用可视化拖放工具和行业特定内容简化自动化

  • 在统一的AI驱动工作流管理和机器人流程自动化解决方案中更快地实现自动化

  • 在一个可信任的、企业级、多云平台上自信地管理流程和自动化。



在本博客中,我将向您展示如何将流程自动化和应用程序组合的两个世界结合起来。我们将构建一个简单的Build Apps应用程序来创建业务伙伴。基于SAP Process Automation构建的工作流实例将负责处理流程活动,例如获取批准步骤和在后端系统中发布。这个应用程序可以被业务人员用来为任何类型的业务领域或行业生成简单的批准请求。

请注意,本博客中的场景复杂度已经降低,以展示两个组件之间的集成。

先决条件:



  • 访问SAP Build Apps(试用版可以在此处访问)

  • 访问SAP Process Automation(可以是免费版或企业版)

  • 访问包括服务密钥的SPA工作流实例,在您使用SAP Build Process Automation的子账户中

  • 用于测试目的的Postman和API服务的基本理解


开始:


为了重建本教程,您需要一个SPA服务实例和相应的服务密钥。您可以在BTP子帐户的“实例和订阅”部分找到服务实例。

您可以手动生成服务实例,也可以使用Booster激活SAP Build Process Automation。如果您已经有了服务实例,或者刚刚创建了它,请检查是否已经创建了服务密钥。


调用API触发器的所有信息都包含在服务密钥中。因此,请打开服务密钥并使用以下信息:

  • 终端API URL

  • 客户端ID

  • 客户端秘钥

  • UAA URL


创建了服务实例和服务密钥之后,您可以从SPA内部生成第一个工作流。我将其保持非常简单,使用了一个简单的批准表单,该表单会出现在我的收件箱中,以批准业务伙伴的创建。如果您想要,可以通过添加其他活动、业务规则甚至RPA机器人来扩展工作流程。下面是我的流程截图:


我们不会使用表单触发器,而是使用API来启动工作流程。单击空白画布并添加我们业务逻辑所需的必要输入参数。下面是我用于业务伙伴的流程输入示例。稍后在本教程中,我们将使用此信息来指定AppGyver中的负载:


我随后在我的批准表单中添加了所有输入值。您必须确保将API的输出数据映射到批准表单的输入数据。如果您不这样做,Process Automation将会给您一个错误提示:



如果一切设置正确,您可以开始部署工作流。点击右上方的“发布”按钮并定义一个项目版本。然后点击“部署”按钮,该过程就可以被用于生产环境了。如果正确完成,您可以在监视应用程序中看到已部署的工作流程。进入流程大厅,导航到“监控”选项卡,然后导航到“管理”并选择“流程和工作流程”。搜索您的工作流程并复制您的流程ID,因为我们后面需要使用它来触发API。

 

API for retrieving the Bearer Token for Authentication (for eu10)

GET-request:

https://<your_subaccount_domain>.authentication.us10.hana.ondemand.com/oauth/token?grant_type=client...

Authorization: Basic Auth

Username<your_clientID_as_the_username>

Password<your_clientSecret_as_the_password>

Query Params: grant_type client_credentials

 

API for starting the Workflow-Instance (for eu10)

Post-request:

https://spa-api-gateway-bpi-eu-prod.cfapps.eu10.hana.ondemand.com/workflow/rest/v1/workflow-instance...

Request Headers:

  • Authorization: Bearer <your bearer token>

  • Content-Type: application/json’


Request Body:
{  "definitionId": " eu10.scpsubaccount.bpworkflow.businessPartnerWorkflow",  "context": {

"country": "DE",

"bpcat": "2",

"city": "Walldorf",

"pcode": "69190",

"street": "Dietmar-Hopp-Allee 16",

"organization": "SAP"

}

}

创建 Destination


现在我们可以开始使用 RESTful API,在 BTP 子账户内创建自己的 Destination。Destination 是 SAP BTP 中的关键构建块,用于定义应用程序向远程系统进行出站通信的连接。这些远程系统可以在本地或云端。我们将使用这个基本概念来集成 Build Apps 和 Build Process Automation。

转到子账户并在左侧选项卡中点击 Destination,然后创建一个新的 Destination。



一旦空白的“Destination”可用,您需要输入必要的信息以调用API调用:

Name: <Could be any name you like>

Type: HTTP

URL: https://spa-api-gateway-bpi-eu-prod.cfapps.eu10.hana.ondemand.com/workflow/rest/v1/workflow-instance...

Authentication: OAuth2ClientCredentials

Client ID: <your_clientID_from_the_key>

Client Secret:  <your_clientSecret_from_the_key>

Token Service URL:  https://<your_subaccount_domain>.authentication.eu10.hana.ondemand.com/oauth/token

 

Additional Properties:

AppgyverEnabled: true

HTML5.DynamicDestination: true

sap.processautomation.enabled: true

WebIDEEnabled: true

如果你输入了所有相关的数据,你可以点击保存。如果你在子账户内直接测试连接,可能会出现认证错误 - 但是不用担心,这不是问题,这个 Destination 稍后将在 Build Apps 中出现。


构建应用程序:


现在是时候构建应用程序了。为此,我们将使用SAP Build Apps。Build Apps是BTP上的一个可视化编程环境,公民开发人员和专业开发人员都可以在其中构建成熟的企业级定制软件,无需编写代码。您可以在此处了解有关该服务本身的更多信息。一旦您设置了帐户(企业版或试用版),您就可以开始处理自己的应用程序项目。为此,您需要单击“创建新按钮”,为您的项目命名,然后即可开始。您的应用程序工作区打开,您可以访问Composer Pro。

使用Composer Pro,您的大部分时间将花费在应用程序构建器中。

它允许您:

定义您的应用程序的结构和导航逻辑 构建像素完美的用户界面 使用可视化编程创建复杂逻辑 集成外部数据资源 将数据绑定到组件以创建动态视图,等等。 您需要做的第一件事是设置数据结构和后端集成。为此,您必须单击上面的“数据”并单击“SAP AppGyver经典数据实体”,然后选择“SAP BTP目标REST API集成”。



这里您有机会添加数据资源名称,这可以是任何您喜欢的名称。并且您必须在下拉菜单中选择之前创建的Destination。



在资源模式下,单击“ADD NEW”,可以添加工作流所需的所有相关负载数据。单击此字段,输入我们在 Build Process Automation 中创建的每个数据实体的字段名称,并将“Field type”选择为“任何”。

  • bpcat

  • city

  • country

  • organization

  • pcode

  • street




请注意,编辑器会将驼峰式转换为其他格式,请小心!一旦你对所有六个实体都完成了上述操作,你的数据源应该是这样的:



您现在应该转到左侧的创建选项卡并激活它。在这里,您需要点击请求标头的X按钮以添加一些信息:



选择值列表



点击“添加一个值”,然后定义一个新的头规范。此头是调用API所必需的:

头名称:Content-Type 头值:application/json



保存后,您需要选择请求正文映射器:



点击Formula 后点击 Create Formula:



在Formula designer 中你需要输入以下
ENCODE_JSON({ "definitionId": "<your_workflow_definitionID ",  "context": query.record })

点击保存



一旦完成,您的数据资源应该如下所示,然后您可以单击“测试”选项卡:



输入一些测试数据并检查集成是否正常工作:



现在,完成了数据集成部分后,您可以回到应用程序,并将布局从“视图”更改为“变量”,在其中开始向应用程序逻辑添加数据变量。 转到“数据变量”选项卡,并从已存在的数据架构中添加两个变量。 添加Workflow Integration1作为数据资源,并将其定义为新数据记录。 保存后,现在您可以开始处理应用程序的用户界面:



以下是我创建用户界面的示例。由于它只用于创建业务伙伴,所以非常简单。我从市场中选择了输入字段作为UI组件,并在容器内添加了五个。我还添加了一个下拉字段以增加用户体验。



作为最后一步,您需要从 UI 组件中添加一个按钮,并将其添加到应用程序底部。我将按钮命名为“提交业务伙伴”,并通过单击 BUTTON 1 的 show logic 添加了一些逻辑。在 Flow Function Market 中,我将 Get record 函数添加到了我的流程中。接下来,您需要将 Create record 函数添加到流程中。在此过程中可能会有一些麻烦。将 Workflow Integration 定义为资源名称。



现在,您可以添加记录属性,需要在数据变量和输入字段之间进行映射。在这里非常重要的是,您要选择“具有属性的对象”- >“组件属性”- >“另一个组件属性”或“输出值”作为绑定类型,并以与屏幕截图中相同的方式将每个属性连接到相应的UI元素。


测试你的工作流:


如果完成了上述步骤并保存了项目,就可以开始测试它是否有效了。单击上方面板上的“启动”按钮,选择“打开应用程序预览门户”,在其中可以在浏览器中打开应用程序。



你现在应该能在MyInbox应用程序中看到由AppGyver创建的工作流活动,准备好让你批准了。SAP Process Automation使用标准的Fiori Launchpad服务进行系统访问。根据你如何创建表单UI,所有上下文数据现在都可以在你的收件箱中使用。





以上我已经提到,这只是一个非常基础的示例,展示了如何将流程自动化和应用程序组合在一起。您可以使用我们平台的两个 LCNC 工具创建更广泛和复杂的场景。

要了解 LCNC 的工作原理,请查看 SAP Low-Code/No-Code Learning Journey,该学习之旅旨在提高低代码/无代码技能,教授公民开发人员软件开发的基本概念,并学习如何免费构建移动应用程序等。在 SAP Learning 网站上了解 LCNC、探索 BTP 等更多免费学习资源