SAP BAS中Fiori开发的高阶功能(storyboard, navigation, guided development, variant)

本文主要是介绍SAP BAS中Fiori开发的高阶功能(storyboard, navigation, guided development, variant),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 前言

在之前的几篇文章中,我介绍了SAP BAS的一些基本功能,包括账户申请,创建工作区,git的使用以及如何step-by-step去创建出你的第一个Fiori项目等等。在本篇中,我将进一步介绍一些在开发Fiori应用程序时会用到的高阶功能。

2. 功能点

2.1 SAP Fiori View

在SAP Fiori视图活动中,我们可以访问应用程序建模器(Application Modeler)以及一些 通用的SAP帮助文档和消息发布。

我们可以通过Application Modeler来显示、修改已有的应用程序界面,也可以在此为应用程序添加新页面。

2.1.1 Page Map

在page map页面可以更改应用程序的页面结构,也可更改应用程序的设置例如如标题,描述或灵活列布局(Flexible Column Layout)。这些改动都会被保持至manifest.json配置文件中。

当然,通过page map可以为应用新增页面。

2.1.2 Page Editor

在Page Edior中,可以展示出每个Page元素,并在Properties面板上更改它的设置。
通过Page Editor对页面进行的调整会保存至manifest.json文件中或保存为SAPUI5 Flexibility Change。

2.2 Service Modeler

SAP BAS中的服务建模器Service Modeler支持基于.xml /.edmx 文件的OData V2/V4服务模型的可视化。打开Service Modeler的两种方式:

  • 通过命令面板,输入命令:Fiori: Open Service Modeler
  • 右键metadata.xml文件,然后选择Override Annotations

通过service modeler我们可以:

  • 轻松浏览复杂的服务,并查看服务的实体集、实体和属性
  • 查看与服务的实体和属性相关联的注释annotations
  • 管理SAP Fiori元素应用程序所需的服务,例如向项目添加新服务或同步已经存在的服务
  • 管理与SAP Fiori元素项目的不同OData服务相关联的本地注释文件(local annotation)
  • 在本地覆盖annotations(通过使用复制annotation按钮)

2.3 Manifest Manager

Manifest Manager包含两部分功能:Service Manager服务管理器和Annotation File Manager注解文件管理器。

邮件manifest.json文件,可以选择打开哪种管理器:

2.3.1 Service Manager

通过Service Manager服务管理器可以为项目添加新服务(仅适用于Overview floorplan和Freestyle应用程序),以及从服务器刷新服务,进而重新生成本地的metadata.xml和annotation XMLL。

2.3.2 Annotation File Manager

通过Annotation File Manager注解文件管理,则可以:

  • 列出项目中所有的annotations文件
  • 创建新的本地annotation文件
  • 更改注解文件的顺序
  • 激活/取消激活/删除注解文件

2.4 Storyboard

打开Storyboard的方式,命令面板 中输入命令 Open Storyboard 。通过故事版storyboard可以用图形化编辑器和向导的方式开发应用程序。

故事板提供了应用程序的数据模型、外部数据模型、服务和应用程序的UI前端的图形视图,以及它们之间的连接关系。这种可视化的表现形式让开发人员可以快速理解应用程序的结构和组件。

Storyboard也可以显示为树状结构。

2.5 Service Diagram

在Storyboard中有一个隐藏功能,那就是service diagram。在storyboard上点击service name, 然后选择View Diagram可以打开对应服务的Service Diagram。

在service diagram中可以显示metadata.xml文件的不同可视化模式:

  • 通用(General):实体及其属性的列表
  • 图表 (Diagram):可视化实体及其关系
  • 元数据 (Metadata):显示纯XML文件

注意,单独打开metadata.xml文件时,其仅会显示为元数据的格式。仅在service diagram中,可以显示成图表的方式。

2.6 Guided Development

通过有Guided Development,可以查看如何在SAP Fiori元素应用程序中实现某些功能的指南和教程。可以使用命令面板的 Fiori: open Guided Development 命令,或邮件webapp文件夹打开此功能。

选定功能后,可以直接通过Guided Development一步一步实现选定的扩展功能。

2.7 App-to-App Navigation (应用间导航)

如果两个应用程序位于相同的workspace工作空间中,则可以用预览功能,来测试从一个应用程序到另一个应用程序的导航。

使用命令面板并选择 Fiori: Enable App-to-App Navigation Preview 命令启动此功能

  1.  选择源项目-配置将被添加到该项目
  2.  选择目标项目-想要导航的位置

该命令生成一个新的配置 appconfig/fioriSandboxConfig.json 到源应用程序文件夹,并更新ui5.yaml 文件。可以向同一个源应用程序添加多个目标导航。

2.8 在外部的Fiori Launchpad上运行Fiori应用程序

SAP BAS为用户提供测试应用程序运行的能力,而无需在外部Fiori Launchpad上重新部署应用程序。打开命令面板, 输入命令Fiori: Add FLP Embedded Configuration:

然后完成以下步骤:

  1. 以小写输入已部署应用程序的BSP(BSP容器是SAP系统中的一个存储位置,用于存放Web应用程序的所有文件,每个BSP容器都有一个唯一的名称,可以通过这个名称在SAP系统中访问到对应的Web应用程序)
  2. 输入含后端配置的YAML(通常是_ui5.yaml_文件)
  3. 输入到SAP Fiori Launchpad的相对链接,例如sap/bc/ui5_ui5/ui2/ushell/shells/abap/Fiorilaunchpad.html (将根据后端服务解析)
  4. 构建应用程序
  5. 使用新的start-embedded脚本运行应用程序

