天天看点

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

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