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: 
SarauShen
Advisor
Advisor

介绍


SAP分析云在 2021.Q3版本中引入了 多步操作,然后在 2022.Q1 和 2022.Q3 版本中将Predictive Scenario 集成到 多步操作 和 数据导入 到 多步操作 中。在 2022.Q4 的版本中,SAP分析云 多步操作 中引入了一个名为 API 步骤 的新功能。 多步操作 中的 API 步骤使 SAP分析云 用户能够将远程APP作为多步操作序列中的一个步骤来实现集成。

多步操作可帮助您跨SAP分析云中的多个模型/版本以及SAP分析云外部的外部操作编排一组计划操作。简单的用户界面、组织良好的布局为用户提供了无代码体验。帮助几乎没有 IT 背景的用户能够构建集成不同类型操作的多步操作。

更重要的是,多步操作可以参数化,这大大减少了管理员用户的维护工作。业务用户通过灵活分配参数值,在定义的上下文和范围内执行多项操作。

场景


场景示例#1


多步操作可以支持任何自定义逻辑的客户。假设标准产品不能支持关键业务计算,因此客户在远程计算引擎中开发自定义逻辑。多步操作通过触发远程API传输数据和计算数据,将SAP 分析云的计算和远程引擎的自定义逻辑集成在一个序列中。

业务计划只需一键点击即可触发这一系列的复杂流程。

场景示例 #2


SAP分析云提供数据导出功能可以将模型灵活的导出。在一些场景下,SAP分析云是用户工作的主要应用程序,所以用户希望能在SAP分析云里触发数据导出,例如,您可以在故事中使用导出的工作流而不需要跳转到建模界面,或者您可以在数据操作做完计算后数据自动导出到远程外部。


创建多步操作和API 步骤来触发 SAP PaPM API


我现在用一个例子来解释如何使用API步骤。

假设我希望SAP分析云数据的数据操作执行以后,再在SAP Profitability and Performance Management Cloud (SAP PaPM Cloud) 执行高级分配。

以下为程序运行的先决条件,

1) 确定 SAP分析云 公共 API 可通过 SAP PaPM Cloud 的ODATA 访问。这是因为SAP分析云的公共 API 调用 SAP分析云 数据导出服务将数据从 SAP分析云 导出到 SAP PaPM Cloud,然后将其用作进一步分配和计算的输入之一。

2) 需要 HTTP API 连接。具体可以参考“附录-创建HTTP API连接”。

一旦先决条件被满足,您就可以执行多步操作了。要创建 SAP分析云的多步操作包含API 步骤,您将执行以下步骤

  1. 创建 多步操作 并添加 API 步骤,连接到 SAP PaPM Cloud 的公共 API上

  2. 添加数据导入任务以将数据从 SAP PaPM Cloud 加载到 SAP分析云上

  3. 添加数据操作步骤

  4. 作为最后一步,添加版本管理步骤以将数据发布到公共版本。



这篇博文将详细解释如何在多步操作中添加 API 步骤。数据导入、数据操作和版本管理等其他步骤在单独的博文中进行了说明。

一、创建多步操作并添加API


1.创建多步操作并添加API步骤连接到SAP PaPM Cloud的公共API。

2.填写HTTP API配置



































步骤名称 必填字段


HTTP API 连接

必填字段

选择API 步骤的 HTTP API 连接


关于如何创建 HTTP API 连接,请参考“附录-创建 HTTP API 连接”。
接口地址

必填字段

API 步骤的 API URL


URL 取决于正在使用的 SAP PaPM 租户(tenant)和要触发的操作,具体如下:

网址:

https://{host}.cfapps.{region}.hana.ondemand.com/sap/opu/odata4/NXI/P1_PROCESSING

操作:

/CreateDeployRunActivityAsync – 根据流程模板和运行活动创建流程

/RunActivityAsync – 与 CreateDeployRunActivityAsync 操作类似,但需要该进程已定义

/CreateInstance – 根据流程模板创建流程

 

示例:

请参阅下面的 API URL,了解以下环境的 CreateDeployRunActivityAsync 操作。


https://papm-cloud-api-prod-pov.cfapps.eu10.hana.ondemand.com/sap/opu/odata4/NXI/P1_PROCESSING/Creat...

 

有关 SAP PaPM Processes API 的更多技术细节可在此处找到。
方法 当前版本中只支持POST。


标头字段

可选字段

API 步骤的Header字段


SAP PaPM Cloud 的 API 不需要任何额外的Header字段,故本博客中使用默认字段和值。
正文

可选字段

API 步骤的请求正文


SAP PaPM Cloud API 请求正文支持JSON 格式。需要提供的字段取决于要执行的 API 操作。有关 SAP PaPM API 请求的详细内容可以在此处找到。

示例

下面是在示例PaPM环境中的一个请求正文的示例,该请求正文将基于现有流程模板(process template)在 SAP PaPM Cloud 中创建一个新流程实例(process instance),然后执行它。

 

SAP PaPM 流程模板:


在该流程模板中运行的程序:


请求正文:

{

“ envId ”:“ SXP ”,

version”:“ 0014 ”,

“ procId ”:“PROCESS”,

parameters”:{}

selections”:{}

procTemplateId ”:“ SXP_P_ ”,

activity”:“EXECUTE

}

“ procId ”:“ PROCESS ”只是一个示例值,它指示由 API 操作创建和部署的流程实例的名称。这样的值不是从现有环境中获取的,如果它被提供为空白,API 将自动创建一个随机名称。
API执行状态

