如何用ABAP代码读取CDS view association的数据

时间:2023-05-09 14:34:56

我有如下一个CDS view, 这个view的数据来自CRMD_ORDERADM_H, 定义了一个名称为_statushelp的association, 指向了另一个CDS view Z_C_Status_Valuehelp.该view暴露了两个字段STATUS_KEY和STATUS_TEXT.

如何用ABAP代码读取CDS view association的数据

如何用ABAP代码读取CDS view association的数据

现在我的需求是:在ABAP代码里只需要一次读操作,既能读出主view里的guid字段,又能读出association view Z_C_Status_Valuehelp暴露出的两个字段STATUS_KEY和STATUS_TEXT。

解决方案

(1) 创建一个新的数据类型,里面包含了两个view的总共3个待读取字段。

如何用ABAP代码读取CDS view association的数据

(2) 使用如下代码读取数据:


DATA: lt_data TYPE tt_Data. SELECT guid, \_STATUSHELP-STATUS_KEY AS STATUS_KEY , \_STATUSHELP-STATUS_TEXT AS STATUS_TEXT FROM ZORDER_SYS_STATUS WHERE ZORDER_SYS_STATUS~GUID = 'FA163E8EAB031EE6A99F824537D112A4' AND ZORDER_SYS_STATUS~STAT = 'I1002' AND \_STATUSHELP-STATUS_KEY IS NOT NULL INTO TABLE @lt_data.

如何用ABAP代码读取CDS view association的数据

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

如何用ABAP代码读取CDS view association的数据

如何用ABAP代码读取CDS view association的数据