SAP CAP篇五:为CAP添加Fiori Elements程序(2)

news2024/10/7 16:24:59

本文目录

  • 本系列之前的文章
  • 新建Fiori Elements Application
    • 选择Application Type
    • Data Source
    • Entity Selection
    • Project Information
    • Launchpad Setting
  • 修改`manage-books`文件夹
    • 子文件夹 `webapp`
    • 重命名 `annotations.cds`
    • 更新`fiori-service.cds`
    • `manifest.json`
  • 添加`services.cds`到`app`文件夹
  • 添加`xs-app.json`到`app`文件夹

本系列之前的文章

SAP CAP篇一:快速创建一个Service,基于Java的实现
SAP CAP篇二:为Service加上数据库支持
SAP CAP篇三:定义Model
SAP CAP篇四:为CAP添加Fiori Elements程序(1)

新建Fiori Elements Application

通过VS Code的Fiori Tools Extension来新建"Fiori Elements Application”。通过VS Code的"View"菜单,选择"Command Palette",选择"Fiori: Open Application Generator"。

选择Application Type

选择Application Type为"List Report Object Page"。
Fiori Application Generator 1

Data Source

然后,选择"Data Source"为"Use a Local CAP Project",然后选择CAP Project文件夹。然后选择OData Service。这里选择"AdminService"。
Fiori 2

Entity Selection

第三步,从OData Source中选择对应的Entity。
Fiori 3

Project Information

填充Project Information。
Fiori 4
其中,module name其实是folder名字。这里,需要“Add FLP configuration”。

Launchpad Setting

Fiori 5
这里需要定义Semantic Object和Action。在SAP CAP篇四:为CAP添加Fiori Elements程序(1)中,最后的appconfig的文件中,对应了这里的Semantic Object和Action。

 "manage-books": {
     "semanticObject": "Books",
     "action": "manage",
     "signature": {
       "parameters": {},
       "additionalParameters": "allowed"
     },
     "resolutionResult": {
       "applicationType": "SAPUI5",
       "additionalInformation": "SAPUI5.Component=manage-books",
       "url": "/manage-books/webapp"
     }
 }

修改manage-books文件夹

子文件夹 webapp

该子文件夹中,除了i18n之外的文件夹之外,别的子文件夹都可以删除。

需要删除的子文件夹:

  • annotations
  • localService
  • test

重命名 annotations.cds

annotations.cds重命名为fiori-service.cds

更新fiori-service.cds

添加一下Annotations到fiori-service.cds

using AdminService as service from '../../srv/admin-service';

annotate AdminService.Books with @odata.draft.enabled;
annotate AdminService.Books with @fiori.draft.enabled;


annotate AdminService.Books with @(
  UI: {
    SelectionFields: [ ID, price, currency_code ],
    LineItem: [
      {Value: title},
      {Value: price},
      {Value: currency.symbol, Label:' '},
    ]
  }
);

manifest.json

修改文件manifest.json,将dataSource的部分关于local annoation的部分删掉。

最后的dataSources如下:

"dataSources": {
   "mainService": {
     "uri": "/odata/v4/AdminService/",
     "type": "OData",
     "settings": {
       "odataVersion": "4.0"
     }
   }
},

添加services.cdsapp文件夹

app文件夹下添加services.cds

using from './manage-books/Fiori-service';

添加xs-app.jsonapp文件夹

app文件夹,添加xs-app.json

{
	"welcomeFile": "/app/fiori.html",
	"authenticationMethod": "route",
	"routes": [
	  {
		"source": "^/app/(.*)$",
		"cacheControl": "no-cache, no-store, must-revalidate",
		"target": "$1",
		"localDir": "./"
	  },
	  {
		"source": "^/appconfig/(.*)$",
		"localDir": "./",
		"authenticationType": "xsuaa"
	  }
  ]
}

到面前为止,app文件夹已经初步准备完毕。下一篇会讲如何在SAP CAP (Java)来打开app文件夹来模拟Fiori Launchpad效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/668180.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哈工大计算机网络课程传输层协议之:拥塞控制原理剖析

哈工大计算机网络课程传输层协议之:拥塞控制原理剖析 文章目录 哈工大计算机网络课程传输层协议之:拥塞控制原理剖析拥塞成因和代价:场景1拥塞成因和代价:场景2拥塞成因和代价:场景3如何进行拥塞控制拥塞控制的方法TCP…

哈工大计算机网络课程网络层协议之:网络层服务概述

哈工大计算机网络课程网络层协议之:网络层服务概述 文章目录 哈工大计算机网络课程网络层协议之:网络层服务概述网络层概述网络层核心功能—转发与路由网络层核心功能—连接建立网络层服务模型虚电路网络与数据报网络虚电路网络虚电路(VC)的具体实现VC转…

Web 渗透测试攻防之浅述信息收集

前言 众所周知渗透测试的本质是信息收集,在渗透测试中信息收集的质量直接关系到渗透测试成果的与否。在对系统进行渗透测试前的信息收集是通过各种方式获取所需要的信息,收集的信息越多对目标进行渗透的优势越有利。通过利用获取到的信息对系统进行渗透…

【前端布局篇】响应式布局 Bootstrap 移动端布局

前言 1. 布局介绍 布局:layout 对事物的全面规划和安排 页面布局:对页面的文字、图形或表格进行格式设置。包括字体、字号、颜色纸张大小和方向以及页边距等。 网页布局:利用html搭建结构与内容,使用CSS添加装饰 网页布局有很多种方式&a…

