CDS相关资料整理(十二)增强或扩展CDS视图

文摘   2024-12-05 07:25   北京  

应该是拍摄于鹿回头

原文地址

https://www.ut163.com/fiori_learning_arrangement/sap-cds/enhance_or_expand_cds_view/

增强或扩展CDS视图

  • EXTEND VIEW说明

    • 元素清单

    • 社团协会

    • GROUP BY子句(自7.51版开始)

    • UNION(ALL)语句(自7.51版开始)

  • 视图扩展的建议和限制

    • 建议:

    • 限制条件:

    • 批注视图增强类别

    • #没有

    • #PROJECTION_LIST

    • #通过…分组

    • #联盟


在对标准CDS视图需要扩展字段或者一些功能时,我们可以考虑对标准的CDS进行EXTEND VIEW定义,也就相当于对标准CDS视图的增强,主要可用于扩展字段,如下

CDS查看扩展
  • CDS视图扩展是通过DDL语句EXTEND VIEW在专用DDL源中定义的。

  • 每个具有CDS视图扩展名的DDL源均定义两个对象:实际的CDS视图扩展名和追加视图。这对应于由标准DDL定义的两个对象。CDS视图和SQL视图。


可以在HANA Studio 创建EXTEND VIEW.

创建扩展CDS视图

专用模板可用于创建视图扩展的定义。创建DDL源之后,必须指定要扩展的CDS视图的名称,新的CDS实体(视图扩展)的名称以及SQL视图附加的名称。

CDS视图和扩展视图示例
  • 在此示例中,CDS视图S4d430_Extend_Target _A在元素列表中包含六个元素。CDS视图扩展Z4d430_Extend_View_A将字段airpfrom和airpto添加到此列表。

  • 两个DDL源之间的链接是通过关键字EXTEND VIEW之后的CDS视图名称建立的。

注意: 无法在此处指定SQL视图的名称,也就是说标准的视图名在这里是修改不了的,只能修改DDL的名字。

1.EXTEND VIEW说明

1.1.元素清单

  • 文字,字段,表达式,函数

  • 输入参数

  • 路径表达式

  • 聚集(从7.51开始,仅在目标已经包含聚集的情况下)

1.2.社团协会

  • View Extension可以添加关联

1.3.GROUP BY子句(自7.51版开始)

  • 仅当目标视图包含GROUP BY子句时

  • 强制非聚合的新元素

1.4.UNION(ALL)语句(自7.51版开始)

  • 如果目标视图包含UNION(ALL)语句,则必须提供

  • 需要相同数量的UNION(ALL)语句

像传统的追加视图一样,CDS视图扩展可以将元素添加到SELECT列表中。新的事实是扩展视图还可以定义其他关联。例如,可以使用它来定义与特定于客户的数据库表或CDS视图的关联。

注意: CDS View Extend可能包含关联,但不包含直接联接。

从7.51版开始,还可以扩展包含聚合和/或UNIONS的视图。但是要这样做,目标视图必须通过注释AbapCatalog.viewEnhancementCategory主动允许这样做。

具有关联关系的CDS视图扩展

在上面的示例中,CDS视图S4d430_Extend_Target _B CDS视图使用CDS视图扩展Z4d430_Extend_View_B进行了扩展。

此视图扩展不仅扩展了字段列表。它还向表机场添加了两个关联。

注意:视图扩展也可以直接使用新的关联,而不是直接使用关联数据源的字段。

具有Group By和UNION的CDS视图扩展
  • 在上面的示例中,CDS视图S4d430_Extend_Target_C包含两个与UNION语句链接的SELECT语句。每个SELECT语句在元素列表中都有一个聚合表达式,并具有一个相应的GROUP BY子句。

  • CDS视图扩展Z4d430_Extend_View_C反映了此结构。它包含两个SELECT语句的扩展名,并与关键字UNION链接。



  • 在两个SELECT语句中,扩展名都将字段city和country添加到元素列表中,并相应地扩展GROUP BY子句。

注意: 仅当扩展视图通过注释@ AbapCatalog.viewEnhancementCategory明确允许时,才可以使用GROUP BY和UNION进行扩展。

2.视图扩展的建议和限制

2.1.1.建议:

  • (客户)存储库对象的命名空间(DDL源和SQL Append视图)

  • 其他元素和关联的名称不常用(以避免以后发生冲突)

基础软件包中的CDS视图

  • 从基础软件包扩展CDS视图之前,请联系SAP。