完成任何更改后,应用程序不会立即刷新,需要通过执行npm _run build_ _来重新构建应用,进而查看UI上的变化。一旦构建执行完成,在外部启动台上运行的应用程序就会自动刷新。

2.9 创建开发者变式

通过SAP Fiori工具提供的variant creation,开发人员可以为应用程序或单个表创建variant,这些variant变式可以与应用程序一起交付给用户。这些variant将会作为SAPUI5 flexibility changes存储在项目的webapp/changes文件夹中,并在构建Build步骤中与应用程序一起打包。

执行NPM脚本 start-variables-management。也可以使用NPM脚本start-control-property-edito,它会以UI自适应模式打开应用程序,并封装在属性编辑器页面中。

如果这个脚本不存在,可以通过命令面板的 Fiori: Add Configuration for Variants Creation 命令来配置此功能。

对于每个新变体,在项目的webapp/changes文件夹中会创建一个或多个SAPUI5更改文件。


2.10 在本地运行单元测试

您可以在本地运行单元测试。使用预配置的NPM脚本,创建一个运行配置(run configuration)或从终端(terminal)启动它。

fiori run --open webapp/test/unitTests.opa.html

3 小结

在本文中,介绍了开发Fiori应用过程中会用到的一些高阶功能,但限于篇幅限制,对于特别复杂的功能仅是做了初步的介绍,并未完全展开。有需求的同学,可以进一步在此基础上学习和探索。

这篇关于SAP BAS中Fiori开发的高阶功能(storyboard, navigation, guided development, variant)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/837320

相关文章

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开

android 免费短信验证功能

没有太复杂的使用的话,功能实现比较简单粗暴。 在www.mob.com网站中可以申请使用免费短信验证功能。 步骤: 1.注册登录。 2.选择“短信验证码SDK” 3.下载对应的sdk包,我这是选studio的。 4.从头像那进入后台并创建短信验证应用,获取到key跟secret 5.根据技术文档操作(initSDK方法写在setContentView上面) 6.关键:在有用到的Mo

android一键分享功能部分实现

为什么叫做部分实现呢,其实是我只实现一部分的分享。如新浪微博,那还有没去实现的是微信分享。还有一部分奇怪的问题:我QQ分享跟QQ空间的分享功能,我都没配置key那些都是原本集成就有的key也可以实现分享,谁清楚的麻烦详解下。 实现分享功能我们可以去www.mob.com这个网站集成。免费的,而且还有短信验证功能。等这分享研究完后就研究下短信验证功能。 开始实现步骤(新浪分享,以下是本人自己实现

Android我的二维码扫描功能发展史(完整)

最近在研究下二维码扫描功能,跟据从网上查阅的资料到自己勉强已实现扫描功能来一一介绍我的二维码扫描功能实现的发展历程: 首页通过网络搜索发现做android二维码扫描功能看去都是基于google的ZXing项目开发。 2、搜索怎么使用ZXing实现自己的二维码扫描:从网上下载ZXing-2.2.zip以及core-2.2-source.jar文件,分别解压两个文件。然后把.jar解压出来的整个c

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

WDF驱动开发-WDF总线枚举(一)

支持在总线驱动程序中进行 PnP 和电源管理 某些设备永久插入系统,而其他设备可以在系统运行时插入和拔出电源。 总线驱动 必须识别并报告连接到其总线的设备,并且他们必须发现并报告系统中设备的到达和离开情况。 总线驱动程序标识和报告的设备称为总线的 子设备。 标识和报告子设备的过程称为 总线枚举。 在总线枚举期间,总线驱动程序会为其子 设备创建设备对象 。  总线驱动程序本质上是同时处理总线枚

开启青龙 Ninja 扫码功能失效后修改成手动填写CK功能【修正Ninja拉库地址】

国内:进入容器docker exec -it qinglong bash #获取ninjagit clone -b main https://ghproxy.com/https://github.com/wjx0428/ninja.git /ql/ninja#安装cd /ql/ninja/backend && pnpm install cp .env.example .env

【机器学习】半监督学习可以实现什么功能?

目录 一、什么是机器学习二、半监督学习算法介绍三、半监督学习算法的应用场景四、半监督学习可以实现什么功能? 一、什么是机器学习 机器学习是一种人工智能技术,它使计算机系统能够从数据中学习并做出预测或决策,而无需明确编程。它涉及到使用算法和统计模型来分析大量数据,识别其中的模式和关系,并利用这些信息来预测未来事件或做出决策。机器学习可以应用于各种领域,包括图像识别、自然语言

BD错误集锦6——【IDEA报错】tomcat server功能无效,报错Java EE: EJB, JPA, Servlets

在网上查找原因,发现是非法关闭IDEA导致的。 Open Settings | Plugns and enable it. 在设置中enable JAVA EE和tomcat server即可。 参考: https://stackoverflow.com/questions/43607642/intellij-idea-plugin-errorproblems-found-loadin

JavaWeb系列六: 动态WEB开发核心(Servlet) 上

韩老师学生 官网文档为什么会出现Servlet什么是ServletServlet在JavaWeb项目位置Servlet基本使用Servlet开发方式说明快速入门- 手动开发 servlet浏览器请求Servlet UML分析Servlet生命周期GET和POST请求分发处理通过继承HttpServlet开发ServletIDEA配置ServletServlet注意事项和细节 Servlet注