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

摘要: 
我有如下一个CDS view, 这个view的数据来自CRMD_ORDERADM_H, 定义了一个名称为_statushelp的association, 指向了另一个CDS view Z_C_Status_Valuehelp.该view暴露了两个字段STATUS_KEY和STATUS_TEXT. 现在我的需求是:在ABAP代码里只需要一次读操作,既能读出主view里的guid字段,又能读出association view Z_C_Status_Valuehelp暴露出的两个字段STATUS_KEY和STATUS_TEXT。

 

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

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

解决方案

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

(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.

  

posted @ 2019-03-06 14:58  Park_SAP  阅读(411)  评论(0)    收藏  举报