使用BAPI批量修改采购信息记录的税率

业务方面提出需求:因为国家税率从5月份开始16%更改成13%。要求开发一个批量修改采购信息记录税率的功能。bash

税代码就是税率,J2表明13%微信

 

这个需求在ME13里面就能够单个修改,因此能够用BDC,但后来找了下BAPI,发现真有修改税率的功能,果断用上。oop

BAPI是 ME_UPDATE_INFORECORD。spa

其实程序用到的表就是EINA和EINE,通常数据和组织数据。每个供应商对应的物料、工厂都会有一条数据。视频

可是多个工厂的税率都是同样的,因此修改是要一并修改。blog

 

首先给个选择屏幕让业务选择哪些供应商、哪些物料须要修改税率,通常选供应商就行,再添加税率的选择框。教程

 

接下来直接上调用BAPI的代码:开发

  

loop at it_tab assigning field-symbol(<wa_tab>).
    select single * from eina into yeina where infnr = <wa_tab>-infnr.
    move yeina to xeina.

    "多个工厂的税率都要改
    select * from eine into table yeine where infnr = <wa_tab>-infnr.
    move yeine[] to xeine[].

    loop at xeine assigning field-symbol(<wa_xeine>).
      l_index = sy-tabix.
      <wa_xeine>-mwskz = p_mwskz.
      read table yeine assigning field-symbol(<wa_yeine>) index l_index.

      call function 'ME_UPDATE_INFORECORD'
        exporting
          xeina    = xeina
          xeine    = <wa_xeine>
          yeina    = yeina
          yeine    = <wa_yeine>
          reg_eina = reg_eina.

      call function 'BAPI_TRANSACTION_COMMIT'.
    endloop.


    <wa_tab>-light = '3'.
    <wa_tab>-msg   = '税代码修改为功'.
    <wa_tab>-new_mwskz = p_mwskz.
  endloop.

  

这个方法没有返回sy-subrc因此都是直接修好了吧。get

方法里面 x 表明新记录,y 表明就记录。博客

到ME13查看就已经修改新的税率。

  

做者:明光烁亮
出处:http://www.cnblogs.com/hezhongxun/ 微信号:HEme922 关注可分享SAP ECC虚拟环境,以及开发或业务视频教程 本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。

相关文章
相关标签/搜索