
一個 SAP Fiori List Report 頁面打開后,如果出現列標題晦澀、篩選字段混亂、金額沒有幣種、日期無法解析、錯誤彈窗只有一串后臺技術文本,問題往往并不在 SAPUI5 頁面本身,而是更早就埋進了 OData 服務。這種服務從 ABAP 開發者的角度看,很可能完全正常。$metadata能返回,GET請求得到HTTP 200,DPC_EXT里的代碼也執行成功,數據庫查詢同樣沒有 Dump。但站在消費方的角度,它依然可能是一套質量很差的 API。SAP 對高質量 OData 服務的定義恰恰是從消費端觀察服務,而不是只檢查后臺代碼是否能夠運行。SAP Gateway 的經典設計指南把問題拆成三個區域,Metadata 是否表達清楚業務語義,Runtime 是否按照協議和業務規則穩定返回數據,以及 OData Channel 本身是否采用了合理的數據綁定和實現方式。這套思想放到今天依然很有價值。經典SEGW服務主要對應 code-based OData Channel,而現在的 ABAP Cloud 和 RAP 已經可以通過 Service Definition 與 Service Binding 暴露 OData V4 服務。實現技術發生了變化,但 API 的名字是不是業務化、類型是不是準確、錯誤信息是不是能被消費端理解、讀取操作有沒有副作用、數據模型是不是過度暴露,這些問題沒有因為 RAP 出現而消失。SAP 當前的 RAP 文檔也明確支持通過 Service Binding 暴露 OData V4 服務。