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

看个例子。有一次我写了一个ABAP报表,修改一个CRM订单并保存,结果惊奇地发现保存居然花费了6秒钟,这也太慢了。
用事务码SAT,发现瓶颈所在。
90%的时间花费在了这个方法上:
CL_DOC_PROCESSING_CRM_ORDER=>CRM_ORDER_EXEC_SMART_FORM.
我注意到每次订单保存后,有一封邮件自动通过SAP connect发送出去,可以在事务码SOST里看到。
发送的内容是一个smart form:
通过查看调用栈发现这个smart form是CRM action 框架生成的。
action profile ORDER_MESSAGES_WEC下面挂了一个definition ORDER_STATUS_CHANGE:
这个action definition执行的逻辑就是我之前在事务码SAT里发现的smart form生成和邮件的发送:
配置路径Customer Relationship Management->Basic functions->Actions->Actions in Transactions->Change Actions and Conditions->Define Conditions
我们发现Partner function设置成0001 Sold-To party.
进到订单的Sold to Party:
把我的邮箱地址维护进去:
测试发现,每次修改订单并保存后,我的邮箱会收到一封附件为smart form的邮件。
SAP Hybris action profile
在Hybris backoffice的菜单项business processes->Dynamic Processes Definitions里可以进行action的配置,这里的action记录可以通过to字段指定这个action执行之后,会进入哪一个目标状态,在我这个例子里的目标状态是ID为waitForFraudResponse的这个状态。
而这个状态会触发事件EXTERNAL_KYMA_FRAUD_CHECK,并且将当前订单ID通过事件输入参数传给事件处理者。
关于如何在SAP Kyma里去消费这种用户通过action配置的自定义事件,请参考Jerry微信公众号“汪子熙”上的文章:基于SAP Kyma的订单编排增强介绍
https://www.jianshu.com/p/23271583f2ea