zoukankan      html  css  js  c++  java
  • 如何在 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的原创文章,尽在:"汪子熙":

  • 相关阅读:
    数据库中的 索引
    JQuery中ajax请求
    如何优化广告,提高点击率
    常用的正则表达式
    全栈工程师之路中级篇之小程序开发前言
    ionic入门教程第四课使用$controllerProvider按需加载controller
    全栈工程师之路中级篇之小程序开发第一章第一节注册小程序
    ionic入门教程第三课在项目中使用requirejs分离controller文件和server文件
    ionic入门教程第五课举例子说明异步回调$q及$q在项目中的用法
    求两个整数的最大公约数和最小公倍数
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/14994296.html
Copyright © 2011-2022 走看看