几年前翻译过CDS的相关文章,部分内容已经过时,比如当时的DDIC CDS在7.55以后已经沦为obsolete,在新版本中,开发者应使用DEFINE VIEW ENTITY而非DEFINE VIEW.

这里按新文档更新一下,本文主要基于谷歌翻译,稍微调整了不通顺的文本。

ABAP Core Data Services (ABAP CDS) 是  CDS 概念在ABAP应用服务器(AS ABAP)的实现。 ABAP CDS 允许开发者在 AS ABAP 的标准数据库上定义语义数据模型,并支持使用行为模型的 ABAP RAP(ABAP RESTful Programming Model)。 ABAP CDS 中定义的数据模型的实体提供了比以前的 DDIC 数据库表和 ABAP 字典中定义的 DDIC 视图更强的访问功能,从而可以优化基于 ABAP SQL 的应用程序。 如果 AS ABAP 使用 SAP HANA 数据库,情况尤其如此,因为它的内存特性可以得到最佳利用。 ABAP RAP 既基于 ABAP CDS 中定义的数据模型,也基于对服务和行为建模的特殊 CDS 对象。

参考:ABAP RESTful Programming Model

在CDS源代码中使用ABAP CDS提供的CDS DDL(数据定义)、CDS SDL(服务定义)、CDS BDL(行为定义)和CDS DCL(访问控制)以CDS对象的形式定义数据模型和行为模型。 CDS annotations可用于定义 CDS 对象的元数据。 使用 CDS 模式表示法 (CSN) 可以在 ABAP CDS 数据模型和不同平台上的数据模型之间进行数据交换。 CSN 是一种用于数据模型之间数据交换的数据格式,例如,它可用于在 ABAP CDS 和 HANA CDS 之间交换元数据。

CDS 注释

CDS 注释将元数据添加到 CDS 对象。注释可以在 DDL 源代码、SDL 源代码和 DCL 源代码中指定,并外包给元数据扩展。注释定义可用于将注释本身创建为 CDS 对象。注释定义规定了如何使用注释。 CDS 数据定义 CDS 数据定义是使用 DDL 源代码中的 ABAP CDS 的 CDS DDL 创建的。它们定义了以下 CDS 实体,这些实体可以作为 ABAP 程序中的数据类型访问,也可以作为读取 ABAP SQL 语句的数据源访问。 CDS 视图实体

使用 SQL 访问其他数据源,并可以使用注释以丰富语义的 CDS 实体。

CDS 投影视图

基于 CDS 视图和投影其元素子集的 CDS 实体。

CDS 表函数

在 AMDP 函数中实现的 CDS 实体。

CDS 层次结构

从数据源创建 SQL 层次结构的 CDS 实体。

CDS 自定义实体

手动实现运行时的数据模型的 CDS 实体。

CDS 抽象实体

仅描述类型属性且未实例化任何数据库对象的 CDS 实体。

基于 CDS DDIC 的视图(过时)

使用 SQL 访问其他数据源并可以使用注释在语义上进行丰富的 CDS 实体。这些实体在技术上基于字典对象,并从 7.55 版开始被不再基于字典对象的 CDS 视图实体所取代。 ABAP CDS 中的 CDS DDL 还包含用于增强 CDS 实体的语言元素。

CDS 调整对象

CDS 对象的 CDS 调整对象定义可以单独传输的技术设置和调整。

CDS RAP 对象

ABAP RAP的数据和行为模型是基于CDS实体和SDL源代码或BDL源代码中使用CDS SDL和CDS BDL创建的特殊CDS RAP对象:

CDS 服务定义:为业务服务公开 CDS 实体的 CDS RAP 对象。

CDS 行为定义:定义 RAP 业务对象 (RAP BO) 行为的 CDS RAP 对象。

CDS 访问控制

CDS 访问控制基于 CDS 角色,这些角色在 DCL 源代码的 CDS DCL 中定义。当访问分配有 CDS 角色的 CDS SQL 实体时,默认情况下会评估其他访问条件。 CDS 系统实体 CDS 系统实体是在 ABAP CDS 和 ABAP SQL 中常用的预定义 CDS 实体。

提示

CDS 对象是使用 CDS 源代码传输的。实际对象,如在 DDL 源代码中使用 CDS 数据定义定义的 CDS 实体,是在传输后通过在目标系统中激活而创建的。 CDS 源代码只能在基于 Eclipse 的 ABAP 开发工具 (ADT) 中进行编程。数据定义语言 (DDL)、服务定义语言 (SDL)、行为定义语言 (BDL) 和数据控制语言 (DCL) 有不同的编辑器。 ADT 文档描述了如何使用这些编辑器。 CDS 源代码也可以显示在 ABAP Workbench 的存储库浏览器中。

除了 ABAP CDS,HANA CDS 目前作为 CDS 概念的另一种变体存在。 HANA CDS 仅适用于 SAP HANA 数据库。 HANA CDS 中的实体是使用特定于 HANA 的工具(例如用于 SAP HANA 的 SAP Web IDE)开发的,而不是使用 ABAP 开发工具 (ADT)。

 

