天天看點

如何基于 SAP CDS view 生成 object page

通過之前的文章如何在 SAP BTP 上通過 CDS view 快速建立 Fiori Elements 應用,我們已經建立了一個 CDS view,并基于該 CDS view,建立了一個 Fiori Elements 應用:

如何基于 SAP CDS view 生成 object page
如上圖所示,我們期望,點選上圖的“>”符号時,能跳轉到該行項目對應的 object page 頁面去。本文介紹實作方法。
如何基于 SAP CDS view 生成 object page
這個 CDS view 主要的 annotation,都以通過 metadata extraction 的方法,抽取到了名為 Z_TRAVEL_METADATA_JERRY 的metadata Extension 中去。具體方法參考我的文章如何在 SAP BTP 上通過 CDS view 快速建立 Fiori Elements 應用
如何基于 SAP CDS view 生成 object page
在這個 extension 的頭部,添加如下注解,聲明一個 UI Object page:
如何基于 SAP CDS view 生成 object page
然後給兩個字段 TravelID 和 AgencyID,分别加上 identification 的注解,這表明我們期望把這兩個字段,配置在 Object Page 上:

這個 metadata extension 完整的源代碼:
@Metadata.layer: #CORE
@UI: {
  headerInfo: {
    typeName: 'Travel',
    typeNamePlural: 'Travels',
    title: {
      type: #STANDARD,
      label: 'Travel',
      value: 'TravelID'
    }
  }
}
annotate view Z_C_TRAVEL_DATA_JERRY with
{
  @UI.facet: [ { id:              'Travel',
                purpose:         #STANDARD,
                type:            #IDENTIFICATION_REFERENCE,
                label:           'Travel',
                position:        10 } ]
               
  @UI           : {
      lineItem      : [{position: 10, importance: #HIGH}],
      selectionField: [{position: 10 }],
      identification:[ { position: 10, label: 'Travel' } ]
  }
  TravelID;
  @UI           : {
      lineItem      : [{position: 15, importance: #HIGH}],
      selectionField: [{position: 20 }],
      identification: [ { position: 20 } ]
  }
  @Consumption.valueHelpDefinition: [{  entity: {name: '/DMO/I_Agency', element: 'AgencyID'}  }]
  AgencyID;
  @UI           : {
      lineItem      : [{position: 60, importance: #HIGH}]
      }
  Memo;
}      

最後從 Fiori Elements list report 表格控件點選“>” 之後到達的 Object Page 頁面:

如何基于 SAP CDS view 生成 object page

繼續閱讀