淺談SAP CRM和Hybris Commerce裡的價格架構折扣

注销發表於2019-12-24

最近Jerry做了一個和價格折扣相關的原型專案,把學到的知識記錄下來,以備將來查閱。

在這個原型專案裡,我們用React-Native開發了一個移動應用,使用者可以在手機上瀏覽SAP Hybris Commerce裡的產品,然後下單。假設Jerry購買成功後,在朋友圈分享一張包含自己個人資訊的二維碼。Jerry的好友掃描二維碼之後,到Hybris Commerce裡下單購買同樣的產品之後,Jerry就會收到一張優惠券。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

這個場景其實和瑞幸咖啡的推廣模式類似,我們也希望通過這個原型專案,證明SAP的產品,也能執行這些在國內很熱門的網際網路式的營銷場景。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

冷冷的冬夜,一盞孤燈,在女神的陪伴下,程式設計師靜靜地寫著程式碼,這就是程式設計師的平淡生活。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣 淺談SAP CRM和Hybris Commerce裡的價格架構折扣

Pricing(定價)在SAP任何產品裡都從來不是一個簡單的話題,無論是客戶在實際業務處理中對定價策略使用場景的變化多端,還是SAP產品裡定價引擎本身實現的複雜程度,都超出了很多從業者的想象。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

Jerry認識的一位在SAP德國總部工作的同事,從大學畢業起就在SAP ERP裡做Pricing實現,做了20多年,從ERP Pricing一直做到現在的S/4HANA Pricing,而且將一直做下去,如果不出意外的話,我估計他做Pricing會做到在SAP退休。從這位同事身上,Jerry很容易聯想起“德國製造”,“工匠精神”,“精益求精”這些關鍵詞。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣 淺談SAP CRM和Hybris Commerce裡的價格架構折扣

正所謂“沒有對比就沒有傷害”,同這些Pricing專家相比,Jerry對基於ABAP實現的SAP產品內的Pricing的掌握程度,僅僅停留在出了問題後,知道從哪裡設定斷點開始除錯。這次在SAP Hybris Commerce上使用其Pricing功能,過程也是各種磕磕絆絆,還好得到了Kevin,Jonathan和Kate同學的大力幫助,這裡表示感謝。

Pricing到底是什麼?當一個新的業務文件(銷售訂單,服務訂單,報價單)被建立出來時,我們期望系統能夠基於已有的配置,針對某個特定的客戶,自動計算出正確的價格資訊,包括總價(Gross Price),折扣(Discount),額外費用(Surcharge)等等。

以基於ABAP技術棧實現的SAP CRM Pricing為例,“已有的配置”,在CRM裡稱為condition record,實際就是Pricing相關的各種配置表的條目。專案實施的時候,顧問根據某企業實際的計價場景,維護不同的condition record,在執行時,計價引擎會按照不同的優先順序處理這些記錄,有點類似ABAP程式語言裡CASE ... WHEN XXX. WHEN YYY. WHEN OTHERS.這種處理思想。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

如上圖所示,SAP CRM裡引入了一個叫做Pricing Procedure的邏輯概念,作為計價引擎的輸入,統一關聯了condition record等計價相關的資訊。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

通過銷售組織,分銷渠道,部門,Document Pricing Procedure和Customer Pricing Procedure這五個引數可以唯一確定一個Pricing Procedure:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

上面的配置頁面其實就是Pricing Procedure determination這個函式的五個輸入引數,輸出則就是匹配的Pricing procedure:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

再來看Hybris Commerce的Pricing設計。在SAP官網上是這樣介紹的:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

由此可見,Hybris Commerce的Pricing引擎工作原理和SAP CRM類似,即預先在系統配置好滿足各種條件的PriceRow(即SAP CRM的condition record), 然後在執行時,根據訂單欄位的實際內容,找到匹配的PriceRow.

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

SAP官網上給出的Pricing引擎工作流程圖:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣


最後介紹Jerry在這個原型專案中用到的幾種Hybris Commerce裡常見的維護價格折扣的方法。

  1. 價格折扣組

在我們的原型專案裡,給使用者設計了一系列的任務。當使用者完成了這些任務後,我們的React-Native應用會呼叫Hybris Commerce API,將這個使用者分配到Hybris一個特定的使用者折扣組裡,組內使用者在特定的時間段裡可以享受某種購物優惠。

在BackofficeCustomer Discount Groups裡建立折扣組:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

在Discount選單裡維護一條8折的折扣記錄:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

新建一條PriceRow,將上述的Customer Discount Group和8折的折扣記錄關聯起來:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

最後建立一個user Group,id為ambassador_discount, 這個組裡的所有使用者都能享受20%的折扣。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

把之前建立的Customer Discount Group分配給這個User group:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

當使用者完成任務時,呼叫下圖這個Commerce API,將其分配到折扣組裡:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

原價130.65元的商品,8折就是省26.13元. 下單時,觀察到省掉了26.13元,說明8折優惠生效了。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣


2. 使用Hybris Commerce的Promotion Rule實現價格折扣

新建一條Promotion Rule(促銷規則):

淺談SAP CRM和Hybris Commerce裡的價格架構折扣 淺談SAP CRM和Hybris Commerce裡的價格架構折扣

Promotion的條件,設定成僅當客戶購買Hybris商城裡的數碼相機時,才觸發該促銷規則:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

再新增一條觸發規則,這條規則和上面的規則邏輯上是AND的關係,即兩條同時滿足,才能享受折扣。

這條規則的型別是Qualifying coupons,即使用者必須持有id為jerrycoupon的優惠券。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

如果這兩條規則都滿足,在Actions區域維護優惠資訊:享受10%的優惠

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

同樣,當使用者在我們的React-Native應用裡同其好友互動,完成了我們指定的任務後,React-Native應用呼叫Hybris Commerce的Coupon API,將jerrycoupon這個優惠券分配給該使用者。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

這樣該使用者能在My Coupons介面看到自己完成任務後贏得的這個優惠券:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

最後下單時,購買這個3607元的數碼相機,節省了10%也就是360.7元。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

在Hybris Commerce裡要實現價格折扣,方法當然不僅限於本文介紹的這兩種方式。要實現折扣效果,除了Price Row之外,我們還可以利用更加直接的DiscountRow,將產品和Discount記錄關聯起來。

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

最後同樣能實現折扣效果:

淺談SAP CRM和Hybris Commerce裡的價格架構折扣

希望這篇文章能幫助大家對SAP產品的Pricing設計和使用場景有個最基礎的認識,感謝閱讀。如果對我們開發的這個SAP Hybris Commerce同微信整合的原型感興趣,可以聯絡Jerry.

更多閱讀

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

淺談SAP CRM和Hybris Commerce裡的價格架構折扣


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2671135/,如需轉載,請註明出處,否則將追究法律責任。

相關文章