如下图所示,我有一个 SAP UI5 应用,使用 SAP UI5 SmartTable 控件,消费了一个施加了 sap 命名空间的 OData 服务。关于这个 SAP UI5 应用更多细节,请查看我这篇文章:如何以 mock server 的方式本地启动 SAP UI5 应用,使它不连接服务器端 OData 服务。

本文详细分析该应用消费的 OData 服务设计。

这个 OData 服务的版本是 2.0,包含三个 EntityType 和三个 Annotations:

其中 Product entitytype,key 为属性 ProductId:

命名空间为 com.sap.wt05:

而 Product entityType, 具有 LineItem 注解,注解里定义了四个 DataField,分别是:ProductId, Price,Name 和 Category,这四个属性,就是最后渲染而成的四个表项:

如果我在 metadata.xml 里给属性 productId 添加一个 sap:label 属性:

最后的效果:

这个表格本身也是响应式 (responsive)的,因此其控件大小可以随着屏幕尺寸的变化而变化,达到最佳显示效果:

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

一个典型的加了 SAP 注解的 OData 服务明细分析相关推荐

  1. 使用 SAP UI5 消费 OData 服务的一些常见错误和解决方案

    错误消息1 Access to XMLHttpRequest at 'http://localhost:8081/https://services.odata.org/V2/Northwind/Nor ...

  2. 使用SAP C4C的OData服务的deep insert操作创建Lead

    请求url:https://c4c.saphybriscloud.cn/sap/c4c/odata/v1/c4codata/LeadCollection 请求正文: {"Name" ...

  3. SAP C/4HANA Sales Cloud使用OData服务和第三方系统集成的一个具体例子

    出于工作需要,Jerry写了这篇文章,给某些SAP Partner做参考. 以前Jerry曾经介绍过SAP C/4HANA的五朵云到底包含哪些具体产品,其实在SAP官网上有更权威的中文解释: http ...

  4. 2. 如何给在 SAP Business Application Studio 里开发的 OData 服务准备测试数据

    在开始本步骤的学习之前,请大家务必完成前一步骤1. SAP Business Application Studio 里创建一个基于 CAP 模型的最简单的 OData 服务的学习.换言之,大家已经在 ...

  5. 19. 如何使用 ABAP 程序消费 SAP ABAP OData 服务

    本教程到目前为止,我们已经创建了一个支持增删改查的图书管理 OData 服务.本步骤介绍如何使用 ABAP 程序,来消费这个 OData 服务. 假设我们开发 OData 服务的 SAP ABAP 系 ...

  6. 一个典型的SAP Commerce extension目录结构

    一个典型的SAP Commerce extension目录结构: 所以每个extension都有.classpath和project.properties等Java项目相关文件. https://he ...

  7. 解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph

    解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph - EalenXie - 博客园

  8. 一个典型的使用 SAP Cloud Application Programming 模型开发的 Fiori 应用

    这个应用的完整代码,在这里可以下载. 这个项目的层级结构如下图所示: bookshop 文件夹 该文件夹下包含了基于 SAP CAP 编程模型实现的服务和测试数据. 进入文件夹,执行命令 cds ru ...

  9. 为什么加了@Transactional注解,事务没有回滚?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 在前天的<事务管理入门>一文发布之后,有读者 ...

最新文章

  1. 模型树——就是回归树的分段常数预测修改为线性回归 对于非线性回归有较好的预测效果...
  2. web测试的平台的开发
  3. 工控攻防演示——从外网到内网控制系统设备的入侵
  4. 8天学通MongoDB——第四天 索引操作
  5. 《系统集成项目管理工程师》必背100个知识点-39接驳缓冲和项目缓冲
  6. oracle 插入timestamp
  7. solaris 10安装Oracle10.2g
  8. MacOS 安装PHP5.6
  9. UGUI 屏幕适配 导致 BoxCollider无效 解决记录
  10. python json文件遍历所有key、value 及替换key对于的value
  11. python能做什么工作-学Python能找到什么工作?这4种工作最热门!
  12. Linux 常用命令全集
  13. java参数化比特值,在Java中使用泛型的可选参数化
  14. notion函数_Notion 常见问题一览
  15. DOTween 数字变化
  16. 服务机器人分类包括哪些?
  17. 计算文本相似度的常用算法
  18. 前端开发工程师,CSS盒子模型居中方法
  19. oracle 实现等额本息,【oracle存储过程】实现生成等额本息的还款计划
  20. 查询具体到时分秒的时间段数据(查询昨天的下午四点到今天的下午四点的数据)

热门文章

  1. 拆半查找的递归和非递归算法
  2. Ubuntu 16.04下使用gcc输出汇编的.0文件为可执行文件时出现:`_start'被多次定义
  3. /proc/net/sockstat 里的信息是什么意思?
  4. 基于php5.6 php.ini详解
  5. Python之Matplotlib画图方法
  6. Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装
  7. JS 无法清除Cookie的解决方法
  8. 第六章:Java_异常处理
  9. IntelliJ IDEA 运行 Maven 项目
  10. 编辑距离及编辑距离算法