为什么CRM Opportunity的删除会触发一个通向BW系统的RFC

阅读更多

今天工作时我发现,我在SE38里用函数CRM_ORDER_DELETE删除一个Opportunity,居然弹出下图这个SAP Logon的屏幕,要连接BR1。这是什么鬼?!

 

查了一下,BR1是BW系统。这就更奇怪了,我在CRM系统做业务数据的删除,关BW系统什么事呢?

 

还是老老实实debug吧。

CRM_ORDER_DELETE会调CRM_ORDER_DELETE_MULTI_OW, 后者又会掉CRM_ORDER_DELETE_SINGLE_OW:

 

删除之前先调用enqueue_order上锁:

 

上锁的subroutine里会调一个函数CRM_OPPORT_SEM_INIT,这个有点可疑。

 
 
 
 
 
 
 

找到问题症结了。通过调试,发现这里有一个RFC调用:

 
 
 

那个奇怪的SEM函数和transaction type里这个SEM Planning profile有关:

 
 
 
 
 
 

最后发现有一个配置表CRMC_MKTPL_BW来控制是否往BW系统发起RFC调用:

 

SPRO路径:Customer Relationship management->Marketing->Marketing Planning and Campaign Management->System landscape->Active SAP Netweaver BW Update:

 
 
 
 

RFC destination的配置维护在这张表里:

 
 
 

谜题解开了。通过修改这张配置表的entry,可以避免这个BW RFC调用。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":

 

你可能感兴趣的:(SAP,CRM,C4C,Opportunity)