ABAP CDS 在7.55有比较大的更新的更多相关文章

  1. HANA CDS与ABAP CDS

    如果你在网络或者SCN上面搜索CDS,即SAP的Core Data Services,你会很容易地找到类似“Core Data Services(CDS)是一个在SAP HANA中用于定义和消费富语义 ...

  2. 使用PlanViz进行ABAP CDS性能分析

    如管理学学者彼得·德鲁克所说:你无法管理你不能衡量的东西( If you can't measure it, you can't manage it).要对已有程序进行性能优化,首先要对它的运行状况做 ...

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

    Hi! 对每一个CDS视图,我们都可以通过DCL(Data Control Language)定义访问控制.在这篇文章中,我会介绍ABAP CDS视图中非常重要的一面:权限管理. 本文的阐述基于我正在 ...

  4. CDS测试框架介绍:如何为ABAP CDS Entities写测试

    动机 现在大家都知道单元测试对我们代码的好处.并且我们都承认它是开发过程中不可或缺的一部分.但是在把代码切换到数据库的模式下的时候,我们被粗暴地打回了软件测试的黑暗年代...我们现在面临着逻辑下推到A ...

  5. ABAP CDS Table Function介绍与示例

    Core data services(以下简称CDS)可以指两样东西,一个是HANA CDS,一个是ABAP CDS. 如我们所知,HANA CDS只支持HANA数据库,ABAP CDS理论上支持多种 ...

  6. 【ABAP CDS系列】ABAP CDS中的系统信息

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP CDS系列]ABAP CDS中的系统 ...

  7. ABAP CDS 替换对象(Replacement Objects)引起的数据错误

    最近遇到了一个诡异的问题:从CDS视图中取得的数据,和从透明表中取得的数据,会有不同的值.在这里记录下问题的表现和解决方案,以供参考. 系统版本:S/4HANA OP1610 涉及表:MCHB 本文链 ...

  8. 使用ABAP CDS视图创建服务

    介绍本文介绍使用ABAP Core Data Services创建OData服务的最快方法. 给出了有关@ OData.publish注释利用率,对数据源CDS实体的引用和从DDIC结构导入的详细信息 ...

  9. ABAP CDS ON HANA-(11)ABAP CDSでの関連付け

    Association in ABAP CDS An association in CDS view joins different data sources. Defining and using ...

  10. ABAP CDS ON HANA-(5)テーブル結合ビュー

    JOINs in CDS View In ABAP CDS, Join between two data sources is allowed. Allowed joins are:- Inner J ...

随机推荐

  1. NPM包管理器

    一.简介 1.NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的:也是Node.js的包管理工具,相当于Maven. ...

  2. verilog之时钟信号的编写2

    verilog之时钟信号的编写2 1.时钟信号的特点 时钟信号除了可以根据时序一个个变化列举出来,还可以利用其循环的变化的特点,使用循环执行语句always来实现.这种方法实现的时钟信号可以一直执行且 ...

  3. 基于vivado中AXI的模型分析

    基于vivado中AXI的模型分析 1.底层代码 `timescale 1 ns / 1 ps module myip_v1_0_S00_AXI # ( // Users to add paramet ...

  4. 京东一面挂在了CAS算法的三大问题上,痛定思痛不做同一个知识点的小丑

    写在开头 在介绍synchronized关键字时,我们提到了锁升级时所用到的CAS算法,那么今天我们就来好好学一学这个CAS算法. CAS算法对build哥来说,可谓是刻骨铭心,记得是研二去找实习的时 ...

  5. #最大密度子图,0/1分数规划#UVA1389 Hard Life

    题目 \(n\) 个点,\(m\) 条边的一个无向图,问导出子图的边数除以点数的最大值 分析 考虑二分这个答案,也就是0/1分数规划之后转换成 \(E-mid*V>0\) 这个问题虽然可以精确到 ...

  6. #分治,Kruskal#洛谷 3206 [HNOI2010]城市建设

    题目 动态改边权求最小生成树 \(n\leq 2*10^4,m\leq 5*10^4,q\leq 5*10^4\) 分析 乍一看是线段树分治,但有一个很大的问题就是局部的Kruskal不一定是最后的选 ...

  7. el-table边框颜色修改—骨灰级

    一.前言说明 1. 网上很多都是通过上下左右边框方式,如: .el-table { border-bottom: 1px solid black; border-right: 1px solid bl ...

  8. 【译】新的 MSBuild 编辑体验

    MSBuild 是 .NET 开发体验的基本组成部分,但它对新手和有经验的开发人员都具有挑战性.为了帮助开发人员更好地理解他们的项目文件,并访问需要直接编辑项目文件的高级功能,我们发布了一个实验性的 ...

  9. 一文带你详细了解HarmonyOS折叠屏设计规范!

    原文:https://mp.weixin.qq.com/s/G25IbfcX2Bq9s1IDPCELGw,点击链接查看更多技术内容. 随着新一代折叠屏手机HUAWEI Mate Xs 2发布,Harm ...

  10. CentOS下安装OpenSSH 5.8的三种方法【未测试】

    CentOS下安装OpenSSH 5.8的三种方法 Category : 工作学习 / Tags : centos, linux, openssh / Date : 2011.05.19 / 5,29 ...