ewm交货单过账状态,交货单信息(ewm过账信息发给dms)

5 篇文章 3 订阅
1 篇文章 1 订阅

3交货单过账状态,交货单信息(ewm过账信息发给dms)

     需求:     erp生成交货单,然后交货单同步到ewm ,ewm交货过账以后会返回erp过账的状态

                     和包装等一些信息,这个时候我们这个点做增强,让ewm过完账同步erp的同时下发信

                     息给dms系统。

     难点:      在找包装信息也就是HU信息的时候,发现他不跟交货单的过账状态一起更新erp,导致

                     在能取到交货单状态等信息的地方找不到HU信息。

    解决办法:通过不断的调试,终于找到了HU的信息,但是发现只是底层的HU,我们要的是顶层的HU,

                     又在找到底层HU 的地方继续寻找,结果还是找了顶层HU。

                     因为这两个地方是不同的地发,先后顺序是交货单信息 ,hu信息,所以可以先取到交货单相               

                     关的信息,最后来取HU。

 

  交货单过账状态增强位置

 

  程序: MV50AFZ1 

  位置: USEREXIT_SAVE_DOCUMENT.

 

 

过账状态为 C  。

取完有用信息后,放到全局变量里,等下个增强点使用

 

 

 

方法1: 在函数组里定义全局字段或者表,一边填值,一边取值。

方法2: 值传递

  • 在调用的程序中:
         EXPORT it_tab TO MEMORY 'Z_MEMORY'.
  • 在被调用的程序中:
         IMPORT T_ITAB FROM MEMORY 'Z_MEMORY'.

 

包装信息增强位置

    至于怎么找到这个位置,那就是不的调试,我找了将近一个星期,盲目的通过搜索 erkp 和erko,找到可 

    能的位置进行调试,当然是在主程序里面搜索了。

函数组: V50L

函数模块:WS_DELIVERY_UPDATE

 

  因为交货单包装信息存在erko 和 erpo中,所以通过debug找到这两个 表

 

 

 

前一个增强得值:

 

 

 

通过数据测试得到 包装的信息存在表 :VERPO_TAB

但是会有两条数据,一条有底层HU ,一条有顶层HU,我们先用交货单和行号取得底层HU,

 然后在通过交货单和底层HU取到顶层HU。

 

 LOOP AT  LT_DATA  INTO DATA(LS_DATA).

        READ TABLE VERPO_TAB INTO DATA(LS_VERPO_TAB) WITH  KEY VBELN = LS_DATA-VBELN

                                                               POSNR = LS_DATA-POSNR.

          IF SY-SUBRC = 0.

             LS_DATA-EXIDV = LS_VERPO_TAB-EXIDV_OB.

          ENDIF.

           CLEAR LS_VERPO_TAB.

         READ TABLE VERPO_TAB INTO  LS_VERPO_TAB WITH  KEY VBELN = LS_DATA-VBELN

                                                           EXIDV = LS_DATA-EXIDV.

         IF SY-SUBRC = 0.

           LS_DATA-EXIDV = LS_VERPO_TAB-EXIDV_OB.

         ENDIF.

          IS_INPUT-EXIDV = LS_VERPO_TAB-EXIDV_OB.

           MODIFY IT_INPUT FROM IS_INPUT TRANSPORTING  EXIDV WHERE vbeln = LS_DATA-VBELN

                                                            AND POSNR = LS_DATA-POSNR.

****获取EWM HU 总数量

         CALL FUNCTION 'ZEWM_FM_IF_DM005' DESTINATION LV_RFCDEST

         EXPORTING

           IV_VBELN              = LS_DATA-VBELN

           IV_HUIDENT            = LS_DATA-EXIDV

         IMPORTING

           IV_QUAN               = IV_QUAN

         EXCEPTIONS

           CONMUNICATION_FAILURE = 1

           SYSTEM_FAILURE        = 2.



          LS_DATA-ZLFIMG = IV_QUAN.

         MOVE-CORRESPONDING LS_DATA TO LS_GZZT.

         APPEND LS_GZZT TO LT_GZZT.

         MODIFY LT_DATA FROM LS_DATA.

         CLEAR LS_DATA.CLEAR LS_GZZT.



      ENDLOOP.

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值