前言
事务码MR21可以用来修改物料价格,在ABAP中如何来实现MR21的功能呢?有不少的开发顾问是通过录屏的方式,然后在代码中调用。
那有没有BAPI可以使用,来修改物料价格呢?答案是有的,本文将为大家揭晓。
方案一
1.调用BAPI_MATVAL_PRICE_CHANGE,这个BAPI可以用来修改单个物料的价格,但是需要额外的配置
配置路径:SPRO-物料管理-评估和科目设置-设立物料价格发送
将允许修改的估价范围添加进去
方案二
1\.
BAPI_M_REVAL_CREATEPRICECHANGE这个BAPI可以用来一次用来修改多个物料的价格,但是这个BAPI默认不允许使用,可以拷贝这个BAPI重新命名为Z
BAPI_M_REVAL_CREATEPRICECHANG,然后删除以下代码
注意:需要拷贝原BAPI中包含文件的数据定义和子例程部分
总结
就个人而言,比较喜欢第二种方式,不需要额外的配置,而且效果同MR21一样,可同时改多个物料价格,并且只生成一个会计凭证。