SAP ABAP CDS-01 ABAP CDS概述

ABAP CDS概述       

        ABAP核心数据服务(ABAP CDS)是AS ABAP(Application Server ABAP 的缩写,即 ABAP 应用服务器)通用CDS概念的平台独立实现。ABAP CDS使得在标准AS ABAP数据库上定义语义数据模型成为可能。与特定于SAP HANA的变体HANA CDS不同,ABAP CDS独立于数据库系统。与ABAP字典中定义的现有数据库表和视图相比,在ABAP CDS中定义的模型实体提供了增强的访问功能,从而可以优化基于ABAP SQL的应用程序。当AS ABAP使用SAP HANA数据库时,这一点尤其明显,因为它的内存特性可以以最佳方式实现。

        数据模型以CDS对象的形式定义,使用ABAP CDS提供的CDS DDL(Data Definition Language,即数据定义语言)和CDS DCL(Data Control Language,即数据控制语言),使用的是CDS源代码中的ABAP CDS语法。用这些语言定义的CDS对象被集成到ABAP字典中并在这里进行管理。CDS annotations可用于定义CDS对象的元数据。

CDS注释-CDS Annotations

        CDS annotation将元数据添加到CDS对象中。Annotations 可以在DDL源代码和DCL源代码中指定,并移动到元数据扩展中。Annotation definitions可用于将注释本身创建为CDS对象.Annotation definitions规定了如何使用注释。        

CDS数据定义-CDS Data Definitions

        CDS data definitions使用DDL源代码中的ABAP CDS的CDS DDL创建。它们定义了以下CDS实体( CDS entities)。这些单元可以作为数据类型(在ABAP程序中)和数据源(在ABAP SQL读语句中)访问。

CDS数据定义包括以下几种类型:
        CDS视图(CDS Views)
:CDS实体基于ABAP字典中的CDS数据库视图(从技术角度看)。
        CDS表函数(CDS Table Functions):在AMDP(ABAP Managed Database Procedures)功能中实现的CDS实体。
        CDS层次结构(CDS Hierarchies):从数据源创建层次结构的CDS实体。
        CDS抽象实体(Abstract CDS Entities):仅描述类型属性且不为其创建数据库对象实例的CDS实体。
ABAP CDS中的CDS DDL还包含CDS实体增强的语言元素(language elements)

CDS访问控制-CDS Access Control

        CDS访问控制基于CDS角色,这些角色在DCL源代码的CDS DCL中定义。分配了CDS角色的非抽象CDS实体被访问时,默认情况下会评估额外的访问条件。

备注说明

        CDS objects是使用CDS源代码传输的。在目标系统中激活传输后,使用DDL源代码中的CDS数据定义的CDS实体将被创建。
        CDS源代码只能在基于eclipse的ABAP开发工具(ADT)中编程。数据定义语言(DDL)和数据控制语言(DCL)使用不同的编辑器。ADT文档描述了如何使用这些编辑器。CDS源代码也可以显示在ABAP工作台中的Repository浏览器中。
        除了独立于数据库的ABAP CDS之外,HANA CDS也是CDS概念的另一种变体。HANA CDS只存在于SAP HANA数据库中。HANA CDS中的实体是使用特定于HANA的工具(如SAP Web IDE for SAP HANA)开发的,而不是使用ABAP开发工具(ADT)。
        从功能的角度来看,ABAP CDS是与平台无关的,这并不意味着所有平台在访问CDS实体时的性能都是相同的。

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

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

相关文章

【二分查找】Leetcode 山脉数组的峰顶索引

题目解析 852. 山脉数组的峰顶索引 这到题使用暴力枚举的查找方法发现这段数组是有二段性的&#xff0c;峰顶左边的一段区间是一段递增区间&#xff0c;右边的一段区间是一段递减区间 算法讲解 class Solution { public:int peakIndexInMountainArray(vector<int>&am…

循序表实战——基于循序表的通讯录

前言&#xff1a;本篇文章主要是利用顺序表作为底层&#xff0c; 实现一个通讯录。偏向于应用&#xff0c; 对于已经学习过c的友友们可能没有难度了已经。没有学习过c的友友&#xff0c; 如果顺序表不会写&#xff0c; 或者说没有自己实现过&#xff0c; 请移步学习顺序表相关内…

多线程重点知识(个人整理笔记)

目录 1. java 多线程 1.1. 什么是进程?什么是线程? 1.1.1. 进程 1.1.2. 线程 1.1.3. 多线程 2. 并行和并发有什么区别&#xff1f; 3. 守护线程是什么&#xff1f; 4. 创建线程有哪几种方式&#xff1f; 4.1. 线程的常见成员方法 5. 线程安全问题 5.1. synchronize…

深度探索Sketch:功能、历程、替代软件及技巧一览

Sketch 它是一个适合所有设计师的矢量绘图应用程序。矢量绘图也是设计网页、图标和界面的最佳方式。但除了矢量编辑的功能外&#xff0c;我们还增加了一些基本的位图工具&#xff0c;如模糊和颜色校正。 为什么选择Sketch Sketch 它是为图标设计和界面设计而生的。它是一个优…

LangChain - 文档转换

文章目录 一、文档转换器 & 文本拆分器文本拆分器 二、开始使用文本拆分器三、按字符进行拆分四、代码分割 (Split code)1、PythonTextSplitter2、JS3、Markdown4、Latex5、HTML6、Solidity 五、MarkdownHeaderTextSplitter1、动机2、Use case 六、递归按字符分割七、按tok…

