1. 程式人生 > >如何在SAP雲平臺ABAP程式設計環境裡把CDS view暴露成OData服務

如何在SAP雲平臺ABAP程式設計環境裡把CDS view暴露成OData服務

Jerry 2016年在學習SAP CDS view時,曾經寫過一個CDS view的自學系列,其中有一篇提到了一個很方便的註解:

@OData.publish: true

加上這個註解的CDS view,一旦啟用後就會在ABAP Netweaver自動生成一個OData服務,在事務碼/IWFND/MAINT_SERVICE裡將其搜尋出來並新增,就能夠以OData服務的方式,消費這個view暴露出來的資料了。

當然@OData.publish這個註解為什麼有這種神奇的魔力,在Jerry之前的部落格裡有詳細介紹。

那麼到了SAP雲平臺ABAP環境上,因為我們無法訪問SAP GUI,所以要實現同樣的效果,無法直接照搬上述步驟。幸運的是,在雲上進行CDS view暴露的步驟依然簡潔,整個過程5分鐘就能搞定。

用ABAP Development Tools像登入On-Premises ABAP系統那樣登入ABAP雲環境,新建一個Service definition:

在Service的實現體裡,使用關鍵字expose將ABAP環境裡的標準view,I_Currency以Service的方式暴露出來。

這個Service需要以Service Binding的方式暴露成OData服務:

把第一步建立的Service分配給這個Service Binding:

注意下圖右邊的Service Details標籤頁裡,此時是空的。點選Publish按鈕:

釋出成功後,我們看到了之前在Service實現裡把I_Currency暴露成的名為Currency的實體:

對這個Currency Entity點右鍵,選擇Open Fiori Elements App Preview,就能在預覽模式下通過一個標準通用的Fiori Elements應用把當前系統上I_Currency裡的資料顯示出來:

點選這個Service URL超連結,也能直接開啟對應OData服務的元資料(metadata)連結:

至此我們就可以用各種消費端來使用這個通過I_Currency暴露成的OData服務了,當然也可以開發一個SAP Fiori來消費,Jerry後續會介紹。

感謝閱讀。

要獲取更多Jerry的原創文章,請關注公眾號&