SAP Cloud Platform和S/4HANA的互联
通过两个系统互相连接互相信任的配置,使得:
(1) SAP Cloud Platform subaccount will get a destination which holds data for the connection and OAuth communication with the S/4HANA Cloud system.
(2) That enables its Web IDE to request data from the S/4HANA system during Custom UI development and finally to deploy that UI to the S/4HANA Cloud system. Both processes are so called inbound requests to the S/4HANA Cloud system.
使用一个分配有business catalog Communication Management (ID: SAP_CORE_BC_COM)的business role的用户登录S/4HANA Cloud系统:
创建一个新的Communication arrangement
scenario选择SAP_COM_0013,
进入创建好的Communication Arrangement,在inbound Communication区域点击OAuth 2.0 Details:
这个弹出窗口的值,我们稍后会维护在SAP云平台的Destination创建页面里:
SAP云平台里新建一个Destination:
并将之前从S/4HANA cloud系统Communication Arrangement OAuth 2.0明细页面的credential信息拷贝过来。
添加下列四个额外的属性:
把这个Destination命名为SCP_DEV_SYSTEM.
之后在SAP云平台的WebIDE里使用SAP UI5应用创建向导,在Data Connection这一步骤,就能从下拉菜单里看到这个Destination了。然而Destination指向的S/4HANA系统里的OData服务YY1_BONUSPLAN_还没法使用,报错误消息Service XXX is unavailable. 需要后续在S/4HANA系统将其暴露给外部系统才能使用。但是,S/4HANA和SAP Cloud Platform通过Destination的连接已经配置完成了。
本文图片来自SAP官方向导:
https://developers.sap.com/tutorials/abap-custom-ui-communication-arrangement.html
如何将自开发的SAP UI5应用以tile的方式配置到SAP Fiori Launchpad里?
使用一个具有Business Role SAP_CORE_BC_EXT的用户登录S/4HANA:
在Custom Catalog Extensions tile里搜索需要配置到SAP Fiori Launchpad里的UI5应用:
点击Add按钮:
这样,凡是具有SAP_CORE_BC_EXT role的用户,待上述修改通过Publish按钮发布之后,都能看见刚刚被添加到catalog里去的自开发UI应用:
该自开发应用对应Fiori Launchpad上的tile如下图所示:
HTML帮助文档里写到:URL Mashup只能添加到headers上,无法添加到sections和tab区域里。
测试:在adaptation模式下,headers区域下的Mashup列表里选择url Mashup:
在properties的Apperance里只有Link一个选项,且无法更改:
如果试图将url Mashup添加到embedded component里,会遇到下图的提示消息:
the dragged mashup component can only be an inscreen mashup
关于这个消息的详细信息,参考SAP note:
https://apps.support.sap.com/sap/support/knowledge/public/en/2578846
CustomPane.js的实现位置:
sap/client/basecontrols/core:
根据C4C系统里创建的Mashup模型来初始化CustomPane控件:
oModel.oResource的id就是该Mashup在C4C系统的ID:
MashupComponentModel.js的实现:
路径:SAP_UI/HTML5/resources/sap/client/mashup/common/model
我在C4C Mashup创建页面里维护的html代码如下:
_beginRenderHtml:
- 点赞
- 收藏
- 关注作者
评论(0)