乐趣区

关于sap:如何在-SAP-BTP-上通过-CDS-view-快速创建-Fiori-Elements-应用

本文基于 SAP Business Technology Platform 的 ABAP 编程环境进行的开发。

应用 ABAP Development Tool 登录 SAP BTP ABAP 编程环境,新建一个 package,命名为 Z_JERRY_CDS.

右键选中该 package,创立一个新的 Consumption view. 该视图是一个生产视图,它基于业务对象 (BO) 视图 /DMO/I_TRAVEL_U,提供了独立于消费层的给定数据模型。

它蕴含在其上运行的应用程序所需的所有外围信息。

生产视图是定义在 BO 视图之上的 CDS 视图,用于:

  • 公开适宜给定生产用例的字段
  • 应用正文(例如用于 UI、搜寻和 OData)用元数据丰盛数据模型。

这个生产视图创立好之后,源代码如下:

应用 ABAP Development Tool Content Assistant 快捷键,能够迅速将规范视图 /DMO/I_Ttravel_U 的所有字段,通过菜单 Insert all elements(template), 带入到以后的生产视图里:


抉择 Open with Data Preview,即可查看该生产视图的数据:

数据显示如下:

下一步,将 CDS 视图公开为业务服务。这将容许咱们在 Fiori Elements 预览中预览 ABAP Development Tool 里所作的更改。

业务服务由服务定义和服务绑定组成。

能够应用服务定义来定义将哪些数据(以所需的粒度)公开为业务服务。

而后应用服务绑定将服务定义绑定到客户端 - 服务器通信协议,例如 OData。这容许咱们为同一定义提供多个绑定,例如 将服务裸露给 UI 和 A2X 提供者。

新建一个 Service Definition:

保护名称和形容信息:

在 Service Definitions 里,将之前创立的生产视图,Z_C_TRAVEL_DATA_JERRY, 裸露成服务:

基于创立好的 Service Definition,再创立一个 Service Binding:

激活这个 Service Binding 之后,点击 Entity Set and Association 区域的 Preview 按钮,就能查看主动生成的 Fiori Elements 利用了:

关上的 Fiori Elements 利用,默认没有配置任何列表栏。

点击上图工具栏的齿轮图标,抉择视图上所有字段作为列表列我的项目:

当初 Fiori Elements 利用就能失常显示数据了:

为了防止用户每次预览 Fiori Elements 利用之前,都要手动去点击齿轮图标抉择列表列我的项目,咱们能够在生产视图里增加如下注解:

@UI           : {lineItem      : [{position: 10, importance: #HIGH}],
      selectionField: [{position: 10}]
  }

如上图所示,TravelID 和 AgencyID 两个视图字段,增加了注解 @UI.lineItem, 这使得它们被设置为默认必须显示的表格列我的项目。

点击齿轮之前,这两个字段前的 checkbox 总是默认被勾上。

咱们能够将 CDS view 视图里的注解,独自保护到一个开发对象里。

首先在 CDS view 视图里,加上上面这行注解:

@Metadata.allowExtensions: true

右键菜单抉择 Source Code -> Extract Metadata Extension:

这会创立一个新的 ABAP 开发对象,专门用于存储 CDS view 的注解元数据:

抉择 Next,主动解析出原 CDS view 里目前为止曾经增加了的注解元数据:

Metadata.layer 的值,抉择成默认的 \#CORE:

上面再介绍如何通过增加 CDS view 注解,让主动生成的 Fiori Elements 利用,具备搜寻性能。

增加如下的注解:

@Search.searchable: true

而后在心愿反对搜寻的视图字段,memo,即形容信息字段上,增加上面的注解:

    @Search.defaultSearchElement: true
    @Search.fuzzinessThreshold: 0.90

激活 CDS view,刷新 Fiori Elements 利用,即可看到表格控件上方,多了一个搜寻输入框。可能失常工作。

最初介绍如何通过注解增加 Selection Field 即过滤字段。

例如,咱们心愿依据 Travel ID 对表格进行过滤,则给 TravelID 字段增加如下的注解:

selectionField: [{position: 10}]

最初的界面成果,可能通过 Travel ID 进行过滤了:

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

退出移动版