使用 ABAP 代码给 OData 元数据增添注解的一些例子
最近有读者向我咨询,关于当系统在 SAP NetWeaver 740 之上运行时,如何向 OData 服务添加注解(annotation)。
虽然使用 SAP NetWeaver 750 及更高版本,可以在 CDS DDL 源代码中添加注解,然而 SAP NetWeaver 740 没有此类支持。
尽管如此,如果客户和合作伙伴正在使用使用 CDS 视图作为映射数据源(mapped data sources
)的服务实施,则他们可以利用 CDS 视图作为 SAP NetWeaver 740 中已有的 OData 服务的数据源。
因此,可以开始在 740 中为 OData 服务构建 CDS 视图。要在 740 后台系统添加对注释的支持,可以使用基于代码的实现。
本文涉及到的场景用例是希望基于 SAP NetWeaver 740 构建 OData 服务的客户和合作伙伴,并且该系统不支持 CDS 视图中的注释。
升级到 SAP NetWeaver 750 或更高版本时,您也可以将实施转移到 CDS 中。
以下屏幕截图显示了生成的 SAP Fiori 应用程序的第一个屏幕,该应用程序基于来自 Fiori Elements(也称为 Smart Template)的列表报告页面和对象页面。
在实体集 SalesOrderSet 中,我们默认显示列 Salesorder、Customer 和 Gross amount 以及 Currency。 此列表的标题名为 SalesOrders。
单击列表条目时,我们使用导航属性 ToItems,所选销售订单的详细信息显示在对象页面上。
OData 请求可能在浏览器中可见的 URL 中包含机密数据。 如果此类数据不应出现在 URL 中,我们建议改用批量请求。 您可以使用新的 SAP 注释 sap:use-batch=“true”(元数据文档)强制生成批请求。 为此,可以使用一种方法:model->set_use_batch(abap_true)
。 然后,元数据文档将在实体容器(entity container)中包含 SAP 注释 sap:use-batch=“true”。
元数据中生成的注解:
<EntityContainer Name="TEST_SRV_Entities" sap:use-batch="true"/>
相关文章
- Java反射机制清空字符串导致业务异常分析
- 7000+字图文并茂解带你深入理解java锁升级的每个细节
- 全文手敲代码,教你用Java实现扫雷小游戏
- 4种方法教你如何查看java对象所占内存大小
- 手绘图解java类加载原理
- Java中的线程到底有哪些安全策略
- Java中观察者模式与委托,还在傻傻分不清
- 一图详解java-class类文件原理
- Java遇上SPL:架构优势和开发效率,一个不放过
- 长篇图解java反射机制及其应用场景
- [java并发编程]基于信号量semaphore实现限流器
- java并发编程-StampedLock高性能读写锁
- 【java并发编程】ReentrantLock 可重入读写锁
- 【java并发编程】Lock & Condition 协调同步生产消费
- Java synchronized对象级别与类级别的同步锁
- java并发编程JUC第十二篇:AtomicInteger原子整型
- java并发编程JUC第十一篇:如何在线程之间进行对等数据交换
- java并发编程JUC第十篇:CyclicBarrier线程同步
- java并发编程JUC第九篇:CountDownLatch线程同步
- java并发编程工具类JUC第八篇:ConcurrentHashMap