zoukankan      html  css  js  c++  java
  • 使用BAPI批量修改采购信息记录的税率

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

    税代码就是税率,J2代表13%

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

    BAPI是 ME_UPDATE_INFORECORD。

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

    但是多个工厂的税率都是一样的,所以修改是要一并修改。

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

    接下来直接上调用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所以都是直接修好了吧。

    方法里面 x 代表新记录,y 代表就记录。

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

      

    作者:明光烁亮
    出处:http://www.cnblogs.com/hezhongxun/
    微信号:HEme922 欢迎加好友一起交流SAP!
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    C++11 新特性之 变长參数模板
    Cocos2dx 3.6源代码编译错误:syntax error : missing &#39;)&#39; before &#39;{&#39;
    android开发中,在java中怎样使用c提供过来char*
    cocos2d-x 3.1.1 学习笔记[11] http请求 + json解析
    T420s成功加装固态硬盘(SSD)
    我对GFWed的一些自己的见解
    css样式布局中position的那些事儿
    Tokyo Tyrant(TTServer)系列(一)-介绍和安装
    Linux 文件描述符和重定向
    装饰模式
  • 原文地址:https://www.cnblogs.com/hezhongxun/p/10734489.html
Copyright © 2011-2022 走看看