Flink 学习七 Flink 状态(flink state)

Flink 学习七 Flink 状态(flink state) 1.状态简介 流式计算逻辑中,比如sum,max; 需要记录和后面计算使用到一些历史的累计数据, 状态就是:用户在程序逻辑中用于记录信息的变量 在Flink 中 ,状态state 不仅仅是要记录状态;在程序运行中如果失败,是需要重新恢复,所以这个状态…

基于Django的疫情困扰下的民慧钢材销售分析及纾困策略-计算机毕设 附源码87656

基于Django的疫情困扰下的民慧钢材销售分析及纾困策略 摘 要 疫情之下,实体经济面临下行压力。2019年以来,新冠肺炎疫情卷土而来,各地地疫情防控形势严峻,许多中小微企业经营发展屡次遭受打击。面对疫情常态化的社会现实&#x…

[学习笔记] [机器学习] 13. 集成学习进阶(XGBoost、OTTO案例实现、LightGBM、PUBG玩家排名预测)

视频链接数据集下载地址:无需下载 学习目标: 知道 XGBoost 算法原理知道 otto 案例通过 XGBoost 实现流程知道 LightGBM 算法原理知道 PUBG 案例通过 LightGBM 实现流程知道 Stacking 算法原理知道住房月租金预测通过 Stacking 实现流程 1. XGBoost 算…

SPI协议(嵌入式学习)

SPI协议 概念时序SPI通信模式图四种通信模式 优缺点 概念 SPI(Serial Peripheral Interface)是一种串行外设接口协议,用于在数字系统之间进行通信。它被广泛应用于嵌入式系统和电子设备中,用于连接微控制器、传感器、存储器、显示…

Linux权限管理(超详解哦)

Linux权限 引言文件访问者的分类文件类型与访问权限文件类型访问权限 文件权限值的表示方法修改权限的指令chmod修改文件权限通过角色/-/权限来修改通过三个八进制数修改 chown修改所有者chgrp修改所属组umask修改或查看文件权限掩码文件创建时的权限 目录的权限粘滞位 总结 引…

【命令参数】SVN - 环境配置及常用命令参数

目录 环境配置 基本语法 参数指令 SVN是一款基于C/S架构的版本控制系统,能够实现对产品项目的版本托管以及对源码库的高效管理。而掌握SVN中的一些命令参数,一定程度上可以使日常效率得到进一步提升。 环境配置 为在调用时更加便捷,通常会…

我们如何实现业务操作日志功能?

1. 需求 我们经常会有这样的需求,需要对关键的业务功能做操作日志记录,也就是用户在指定的时间操作了哪个功能,操作前后的数据记录,必要的时候可以一键回退,今天我就为大家实现这个的功能,让大家可以直接拿…

哈尔滨工业大学计算机考研分析

关注我们的微信公众号 姚哥计算机考研 更多详情欢迎咨询 哈尔滨工业大学(A)考研难度(☆☆☆☆☆) 哈尔滨工业大学计算机考研招生学院是计算学部、计算学部(深圳)和计算学部(威海)…

C++完成烧烤节管理系统

背景: 这次我们结合今年淄博烧烤做一个餐厅管理系统,具体需求如下,我们选择的是餐饮商家信息管理 问题描述: 淄博烧烤今年大火,“进淄赶烤”是大家最想干的事情,淄博烧烤大火特火的原因,火的…

C语言之文件的读写(1)

前面三部分已经给大家介绍过了,网址发给大家方便大家复习 打开方式如下: 文件使用方式 含义 如果指定文件不存在 “r”(只读) 为了输入数据,打开一个已经存在的文本文件 出错 “w”(只写) 为了输…

文心一言眼里的Java世界

目录 一、Java基础教程系列二、先听听文心一言怎么说?三、话不多说,开干。1、要有一个正确的Java学习路线,做一个细致的Java学习规划。2、学习资料推荐3、书中自有黄金屋,书中自有颜如玉4、自学周期推荐5、效率为先6、哪吒的学习方…

Redis 数据分布优化:如何应对数据倾斜?

Redis 核心技术与实战 笔记 作者: 蒋德钧 在切片集群中,数据会按照一定的分布规则分散到不同的实例上保存。比如,在使用 Redis Cluster 或 Codis 时,数据都会先按照 CRC 算法的计算值对 Slot(逻辑槽)取模&a…

Hi3861开发第一节:环境搭建,并顺利完成编译

本次教程在纯Windows下环境搭建!!! 1.DecEco Device Tool下载和安装 步骤一:下载devicetool-windows-tool-3.1.0.400.zip版,下载网址:https://device.harmonyos.c om/cn/develop/ide#download 步骤二:解压…

Win10连接网络打印机提示0x0000052e?

Win10连接网络打印机提示0x0000052e?Win10电脑中用户连接网络打印机的时候,出现了错误代码0x0000052e,导致用户无法正常使用网络打印机,这时候用户可以通过卸载最新补丁、替换系统文件并修改注册表等方法来解决问题。 方法一&…

Spring6 i18n国际化

随着互联网的发展,越来越多的企业和个人开始关注全球化的需求。在这个背景下,多语言支持成为了一个重要的课题。Spring框架作为一款优秀的Java开发框架,提供了丰富的i18N支持,能帮助搬砖工快速实现多语言应用。 1、i18n概述 国际…