收货或者货物移动(MIGO,MB11,MB1A)在保存时候的增强点

本文介绍了如何利用BADI MB_DOCUMENT_BADI在SAP系统中进行增强,特别是在执行MIGO、MB11、MB1A等货物移动或收货操作后保存时的数据处理。关键在于在MB_DOCUMENT_BEFORE_UPDATE方法中调试,并将代码复制到MB_DOCUMENT_UPDATE方法,以确保在凭证保存后更新自定义表。注意避免在MB_DOCUMENT_BEFORE_UPDATE中使用COMMIT WORK,因为这会导致无法在第二个方法中设置断点并调试。

增强的BADI是:MB_DOCUMENT_BADI,特别要注意的是假如你是想在点击保存按钮的时候根据生成的凭证号,把某些数据更新到你的自建表的话,要用第二个方法MB_DOCUMENT_UPDATE,调试可以在第一个方法MB_DOCUMENT_BEFORE_UPDATE里面调试,特别注意不能在方法MB_DOCUMENT_BEFORE_UPDATE里面写COMMIT WORK,因为两个方法的参数完全一样,所以可以在第一个方法那边调试,然后直接把所有的代码拷贝到第二个,要注意第二个方法打断点是无法进去的,但是他确实有执行,所以说只能在第一个方法那边调试,下面赋一段写的代码吧:

 

method if_ex_mb_document_badi~mb_document_update.
   data: gs_mseg type  mseg.
   data: gt_gdfh type table of ztmm_gdfh.
   data: gs_gdfh type ztmm_gdfh.

  data: gt_gdth type table of ztmm_gdth.
   data: gs_gdth type ztmm_gdth.
   data: gt_lxjj type table of ztmm_lxjjgl.
   data: gs_lxjj type ztmm_lxjjgl.
   data: gs_mkpf type mkpf.
   if sy-tcode eq ‘MIGO’ or sy-tcode  eq ‘MB11′.
     read table xmkpf into gs_mkpf index 1.

    loop at xmseg into gs_mseg.

      if   gs_mseg-bwart eq ‘201′ and gs_mseg-sobkz eq ” .
         select single zgngo into gs_lxjj-zlxjjbm from marc where matnr eq gs_mseg-matnr and werks
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值