首页 > SAP > HANA > ABAP CDS实现多表完整导航
2019
12-05

ABAP CDS实现多表完整导航

1.说明

在前文中实现了采购订单中EKKO,EKPO,CDS的 ASSOCIATION 关联导航,细节可参看:创建一个带导航功能的CDS,实现数据的关联显示,只是简单的两表导航,在现实业务中,可能还会需要加入更多的业务属性的导航功能,比如从采购订单到供应商,到订单明细,到价格明细,到采购订单历史,到物料属性(物料名称)等等,下面的例子中在HANA STUDIO中创建CDS,实现EKKO,EKPO,KONV间的导航,从而完成订单HEAD,ITEM,到价格的 ASSOCIATION 关联导航。

此部份使用的例子,可能使用了前一部份的一些功能,在看此文之前最好能先看一下 创建一个带导航功能的CDS,实现数据的关联显示

注由于在HANA S4中发现一部份的价格条件并不在KONV中,检查发现是在视图prcd_elements中,所以在CDS中使用此视图来查询,如是ECC中可以把代码中的prcd_elements换成KONV就可以了。

2.一、创建ABAP CDS

2.1.1.主表EKKO中取数的CDS.

2.2.2.明细表EKPO取数的CDS.

2.3. 3.导航到价格条件表KONV

从EKPO导航到价格条件表KONV(S4中使用:prcd_elements)的CDS

2.4.4.CDS说明1.

这三个CDS中,zvekko2的CDS为主表CDS,所在此CDS中使用了ODATA自动生成注释

@OData:{
publish: true
}

以便于自动生成ODATA,在此同时激活此三个CDS后,记得一定要使用 /IWFND/MAINT_SERVICE 激活并创建ODATA服务:Z_SQL_EKKO2_CDS ,激活后,就可以使用地址: http://flt.tpddns.cn:50000/sap/opu/odata/sap/Z_SQL_EKKO2_CDS/ 来查看生成的ODATA了,

2.5.5.CDS说明2

由于ekpo.ebelp字段的长度是5,而konv.kposn的字段长度是不是6,为了在SELECT中能正常连接使用,所以在z_sql_ekpo2的视图中,使用字符串函数CONCAT,在z_sql_ekpo2前面补一个零。

2.6.6.CDS说明3

从CDS:zvkonv2,中发现导航到的是EKPO,没有做导航到EKKO的功能,如有需要可以自己研究加入

2.7.7.CDS说明4

为了能在z_sql_konv2中,关联z_sql_ekpo2时能取到knumv,所以在z_sql_ekpo2中引用了EKKO.KNUMV字段。

最后编辑:
作者:yangsen
有需要可在文章留言或者邮件yan252@163.com给我。

留下一个回复

你的email不会被公开。

17 + 13 =