在SAP的ABAP中,define view语句用于创建CDS视图。这个对象有一个CDS实体名,这是它在编辑器和包中出现的方式,但它也有一个必须不同的AbapCatalog.sqlViewName注释。语法有一些信息:
为使用定义视图定义的CDS视图( ABAP )创建两个对象。必须为两个对象中的每一个指定名称:
这两个名称都位于ABAP字典中数据类型的命名空间中,每个名称都必须是唯一的。这两个名称可以在其他DDL语句中使用,也可以在ABAP程序中用于访问CDS视图。
它提到了其他一些不同之处,例如SAP的数据字典工具(SE11,SE16)中没有可用的实体,以及从实体中进行选择的事实总是在严格模式中运行,但关键是:
在CDS的DDL和中,CDS视图可以作为CDS数据库视图 CDS_DB_VIEW 和CDS实体cds_entity来处理。然而,强烈建议、只使用CDS实体。
当我在一个简单的查询中同时运行时,我注意到当从实体中选择时,没有MANDT列,但是当从CDS数据库视图中选择时,这个列是存在的。
那么,在使用视图时,开发人员应该记住的数据库视图和CDS实体之间的真正区别是什么?
发布于 2016-12-23 12:39:38
您不应该再查询ABAP数据库视图,并将查询限制为使用ABAP实体。尽管在NetWeaver 7.40中查询数据库视图是可能的,但在更高版本中不推荐查询数据库视图。所以不要担心数据库视图:-)
请参阅关于:开放SQL中对CDS视图的过时访问的文档
为了保持行为的一致性并只使用CDS视图的定义属性,应该使用只使用CDS实体的名称来访问CDS视图。 严格禁止在7.50版中直接访问CDS数据库视图。
关于客户端处理,您应该相应地关注CDS实体的客户端行为。不同的选项被描述为ABAP客户端处理。
https://stackoverflow.com/questions/41166557
复制相似问题