1. 程式人生 > >SAP ABAP7.50新語法之OPEN SQL第二篇

SAP ABAP7.50新語法之OPEN SQL第二篇

當然你可以直接關注我的公眾號:SAP Technical

更多內容關注公眾號:SAP Technical

當使用CDS實體的名稱作為資料來源訪問SELECT中的CDS檢視時,此檢視在其SELECT列表中釋出關聯_assoc以供外部使用,則這些關聯可用作路徑表示式的根元素。同樣的宣告。在路徑表示式中,關聯名稱_assoc1,_assoc2,...由反斜槓(\)分隔。必須在路徑表示式中直接字首關聯的目標資料來源中釋出根元素之後指定的關聯。路徑表示式不能跨多行原始碼分割。

使用路徑表示式編譯SELECT語句時,這些表示式表示的連線將隱式新增到語句的FROM子句中。在路徑表示式出現時隱式評估生成的附加資料來源。這尊重協會的連線條件和CDS檢視的其他條件。關注公眾號:SAP Technical。可以使用路徑表示式:

在SELECT語句中指定的列中。路徑表示式表示左外連線(LEFT OUTER JOIN)。
作為SELECT語句中FROM子句的資料來源。路徑表示式表示內部聯接(INNER JOIN)。
某些限制適用於Open SQL中的路徑表示式關聯。

@AbapCatalog.sqlViewName: 'SAP_Technical' 
@AccessControl.authorizationCheck: #NOT_REQUIRED 
define view sap_technical 
  (_spfli_scarr, id, carrier, flight, departure, destination ) 
  as select from spfli 
            association [1..1] to scarr as _spfli_scarr 
              on $projection.carrid = _spfli_scarr.carrid 
     { _spfli_scarr, 
       key spfli.carrid, 
       key _spfli_scarr.carrname, 
       key spfli.connid, 
       spfli.cityfrom,   
       spfli.cityto }

程式DEMO_CDS_ASSOCIATION使用以下SELECT語句和檢視的簡單路徑\ __spfli_scarr,並將其與對以相同方式工作的資料的訪問進行比較。

SELECT id, 
       \_spfli_scarr-carrname AS carrier, 
       flight, 
       departure, 
       destination 
       FROM sap_technical 
       INTO TABLE @DATA(result).

訪問檢視的完整SELECT列表的SELECT語句和訪問具有相同型別的連線的檢視的SELECT語句產生相同的結果。