中间件_数据库在哪里_新用户

时间:2022-01-02 18:45       来源: 微辰云

中间件_数据库在哪里_新用户

此博客是我之前博客的延续:

ABAP核心数据服务-简介(ABAP CDS视图),其中详细介绍了核心数据服务。

之前,开始阅读这篇文章,我要求您浏览上述博客,以便更好地理解。

在这篇博客中,我们将开始介绍ABAP核心数据服务。

在开始之前…

SAP NetWeaver发行版

SAP NetWeaver 7.5 SP01或更高版本不需要特定的数据库,但建议使用SAP HANA DB

开发环境

建议使用最新版本的SAP NetWeaver ABAP开发工具(简称:ADT)。您可以从更新站点下载最新可用的ADT插件https://tools.hana.ondemand.com/#abap

SAP网关

SAP网关已在您的ABAP系统中正确配置有关激活和测试生成的OData服务的详细信息,请访问SAP帮助门户网站:SAP Gateway Foundation Developer Guide.

Authorizations

要复制上述指南中所述的步骤,需要SAP NetWeaver应用程序服务器上分配了以下角色的用户

SAP\ U BC\ U DWB\ U ABAPDEVELOPERSAP\ BC\ DWB\ WB显示/IWFND/RT\u开发者(用于SAP网关服务开发).

希望上述所有先决条件都已设置。

让我们开始!!

在SAP HANA中引入CDS后,SAP实现的CDS可以与ABAP应用服务器一起引入,这将使ABAP受益于CDS的数据定义语言与基于表单的ABAP字典工具相比所提供的增强功能。因此,SAP在ABAP7.40SP05版本中引入了ABAPCDS视图。由于ABAP字典已经具备了定义表、视图和数据类型的能力,因此在ABAP应用服务器上引入cd的自然方式是将其添加到ABAP字典中。基于ABAP开发工具(ADT)的源代码编辑器允许我们在Eclipse或SAP HANA Studio中创建数据定义语言(DDL)源。一个基于ABAP的CDS在SAP业务套件4 SAP HANA(SAP S/4HANA)的基础上起着重要的作用。SAP引入了一大组CDS工件(几千个CDS视图),由几十万行ABAP代码组成,以表示SAP S/4HANA解决方案的底层核心数据模型。标准的ABAP CDS视图、ERP表和视图可以在ADT source editor的自定义CDS视图中重用。

使用ABAP 7.50 SP00中的ABAP CDS视图的主要动机是在传统物理SAP ERP表的基础上提供一个语义层,它通常充当数据库上的物理数据容器,并且具有非常复杂的内部结构,在大多数情况下,建站服务,如果没有传统的ABAP处理,就无法对其进行评估。CDS提供的语义丰富的数据建模使SAP S/4HANA中的这一层能够简化、高效地访问底层数据。

ABAP CDS提供了一个框架,用于将应用服务器中央数据库上的语义数据模型定义和使用为ABAP。指定的数据模型基于由ABAP字典管理的数据定义语言(DDL)和数据控制语言(DCL)。因此,云服务器服务好,CDS数据定义中将CDS实体或CDS视图的增强定义为源代码。

支持以下类型的ABAP CDS实体:

ABAP CDS视图ABAP CDS表函数

定义ABAP CDS视图

使用ABAP CDS语句DEFINE view为现有数据库表和视图或ABAP字典中的其他CDS视图定义CDS视图。CDS视图用于定义SQL视图的结构,并表示一个或多个字典表或字典视图的投影。

注:-SQL视图和CDS实体是同一命名空间的一部分。因此,您必须为SQL视图和实体指定不同的名称。

图1:在DDL编辑器中定义CDS视图。

在图1CDS entity ZCDS\u VIEW定义了到数据库表scustom的投影。生成的SQL视图(ZcdsView)包括所有条目的ID、名称和城市。

激活后

激活CDS视图后,在ABAP字典中创建以下对象:

a)。实际CDS实体(Zcds\U视图)

b)。SQL视图(ZcdsView)。

图2:定义和实现CDS表函数。

注:-实现AMDP方法的名称只能在单个CDS表函数(1:1关系)中指定。

示例1:-表函数定义。

在下面的列表中,特定于客户端的ABAP CDS表函数选项卡\函数\示例如下所示使用DDL语法定义。此表函数声明两个输入参数clnt(具有预定义值:#CLIENT)和carrid,以及提供实现表函数的AMDP方法返回值的元素列表。table函数与AMDP class CL\u EXAMPLE\u AMDP关联,其中GET\u FLIGHTS方法用于实现table函数。

示例2:-table函数实现。

本例中的public ABAP class(AMDP class)提供AMDP method GET\u FLIGHTS,作为表函数tab\函数\示例的实现。与任何其他AMDP类一样,cl\u example\u AMDP必须实现marker接口IF\u AMDP\u marker\u HDB。AMDP方法get\ U flights使用本机SQL代码实现数据选择。

ABAP CDS启用基于数据控制语言(DCL)的访问控制。ABAP-CDS中的访问控制进一步限制了ABAP-CDS中CDS实体返回的数据。

ABAP-CDS访问控制基于以下内容:

CDS角色是使用DCL语句DEFINE ROLE定义的。目前,CDS角色被隐式地映射到每个用户。这就是为什么它们也被称为映射角色。在CDS角色CDS实体中定义的访问条件。访问条件如下:将CDS实体的元素与文字值进行比较的文字条件。将CDS实体的元素与SAP授权概念中的授权关联的PFCG条件。