关于javascript:Fiori-应用通过-Adaptation-Project-的增强方式分享

笔者已经在 SAP 成都研究院 CRM Fiori开发团队工作时,负责了德国一个驰名的灯具制造商客户的CRM Fiori我的项目的dev angel. 过后客户提出了若干对 CRM Fiori规范利用的加强需要,总的来说分为前台Fiori UI界面的加强(比方削减新的自定义字段)以及后盾逻辑的加强。

过后还处于Fiori 1.0时代,还没有间接在浏览器上应用S/4HANA的Key User tool进行新建字段的方法,因而对于前台界面的加强,我给客户的解决方案是应用UI5 XML视图中预留的Extension point,而后盾逻辑的加强,则通过UI5 JavaScript controller中的extension hook以及ABAP后盾的BAdI实现。

我和客户四个月的单干十分欢快,最初我的项目顺利上线,我也收到了德国客户通过邮件发送的感谢信,客户还把这个我的项目他们做的所有加强代码打成压缩包发送给我,心愿SAP能好好剖析这些逻辑,评估某些需要是否具备普遍性,未来是否做到SAP规范Fiori利用里,以便更多的客户能受害。这个德国客户在我的项目施行中的业余水平和精打细算的态度,给我留下了粗浅的印象。

过后客户的一个理论需要是,创立一个新的自定义字段,并可能让该字段在端到端的业务流程中启用(反对增删改查). 尽管这个需要当初看起来比拟常见,但在五年前的Fiori 1.0时代,实现起来还颇费一番功夫,因为前后台都得做一些加强。


我过后把残缺的加强实现步骤写成博客发在了SAP 社区上,因为步骤较多,总共写了四篇文章才介绍分明。

最近 Jerry 在 SAP WebIDE 里偶尔看到新建菜单里有个名叫Adaptation Project的菜单项,提供了另一种不通过编程即可加强Fiori利用某些行为的形式。

这种新的加强形式是通过Fiori Adaptation Project实现的,通过一个理论的需要来介绍。

咱们说SAP利用,最典型的应用形式就是以搜寻界面作用入口,在搜寻后果的表格控件里点击某条记录进入明细页面开始操作。

因为种种原因,并不是所以的表格控件都提供将数据导出成excel格局的性能。

如果搜寻后果的表格是通过SAP Fiori Elements技术绘制而成,能够在WebIDE里应用Fiori Adaption Project将excel导出性能启用。

在WebIDE里新建一个Fiori Adaptation Project:

当咱们创立适配我的项目时,理论是在创立现有应用程序的新变体(variant).

应用程序变体指的是原始应用程序,但蕴含在适配我的项目中创立的独立更改集。此外,还为该变体定义了一个应用程序ID,须要在Fiori Launchpad中独自注册。

应用 SAP UI5 Visual Editor 创立 variant.

Adaptation Project 反对的性能有:

  • 能够对应用程序进行语义更改(例如,依据特定条件暗藏字段)
  • 控件属性和绑定能够更改(例如启用或禁用Excel导出智能表)
  • 能够增加自定义XML片段来扩大视图(例如,单击按钮关上自定义对话框)
  • 能够增加自定义业务逻辑(JavaScript)(例如,单击按钮调用odata服务)
  • 扩大I18n文本(例如翻译自定义按钮的标签)
  • 挪动控件/局部(例如,在对象页面的两个规范字段之间搁置一个自定义字段)

Adaptation Project 同 Fiori Breakout 的区别:

  • 在Fiori Elements应用程序中,创立了用于向智能模板增加自定义UI (XML)和业务逻辑(JavaScript)的 breakout.
  • Breakout 是理论应用程序的一部分。因而,如果利用程序开发团队创立了一个Fiori Element 应用程序,而客户心愿通过 breakout 增加自定义逻辑,那么这将是一种批改。
  • Breakout是对智能模板的扩大,是原始利用的一部分,而适应我的项目是利用的扩大。

下一步须要抉择加强哪一个SAP零碎的哪一个Fiori利用。如果待加强的Fiori利用位于On-Premises零碎,须要事后配置SAP Cloud Connector和SAP云平台上的Destination,否则到了这一步,在SAP UI5 ABAP Repository的下拉列表里将无奈看到该零碎。

On-Premises零碎确定之后,在该零碎找到要加强的Fiori利用,通过输出该利用的技术ID来定位。点击Next实现Fiori Adaptation Project的创立向导,这里咱们给该project取名s4demo.

在WebIDE里邮件该project,抉择SAPUI5 Visual Editor,关上这个所见即所得的视图编辑器,

默认是以Preview模式关上的,点击右上角的Edit按钮进入编辑模式:

在编辑模式里,选中视图上的表格控件,筹备开始做属性的批改。
咱们留神到这个平安模式的提醒,引入这种模式的用意和Android零碎以及Windows操作系统的平安模式相似。SAP UI5 Visual Editor的平安模式下,开发者只能针对控件进行受限制的属性批改。

有付出就有回报,尽管批改受到限制,但在平安模式下进行的批改是降级平安的,行将来S/4HANA系统升级后,这些批改依然得以保留。

为了启用表格的excel导出性能,咱们得关掉平安模式:

而后把Use Export to Excel的标记位从默认的false设置成true:


保留批改,在我的项目文件夹下生成一个名为changes的文件夹,外面记录了这次属性批改的明细。这种将属性批改通过独自的文件保留下来的思路,和SAP C4C里通过Key User Tool或者Cloud Application Studio批改UI视图后生成Change Transaction用来记录批改明细是统一的。

批改完保留之后,再次关上利用,就能够测试这个excel导出性能了。


本地测试通过后,采纳和部署SAP规范Fiori利用同样的方法,将这个Adaptation Project部署到对应的S/4HANA零碎上。


点击Show Details能得悉到底有哪些资源被胜利部署了。

胜利部署的提示信息:Folder XXXX ( CUSTOMER_BASE) created in LRep.

这个LRep即Layed Repository,S/4HANA里一个分层的存储系统。所谓Layed,体现在这个存储系统引入的分层概念,即Customer Layer,Partner Layer,SAP Layer等。不同的操作者——客户,Partner和SAP规范开发人员,对这些分层存储的资源具备不同的读写权限。

在S/4HANA零碎里,执行报表/UIF/GET_FILES_4_NS,能够查看到从WebIDE部署到S/4HANA LRep的这些资源:

在第一次运行应用Fiori Adaptation Project加强后的Fiori利用时,存储在LRep Customer Layer的Fiori Adaptation Project里形容的UI5利用批改信息,会和Fiori规范利用的资源做一个合并,产生最初客户在浏览器里看到的,具备Export to Excel按钮的Fiori利用。


心愿本文可能帮忙大家对Fiori利用的又一种加强形式有一个最根底的理解,感激浏览。

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年50元

阿里云限时活动-2核2G-5M带宽-60G SSD-1000G月流量 ,特惠价99元/年(原价1234.2元/年,可以直接买3年),速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据