首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从CDS实体和CDS数据库视图中进行选择

从CDS实体和CDS数据库视图中进行选择
EN

Stack Overflow用户
提问于 2016-12-15 14:26:24
回答 1查看 3.8K关注 0票数 4

在SAP的ABAP中,define view语句用于创建CDS视图。这个对象有一个CDS实体名,这是它在编辑器和包中出现的方式,但它也有一个必须不同的AbapCatalog.sqlViewName注释。语法有一些信息:

为使用定义视图定义的CDS视图( ABAP )创建两个对象。必须为两个对象中的每一个指定名称:

  • 必须在注释CDS_DB_VIEW之后用引号指定CDS数据库视图的名称@AbapCatalog.sqlViewName。ABAP字典视图的通常规则适用于这个名称,它不区分大小写(它在内部转换为大写字母)。关联的SQL视图是在数据库中以此名称创建的。
  • cds_entity实体的名称是在关键字定义视图之后定义的(定义是可选的)。不需要指定引号。这个名称遵循CDS数据库视图的规则,但是它的长度可以是30位。

这两个名称都位于ABAP字典中数据类型的命名空间中,每个名称都必须是唯一的。这两个名称可以在其他DDL语句中使用,也可以在ABAP程序中用于访问CDS视图。

它提到了其他一些不同之处,例如SAP的数据字典工具(SE11,SE16)中没有可用的实体,以及从实体中进行选择的事实总是在严格模式中运行,但关键是:

在CDS的DDL和中,CDS视图可以作为CDS数据库视图 CDS_DB_VIEW 和CDS实体cds_entity来处理。然而,强烈建议只使用CDS实体

当我在一个简单的查询中同时运行时,我注意到当从实体中选择时,没有MANDT列,但是当从CDS数据库视图中选择时,这个列是存在的。

那么,在使用视图时,开发人员应该记住的数据库视图和CDS实体之间的真正区别是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-23 12:39:38

您不应该再查询ABAP数据库视图,并将查询限制为使用ABAP实体。尽管在NetWeaver 7.40中查询数据库视图是可能的,但在更高版本中不推荐查询数据库视图。所以不要担心数据库视图:-)

请参阅关于:开放SQL中对CDS视图的过时访问的文档

为了保持行为的一致性并只使用CDS视图的定义属性,应该使用只使用CDS实体的名称来访问CDS视图。 严格禁止在7.50版中直接访问CDS数据库视图。

关于客户端处理,您应该相应地关注CDS实体的客户端行为。不同的选项被描述为ABAP客户端处理

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41166557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档