业务方面提出需求:由于国家税率从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!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

使用BAPI批量修改采购信息记录的税率的更多相关文章

  1. 【MM系列】SAP里批量设置采购信息记录删除标记

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP里批量设置采购信息记录删除标记 ...

  2. 采购信息记录批导BAPI

    转自:https://www.cnblogs.com/freeandeasy/p/11810272.html作者的话:   可以批导创建及修改信息记录的主数据.而且可以对条件中的时间段及其数量等级中的 ...

  3. 采购信息记录修改[BDC]

    *&---------------------------------------------------------------------* *& *&---------- ...

  4. SAP MM 采购信息记录中价格单位转换因子的修改

    SAP MM 采购信息记录中价格单位转换因子的修改 如下采购信息记录, Order unit 跟 base UoM 一致,都是 PC. 采购价格是8849.56 CNY / 10000W, 由于业务人 ...

  5. 使用C语言协助办公_02批量修改学生信息

    最新录制了一个使用C语言批量修改学生信息的视频,主要是讲了如何处理文件路径以及批量修改的思路.灵感来源于需要将整个17级社保照片按规格改名字.具体见:https://chuanke.baidu.com ...

  6. SAP MM 自定义条件类型出现在采购信息记录的'条件'界面里 ?

    SAP MM 自定义条件类型出现在采购信息记录的'条件'界面里 ? 我在SAP系统里复制某个标准的采购条件类型,创建了一个新的自定义条件类型ZC05,并将其分配采购定价过程RM0000. 结果却出现一 ...

  7. Git 实战手册(一): 批量修改log中的提交信息

    本文须知 教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步原文地址 有空就来看看个人技术小站, 我一直都在 背景介绍 事情的起源是这样的:迷恋的谷歌的我最近申请了一个新的 googl ...

  8. ABAP-创建信息记录

    CALL FUNCTION 'ME_INITIALIZE_INFORECORD'. CALL FUNCTION 'ME_DIRECT_INPUT_INFORECORD' *&--------- ...

  9. ME11创建信息记录 Function

    转自 http://blog.csdn.net/zeewjj/article/details/7941530  CALL FUNCTION 'ME_DIRECT_INPUT_INFORECORD' D ...

随机推荐

  1. ionic 上拉菜单(ActionSheet)安装和iOS样式不一样

    ISO中的界面是这样的: 然而,Android中的界面是这样的: 代码如下: HTML部分: <body ng-app="starter" ng-controller=&qu ...

  2. Android开发工具Android Studio、Android SDK和Genymotion完全配置

    所谓“工欲善其事,必先利其器”.Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提 ...

  3. JSTL核心标签库——<c:set>标签、<c:out>标签

    <c:set>标签 index.jsp <%@ page import="java.util.Map" %> <%@ page import=&quo ...

  4. EL表达式和标签

    1.什么是EL expression language 表达式语言 特点: 语言简单,使用方便 .${表达式}. 提供自动类型转换的功能 如果返回结果为null时 String -- ”” Numbe ...

  5. springcloud 入门 1 (浅谈版本关系)

    SpringCloud: 参考官网:https://projects.spring.io/spring-cloud/            中文版         https://springclou ...

  6. C#多线程的用法9-Semaphore

    Semaphore:可理解为允许线程执行信号的池子,池子中放入多少个信号就允许多少线程同时执行. private static void MultiThreadSynergicWithSemaphor ...

  7. SQLSERVER 分区表实战

    背景:对NEWISS数据库创建分区表T_SALES的SQL.按照日期来进行分区步骤:1:创建文件组2:创建数据文件3:创建分区函数4:创建分区方案5:创建表及聚集索引6:导入测试数据(此处略),并查询 ...

  8. IntelliJ IDEA2018激活方法

    前言: IntelliJ IDEA2018请在官网下载:https://www.jetbrains.com/idea/ 一.license server激活 输入http://idea.jialeen ...

  9. search文件中的config

    config文件中出现这句话时,代表该部分search应写成文件中封装好的search部分.即: var search = null;     this.search = search;     se ...

  10. 转:.NET 面试题汇总(一)

    目录 本次给大家介绍的是我收集以及自己个人保存一些.NET面试题 简介 1.C# 值类型和引用类型的区别 2.如何使得一个类型可以在foreach 语句中使用 3.sealed修饰的类有什么特点 4. ...