天天看點

SAP CRM和SAP Hybris的action profile

CRM

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

SAP CRM和SAP Hybris的action profile
SAP CRM和SAP Hybris的action profile

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

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

SAP CRM和SAP Hybris的action profile

90%的時間花費在了這個方法上:

CL_DOC_PROCESSING_CRM_ORDER=>CRM_ORDER_EXEC_SMART_FORM.

SAP CRM和SAP Hybris的action profile

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

SAP CRM和SAP Hybris的action profile

發送的内容是一個smart form:

SAP CRM和SAP Hybris的action profile

通過檢視調用棧發現這個smart form是CRM action 架構生成的。

SAP CRM和SAP Hybris的action profile
SAP CRM和SAP Hybris的action profile

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

SAP CRM和SAP Hybris的action profile

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

SAP CRM和SAP Hybris的action profile

配置路徑Customer Relationship Management->Basic functions->Actions->Actions in Transactions->Change Actions and Conditions->Define Conditions

我們發現Partner function設定成0001 Sold-To party.

SAP CRM和SAP Hybris的action profile

進到訂單的Sold to Party:

SAP CRM和SAP Hybris的action profile

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

SAP CRM和SAP Hybris的action profile

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

SAP CRM和SAP Hybris的action profile

SAP Hybris action profile

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

SAP CRM和SAP Hybris的action profile

而這個狀态會觸發事件EXTERNAL_KYMA_FRAUD_CHECK,并且将目前訂單ID通過事件輸入參數傳給事件處理者。

SAP CRM和SAP Hybris的action profile

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

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