一步步学习 SAP CDS view Text Association 在 SAP Fiori Elements 中的应用

举报
汪子熙 发表于 2022/06/28 16:11:57 2022/06/28
【摘要】 在前一篇文章如何给 SAP Fiori Elements 应用的字段添加 value help,我们已经通过注解的方式,给 Fiori Elements 应用的 selection field,加上了 value help 功能。本文通过使用文本关联(Text Association),将 Agency Name 添加到 ID,我们将使代理字段更具可读性。使用 CDS Text Associ...

在前一篇文章如何给 SAP Fiori Elements 应用的字段添加 value help,我们已经通过注解的方式,给 Fiori Elements 应用的 selection field,加上了 value help 功能。

本文通过使用文本关联(Text Association),将 Agency Name 添加到 ID,我们将使代理字段更具可读性。

使用 CDS Text Association,开发人员可以定义一个元素(字段)与其相应的文本或描述之间的关系。文本通常与语言相关,并以最终用户的语言类别来显示。如果使用文本关联来注释元素(如本文余下部分所述),那么关联的文本或描述字段将作为字段添加到引用实体中。

在运行时,该字段从数据库中读取,并由 OData 使用者的登录语言自动过滤。没有必要在 CDS 视图中使用会话属性或视图参数。

CDS association 只是 join 的规范,始终在语法中的相同位置。

关联的主要优点是重用:一旦指定了一次关联,就可以方便地将多个关联串连到一个路径中。

来进行实际的操作。

添加下图第9行和第13行 text association 相关的代码:

@AbapCatalog.sqlViewName: 'ZCTRAVELJERRY'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Consumption view from /DMO/I_TRAVEL_U'
@Metadata.allowExtensions: true
@Search.searchable: true
define view Z_C_TRAVEL_DATA_JERRY as select from /DMO/I_Travel_U 
association [1..1] to /DMO/I_Agency as _Agency on $projection.AgencyID = _Agency.AgencyID
{       
    key TravelID,

    @ObjectModel.text.association: '_Agency'
    AgencyID,
    CustomerID,
    BeginDate,
    EndDate,
    BookingFee,
    TotalPrice,
    CurrencyCode,
    @Search.defaultSearchElement: true
    @Search.fuzzinessThreshold: 0.90
    Memo,
    Status,
    LastChangedAt,
    /* Associations */
    _Agency,
    _Booking,
    _Currency,
    _Customer
}

添加 text association 之前的 Fiori Elements 应用,Agency ID 和 Agency Name 是分成两列单独显示的:

使用 text association 之后的效果:Agency ID 和 Agency Name 合并成一列显示了:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。