您的位置:首页 > 编程语言 > PHP开发

DTP请求在并行模式出错

2012-08-08 16:37 85 查看
    今天遇到一个问题,在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.

    这样数据能成功加载了,但毕竟是最好的解决办法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  parallel manager
相关文章推荐