最近有读者向我咨询,关于当系统在 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"/>