找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1464

积分

0

好友

216

主题
发表于 5 天前 | 查看: 12| 回复: 0

在基于SAP Fiori Elements的 RAP (RESTful Application Programming) 模型进行企业级应用开发时,CDS(Core Data Services)注解是构建高质量UI与定义数据行为的关键。合理使用注解可以高效解决大部分页面显示与交互问题,而无需编写大量前端代码。本文汇总了在实际项目开发中几个常用且实用的CDS注解及其应用场景。

1. 确保重要字段在列表页始终可见 (@UI.lineItem: importance)

当实体(Entity)中包含的字段较多时,Fiori Elements的响应式布局可能会自动隐藏列表页(Line Item)中靠后的字段。为确保关键业务信息不被折叠,可以使用 importance 属性。

  • 场景: 将一个标识为“超概金额”的金额字段设置为高重要性,使其始终显示在行项目中。
  • 实现: 在字段的 @UI.lineItem 注解中,添加 importance: #HIGH
@EndUserText.label: '超概金额'
@Semantics.amount.currencyCode: 'twaer'
@UI.identification: [ { position: 50 }, { qualifier: 'basic'} ]
@UI.lineItem: [ { position: 50, importance: #HIGH } ] // 高重要性,确保显示
gapamt : bp_wjt;

2. 启用长文本多行输入框 (@UI.multiLineText)

对于需要输入或展示大段文本的描述性字段,默认的单行输入框体验不佳。通过一个简单的注解即可将其渲染为多行文本框。

  • 场景: 将备注、长描述等字段设置为支持多行文本。
  • 实现: 在字段上添加 @UI.multiLineText: true 注解。
@UI.multiLineText: true // 启用多行文本模式
Znotes : abap.char(255);

3. 控制金额字段的货币单位显示 (@Metadata.ignorePropagatedAnnotations)

金额字段通常会关联一个货币代码字段,并默认同时显示金额和货币单位(如“1,000.00 USD”)。如果业务上只需要显示纯金额数字,可以通过忽略传播的注解来实现。

  • 场景: 在特定报表或视图中,仅展示金额数值,隐藏货币代码。
  • 原理与实现: 在创建CDS视图时,ABAP开发工具(如ADT)可能会自动生成 @Metadata.ignorePropagatedAnnotations: true 注解。此注解指示编译器忽略从底层数据字典(DDIC)或基础视图传播过来的元数据注解。移除或将其设置为 false,可以允许关联的货币单位注解生效;反之,设置为 true 则会抑制这些注解,从而实现仅显示金额。
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: ‘ZI_TESTEKPOINFO’
// @Metadata.ignorePropagatedAnnotations: true // 注释掉或删除此行,以显示货币单位
@ObjectModel.usageType:{
    serviceQuality: #X,
    sizeCategory: #S,
    dataClass: #MIXED
}
define view Zi_TestEkpoInfo...

4. 为对象页面添加标题栏图标 (@UI.headerInfo.typeImageUrl)

为了提升UI辨识度和用户体验,可以为业务对象页面(Object Page)的标题区域设置一个语义化的图标。

  • 场景: 为“固定资产盘点”业务对象添加一个仓库库存图标。
  • 实现: 在视图的 @UI.headerInfo 注解中设置 typeImageUrl 属性。SAP Fiori的图标库可以从 SAP UI5 Icon Explorer 查询。
@Metadata.layer: #CORE
@UI: {
  headerInfo: {
    typeName: ‘固定资产盘点’,
    typeNamePlural: ‘固定资产盘点’,
    typeImageUrl: ‘sap-icon://inventory’,  // 设置标题栏图标
    title: {
      type: #STANDARD,
      label: ‘盘点编号’,
      value: ‘Zzcpdbh’
    },
    description: {
      type: #STANDARD,
      label: ‘公司代码’,
      value: ‘Bukrs’
    }
  }
}

5. 调整代码与描述文本的显示顺序 (@UI.textArrangement)

当字段绑定了描述文本(如物料号关联物料描述)时,默认显示格式为“描述文本 (代码)”。有时业务需要优先显示代码。

  • 场景: 将物料字段的显示顺序调整为“物料号 - 物料描述”。
  • 实现: 使用 @UI.textArrangement: #TEXT_FIRST#TEXT_LAST#TEXT_FIRST 表示文本描述在前,代码在后;反之亦然。这需要与 @ObjectModel.text.element 注解配合使用,这在定义数据库实体关联时非常常见。
@ObjectModel.text.element: [‘Maktx’] // 绑定物料描述字段
@UI.textArrangement: #TEXT_FIRST // 调整显示为“物料描述 (物料号)”
Matnr,

通过熟练掌握这些CDS注解,开发者可以极大地提升Fiori RAP应用的开发效率和界面友好度,更好地满足复杂的业务展示需求。




上一篇:Palantir本体论核心:规则与行为建模如何驱动企业数字化运营
下一篇:Android ART编译速度提升18%:设备端AOT与JIT优化详解
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 19:21 , Processed in 0.280974 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表