1.安装并且添加ABAP的插件
安装eclipse链接:https://blog.csdn.net/qq_45344586/article/details/123942685
安装ABAP插件:https://jingyan.baidu.com/article/67508eb471dd5c9ccb1ce458.html
注意点:eclipse添加ABAP插件时候,去这里https://tools.hana.ondemand.com/ 查看对应eclipse的对应版本插件链接(什么版本的eclipse就选什么版本的链接),如图
2.创建数据定义
我是做在本地,做演示。如果不是本地包就需要创建个请求挂进去
3.写好代码
检查语法,然后激活就可以了。
代码:
@AbapCatalog.sqlViewName: 'ZV_TEST1' /*DDL SQL视图名称*/
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: '做CDS的简单示例1'
define view ZCDS_DEMO1 /*CDS 名称*/
with parameters /*cds view 的参数*/
p_ernam :ernam /*销售订单创建人*/
/*开始写SQL语句*/
as select from vbak
inner join vbap on vbak.vbeln = vbap.vbeln /*小波浪要用点替代*/
{ /*定义了CDS view中包含哪些字段*/
key vbak.vbeln, /*指定CDS View中哪些字段是Key字段*/
key vbap.posnr, /*把销售订单与行项目作为主键*/
vbak.ernam,
vbap.matnr
}
where vbak.ernam = $parameters.p_ernam
4.查看结果
ZV_TEST1 是视图名称,如果有写参数,查询执行前就会要填写参数。ABAP SELECT使用就是使用这个了
ZCDS_DEMO1 是数据定义,在gui里面就是只能看看咯。
加深下理解
5.在ABAP程序的调用
SELECT *
FROM zv_test1( p_ernam = 'LIMF' )
INTO TABLE @DATA(LT_ALV).
cl_demo_output=>display( LT_ALV )."快速窗口显示
结果:
可以把CDS理解为sql储存过程,调用视图就是调用存储过程(不知道这样讲对不对哦,反正能这样用就是了,小声BB)。
好啦,分享使我快乐,我是寒武青锋。