天天看點

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

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

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

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

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

    1. 通過表KNMT的字段KUNNR指定待下載下傳的Customer ID:
利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    1. 将ERP的Material 1427先下載下傳到CRM

常見錯誤

    1. 錯誤消息Number not in interval XXX - XXX when downloading a customer from ERP
      利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    2. 這個錯誤是試圖從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的常見錯誤常見錯誤

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

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

在Define Customer Classification維護:

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

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

    1. Tax number category does not exist
    2. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    3. 錯誤消息由于表tfktaxnumtype中沒有查到US5對應的配置項,是以在第32行報了錯誤消息:
    4. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    5. 下一步需要搞清楚為什麼US5會被查詢到。通過調試,發現US5和JERRY都是從ERP傳過來的:
    6. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    7. 解決方案:要麼在CRM裡為US5維護對應的Tax category,要麼清掉ERP的Tax number 5這個字段.
    8. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    9. Distribution channel is not allowed for sales organization
    10. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    11. 通過調試發現錯誤消息在CRM_PR_SALES_CHECK_DISTR_CHAIN裡抛出,原因是因為CRM Sales organization O 50040102和distribution chain 01沒有找到對應的ERP端的比對項
    12. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    13. 錯誤消息在第71行抛出:
    14. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    15. 當我檢視内表st_distr_chains時,發現O 50040102隻有Channel 10的組合,而缺少01的組合。
    16. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    17. 解決方案:使用事務碼PPOMA_CRM添加缺少的distribution channel 01組合以及所有的division 00, 01和07:
    18. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    19. 然後執行HRBCI_ATTRIBUTES_BUFFER_UPDATE來更新表CRMD_ORGMAN_TEMP:
    20. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
    21. 確定緩存表裡能看到期望的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的常見錯誤常見錯誤
  1. sales area is not assigned for the header product
  2. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
  3. 錯誤在CRM的COM_IL_PRDSCP_CHECK抛出:
  4. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
  5. 因為這個product是從ERP下載下傳的,我們不能在CRM端手動為其維護Distribution Chain:
  6. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
  7. 回到ERP,檢查表MVKE,發現其實Sales Organization 0001和管道01已經正确地維護到了這個product上。
  8. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
  9. 再回到CRM,檢查ERP的Sales organization和管道的組合0001-01是否在CRM端維護有對應的映射關系。 當我使用事務碼PPOMA_CRM維護了缺失的映射關系後,
  10. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
  11. 重新進行一次下載下傳,此時能觀察到Sales Area這一次被成功下載下傳了:
  12. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤
  13. 之後也能在CRM UI上看到成功下載下傳的Sales Area相關内容。
  14. 利用CRM中間件Middleware從ERP下載下傳Customer Material的常見錯誤常見錯誤

繼續閱讀