正如本教程的开篇介绍文章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 的开发教程
使用 Restful ABAP Programming 编程模型(简称 RAP) 开发 OData 服务
- 正在写作中,敬请期待
使用 SAP Cloud Application Programming 编程模型开发 OData 服务
- 正在写作中,敬请期待
本教程的前九篇文章,我们已经先后介绍了 SAP ABAP OData 服务,如何支持读取和过滤这两种不会引起系统出现 Side Effect(即系统状态被影响)的操作,以及创建(Create)和删除(Delete) 这两种会引起系统出现 Side Effect 的操作。
本文继续介绍 SAP ABAP OData 服务如何实现修改(Update)操作。
我们使用事物码 SEGW 打开之前创建的 OData 模型,发现 Book 模型上只有 stock_number
即库存数量可以支持修改,即 Updatable 属性被选中。
这个设定符合现状,因为图书一旦出版之后,图书编号,图书名称,作者编号和作者名称显然不能再更改了。
下面介绍如何在 Postman 里通过发送 HTTP PATCH 请求的方式,来修改指定图书的库存数量。
Postman 里发送如下请求,指定更新名为 CPI 的图书的库存为 1:
成功执行后,SE16 事物码里查看名叫 CPI 这本图书对应的记录,发现库存数据 STOCK_NUMBER 已经更新成最新的值了:
OData 服务器的详细实现步骤如下。
相信有不少朋友注意到了,在 SAP ABAP Gateway Client 里,除了本文使用的 PATCH 类型的请求之外,还存在另外两个语义类似的 HTTP 操作:MERGE 和 PUT. 如何让自己的 SAP ABAP OData 服务也支持通过这两种类型的 HTTP 请求来消费呢?我们在本教程下一步骤介绍。
网友评论