天天看點

SAP ABAP OData 服務如何支援 $orderby (排序)操作試讀版

正如本教程的開篇介紹文章​​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​

​ 操作即排序操作。

SAP ABAP OData 服務如何支援 $orderby (排序)操作試讀版

為了更清楚的看到我們的圖書管理 OData 服務,在支援了 ​

​$orderby​

​​ 操作之後的運作時效果,我們再往之前存儲圖書資訊的 ​

​ZBOOKS​

​ 資料庫表裡添加一行測試資料:

SAP ABAP OData 服務如何支援 $orderby (排序)操作試讀版

我們如果不加任何參數,直接通過 OData 服務讀取系統所有的 book 資料,那麼傳回給消費者的 book 資料的順序,和上圖資料庫表裡記錄的順序一緻,這三條記錄的 Author,依次為 Jerry,Tom 和 Arena.

我們使用本教程之前步驟提到的 Postman,在請求所有圖書資料的 OData 請求的 HTTP 頭部字段裡,添加一個名叫 ​

​Accept​

​​ 的字段,值為 ​

​application/json​

​.

這樣,點選 Send 按鈕之後,我們開發好的 OData 服務,會以 JSON 格式傳回資料。

點選螢幕右下角的按鈕,将這些 JSON 資料粘貼到系統剪切闆裡。

SAP ABAP OData 服務如何支援 $orderby (排序)操作試讀版

然後粘貼到自己喜歡的 JSON 資料檢視工具裡即可。這裡我用了一款名叫 ​

​JSON Viewer Pro​

​ 的 Chrome 擴充,打開上面 Postman 收到的 JSON 資料。

SAP ABAP OData 服務如何支援 $orderby (排序)操作試讀版

從中可以看出,OData 傳回的三條資料,順序同資料庫表裡的三條資料順序完全一緻。

繼續閱讀