天天看點

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

使用事務碼VD51和VD52建立和修改Customer Material。

下圖是我在ERP建立的Material,為其維護了一個Customer Material AOP。

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

當下載下傳到CRM後,在WebClient UI上顯示如下:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

下載下傳Customer Material的主要配置:

通過表KNMT的字段KUNNR指定待下載下傳的Customer ID:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

将ERP的Material 1427先下載下傳到CRM

錯誤消息Number not in interval XXX - XXX when downloading a customer from ERP

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

這個錯誤是試圖從ERP下載下傳上圖編号為3471的Customer。

錯誤消息:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

為什麼錯誤消息裡提到的interval是0000300000 - 0000399999?

當ERP的Customer被下載下傳到CRM時,會建立一個對應的Business Partner的執行個體。

在這個例子裡,通過調試方式得知CRM建立Business Partner時使用的Partner group為0002:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

檢視0002對應的number range設定為07:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

而07對應的interval即為錯誤消息裡提到的範圍:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

解決方案:把0002對應的number range改為03

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

錯誤消息Form of address 0001 not designated for organization

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

通過調試CRM_BUPA_MAIN_VAL,發現錯誤消息在第34行抛出:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

雖然這個Customer執行個體被判定成一個Organization(因為category字段為2),但是PERSON的字段被置位,而不是ORGANIZATN字段,是以出現這個錯誤消息。

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

解決方案:

在ERP事務碼SM30裡,打開view V_TSAD3,把0003标記為Organization:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

然後把Customer 3471的title從Ms改成Company:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

之後即可成功下載下傳。

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

Customer classification 06 does not exist

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

通過調試發現該錯誤資訊是下圖第22行抛出的,因為在表crmc_classif裡找不到對應的配置項:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

可以在Define Customer Class裡維護這個配置表:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

在我的系統裡,沒有06這個classification對應的配置項。

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

首先要搞清楚代碼裡的這個06從哪裡來的?

在BAPI_CRM_SAVE裡設定斷點,在調試器裡把變量BAPISTRUCTURES的内容下載下傳到本地,用excel打開,搜尋關鍵字06,發現06出現在結構BSS_S040:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

然後對這個結構使用"where used list",發現classification的資料來自KUKLA.

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

classification是在ERP Customer維護界面的Marketing項維護的:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

在Define Customer Classification維護:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

解決方案:要麼像上圖所示在CRM裡維護06對應的classification,要麼将ERP裡對應的字段設定為空。

Tax number category does not exist

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

錯誤消息由于表tfktaxnumtype中沒有查到US5對應的配置項,是以在第32行報了錯誤消息:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

下一步需要搞清楚為什麼US5會被查詢到。通過調試,發現US5和JERRY都是從ERP傳過來的:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

解決方案:要麼在CRM裡為US5維護對應的Tax category,要麼清掉ERP的Tax number 5這個字段.

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

Distribution channel is not allowed for sales organization

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

通過調試發現錯誤消息在CRM_PR_SALES_CHECK_DISTR_CHAIN裡抛出,原因是因為CRM Sales organization O 50040102和distribution chain 01沒有找到對應的ERP端的比對項.

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

錯誤消息在第71行抛出:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

當我檢視内表st_distr_chains時,發現O 50040102隻有Channel 10的組合,而缺少01的組合。

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

解決方案:使用事務碼PPOMA_CRM添加缺少的distribution channel 01組合以及所有的division 00, 01和07:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

然後執行HRBCI_ATTRIBUTES_BUFFER_UPDATE來更新表CRMD_ORGMAN_TEMP:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

確定緩存表裡能看到期望的O 50040102擁有的distribution channel和division的組合。錯誤消息得以解決。

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

Parent not O.K.: BUPA_MAIN

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

原因: CUST_MAT_INFO這個下載下傳對象有三個父下載下傳對象。

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

如果這三個對象有一個下載下傳失敗,則無法進行CUST_MAT_INFO的下載下傳。技術上說,就是這三個parent對象在表SMOFDSTAT的對應記錄的列DNL_STATUS必須為内容D-done。

在我的例子裡,Material對象的狀态為A-aborted.是以必須先修複Material下載下傳的錯誤。

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

sales area is not assigned for the header product

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

錯誤在CRM的COM_IL_PRDSCP_CHECK抛出:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

因為這個product是從ERP下載下傳的,我們不能在CRM端手動為其維護Distribution Chain:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

回到ERP,檢查表MVKE,發現其實Sales Organization 0001和管道01已經正确地維護到了這個product上。

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

再回到CRM,檢查ERP的Sales organization和管道的組合0001-01是否在CRM端維護有對應的映射關系。 當我使用事務碼PPOMA_CRM維護了缺失的映射關系後,

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

重新進行一次下載下傳,此時能觀察到Sales Area這一次被成功下載下傳了:

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

之後也能在CRM UI上看到成功下載下傳的Sales Area相關内容。

利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

繼續閱讀