当前位置:网站首页>SAP ABAP OData 服务如何支持修改(Update)操作试读版
SAP ABAP OData 服务如何支持修改(Update)操作试读版
2022-08-03 00:16:00 【汪子熙】
正如本教程的开篇介绍文章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 请求来消费呢?我们在本教程下一步骤介绍。

边栏推荐
- Carefully organize 16 MySQL usage specifications to reduce problems by 80% and recommend sharing with the team
- 【QT】自定义工程封装成DLL并如何调用(带ui界面的)
- Rasa 3.x study series - Rasa - Issues 4792 socket debug logs clog up debug feed study notes
- 【图像分类】2021-EfficientNetV2 CVPR
- 鲲鹏devkit开发套件
- 【飞控开发高级教程1】疯壳·开源编队无人机-飞控整机代码走读、编译与烧写
- 一套开源的可快速搭建自己的物联网/智能家居系统源码
- Auto.js 特殊定位控件方法 不能在ui线程执行阻塞操作,请使用setTimeout代替
- 图文详细解决IDEA使用Debug模式启动项目一直转圈圈跑起不来(亲测可以)
- GoLang 使用 goroutine 停止的几种办法
猜你喜欢
随机推荐
7.29
UPC2022暑期个人训练赛第23场(Credit Card Payment)
高数---二重积分
稳压电源: 电路图及类型
如何突破测试/开发程序员思维?一种不一样的感觉......
flutter空安全问题,平时用到的数据一定要注意
【Leetcode】305.岛屿数量II(困难)
优秀论文以及思路分析01
5、Citrix云桌面初始化Storefront设置
【QT】自定义工程封装成DLL并如何调用(带ui界面的)
谷歌 Chrome 浏览器 104 正式版发布:加快网页加载,蓝牙 API 改进
Rasa 3.x study series - Rasa - Issues 4792 socket debug logs clog up debug feed study notes
接口流量突增,如何做好性能优化?
Understand the next hop address in the network topology in seconds
【软考 系统架构设计师】软件架构设计① 软件架构的概念
用了TCP协议,就一定不会丢包吗?
如何正确地配置入口文件?
npm运行项目dependencies were not found: core-js/modules/es6.array.fill
Nuxt 所有页面都设置上SEO相关标签
ASP.NET网络版进销存管理系统源码【源码免费分享】









