当前位置: 首页 > news >正文

SAP Business Application Studio(BAS)中开发Fiori App的基础知识

1. SAP Fiori Tools

SAP Fiori Tools是一套用于支持SAP Fiori应用开发的工具,包括应用模板、可视化编辑器、代码生成、应用预览和集成测试工具等。这些工具可以帮助开发者更快速、更简单地创建和维护SAP Fiori应用。SAP Fiori Tools 可与SAP的开发环境(例如SAP BAS)和部署环境(例如SAP BTP)无缝集成。

SAP Fiori Tools支持了Fiori App的整个开发周期,包括项目生成,本地测试(运行应用、从后台抓取数据、app-to-app的导航测试)以及最终的部署。Fiori Tools也支持VS Code和命令行访问。

对于开发者而言,开发一个连接SAP数据源的Fiori应用程序有两种方式:一种是基于SAP Fiori Element,另一种是SAP Fiori Freestyle。

1.1 SAP Fiori Element

SAP Fiori元素为开发人员提供了一系列的预定义模板,我们可以直接使用标准模板开发应用程序,这样不仅可以提高开发效率,还可以统一用户体验。

使用SAP Fiori元素时,用户前台界面UI的实现是基于OData服务和注释的,不需要JavaScript UI编码。SAP Fiori元素运行时,会解释底层OData服务的元数据和注释,并在启动时为SAP Fiori应用程序自动生成相应的视图。

1.2 SAP Fiori freestyle

SAP Fiori freestyle是开发SAP Fiori应用程序的另一种选择。通过使用SAP Fiori自由式模板,开发人员可以灵活地基于OData服务和JavaScript UI编码创建自定义应用程序。

2. UI5 CLI (命令行界面)

SAPUI5 CLI 是UI5工具套件的一部分, UI5 CLI 提供了一系列的命令工具,这些命令可以帮助开发者更有效地创建和管理SAP UI5项目。在实际开发中,可以使用SAP Fiori Tools来创建和设计应用,然后使用UI5 CLI来构建和部署应用。

SAP UI5 CLI的配置是在ui5.yaml中完成的,额外的配置会存储在例如ui5-local.yaml或ui5-cli.yaml中。

配置文件中的 fiori-tools-proxy : 是指代理到后台系统;fiori-tools-appreload 是指当发生代码改动后自动重新加载。

3. 应用信息

创建或克隆了一个Fiori Element项目时,BAS会自动打开应用信息界面Application Info。在这个界面上可以看到项目的详细信息(项目类型、SAPUI5版本等),状态信息(项目的依赖信息),以及一些建议的action。

可以通过命令面板的 Fiori: Open Application Info 命令打开这个页面。

4. 运行一个Fiori App

运行Fiori App可以通过以下几种方式:

  • 运行配置Run Configuration 
  • 通过UI运行NPM脚本
  • 通过terminal运行NPM脚本
  • 通过terminal直接调用

可以使用Application Info > Preview Application 选项来列出所有的运行选项,然后通过 start* 筛出来运行app的NPM脚本。

5. 运行时配置Run Configurations 

Run Configurations 功能允许你定义和管理应用程序的配置, 这些配置可以包括启动脚本、环境变量、命令行参数等, 它本质上是运行了以下命令:

npx fiori run --open filename.html

创建一个新的配置可以有以下设置:

  1. 配置的名称
  2. 文件名:选择用于启动应用程序的html文件
  3. 模拟数据Mock Data: 使用一个mock server来模式Odata请求服务
  4. 支持助手:检查这个应用程序的构建是否符合构建SAPUI5应用程序的最佳实践
  5. URL 组件:为SAP Fiori Launchapd上基于网络的app间导航(app-to-app)定义额外的URL参数
  6. 高级设置:定义使用的SAPUI5版本或应用使用的目标系统destination

你可以通过点击 "Run" 或 "Debug" 按钮来运行或调试你的应用程序。SAP BAS将使用你定义的运行配置来启动你的应用程序。

相关运行设置是存储在<workspace>/.vscode/launch.json 文件中的,开发人员可以定义多个可运行的配置文件。

6. NPM脚本

NPM (node package manager)是node.js的包管理工具, 用于管理node.js项目以及其依赖关系。Fiori Tools的内核是基于node.js的运行环境的,因而,每一个Fiori项目其实也会被管理成一个npm项目。

每一个Fiori项目其实也会被管理成一个npm项目。

NPM脚本(NPM scripts)是在package.json文件中定义的一组命令,这些命令可以帮助你自动化开发流程中的一些常见任务,如构建、测试、部署等(见下图的scripts)。我们也可以从管理器Explorer中的NPM Scripts View或通过terminal来启动NPM脚本。

以下是使用NPM脚本的一般步骤:

1. 在package.json文件中定义脚本:

在package.json文件的scripts字段中,你可以定义你需要的脚本。例如,你可以定义一个start脚本来启动你的应用,或者定义一个test脚本来运行你的测试。
{
  "name": "my-app",
  "version": "1.0.0",
  "scripts": {
    "start": "node app.js",
    "test": "mocha tests/"
  }
}

