DTP請求在並行模式出錯

fog911811發表於2012-08-08

    今天遇到一個問題,在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.

    這樣資料能成功載入了,但畢竟是最好的解決辦法。

相關文章