天天看點

SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子

出于工作需要,Jerry寫了這篇文章,給某些SAP Partner做參考。

以前Jerry曾經介紹過SAP C/4HANA的五朵雲到底包含哪些具體産品,其實在SAP官網上有更權威的中文解釋:

https://www.sap.com/china/products/crm-commerce/c4-hana-cx-suite.html
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子

有Partner詢問有沒有更詳細的步驟介紹,關于如何在第三方系統裡調用SAP C4C暴露出的Restful API進行內建。本文就給出一個具體的例子,将SAP C4C銷售訂單的建立功能通過自定義的OData服務暴露出來,然後Partner可以根據項目需要選擇合适的程式設計語言(本文選擇JavaScript)來消費。

Jerry以前釋出過一個視訊,示範了如何在SAP C4C裡手動建立一個銷售訂單,步驟可以說簡單易懂。

https://v.qq.com/x/page/d0809f4tswl.html

現在我們通過OData的方式将銷售訂單的建立功能暴露出來,就能在第三方系統或者應用裡完成C4C的訂單建立。

大家如果對SAP OData還不太了解,可以先讀一讀我這篇文章開頭的部分:

SAP OData程式設計指南

下面是詳細步驟。

登入C4C系統,通路工作中心Administrator,工作中心視圖OData Service Explorer,這裡可以在SAP釋出的标準OData服務和客戶自定義的OData服務之間切換。

SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子

下圖就是一個已經建立好并處于Active狀态的OData服務。左邊顯示的是CustomerQuote這個BO的Root節點的所有字段,每個字段都有一個可以勾選或取消的Select屬性,勾選則該BO字段會出現在右側的OData模型裡。

除了Root節點之外,BO的其他子節點上的字段當然也是可以出現在OData模型裡的,比如我上圖右邊OData模型的子節點CustomerQuoteItem, CustomerQuoteParty和CustomerQuoteText等,就是分别從左邊BO的同名節點選中後自動帶到右邊的OData模型中去的。

理論上,完成基于BO模型進行OData模型的建立并激活後,這個OData服務就可以使用了,這展現了SAP C4C OData服務自定義架構的強大之處。然而我也收到了一些朋友從背景給我提的一些問題,羅列如下。

問題1: 仍然以本文銷售訂單建立這一場景為例,假設我希望我建立的OData服務能夠允許消費者調用時指定External Reference的值,但是我找遍整個BO清單,也沒發現銷售訂單的BO上有叫這個名稱的字段啊?

SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子
SAP C/4HANA Sales Cloud使用OData服務和第三方系統內建的一個具體例子

我們再回顧一下用SAP C/4HANA Sales Cloud中的C4C OData同外部系統做內建的三個主要步驟:

1. 在C4C的OData模型編輯頁面裡,根據業務需要,從對應的BO節點裡選擇合适的字段,添加到OData模型中。

2. 用Postman或者C4C自帶的OData測試工具對OData模型進行測試,確定其正常工作。

3. 根據項目需要選擇合适的程式設計語言消費OData服務。

如果對于SAP C4C OData有更多的問題需要讨論,歡迎留言。感謝閱讀。

Jerry關于OData的更多文章

OData服務同步模式和異步模式的讨論

https://blogs.sap.com/2015/06/19/a-test-on-fiori-odata-request-synchronous-mode-vs-asynchronous-mode/

OData服務的性能分析

https://blogs.sap.com/2015/07/01/how-to-find-odata-performance-trace-and-payload-trace-functionality/ https://blogs.sap.com/2016/01/13/measure-the-performance-of-your-odata-service/

基于SAP CDS view生成OData服務

https://blogs.sap.com/2016/03/12/my-cds-view-self-study-tutorial-part-4-how-does-annotation-odatapublish-work/

OData的offline支援

5.1

https://blogs.sap.com/2016/08/04/how-is-odata-request-routed-to-offline-data-store-by-odata-offline-plugin/

5.2

https://blogs.sap.com/2016/08/04/how-is-javascript-code-in-odata-offline-plugin-delegated-to-native-java-code-in-android/

5.3

https://blogs.sap.com/2016/08/05/how-is-odata-offline-store-opened-in-android-platform/

使用ABAP消費SAP C4C标準OData服務

https://blogs.sap.com/2017/08/04/consume-standard-c4c-odata-service-via-abap-code/

SAP CRM,C4C和S/4HANA裡OData服務實作的橫向比較

https://blogs.sap.com/2017/08/07/odata-service-backend-implementation-in-c4c-crm-and-s4-hana/

使用Java和jMeter對需要支援CSRF驗證的OData服務進行高并發性能測試

https://blogs.sap.com/2017/08/28/odata-service-parallele-performance-measurement-how-to-deal-with-xsrf-token-in-java-program-and-jmeter/

使用C4C OData + ABSL消費自定義BO的邏輯

https://blogs.sap.com/2017/12/07/expose-custom-bo-logic-implemented-by-absl-via-custom-odata-service/