今天遇到一個問題,在DSO載入資料到CUBE時執行DTP時報了個“"Request was set to incorrect in a parallel mode”,想查看詳細資料,居然無法用。在網上搜到一個方法:
1、開啟DTP,菜單Goto --->Setting for Parallel Manager, 將Number of Proceses從4 改為1,再重新執行一次。我的理解是原來DTP是並存執行的,現在改為一次執行一個資料包,換句話即是串列執行。
原來在資料包2時報錯的,現在它不報錯這個錯了,即這個方法可行的。
2、但新的問題:資料包3報錯,No SID found for value 'ZH1' of characteristic 0UNIT, 我第一反應就是用SE11查表T006是不是真的沒有ZH1這個單位,T006沒這個單位。
3、我在源系統右擊執行“Transfer Global Setting”,再查表T006還是沒有ZH1。
4、懷疑InfoObject出現了不一致,執行RSRV---> All Elementary Tests ---> Master Data --> SID Conversion for InfoObject 0UNIT. 結果還是不行
5、我懷疑這不是什麼單位,查DSO的啟用資料表,看哪些記錄的單位欄位是ZH1的,但沒有相應的記錄。
6、在轉換規則的開始常式中,想刪除有ZH1這些記錄,但結果仍是報錯。
DELETE SOURCE_PACKAGE where UNIT cp 'ZH%'.
7、在開始常式中作些處理,對於不存在在T006表的單位,用空格代替。
FIELD-SYMBOLS:<fs01> like LINE OF SOURCE_PACKAGE .
data: tmpUnit type c LENGTH 10.
LOOP at SOURCE_PACKAGE ASSIGNING <fs01>.
if <fs01>-UNIT <> '' .
select SINGLE msehi INTO tmpUnit from T006 where MSEHI = <fs01>-UNIT.
if sy-subrc <> 0.
<fs01>-UNIT = ''. “replace with space
endif.
ENDIF.
ENDLOOP.
這樣資料能成功載入了,但畢竟是最好的解決辦法。