CDS视图篇 2

核心数据服务 (CDS)

公司希望使用 SAPS/4HANA 核心数据服务 (CDS) 视图技术。需要学习 CDS 视 图的概念和结构以及语法 。

  1. ● 核心数据服务是用于业务实体的 SAP 战略建模方法。
  2. ● SAP HANA 视图通过脚本式 ABAP 代码创建。
  3. ● CDS 对于更多用例(例如,搜索)而言是高度灵活的 。
  4. ● CDS 是脚本式的(含有扩展的 SQL)。
  5. ● CDS 与 ABAP 完全集成:生命周期、权限管理等。

ABAP中的 CDS 支持代码下推到数据库层,通过ABAP 中的 “视图实体” 简化关系数据

模型的消耗。现在,您可以从语义上定义集成到 ABAP 字典的 DDL 源对象中的丰富数据模型 。

通过开放式 SQL 中未提供的扩展视图功能(如 UNION、UNION ALL和关联)支持代码下推。

支持一个视图使用另一个视图的嵌套视图。可以在 WHERE 子句以及表达式中定义和使用视图实体

之间的关联。 CDS完全集成到 ABAP基础架构,同事可在视图实体上使用开放式 SQL。

ABAP CDS 可用于所有数据库 。与 ABAP 字典中定义的现有数据库表和视图相比 ,这些模型的实体提供 了增强访问功能 ,使其可优化基于开放式 SQL 的应用程序。

DDL 源和 CDS 实体的最佳部分是它们可由 ABAP 进行管理。这表示 CDS 实体的整个生命周期由 ABAP 变更与传输系统 (CTS) 进行控制。

Eclipse中的 ABAP 新功能包括:

  1. DDL 源文件创建
  2. 定义视图
  3. 数据源连接
  4. 聚合和 SQL 函数
  5. 语义丰富的数据模型
  6. 可扩展性

数据定义语言 (DDL) 语法规则

表 1: 数据定义语言 (DDL) 语法规则

关键字
  • 必须全部大写、全部小写或小写但首字母大写 。不允许其他大小写混合形 式。
名称
  • 名称不区分大小写 。
  • 名称最多可以有 30 个字符。
  • 名称可由字母、数字、下划线 (_) 和斜线 (/) 组 成。
  • 名称必须以字母 、斜线或下划线开头 。根据关联的命名规则 ,建议使用下划 线。使用句点 (.) 分隔含有多个部分的名称 。
  • 含有多个部分的名称可以是路径 、具有前缀数据源的列和注释 。
  • 以下 CDS 关键字不得用作名称 :ALL、AND、AS、ASSOCIATION 、 AVG 、CASE、CAST 、CROSS、COUNT、DISTINCT 、EXISTS 、EXTEND、FROM、FULL、GROUP、HAVING 、INNER、JOIN、KEY、 LEFT、MAX、MIN、NOT、NULL、ON、OR、ORDER、RIGHT、SELECT、SUM、UNION、VIEW、WHEN、WHERE
文 字
  • 数字文字必须始终完整指定 ,如有需要可使用小数点 (.) 作为十进制分隔 符。字符文字必须括在单引号 (‘) 中。
