如何基于 SAP CDS view 生成 object page

通过之前的文章如何在 SAP BTP 上通过 CDS view 快速创建 Fiori Elements 应用,我们已经创建了一个 CDS view,并基于该 CDS view,创建了一个 Fiori Elements 应用:

如何基于 SAP CDS view 生成 object page

如上图所示,我们期望,点击上图的“>”符号时,能跳转到该行项目对应的 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 上:

如何基于 SAP CDS view 生成 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

更多Jerry的原创文章,尽在:"汪子熙":
如何基于 SAP CDS view 生成 object page

上一篇:一个典型的使用 SAP Cloud Application Programming 模型开发的 Fiori 应用


下一篇:如何在 SAP BTP 上通过 CDS view 快速创建 Fiori Elements 应用