当前位置: 首页 > Web前端 > HTML5

Fiori 应用通过 Adaptation Project 的增强方式分享

时间:2023-04-05 10:56:27 HTML5

Fiori应用通过AdaptationProject的增强共享CRMFiori标准应用的增强需求一般分为前端FioriUI界面的增强(比如新增自定义字段)和后台逻辑的增强。当时还是Fiori1.0时代,没办法直接在浏览器上使用S/4HANA的KeyUser工具新建字段。所以对于前端界面的增强,我给客户的方案是使用UI5XML视图预留扩展点,后台逻辑的增强是通过UI5中的扩展钩子实现的ABAP后台的JavaScript控制器和BAdI。我和客户四个月的合作非常愉快。最终,项目顺利上线。我还通过电子邮件收到了德国客户的感谢信。客户还将他们为这个项目所做的所有增强代码压缩包发给我。希望SAP能够分析这些逻辑,评估某些需求是否具有普适性,未来能否在SAP标准的Fiori应用中实现,让更多的客户受益。这位德国客户在项目实施中的专业性和一丝不苟的态度给我留下了深刻的印象。当时客户的一个实际需求是新建一个自定义字段,并在端到端的业务流程中启用该字段(支持增删改查)。虽然这个需求现在看起来比较普遍,但是在五年前的Fiori1.0时代,实现起来还是费了一番功夫,因为前后端都要做一些增强。当时我把完整的增强实现步骤写成了博客,贴在了SAP社区上。因为步骤比较多,所以一共写了四篇文章来介绍清楚。最近,Jerry在SAPWebIDE的新菜单中发现了一个名为AdaptationProject的菜单项,它提供了另一种无需编程即可增强Fiori应用程序某些行为的方法。这种新的增强方式是通过FioriAdaptationProject完成的,通过实际需求引入。说到SAP应用,最典型的使用方式就是以搜索界面为入口,在搜索结果的表控件中点击一条记录,进入详情页开始操作。由于种种原因,并不是所有的表格控件都提供了将数据导出为ex??cel格式的功能。如果搜索结果的表格是通过SAPFioriElements技术绘制的,可以使用WebIDE中的FioriAdaptionProject开启excel导出功能。在WebIDE中创建一个新的Fiori适配项目:当我们创建一个适配项目时,我们实际上是在创建一个现有应用程序的新变体(variant)。应用程序变体指的是原始应用程序,但它包含在中创建的适配项目Standalone变更集中。此外,为此变体定义了一个AppID,需要在FioriLaunchpad中单独注册。使用SAPUI5VisualEditor创建变体。AdaptationProject支持的功能有:可以对应用程序进行语义更改(例如,根据特定条件隐藏字段)可以更改控件属性和绑定(例如,启用或禁用Excel导出智能表格)可以添加自定义XML片段以扩展视图(例如单击按钮打开自定义对话框)可以添加自定义业务逻辑(JavaScript)(例如单击按钮调用odata服务)扩展I18n文本(例如翻译自定义按钮的标签)移动控件/部件(例如,在对象页面上的两个标准字段之间放置自定义字段)适应项目和FioriBreakout之间的差异:在FioriElements应用程序中,创建用于将自定义UI添加到智能模板(XML)和业务逻辑(JavaScript)breakout。Breakout是实际应用程序的一部分。因此,如果应用程序开发团队创建了一个FioriElement应用程序并且客户希望通过breakout添加自定义逻辑,那么这将是一个修改。Breakouts是对作为原始应用程序一部分的智能模板的扩展,而改编是对应用程序的扩展。下一步是选择要增强哪个SAP系统的哪个Fiori应用程序。如果待增强的Fiori应用位于On-Premises系统中,需要在SAP云平台上预先配置SAPCloudConnector和Destination。否则,此时,您将无法在SAPUI5ABAPRepository的下拉列表中看到该系统。On-Premises系统确定后,在系统中找到需要增强的Fiori应用,通过输入应用的技术ID进行定位。单击Next完成FioriAdaptationProject创建向导。这里我们将项目命名为s4demo。在WebIDE中邮寄项目,选择SAPUI5VisualEditor,打开这个WYSIWYG视图编辑器,默认以Preview模式打开。点击右上角的编辑按钮,进入编辑模式:在编辑模式下,选中视图上的表格控件,准备修改属性。我们注意到了这种安全模式的提示,引入这种模式的目的类似于Android系统和Windows操作系统的安全模式。在SAPUI5VisualEditor的安全模式下,开发者只能修改控件的受限属性。如果你付出,你就会得到回报。虽然修改受到限制,但是在安全模式下修改的内容是可以安全升级的。以后S/4HANA系统升级后,这些修改还是会保留。为了启用表格的excel导出功能,我们要关闭安全模式:然后将UseExporttoExcel的flag由默认的false设置为true:保存修改,并在项目下生成一个名为changes的文件夹文件夹,里面记录了这次属性修改的细节。这种将属性修改保存在单独文件中的思路与SAPC4C一致,通过KeyUserTool或CloudApplicationStudio修改UI视图后,生成一个ChangeTransaction来记录修改细节。修改保存后,再次打开应用测试excel导出功能。本地测试通过后,将AdaptationProject部署到对应的S/4HANA系统中,方法与部署SAP标准Fiori应用相同。单击“显示详细信息”以了解已成功部署哪些资源。部署成功的提示信息:LRep中创建的文件夹XXXX(CUSTOMER_BASE)。这个LRep就是LayedRepository,S/4HANA中的分层存储系统。所谓分层,就是体现在这个存储系统引入的分层概念,即CustomerLayer、PartnerLayer、SAPLayer等,不同的操作者——客户、合作伙伴、SAP标准开发者对这些分层存储的不同的读写权限资源。在S/4HANA系统中,执行report/UIF/GET_FILES_4_NS,可以查看从WebIDE部署到S/4HANALRep的这些资源:第一次运行Fiori适配项目增强的Fiori应用时,存储在LRep客户层Fiori适配项目中描述的UI5应用修改信息将与Fiori标准应用的资源合并,生成客户在浏览器中看到的带有ExporttoExcel按钮的Fiori应用。我希望这篇文章可以帮助您对另一种增强Fiori应用程序的方法有一个基本的了解,感谢您的阅读。