1. 程式人生 > >為什麼CRM Opportunity的刪除會觸發一個通向BW系統的RFC

為什麼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呼叫。