2. 运行脚本:

定义好脚本后,你可以通过npm run命令来运行这些脚本。例如,你可以运行npm run start来启动你的应用,或者运行npm run test来运行你的测试。注意,对于start和test这两个特殊的脚本,你也可以直接运行npm start和npm test,而不需要加run。

7. 端口预览(port preview)

在SAP BAS中端口(port)是一个重要的概念, 它是用于网络通信的一个接口,可以被应用程序用来接收或发送数据

在SAP BAS中,每个Dev Space都有一组专用的端口,这些端口可以被Workspace中的应用程序使用。例如,你可以在开发工作空间中启动一个Web服务器,然后通过一个特定的端口来访问这个服务器。

SAP BAS的端口功能有以下几个主要特点:

  • 自动端口转发:当你在工作空间中启动一个服务时,SAP BAS会自动为这个服务分配一个端口,并将这个端口转发到你的本地机器。这意味着你可以在本地浏览器中通过这个端口来访问你的服务。
  • 端口管理:SAP BAS提供了一个端口管理面板,你可以在这个面板中查看和管理你的端口。例如,你可以查看哪些端口正在被使用,或者手动添加新的端口转发。
  • 安全性:为了保证安全,SAP BAS只允许工作空间内的服务访问这些端口

在命令面板中输入Ports: Preview命令,列出所有正在运行的应用程序及其端口。

8. 示例:通过terminal运行Fiori App

Step1: 安装所有的依赖 npm install

Step2: 启动npm脚本,npm run start

Step3: 在不同的SAPUI5版本下运行应用程序

通过不同Run Configurations中的配置,可以选择SAPUI5的版本。

9. 参考资料:

  •  SAP Fiori tools | SAP Help Portal
  •  UI5 CLI - UI5 Tooling (sap.github.io)
  •  SAP Help Portal for BAS

  •  SAP Community for BAS

相关文章:

SAP Business Application Studio(BAS)中开发Fiori App的基础知识

1. SAP Fiori Tools SAP Fiori Tools是一套用于支持SAP Fiori应用开发的工具&#xff0c;包括应用模板、可视化编辑器、代码生成、应用预览和集成测试工具等。这些工具可以帮助开发者更快速、更简单地创建和维护SAP Fiori应用。SAP Fiori Tools 可与SAP的开发环境&#xff08;…...

DashScope - 阿里模型服务灵积

文章目录 关于 DashScope快速上手代码调用http 请求示例Python 调用 关于 DashScope 官方主页&#xff1a;https://dashscope.aliyun.comPYPI : https://pypi.org/project/dashscope/支持模型&#xff1a;https://dashscope.console.aliyun.com/model DashScope灵积模型服务建…...

个人信息-求职[web前端]

我有近近10年开发及6年的管理经验Web前端,所负责的技术团队经历了 Web 前端几代技术变革&#xff0c;参与了几乎&#xff0c;在性能优化、开发效率、所有前端相关项目工程化架构选型上都有丰厚的产出。在上家致力于数据安全前端的相关工作&#xff0c;专注于Vue.js技术栈来推进…...

Apache DolphinScheduler 社区开启讲师招募,赶快加入吧!

随着Apache DolphinScheduler在全球范围内的快速发展&#xff0c;我们的用户群体和社区活动也在不断扩大。 为了进一步丰富我们的社区内容&#xff0c;分享更多有价值的知识和经验&#xff0c;我们诚挚地邀请您加入我们&#xff0c;成为Apache DolphinScheduler社区的分享嘉宾。…...

【HTML面试题】src和href的区别

一、请求资源不同 src 在请求资源时&#xff0c;会把这个资源下载下来href 建立链接通道&#xff0c;也就是引用元素和当前文档建立链接 二、作用结果不同 src 会替换当前元素href 只是引用资源和当前元素建立链接&#xff0c;所以不会替换当前内容。 三、浏览器解析方式不…...

电脑文件msvcp100.dll丢失原因,如何快速修复msvcp100.dll

电脑文件msvcp100.dll丢失原因&#xff0c;最近有朋友在问这个&#xff0c;显然会问这个的人&#xff0c;一般都是遇到了msvcp100.dll丢失的问题了&#xff0c;今天我们就来详细的给大家说说msvcp100.dll这个文件吧&#xff0c;我们只有了解了msvcp100.dll这个文件&#xff0c;…...

安装OneNote for Win10 | Win10/Win11

前言 PC端的OneNote分为2个版本&#xff0c;分别是Microsoft Store版本和Office版本&#xff0c;Microsoft Store版本即为OneNote for Win10&#xff0c;此版的OneNote有最近笔记功能&#xff0c;但检索功能不如Office版本&#xff0c;个人认为2个版本各有优劣。 但OneNote f…...

力扣242. 有效的字母异位词

