介绍
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 步骤,您将执行以下步骤
- 创建 多步操作 并添加 API 步骤,连接到 SAP PaPM Cloud 的公共 API上
- 添加数据导入任务以将数据从 SAP PaPM Cloud 加载到 SAP分析云上
- 添加数据操作步骤
- 作为最后一步,添加版本管理步骤以将数据发布到公共版本。
这篇博文将详细解释如何在多步操作中添加 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 状态代码和响应正文”获取的,则需要确保响应正文中包含必填字段。详细配置请参考博客。
在这个博客中,
- PaPM 公共API 通过”HTTP 状态代码”获取状态,例如代码202 表示成功,404 表示失败。
- 轮询 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分析云网页并填写所需的连接信息,然后选择创建。