天天看点

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

AG3, view name Zorder_Sys_Status.

This view has an association named _statushelp:

Requirement

I would like to read the guid from host view Zorder_Sys_Status together with its associated data via association _statushelp.

(1) Since there is no existing data type which holds both host view field and associated view fields, you have to create one on your own:

(2) Use the following syntax in ABAP code:

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.           

By the way, when the association defined in CDS view is consumed via OPEN SQL, it will be converted to LEFT OUTER JOIN, as could be observed in SQL trace:

In ST05, select your trace record, and click this button in toolbar:

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。