2024年C语言最新经典面试题汇总(21-30)

C语言文章更新目录 C语言学习资源汇总&#xff0c;史上最全面总结&#xff0c;没有之一 C/C学习资源&#xff08;百度云盘链接&#xff09; 计算机二级资料&#xff08;过级专用&#xff09; C语言学习路线&#xff08;从入门到实战&#xff09; 编写C语言程序的7个步骤和编程…

Navicat中导出导入txt结合sql语句实现sqlserver转到Postgis空间数据库中

效果 1、sqlserver数据库中导出 sqlserver数据库字段 2、postgis中导入

C++ //练习 11.20 重写11.1节练习(第376页)的单词计数程序,使用insert代替下标操作。你认为哪个程序更容易编写和阅读?解释原因。

C Primer&#xff08;第5版&#xff09; 练习 11.20 练习 11.20 重写11.1节练习&#xff08;第376页&#xff09;的单词计数程序&#xff0c;使用insert代替下标操作。你认为哪个程序更容易编写和阅读&#xff1f;解释原因。 环境&#xff1a;Linux Ubuntu&#xff08;云服务…

Golang | Leetcode Golang题解之第9题回文数

题目&#xff1a; 题解&#xff1a; func isPalindrome(x int) bool {// 特殊情况&#xff1a;// 如上所述&#xff0c;当 x < 0 时&#xff0c;x 不是回文数。// 同样地&#xff0c;如果数字的最后一位是 0&#xff0c;为了使该数字为回文&#xff0c;// 则其第一位数字也…

antd vue table控件的使用(二)

今天就讲讲Ant Design Vue下的控件 ---- table表格&#xff08;选择和操作&#xff09; 结合项目中的需求&#xff0c;看看如何配置table控件&#xff0c;需求&#xff1a; &#xff08;1&#xff09;根据列表中的选项&#xff0c;单选&#xff1b; &#xff08;2&#xff0…

京东API接口采集商品详情数据(测试入口如下)

京东API接口采集商品详情数据 请求示例&#xff0c;API接口接入Anzexi58 在当今数字化时代&#xff0c;电商平台的API接口成为了获取商品详情数据的重要途径之一。作为中国最大的自营式电商企业&#xff0c;京东提供了丰富的API接口供开发者使用&#xff0c;以便获取京东平台上…

【C++】每日一题 58 最后一个单词的长度

给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大 子字符串 #include <iostream> #include <string>int lengthOfLastWord(std::strin…

计算机网络——38报文完整性

报文完整性 数字签名 数字签名类比于手写签名 发送方数字签署了文件&#xff0c;前提是他是文件的拥有者/创建者可验证性&#xff0c;不可伪造性&#xff0c;不可抵赖性 谁签署&#xff0c;接收方可以向他人证明是他&#xff0c;而不是其他人签署了这个文件签署了什么&#…

day02php环境和编译器—我耀学IT

一、环境介绍 1、web 环境 使用 PHP 需要先安装环境&#xff0c;安装环境比较麻烦&#xff0c;需要安装Web服务、PHP应用服务器、MySQL管理系统。 Web服务&#xff1a;apache 和 nginx PHP&#xff1a;多版本 MySQL&#xff1a;多版本 2、环境集成包 因为多环境、多版本、多系…

Java学习笔记23(面向对象三大特征)

1.5 多态 ​ *多态(polymorphic) ​ *方法或对象具有多种形态&#xff0c;是面向对象的第三大特征&#xff0c;多态是建立在封装和继承基础之上的 1.多态的具体体现 1.方法的多态 &#xff08;重写和重载体现了多态&#xff09; 2.对象的多态 ​ 1.一个对象的编译类型和…

三国游戏(贪心 排序)

三国游戏 利用贪心、排序、前缀和的计算方法&#xff0c;特别注意不要数据溢出了&#xff0c;sum 加long long s[i] x[i]-y[i]-z[i]输入: 3 1 2 2 2 3 2 1 0 7输出: 2#include <bits/stdc.h> using namespace std;const int N 1e5100;typedef long long ll;bool cm…

容器和K8s常见概念

【容器】 1、Open Container Initiative&#xff08;OCI&#xff09;&#xff1a;制定和推动容器格式和运行时的开放标准。容器运行时需要遵循此标准。主要的产出物包括&#xff1a; OCI Image Specification: 定义容器镜像格式的规范&#xff0c;统一描述容器镜像的内容和结…

ubuntu 22.04安装Anaconda3步骤

系统&#xff1a;Ubuntu 22.04 目标&#xff1a;安装Anaconda3 步骤&#xff1a; 1.在Anaconda官网 link下载xx.sh文件 2.进入Download文件夹&#xff0c;添加文件执行权限 chmod x Anaconda_xxx.sh 3.运行 ./Anaconda_xxx.sh 4.确定当前安装路径,一般为如下形式 /home/usr-nam…

git入门教程

Git 1. Git历史 同生活中的许多伟大事件一样&#xff0c;Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上&#xff08;1991&#xff0d;2002年间&#xff09;。到 2002…

从零开始实现一个RPC框架(五)

前言 这是系列最后一篇文章了&#xff0c;最后我们来为我们的rpc框架实现一个http gateway。这个功能实际上受到了rpcx的启发&#xff0c;基于这种方式实现一个简单的类似service mesh中的sidecar。 原理 http gateway可以接收来自客户端的http请求并将其转换为rpc请求然后交…