1. 程式人生 > >SAP CRM和SAP Hybris的action profile

SAP CRM和SAP Hybris的action profile

CRM

action profile維護在transaction type級別的customizing裡:

clipboard1

clipboard2

看個例子。有一次我寫了一個ABAP報表,修改一個CRM訂單並儲存,結果驚奇地發現儲存居然花費了6秒鐘,這也太慢了。

用事務碼SAT,發現瓶頸所在。

clipboard3

90%的時間花費在了這個方法上:
CL_DOC_PROCESSING_CRM_ORDER=>CRM_ORDER_EXEC_SMART_FORM.

clipboard4

我注意到每次訂單儲存後,有一封郵件自動通過SAP connect傳送出去,可以在事務碼SOST裡看到。

clipboard5

傳送的內容是一個smart form:

clipboard6

通過檢視呼叫棧發現這個smart form是CRM action 框架生成的。

clipboard7

clipboard8

action profile ORDER_MESSAGES_WEC下面掛了一個definition ORDER_STATUS_CHANGE:

clipboard9

這個action definition執行的邏輯就是我之前在事務碼SAT裡發現的smart form生成和郵件的傳送:

clipboard10

配置路徑Customer Relationship Management->Basic functions->Actions->Actions in Transactions->Change Actions and Conditions->Define Conditions
我們發現Partner function設定成0001 Sold-To party.

clipboard11

進到訂單的Sold to Party:

clipboard12

把我的郵箱地址維護進去:

clipboard13

測試發現,每次修改訂單並儲存後,我的郵箱會收到一封附件為smart form的郵件。

clipboard14

SAP Hybris action profile

在Hybris backoffice的選單項business processes->Dynamic Processes Definitions裡可以進行action的配置,這裡的action記錄可以通過to欄位指定這個action執行之後,會進入哪一個目標狀態,在我這個例子裡的目標狀態是ID為waitForFraudResponse的這個狀態。

clipboard15

而這個狀態會觸發事件EXTERNAL_KYMA_FRAUD_CHECK,並且將當前訂單ID通過事件輸入引數傳給事件處理者。

clipboard16

關於如何在SAP Kyma裡去消費這種使用者通過action配置的自定義事件,請參考Jerry微信公眾號“汪子熙”上的文章:基於SAP Kyma的訂單編排增強介紹

https://www.jianshu.com/p/23271583f2ea

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