加入ABAP CDS视图| 没有最佳的解决方案。 最佳解决方案?

2020-09-22 19:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 用于加入CDS视图的现有...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

用于加入CDS视图的现有解决方案是

-" 关联"-请参见示例ZD_SCARR0

-" 左外部连接"-请参见示例ZD_SCARR1

-" 关联... $ projection "-请参见示例ZD_SCARR

不同连接语法的优缺点是什么?
什么情况下最好使用什么?
$ projection的优点是什么?


下面的样品使用标准ABAP spfli/sfilght样品。


所有变体都提供相同的结果
(为了更好,更容易地读取,在示例中不使用别名" as ...")

 @ AccessControl.authorizationCheck:#NOT_REQUIRED
 @ AbapCatalog.sqlViewName:'ZV_SCARR0'
 @ EndUserText.label:"变式1关联开启"
 定义视图ZD_SCARR0
 如
 从中选择
//****************************************************  **
 可怕的联想[0..1]
 在scarr.carrid = scounter.carrid
//****************************************************  **
 {key scarr.mandt
 ,关键scarr.carrid
 ,scarr.carrname
 ,scarr.currcode
 ,scarr.url
 scounter.countnum
 scounter.airport
 }
 其中scarr.carrid ='LH'
 ;
 
 @ AccessControl.authorizationCheck:#NOT_REQUIRED
 @ AbapCatalog.sqlViewName:'ZV_SCARR1'
 @ EndUserText.label:'变体1左外部联接'
 定义视图ZD_SCARR1
 如
 从中选择
//****************************************************  **************************
 左外伤痕累累
 在scarr.carrid = scounter.carrid
//****************************************************  **************************
 {key scarr.mandt
 ,关键scarr.carrid
 ,scarr.carrname
 ,scarr.currcode
 ,scarr.url
 scounter.countnum
 scounter.airport
 }
 其中scarr.carrid ='LH'
 ;
 
 @ AccessControl.authorizationCheck:#NOT_REQUIRED
 @ AbapCatalog.sqlViewName:'ZV_SCARR'
 @ EndUserText.label:'变体1 $ projection'
 定义视图ZD_SCARR
 如
 从中选择
//****************************************************  **************************
 可怕的联想[0..1]
 在$ projection.carrid = scounter.carrid
//****************************************************  **************************
 {key scarr.mandt
 ,关键scarr.carrid
 ,scarr.carrname
 ,scarr.currcode
 ,scarr.url
 scounter.countnum
 scounter.airport
 }
 其中scarr.carrid ='LH'
 ;
 

谢谢!
最佳马丁