在博客系列的这一部分,我将分享我在S/4HANA UX旅程中在定制列表报告楼层平面图Fiori应用程序中设计和实现出站导航的经验。
对于客户现有ECC环境的定制报告,除了我在上一篇博客中分享的订单和项目之间的切换功能之外,还有很多其他功能,比如执行批量更新、创建交货、编辑销售订单,显示销售订单等。我们必须重新访问现有的后端解决方案,以便在自定义应用程序的Fiori端进行进一步设计。
我再次通过以下发现>设计>交付阶段有效地利用了设计思维方法。在设计阶段,我们实际分析了SAP交付的标准SAP应用程序,以便在自定义列表报告中尽可能利用现有的存储库。通过使用Fiori Launchpad Shell导航,我们尝试将定制应用程序与标准应用程序连接起来。
在交付阶段,我们最终确定了以下应用程序,并考虑了以下接触点。其结果是无缝的,具有很好的性能和简单的点击导航。我们在这里的目的是尽可能消除定制。在任何情况下,即SAPGUI应用程序、Factsheet应用程序、List report应用程序参数都是动态传递的。
以下是用于开发此解决方案的软件的详细信息。
SAPUI5:1.48.9SAP NetWeaver AS ABAP 7.52版SAP S/4HANA 1709公司SAP Cloud Platform Web IDE完整堆栈版本180104
以下文档通过评估List Report Fiori元素的关键特性帮助我设计解决方案。
使用Fiori元素开发应用程序Fiori
的ABAP编程模型,用于在自定义Fiori列表报表应用程序中实现出站导航,我们使用了以下三种场景来满足后端ECC系统中的现有需求。
导航到销售订单(Factsheet App)
解决方案:此导航是为自定义列表报表应用程序表导航到特定销售订单而启用的。为了实现这个功能,我用Sales order Factsheet应用程序覆盖了标准的入站对象页面导航
更改销售订单的导航(SAPGUI应用程序)
解决方案:为了按照要求实现这个功能,我在自定义列表报表应用程序中使用了表和自定义操作的多选功能,淘客pid,用于导航更改销售订单SAPGUI应用程序
导航创建出库单(列表报表应用程序)
解决方案:为了根据需要实现此功能,我使用了表和自定义操作的多选功能在自定义列表报表应用中导航创建出库单报表应用
以上3种情况,大数据局,我们的目的是利用定制列表报表应用程序解决方案中的标准SAP应用程序,只需传递相应操作的关键参数(例如:销售订单号)。我将在下面分享我在实现该功能时遇到的开发和挑战的经验。
以下代码已添加到清单.json启动所有出境航行
清单.json–>
以下代码已添加到清单.json用于将这些导航链接到应用程序的自定义控制器中的自定义操作。
清单.json–>
导航至Sales Order Factsheet FIORI App
根据解决方案设计,从在自定义应用程序中,我的云,我们已使用Factsheet应用程序的自定义导航覆盖了列表报表的标准对象页导航。
如果使用上表的标准列表导航访问任何一个销售订单,销售订单Factsheet Standard应用程序将通过动态传递所选的销售订单号作为参数来打开。
我在清单文件中定义的自定义控制器中添加了以下代码。如代码所示,我实际上已经用自己的设计覆盖了标准的对象页导航(这里是Factsheet对象页)。因此,列表报告的onListNavigationExtension方法已被相应的出站导航覆盖,参数传递如下所示。
更改销售订单的导航SAPGUI应用
根据我们在本次用户体验旅程设计阶段的分析,对于编辑销售订单,我们发现没有标准的Fiori应用可用我们的S/4hana1709版本。因此,我们决定通过导航重用标准的SAPGUI应用程序。
如下图所示,大数据分析系统,在列表报表楼层平面图中定义了编辑销售订单的自定义操作。
一旦执行了该操作,更改销售订单SAPGUI应用程序将通过动态传递销售订单号作为参数打开。
我在清单文件中定义的自定义控制器的自定义操作中添加了以下代码。
与实际的Fiori应用程序不同,我们无法打开Change sales order SAPGUI,即使通过如上所示的代码动态传递了关键参数。
经过一些分析,我们发现对于SAPGUI应用程序(与Fiori应用程序不同),我们需要在相应目录的目标映射处特别处理几个参数。我在SAPGUI app target mapping中添加了以下参数,用于引入动态行为。
导航以创建出站交货列表报表FIORI app
如下所示,在列表报表floorplan中定义了一个创建交货的自定义操作。
一旦执行该操作,创建出站交货清单报告Fiori应用程序将打开,关键参数如下图所示传递到该应用程序的智能过滤器中。
我在自定义控制器中添加了以下代码来导航和动态传递参数。