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

使用事務碼VD51和VD52建立和修改Customer Material。 下圖是我在ERP建立的Material,爲其維護了一個Customer Material AOP。 緩存

當下載到CRM後,在WebClient UI上顯示以下: 3d

下載Customer Material的主要配置:調試

    1. 經過表KNMT的字段KUNNR指定待下載的Customer ID:

    1. 將ERP的Material 1427先下載到CRM

常見錯誤

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

這個錯誤是試圖從ERP下載上圖編號爲3471的Customer。 錯誤消息: excel

爲何錯誤消息裏提到的interval是0000300000 - 0000399999? 當ERP的Customer被下載到CRM時,會建立一個對應的Business Partner的實例。 在這個例子裏,經過調試方式得知CRM建立Business Partner時使用的Partner group爲0002: 查看0002對應的number range設置爲07: 而07對應的interval即爲錯誤消息裏提到的範圍: 解決方案:把0002對應的number range改成03orm

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

經過調試CRM_BUPA_MAIN_VAL,發現錯誤消息在第34行拋出: 雖然這個Customer實例被斷定成一個Organization(由於category字段爲2),可是PERSON的字段被置位,而不是ORGANIZATN字段,所以出現這個錯誤消息。 解決方案:對象

在ERP事務碼SM30裏,打開view V_TSAD3,把0003標記爲Organization: 而後把Customer 3471的title從Ms改爲Company: 以後便可成功下載。 事務

    1. Customer classification 06 does not exist 經過調試發現該錯誤信息是下圖第22行拋出的,由於在表crmc_classif裏找不到對應的配置項:

能夠在Define Customer Class裏維護這個配置表: 在個人系統裏,沒有06這個classification對應的配置項。 首先要搞清楚代碼裏的這個06從哪裏來的?ip

在BAPI_CRM_SAVE裏設置斷點,在調試器裏把變量BAPISTRUCTURES的內容下載到本地,用excel打開,搜索關鍵字06,發現06出如今結構BSS_S040:it

而後對這個結構使用"where used list",發現classification的數據來自KUKLA. io

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

在Define Customer Classification維護:

解決方案:要麼像上圖所示在CRM裏維護06對應的classification,要麼將ERP裏對應的字段設置爲空。

    1. Tax number category does not exist

錯誤消息因爲表tfktaxnumtype中沒有查到US5對應的配置項,因此在第32行報了錯誤消息: 下一步須要搞清楚爲何US5會被查詢到。經過調試,發現US5和JERRY都是從ERP傳過來的:

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

    1. Distribution channel is not allowed for sales organization 經過調試發現錯誤消息在CRM_PR_SALES_CHECK_DISTR_CHAIN裏拋出,緣由是由於CRM Sales organization O 50040102和distribution chain 01沒有找到對應的ERP端的匹配項.

錯誤消息在第71行拋出: 當我查看內表st_distr_chains時,發現O 50040102只有Channel 10的組合,而缺乏01的組合。

解決方案:使用事務碼PPOMA_CRM添加缺乏的distribution channel 01組合以及全部的division 00, 01和07: 而後執行HRBCI_ATTRIBUTES_BUFFER_UPDATE來更新表CRMD_ORGMAN_TEMP: 確保緩存表裏能看到指望的O 50040102擁有的distribution channel和division的組合。錯誤消息得以解決。

    1. Parent not O.K.: BUPA_MAIN

緣由: CUST_MAT_INFO這個下載對象有三個父下載對象。

若是這三個對象有一個下載失敗,則沒法進行CUST_MAT_INFO的下載。技術上說,就是這三個parent對象在表SMOFDSTAT的對應記錄的列DNL_STATUS必須爲內容D-done。 在個人例子裏,Material對象的狀態爲A-aborted.所以必須先修復Material下載的錯誤。

    1. sales area is not assigned for the header product

錯誤在CRM的COM_IL_PRDSCP_CHECK拋出:

由於這個product是從ERP下載的,咱們不能在CRM端手動爲其維護Distribution Chain: 回到ERP,檢查表MVKE,發現其實Sales Organization 0001和渠道01已經正確地維護到了這個product上。 再回到CRM,檢查ERP的Sales organization和渠道的組合0001-01是否在CRM端維護有對應的映射關係。 當我使用事務碼PPOMA_CRM維護了缺失的映射關係後, 從新進行一次下載,此時能觀察到Sales Area這一次被成功下載了:

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

要獲取更多Jerry的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼:

相關文章
相關標籤/搜索