正如本教程的开篇介绍文章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 (排序)操作
更多文章正在写作中,敬请期待
使用 Restful ABAP Programming 编程模型(简称 RAP) 开发 OData 服务
- 正在写作中,敬请期待
使用 SAP Cloud Application Programming 编程模型开发 OData 服务
- 正在写作中,敬请期待
序言
本文详细介绍了 SAP ABAP OData 服务如何支持 $orderby (排序)操作,以一个图书管理的 OData 服务实现为例,阐述了如何基于图书的名称和作者名称这两个字段进行排序操作。
我们在本教程第一篇文章 1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目 里创建的 OData 模型,在 book_name 和 author_name 这两个字段的 sort
属性打上了勾,意思是这两个属性需要支持 OData 标准协议的 $orderby
操作即排序操作。
为了更清楚的看到我们的图书管理 OData 服务,在支持了 $orderby
操作之后的运行时效果,我们再往之前存储图书信息的 ZBOOKS
数据库表里添加一行测试数据:
我们如果不加任何参数,直接通过 OData 服务读取系统所有的 book 数据,那么返回给消费者的 book 数据的顺序,和上图数据库表里记录的顺序一致,这三条记录的 Author,依次为 Jerry,Tom 和 Arena.
我们使用本教程之前步骤提到的 Postman,在请求所有图书数据的 OData 请求的 HTTP 头部字段里,添加一个名叫 Accept
的字段,值为 application/json
.
这样,点击 Send 按钮之后,我们开发好的 OData 服务,会以 JSON 格式返回数据。
点击屏幕右下角的按钮,将这些 JSON 数据粘贴到系统剪切板里。
然后粘贴到自己喜欢的 JSON 数据查看工具里即可。这里我用了一款名叫 JSON Viewer Pro
的 Chrome 扩展,打开上面 Postman 收到的 JSON 数据。
从中可以看出,OData 返回的三条数据,顺序同数据库表里的三条数据顺序完全一致。
下面我们开始实现基于 author_name
和 book_name
两个字段的排序操作。