天天看點

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud

SAP CRM

SAP CRM Fiori

SAP Hybris Cloud for Customer

SAP S/4HANA On Premise

SAP S/4HANA On Cloud

SAP Hybris Enterprise Commerce Platform

SAP Hybris Revenue Cloud

SAP Hybris Engagement Center

除SAP S/4HANA On Cloud之外,其他七款産品在SAP成都研究院均存在對應的開發團隊。如果您對這些産品有進一步的問題需要咨詢,歡迎留言。

可以按照客戶的類型是Corporate或Individual來搜尋。在SAP的很多産品裡,這兩種類型的客戶共用同一個技術模型,通過模型上某個類型字段進行區分。本文隻着重介紹Corporate Account。

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
下圖是SAP CRM裡某個Corporate Account明細頁面的擡頭區域。
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
客戶明細頁面的擡頭區域下部由若幹可以通過點選小三角符号來展開的區域組成。SAP的技術文檔裡稱這些區域為Assignment Block。
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
如何檢視SAP CRM的客戶模型呢?在上圖客戶頁面按F2,會顯示如下彈出視窗,顯示該頁面實作的BSP應用視圖名稱為BP_HEAD/BPHEADOverview。
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
在BSP開發工具裡打開該視圖,能看到每一個Assignment Block的技術明細。
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
假設我想深究下圖名為Address的Assignment block實作明細,在上圖中得知其BSP實作為BP_ADDR/CorpAccountAddresses。在開發工具裡打開此視圖,找到位址資料是來自模型節點BuilAddress。
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
這個BuilAdress節點是SAP CRM客戶模型的子節點。SAP很多産品都有所謂Business Object(下文簡稱BO)的概念,這些模型從技術上來說是一棵樹,由若幹節點組成,節點與節點之間存在父子關系或者跳轉關系。每個節點由若幹字段組成,這些節點組成的模型,再加上節點上定義的一系列能夠執行的動作(action)就構成了一個BO,實際上是sap對某一業務流程及參與實體的高度抽象的産物。
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
CRM客戶模型的底層資料庫表:BUT000。用于區分Corporate還是Individual Account的字段名稱: TYPE。
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
通過模型單元測試工具,能夠清楚地看到客戶的位址資訊是維護在節點BuilAddress裡的。下圖是CRM Business Object測試工具截圖,左上顯示了該模型的節點集合,左下顯示了目前選中節點為BuilAddress,右邊區域顯示了這個節點所有字段的内容。
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud

前一章節介紹裡使用CRM Web Client UI打開了一個Corporate客戶。這裡用SAP CRM Fiori再次打開它。

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud

例如選中Marketing Attributes次元後,在Chrome開發者工具裡能觀察到一個HTTP請求,觀察其路徑發現CRM_BUPA_ODATA,這其實是OData服務的技術名稱。

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud

工作中心視圖Accounts和Individual Customers分别對應了SAP CRM裡的Corporate Account和Individual Account。

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud

/BYD_COD/SalesOnDemand/Account/UI/COD_Account_TI.TI.uicomponent

在Cloud Application Studio裡打開該UI模型,點選Data Model即可檢視C4C客戶模型的設計明細。

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud

這幾個模型有什麼差別和聯系?借用面向對象程式設計的思路來解釋C4C裡客戶模型的設計:類似面向對象程式設計語言裡的父類一樣,Business Partner這個BO定義了一些最基本最通用的字段,如下圖正中的虛線框所示:Generic Attribute,Addresses和Relationships。其他模型Customer,Employee和Supplier,則在這些通用字段基礎上定義了一些新的字段。對于Customer模型,其差別于Business Partner模型之處就在于需要維護一些和銷售相關的資訊,比如銷售資料,銷售區域和銷售線索。對于Employee,關注點則在于工作位址,工作部門,上司等資訊。

借用面向對象程式設計語言的繼承概念,C4C的Customer和Employee BO繼承了Business Partner BO上定義的通用字段,同時本身又定義了新的字段,這些字段将其自身和其他BO從業務上區分開來。

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud

作為一款雲解決方案,您可以通過一些非常簡易的步驟,在短短幾分鐘之内通過OData Service或者Web Service,實作您的第三方應用和C4C客戶模型的各種互動。例如您可以将C4C的客戶資料暴露出來供第三方應用讀取,或者通過第三方應用對C4C客戶資料進行寫操作。

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud

這些模型在SAP全球客戶多年使用過程中,暴露出一些局限性和不足,例如一個Customer/Vendor隻能維護一套位址資訊;沒有角色的概念,一個業務夥伴沒法維護成既是Customer又是Vendor;沒辦法維護一些和時間相關的屬性。

這些不足到了S/4HANA得到了妥善解決。在S/4HANA裡,所有不同類型的業務夥伴使用統一的Business Partner模型。R/3的Customer和Vendor使用各自的模型和資料庫表,到了S/4HANA,這些模型統一成Business Partner,通過BP Role來區分其角色,底層的資料庫表也統一使用Business Partner的資料庫表。

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud

為了確定大量源自R/3的基于Customer/Vendor舊模型的應用能夠繼續工作,S/4HANA引入了Customer Vendor Integration(CVI)的概念,簡單地說即每次S/4HANA應用使用新的Business Partner對應的API進行寫操作時,資料不僅僅存儲到新的Business Partner模型的對應的資料庫表裡,同時仍然會存儲一份到舊的資料模型表裡,如下圖所示:

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud

SAP S/4HANA on Cloud

和S/4HANA On Premise使用的客戶模型相同,例如下圖ID為1010的客戶明細資料,

Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud
Jerry眼中的SAP客戶資料模型SAP CRM FioriSAP CRM FioriSAP Hybris Cloud for CustomerSAP S/4HANA on Cloud