注释
  • 两个斜杠 (//) 或两个连字符 (--) ,直到该行结束。使用字 符 /* 和 */ 括起行内或跨多个行的注释 。
分隔符
  • 可使用分号 (;) 结束语句。这是可选的。
保护字
  • 特定关键字受到保护 ,无法用作自定义名称 。
  • 无法使用的预留名称在数据库表 TRESE中指定。

注意:

● 由于一部分 CDS 源代码当前仅包含一个语句 ,因此语句后的结束分号是可选的 。

● SELECT、select和 Select均是指定关键字的有效方式 。另一方面,seLect 和 SeLect会生成语法错误 。

● MYVIEW、myview和 myView均表示同一操作数 。

● 0.5 是有效的数字文字 ,但 .5 不是。

有关常规 ABAPCDS 语法规则的详细信息 ,

可参阅此处:https://help.sap.com/ abapdocu_750/en/abencds_general_syntax_rules.htm

语言要素 含义
DEFINE VIEW ...AS 定义 CDS 视图
WITH PARAMETERS 定义 CDS 视图的输入参数
SELECT [DISTINCT] ...FROM CDS 视图的 SELECT 语句
INNER JOIN ...ON SELECT 语句的内部连接
LEFT|RIGHT OUTER JOIN ...ON SELECT 语句的外部连接
ASSOCIATION ...TO ...AS ...ON 在 SELECT 语句中定义路径表达式的关联
1: 路径表达式的属性
INNER ...WHERE 路径表达式的属性
LEFT OUTER ...WHERE 路径表达式的属性
KEY ...AS SELECT 清单要素
$EXTENSION.* SELECT 清单中的增强要素
WHERE ... SELECT 语句的 WHERE 子句
GROUP BY ... SELECT 语句的 GROUP-BY 子句
HAVING ... SELECT 语句的 HAVING 子句
UNION ALL ... SELECT 语句的 UNION 子句
   

数据定义语言 (DDL) 语法规则 - 表达式

运算符 含义
MAX、MIN、AVG、SUM、COUNT SELECT 语句中的聚合表达式
+、-、*、/ 运算符
CASE、WHEN、THEN、ELSE、END 条件区分
CAST SELECT 语句中的转型表达式
=、<>、<、>、<=、> =、BETWEEN、LIKE、 IS NULL、NOT、AND、OR SELECT 语句中的关系表达式
   

数据定义语言 (DDL) 语法规则 - 预定义函数

函数 含义
ABS、CEIL、DIV、DIVISION、FLOOR、 MOD、ROUND SELECT 语句中的数字函数
CONCAT 、CONCAT_WITH_SPACE 、 INSTR 、LEFT、LENGTH、LPAD 、LTRIM 、 REPLACE、RIGHT、RPAD 、RTRIM、SUBSTRING SELECT 语句中的字符串函数
BINTOHEX、HEXTOBIN SELECT 语句中的字节字符串函数
COALESCE SELECT 语句中的合并函数
UNIT_CONVERSION、CURRENCY_CONVERSION、DECIMAL_SHIFT SELECT 语句中的转换函数

DATS_IS_VALID、

DATS_DAYS_BETWEEN、

DATS_ADD_DAYS、

DATS_ADD_MONTHS

SELECT 语句中的日期函数
TIMS_IS_VALID SELECT 语句中的时间函数

TSTMP_IS_VALID、

TSTMP_CURRENT_UTCTIMESTAMP、

TSTMP_SECONDS_BETWEEN、

TSTMP_ADD_SECONDS

SELECT 语句中的时戳函数
   

有关 ABAPCDS 语言要素的详细信息 ,可参阅此处:https://help.sap.com/ abapdocu_750/en/abencds_language_elements.htm

数据定义语言 (DDL) 语法规则 - 关键字和附加 语言要素 含义

语言要素 含义
EXTEND VIEW ...WITH 通过 CDS 视图增强增强 CDS 视图

有关 ABAPCDS 语言要素的详细信息 ,可参阅此处:https://help.sap.com/ abapdocu_750/en/abencds_language_elements.htm

原文地址:https://www.cnblogs.com/rainysblog/p/11723297.html

时间: 2024-10-08 21:52:41

CDS视图篇 2的相关文章

CDS视图篇 1

CDS视图概览 CDS是Core Data Services的简称,是HANA数据库向上层ABAP应用层提供数据的一种高效的方式,CDS模型是基于数据库data definition language[DDL] and data control language[DCL]构建的. 可以在Eclipse 里面取数到DDL视图中,然后在SAP写程序到视图中取数展示, 可以很好提升报表查询效率   示例:ZMMV0002_DDL  采购价格清单视图(ZMMR0030采购信息记录) @EndUserTe

教程:基于访问控制的ABAP CDS视图权限

Hi! 对每一个CDS视图,我们都可以通过DCL(Data Control Language)定义访问控制.在这篇文章中,我会介绍ABAP CDS视图中非常重要的一面:权限管理. 本文的阐述基于我正在使用的S4/HANA 1610 on NW 7.51. 内容分为五个部分: 标准示例的访问控制. 基于PFCG权限创建一个简单的例子. 带有CUBE数据类别的CDS分析视图. CDS分析查询视图的访问控制. 权限对象的并集(UNION)或者交集(INTERSECTION). 本文链接:http://

自定义控件三部曲视图篇(三)——瀑布流容器WaterFallLayout实现

前言:只要在前行,梦想就不再遥远 系列文章: Android自定义控件三部曲文章索引:http://blog.csdn.net/harvic880925/article/details/50995268 前面两节讲解了有关ViewGroup的onMeasure.onLayout的知识,这节我们深入性地探讨一下,如何实现经常见到的瀑布流容器,本节将实现的效果图如下: 从效果图中可以看出这里要完成的几个功能: 1.图片随机添加 2.在添加图片时,总是将新图片插入到当前最短的列中 3.每个Item后,

ASP.NET MVC学习之视图篇(2)

继ASP.NET MVC学习之视图(1)学习 4.HTML辅助器 虽然在ASP.NET MVC中我们已经摆脱了ASP.NET的控件,但是对于页面中需要循环标签的情况依然还是存在,可能很多人认为用foreach就可以完成,但是这个仅仅只是针对单个循环,如果多个循环中都要使用到同样的标签呢?下面笔者就介绍两种方式让我们事半功倍. 首先是针对单个页面的内联辅助器,如果我们遇到只要在单个页面中不断使用的标签的时候,这个方式非常的轻便,比如下面的代码根据文本内容和样式类生成li标签的辅助器(Views/H

Android应用性能优化系列视图篇——隐藏在资源图片中的内存杀手

图片加载性能优化永远是Android领域中一个无法绕过的话题,经过数年的发展,涌现了很多成熟的图片加载开源库,比如Fresco.Picasso.UIL等等,使得图片加载不再是一个头疼的问题,并且大幅降低了OOM发生的概率.然而,在图片加载方面我们是否可以就此放松警惕了呢? 开源图片加载库能为我们解决绝大部分有关图片的问题,然而并不是所有! 首先,图片从来源上可以分成三大类:网络图片.手机图片.APK资源图片.网络图片和手机图片都在图片加载库功能的覆盖范围内,基本上不用开发者太操心,但是APK资源

CI框架篇之视图篇--载入(1)

创建视图 创建视图文件很简单,只需要建立后缀名为'.php'的文件, 然后保存文件到 application/views/ 文件夹即可 当然,随着工程的大小,你有必要对很多的视图根据控制器进行归类, 然后分不同的文件夹存储: 例如: application/views/home   表示定义的前台主视图 application/views/admin   表示定义的后台主视图 载入视图 一个视图就是一个网页,或是网页的部分,如头部,底部,侧边栏等等.事实上,如果你需要 这种层次类型,视图可以很灵

使用ABAP CDS视图创建服务

介绍本文介绍使用ABAP Core Data Services创建OData服务的最快方法. 给出了有关@ OData.publish注释利用率,对数据源CDS实体的引用和从DDIC结构导入的详细信息. 自定义透明表数据上显示的创建,更新和删除操作只是为了简化文章,而不是将重点从OData服务创建转移到业务流程需求实现. “R”类型OData服务创建. 在ABAP CDS中使用@ OData.publish注释我们假设我们有下列数据表(可能在自定义命名空间中,只是为了简化演示案例并仅关注ODat

ASP.NET MVC学习之视图篇(1)

一.前言 不知道还有多少读者从第一篇开始一直学习到如今,笔者也会一直坚持将ASP.NET MVC的学习完美的结束掉,然后开始写如何配合其他框架使用ASP.NET MVC的随笔.当然笔者后面的随笔如果没有特殊说明使用的都是ASP.NET MVC 4,因为笔者认为只要精通即可. 二.正文 1.自定义视图引擎 相信很多人都知道在控制器中一个动作方法返回一个View之后,ASP.NET MVC默认会到Views下对应的控制器名的文件夹下寻找和这个动作方法同名的视图(如果你指定了视图名则会按照你指定的视图

自己定义控件三部曲视图篇(一)——測量与布局

前言:生命总是要有信仰,有梦想才干一直前行.哪怕走的再慢,也是在前行. 相关文章: <Android自己定义控件三部曲文章索引>:http://blog.csdn.net/harvic880925/article/details/50995268 今天给大家讲讲有关自己定义布局控件的问题,大家来看这样一个需求,你须要设计一个container,实现内部控件自己主动换行.即里面的控件能够依据长度来推断当前行是否容得下它,进而决定是否转到下一行显示.效果图例如以下 在上图中,全部的紫色部分是Flo