天天看點

SAP ABAP OData 服務如何支援修改(Update)操作試讀版使用 Restful ABAP Programming 程式設計模型(簡稱 RAP) 開發 OData 服務使用 SAP Cloud Application Programming 程式設計模型開發 OData 服務

正如本教程的開篇介紹文章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 服務的幕後技術實作細節和使用場合,均有着深入的研究。

SAP ABAP OData 服務如何支援修改(Update)操作試讀版使用 Restful ABAP Programming 程式設計模型(簡稱 RAP) 開發 OData 服務使用 SAP Cloud Application Programming 程式設計模型開發 OData 服務

使用 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 屬性被選中。

SAP ABAP OData 服務如何支援修改(Update)操作試讀版使用 Restful ABAP Programming 程式設計模型(簡稱 RAP) 開發 OData 服務使用 SAP Cloud Application Programming 程式設計模型開發 OData 服務

這個設定符合現狀,因為圖書一旦出版之後,圖書編号,圖書名稱,作者編号和作者名稱顯然不能再更改了。

下面介紹如何在 Postman 裡通過發送 HTTP PATCH 請求的方式,來修改指定圖書的庫存數量。

Postman 裡發送如下請求,指定更新名為 CPI 的圖書的庫存為 1:

SAP ABAP OData 服務如何支援修改(Update)操作試讀版使用 Restful ABAP Programming 程式設計模型(簡稱 RAP) 開發 OData 服務使用 SAP Cloud Application Programming 程式設計模型開發 OData 服務

成功執行後,SE16 事物碼裡檢視名叫 CPI 這本圖書對應的記錄,發現庫存資料 STOCK_NUMBER 已經更新成最新的值了:

SAP ABAP OData 服務如何支援修改(Update)操作試讀版使用 Restful ABAP Programming 程式設計模型(簡稱 RAP) 開發 OData 服務使用 SAP Cloud Application Programming 程式設計模型開發 OData 服務

OData 伺服器的詳細實作步驟如下。

相信有不少朋友注意到了,在 SAP ABAP Gateway Client 裡,除了本文使用的 PATCH 類型的請求之外,還存在另外兩個語義類似的 HTTP 操作:MERGE 和 PUT. 如何讓自己的 SAP ABAP OData 服務也支援通過這兩種類型的 HTTP 請求來消費呢?我們在本教程下一步驟介紹。

SAP ABAP OData 服務如何支援修改(Update)操作試讀版使用 Restful ABAP Programming 程式設計模型(簡稱 RAP) 開發 OData 服務使用 SAP Cloud Application Programming 程式設計模型開發 OData 服務