在当前版本中,支持异步API。多步操作的API步骤异步触发公共API,然后周期性轮询公共服务的状态。

因此,您需要指定获取 API 触发状态的方法以及轮询执行状态的方法。可以从 “HTTP 状态代码” 或 “HTTP 状态代码和响应正文” 获取状态。

如果状态是从“HTTP 状态代码和响应正文”获取的,则需要确保响应正文中包含必填字段。详细配置请参考博客

在这个博客中,

  1. PaPM 公共API 通过”HTTP 状态代码”获取状态,例如代码202 表示成功,404 表示失败。

  2. 轮询 URL 在响应标头中返回,因此无需指定轮询 URL。




 

二.数据上传到 SAP分析云


接下来需要添加数据导入任务将数据从 SAP PaPM Cloud 上传到 SAP分析云:现在 SAP PaPM 已通过 API 步骤完成分配计算。SAP PaPM 生成的数据记录现在可以由 SAP分析云通过 ODATA或 HANA 实时连接中自动获取。当您建立了从 SAP PaPM Cloud 向 SAP分析云 提取数据的连接后,现在可以集成数据导入任务到多步操作中。

三、添加数据操作


如需要对分配的数据记录进行进一步计算,可以集成数据操作在多步操作中。

四、添加版本管理发布数据


最后,添加版本管理步骤以将数据发布到目标公共版本。

详见博文:  blog

 

执行多步操作


这个多步操作可以在故事、分析应用程序中执行,也可以在日历中指定时间执行。

详情参考博客:  Integrating Data Import Job in Multi Actions

现在,对最终用户,所有的计算过程和配置复杂性都被隐藏,业务用户可以简单地通过一个按钮来执行此多项操作:数据导出到 PaPM、PaPM 中的分配计算、数据导回 SAP分析云 以及 SAP分析云 中的分配后计算按顺序自动进行。

 

暂不支持的功能


参数化


对于多步操作,用户可以在执行过程中通过参数动态设置值。但多步操作中的 API 步骤不支持参数的设置。

例如,对于多步操作中的数据操作步骤,假设为版本维度创建了一个参数,业务用户可以在执行多步操作时动态设置目标版本。在多步操作中的API 步骤,业务用户无法指定参数。

同步 API 调用


2022.Q4 QRC版本不支持同步API。

获取请求


POST 方法是 2022.QRC4 版本唯一支持的方法。

 

附录——创建 HTTP API 连接


1.选择屏幕左下角的连接

2.选择添加连接


3. 在屏幕中搜索HTTP API,在接下来的步骤中获取所需凭据的信息:


4.为了向 HTTP API 连接提供SAP PaPM Cloud 的信息,请使用全局帐户登录BTP,并通过以下步骤从服务密钥中获取凭证:

4a.选择子账户

4b. 选择 Cloud Foundry Environment 并选择空间(如果已创建)。如果已创建,则转到步骤 4e; 如果空间不存在,则执行下一步。


4c. 如果空间不存在,创建空间并填写空间名称并勾选空间创建者的角色。



4d. 选择需要创建的空间。


4e. 在左侧面板上,选择 (a) 服务 -> (b)实例 -> (c) 搜索'API' -> (d) Choose papm-cloud-api-papm-default。如果实例存在,则转到步骤 4h,如果实例不存在,则执行下一步。


4f. 如果实例不存在,请选择创建下拉菜单并选择服务实例


4g. 在以下出现的画面中:

4g.1 选择服务:SAP PaPM Cloud   -> 计划:默认(实例) -> 实例名称:实例名称。选择”Next”。


4g.2 通过复制帮助手册中创建服务实例文档中的 JSON 文件, 并将其粘贴到文本框来调整参数


4g.3 选择创建,服务实例就被创建成功了。


4h. 在右下方选择服务密钥名称以获取创建 OData 服务连接所需的客户端 ID 和密码。如果服务密钥存在,请继续执行第 5 步,如果服务密钥不存在,请继续执行下一步。


4i. 如果服务密钥尚不存在,请在已创建的服务实例中选择 “创建“ 按钮。添加服务密钥名称 -> 将参数文本框留空 -> 选择创建。


服务密钥现在可用于在 SAP分析云 中创建 HTTP API 连接。注意 HTTP API 连接将使用第 2 行、第 4 行、第 5 行和第 6 行。


 

5.返回SAP分析云网页并填写所需的连接信息,然后选择创建。






































连接名称 连接名称的必填字段。
说明 用于描述连接的可选字段
数据服务URL

SAP PaPM Cloud 租户的数据服务 URL。

此类信息可以在 API 服务密钥详细信息中的 BTP Cockpit 中找到

<https:// + 来自服务密钥的第 2 行 url 信息>
身份验证类型 OAuth 2.0 客户端凭证
OAuth 客户端 ID 来自第 4 步服务密钥第 4 行的 clientid ,不包含“
机密 来自第 4 步服务密钥第 5 行的 clientsecret ,不包含“
令牌网址

从第 4 步服务密钥第 6 行修改 url 值:

https://{host}.authentication.{region}.hana.ondemand.com/oauth/token?grant_type=client_credentials

例如:

https://papmc.authentication.eu10.hana.ondemand.com/oauth/token?grant_type=client_credentials
范围 此项为可选项,对于 SAP PaPM Cloud API 连接配置需留空

 

 
1 Comment