2.1.2.限制条件:

运输后不重命名

  • 首次传输DDL源后,不能更改CDS View Extend和SQL Append View的名称

没有其他关键字段

  • CDS视图扩展中不允许使用前缀KEY

扩展CDS视图时,建议仔细选择存储库对象和其他实体的名称,以避免将来升级时发生冲突。建议将其他存储库对象放在适当的命名空间中。另一个是指附加元素列表条目和关联。通过使用非常通用的名称,您与以后在标准中添加的名称会增加发生冲突的风险。

注意:对于将字段追加到透明表中,建议的命名空间为ZZ。CDS View扩展不存在此类名称空间

  • 与一般的CDS视图一样,建议但并非强制性的是,对DDL源和CDS实体使用相同的名称。

  • 最重要的限制还涉及命名:从开发系统传输DDL Source后,SQL Append View和CDS View Extend的名称是固定的,不能再更改。

2.1.3.批注视图增强类别

注释AbapCatalog。viewEnhancementCategory

  • 限制CDS视图的可扩展性

  • 以方括号括起来的值列表,以逗号分隔

可能的值

  • #没有

  • #PROJECTION_LIST

  • #通过…分组

  • #联盟

允许的组合

  • #NONE不能与其他值组合

  • #GROUP BY和#UNION要求#PROJECTION_LIST

默认值

  • #PROJECTION_LIST

从7.51版开始,CDS视图的可扩展性可能会受到注释AbapCatalog.viewEnhancementCategory的限制。

注释可以与方括号中的逗号分隔值列表一起使用。存在以下值:

2.1.4.#没有

  • 不允许扩展。该值不能与其他值组合。

2.1.5.#PROJECTION_LIST

  • 允许SELECT列表的扩展名和其他关联;必须允许使用其他值的SELECT列表包含聚合表达式或具有UNION子句的CDS视图扩展。

2.1.6.#通过…分组

  • 允许将聚合的或非聚合的元素添加到具有聚合表达式的SELECT列表中,并且还允许GROUP-BY子句的关联扩展名。

  • 只能与#PROJECTION_LIST一起指定。

2.1.7.#联盟

  • 允许扩展带有UNION子句的CDS视图的SELECT列表。只能与#PROJECTION_LIST一起指定。

  • 如果使用的注释没有方括号,或者根本没有注释,则视图的可扩展性就好像已使用值#PROJECTION_LIST指定了注释。

  • 从扩展目标导航到查看扩展
  • 延伸检视

  • 如果此特定CDS视图有任何扩展,则可以直接在DDL源中看到它。

  • 如果一个或多个CDS视图扩展指向此CDS视图,则DEFINE VIEW语句的左侧会出现一个螺旋形符号。将指针放在该符号上时,将打开一个对话框,其中列出了现有扩展名。通过单击列表中CDS视图扩展的名称来打开其定义。


ABAP1

ABAP2

《SM30添加按钮:批导,筛选,排序等完整demo 》

《关于 SM30/VIEW_MAINTENANCE_CALL锁整张表问题》

《Demo:弹出文本输入框》

《关于update task几个有意思的测试》

Demo

使cl_gui_docking_container ALV

VOFM   

DEMO SUBMIT ALV

DEMOS/4 1809 FAGLL03H 

ABAP

DEMOBTE

SAP Parallel Accounting++BAPI demo

CC02BAPIProcessing of change number  was canceledBAPIF-02


20110214--20210214

SAP

debug

BAPIF-02

Odata 

ODATA CREATE_DEEP_ENTITY 

RESTful DEMO SAP  RESTful Web 

RESTful DEMO  

DEMO  search help  ( vl03n KO03 

BDC  

《搜索帮助系列》

《增强相关》

Debug 系列


DEBUG  系列一:Dump debug
DEBUG  系列二:Configure Debugger Layer
DEBUG系列三:使用  F9 和 watch point
DEBUG系列四:第三方接口debug
DEBUG系列五:Update  模式下的function debug
DEBUG系列六:后台JOB  debug
DEBUG系列七:保存测试参数
DEBUG系列八:Debug弹出框
debug系列九:SM13查看update更新报错
DEBUG系列十:Smartforms  debug
DEBUG系列十一:GGB1  debug
Debug系列十二:QRFC  队列 debug


码农干货铺
永远要保持一种无论何时何地都逼着自己更努力更优秀来享受更好生活的学习状态
 最新文章