思路&#xff1a;字母相互抵消的思路&#xff0c;本题字符串中只包含小写字母26位&#xff0c;那就新建record数组int[26]&#xff0c;下标0-25&#xff0c;代表小写字母a-z, 需要通过 某字符减a 来达到这一目的&#xff1b; class Solution {public boolean isAnagram(String…...

windows server 下的mysql 8.0.28修改数据库目录

1. 查看当前数据库存储位置 show global variables like %datadir%; 默认是&#xff1a;C:\ProgramData\MySQL\MySQL Server 8.0\Data 2. 修改 C:\ProgramData\MySQL\MySQL Server 8.0\my.ini配置文件。如下&#xff1a; datadirD:/ProgramData/MySQL/MySQL Server 8.0/Dat…...

【Excel自动化办公】使用openpyxl对Excel进行读写操作

目录 一、环境安装 1.1 创建python项目 1.2 安装openpyxl依赖 二、Excel数据读取操作 三、Excel数据写入操作 3.1 创建空白工作簿 3.2 写数据 四、设置单元格样式 4.1 字体样式 4.2 设置单元格背景填充色 4.3 设置单元格边框样式 4.4 单元格对齐方式 4.5 数据筛选…...

大龄女程序员脱单指南:如何科学评估你的Mr. Right?(含C语言代码示例)

大龄女程序员脱单指南&#xff1a;如何科学评估你的Mr. Right&#xff1f; 在这个快节奏、高压力的时代&#xff0c;女程序员们时常在代码的世界里游走&#xff0c;却可能在现实的情感世界里感到迷茫。尤其是对于那些步入“大龄”行列的女程序员来说&#xff0c;脱单似乎成了一…...

深入剖析Java并发库(JUC)之StampedLock的应用与原理

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在现代多核处理器架构下&#xff0c;并发编程成为提升程序性能的关键手段。Java作为一门广泛使用的编程语言&#xff0c;提供了丰…...

【PMP】每日一练2

项目生命周期与开发生命周期 项目生命周期开发生命周期 项目生命周期 项目生命周期&#xff1a;描述项目从开始到结束所经历的一系列阶段。 项目生命周期类型&#xff1a; 预测型&#xff1a;也称瀑布型生命周期。在生命周期的早期阶段就确定了项目的范围、时间、成本。客户需…...

2024年投影仪显示技术怎么选?哪个好?优缺点详解,买前必看

日前&#xff0c;华为海思LCoS激光投影技术引发了众多关注&#xff0c;该技术的面世&#xff0c;或将在投影行业掀起新的浪潮&#xff01;众所周知&#xff0c;目前主流的显示技术主要是DLP、3LCD和1LCD几种。那么&#xff0c;这几种技术之间到底有什么区别&#xff1f;下面就带…...

Git Bash命令初始化本地仓库,提交到远程仓库

git init&#xff1a;初始化空仓库 // 初始化一个空仓库或者重新初始化一个存在的仓库 git init git remote // 为当前本地仓库添加一个远程仓库地址 git remote add origin https://gitee.com/xxx/demo.git git pull // 从设置好链接的远程仓库拉去已经存在的数据&#xff0c;…...

Docker 学习笔记一

一、什么是docker Docker 是一个基于轻量级虚拟化技术的容器&#xff0c;整个项目基于Go语言开发&#xff1b;Docker是一个C/S架构&#xff0c;后端众多模块各司其职&#xff0c;docker的daemon是运行在主机上通过client可以进行通信。 docker 由三部分组成&#xff1a;镜像(…...

Git一点通

1.Git的优势 Git是一个伟大的版本管理工具&#xff0c;比之svn&#xff0c;具有以下优势&#xff1a; 分布式版本控制&#xff1a;Git是一种分布式版本控制系统&#xff0c;每个开发者都拥有自己的完整代码库&#xff0c;不需要依赖网络连接就可以进行版本控制、合并和提交操作…...

商标转让有哪些好处 商标转让条件 商标转让流程

商标转让是企业之间转让商标权益的一种交易方式。它在商业运作中扮演着重要的角色&#xff0c;对于企业的发展和战略布局都有一定的影响。 商标转让的好处&#xff1a; 1、商标价值变现&#xff1a;企业在商标注册过程中投入了大量的时间和精力&#xff0c;通过转让可以将商标…...

诺视科技完成亿元Pre-A2轮融资,加速Micro-LED微显示芯片商业化落地

近日&#xff0c;Micro-LED微显示芯片研发商诺视科技&#xff08;苏州&#xff09;有限公司&#xff08;以下简称“诺视科技”&#xff09;宣布完成亿元Pre-A2轮融资&#xff0c;本轮融资由力合资本领投&#xff0c;老股东盛景嘉成、汕韩基金以及九合创投持续加码&#xff0c;这…...

Unity定时播放音乐

一、需求 需要定时在早上8:50&#xff0c;中午12:00&#xff0c;下午13:10定时播放音乐 二、实现步骤 依次在unity创建背景图、主文字提示、时间文字提示、音量控制器及音量文字提示、退出按钮、播放按钮&#xff0c;暂停按钮 在Canvas下创建一个Script脚本&#xff1a;获取…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...