SAP ABAP OData 服务里 EntityType 和 EntitySet 的区别试读版

Posted JerryWang汪子熙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAP ABAP OData 服务里 EntityType 和 EntitySet 的区别试读版相关的知识,希望对你有一定的参考价值。


正如本教程的开篇介绍文章SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)所提到的,SAP OData 服务开发,从实现技术上来说,可以分为三大类。因此本教程也分为三大部分,分别进行介绍。本文是本教程的文章目录。

作者简介

Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等标准产品的研发工作。

Jerry 对 SAP OData 服务的开发,测试,发布,部署,测试,及基于各种不同 SAP 技术实现的 OData 服务的幕后技术实现细节和使用场合,均有着深入的研究。

基于 SEGW - Gateway Service Builder 的开发教程

  • 1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目
  • 2. 在 SAP ABAP 系统对事物码 SEGW 创建的 OData 服务进行配置并测试
  • 3. SAP ABAP OData 服务诊断工具 /IWFND/ERROR_LOG 的使用方法
  • 4. SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南
  • 5. SAP ABAP OData 服务如何支持 $filter (过滤)操作
  • 6. 使用 Postman 工具高效管理和测试 SAP ABAP OData 服务
  • 7. SAP ABAP OData 服务如何支持 $orderby (排序)操作
  • 8. SAP ABAP OData 服务如何支持创建(Create)操作
  • 9. SAP ABAP OData 服务如何支持删除(Delete)操作
  • 10. SAP ABAP OData 服务如何支持修改(Update)操作
  • 11. 使用 HTTP PUT, PATCH 以及 MERGE 请求消费 SAP ABAP OData 服务修改操作的实现及其区别
  • 12. SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值
  • 13. SAP ABAP OData 服务的分页加载数据集的实现(Paging)
  • 14. 几种 SAP ABAP OData 服务的性能评估和测试工具介绍
  • 15. SAP ABAP OData 服务里 EntityType 和 EntitySet 的区别
  • 更多文章正在写作中,敬请期待

使用 Restful ABAP Programming 编程模型(简称 RAP) 开发 OData 服务

  • 正在写作中,敬请期待

使用 SAP Cloud Application Programming 编程模型开发 OData 服务

  • 正在写作中,敬请期待

笔者刚刚学习 SAP ABAP OData 服务开发时,对 EntityType 和 EntitySet 这两个概念的区别,一直理解得似是而非,于是专门写一篇文章来强调。

什么时候使用 EntitySet?

因此,我们在使用 OData 请求读取模型对应的业务数据时,从语义上说,读取的是系统里的业务数据集合,因此 OData 请求 url 里要维护 EntitySet 的名称,且必须维护正确。

看个实际的例子:我们在 Postman 里使用如下 url,读取某一本图书的明细数据:

​https://host:port/sap/opu/odata/sap/ZBOOK_MANAGE_SRV/BookCollection(guid42010aee-2a94-1edd-8494-c9d14e91555e)​

url 片段里的 ​​BookCollection​​ 是 SEGW 事物码为我们自动创建的 EntitySet,看起来语法没有问题。

执行之后,遇到 HTTP 404 错误:

SAP

为什么我指定了 EntitySet 的名称,但数据读取请求还是报错?

我们按照本教程这篇步骤介绍的方法,去后台查看引起该 404 错误的根源:

3. SAP ABAP OData 服务诊断工具 /IWFND/ERROR_LOG 的使用方法

看到错误消息:

The request URL or the metadata definition is incorrect.

具体的解决办法,参见这篇文章。


以上是关于SAP ABAP OData 服务里 EntityType 和 EntitySet 的区别试读版的主要内容,如果未能解决你的问题,请参考以下文章

SAP Abap三种方法进行SAP ODATA数据服务发布(DDICRFCCDS)

SAP ABAP OData 服务如何支持创建(Create)操作试读版

SAP ABAP OData 服务如何支持 $orderby (排序)操作试读版

SAP ABAP OData 服务如何支持 $filter (过滤)操作试读版

如何修改 SAP ABAP OData 模型,使其支持 $expand 操作试读版

揭开SAP Fiori编程模型规范里注解的神秘面纱 - @OData.publish