SAP|SAP ABAP CDS view 视图的 Replacement 技术介绍

在ABAP Dictionary中,可以使用其 CDS 实体的名称将 CDS 视图赋给透明数据库表和经典数据库视图作为替换对象。前提条件是 CDS 视图定义的结构类型与数据库表或经典视图的结构相匹配,如下所示:

  • 两个模型字段的数量必须匹配
  • 必须能够将CDS视图的一个字段赋值给数据库表或经典视图的对应字段
  • 对于 client 字段来说,其映射关系与它的名称无关。对于数据库表的所有其他组件,CDS视图中必须存在一个名称相同的元素
  • 数据库表和CDS视图中字段的顺序不需要匹配
  • 对于所有分配的字段,技术类型属性,比如内置数据类型、长度和小数点位数必须匹配
  • CDS 视图不能有输入参数
  • 对于维护状态是可修改的数据库视图,不可能同时定义替换对象和打开表缓冲。
SAP|SAP ABAP CDS view 视图的 Replacement 技术介绍
文章图片

如果一个数据库表或经典视图被访问,并且在以下情况下给这个表或视图分配了一个替换对象,替换对象将被访问,而不是数据库表或经典视图:
  • 当被 ABAP SQL 的 SELECT, FETCH 或者 OPEN SQL 访问时
SAP|SAP ABAP CDS view 视图的 Replacement 技术介绍
文章图片

其他的写操作,仍然施加到原始的数据库表。
【SAP|SAP ABAP CDS view 视图的 Replacement 技术介绍】ABAP SQL 是使用 ABAP 语句实现的 SQL 子集的总称,包括DML部分。所谓 DML,是 Data Manipulation Language 的缩写,数据操作语言,是 SQL 的子集。DML 语句读取和更改关系数据库表的内容。在ABAP中,DML 是用 ABAP SQL 表示的。
ABAP SQL语句使用数据库接口中的ABAP SQL 接口来访问 AS ABAP 数据库。ABAP SQL可以用来读取(SELECT)和修改(INSERT, UPDATE, modify,或DELETE)在 ABAP 字典(即 ABAP 开发人员经常使用的事物码 SE11)中定义的数据库表中的数据。借助 ABAP SQL 接口,ABAP 开发人员可以直接访问数据库表、视图和所有非抽象的 CDS 实体。

    推荐阅读