且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SAP CRM和SAP Hybris的action profile

更新时间:2022-08-21 18:53:54

CRM

action profile维护在transaction type级别的customizing里:

SAP CRM和SAP Hybris的action profileSAP 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 profileSAP 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