SAP 生产订单BOM组件修改ABAP函数

2022-03-30 14:29:34 浏览数 (1)

最近,在做某个项目的时候,业务部门有一个需求是需要通过接口去修改SAP生产订单BOM组件的信息,解决由于订单BOM不准反向通过实际发料来更新订单BOM组件数量,使其满足财务核算及MRP运算的要求。

一般SAP有2种方式可以处理:

1.使用BDC录屏的方式,但是录屏的方式因为在CO02功能里面做了大量的增强和个性化设置,只要有一个字段或界面元素没考虑周全,就会造成接口修改不成功,稳定性较差,后期的维护成本高及用户体验较差。

2.使用BAPI_ALM_ORDER_MAINTAIN函数修改生产订单BOM组件,这个函数原本是系统用来修改PM生产订单信息的,不仅可以修改PM生产订单BOM组件信息,还可以修改PM生产订单抬头信息、PM生产订单工艺路线信息等,如下图:

由于SAP没有提供其它可用的ABAP函数来修改一般的生产订单信息,所以需要修改此函数源代码,跳过相应的PM订单检查,把此函数改造为通用订单修改函数,具体如下:

IT_METHODS是选择调用接口的对象与方法名,

比如:OBJECTTYPE=COMPONENT,METHOD=CHANGE

修改订单BOM组件对应的是IT_COMPONENT、IT_COMPONENT_UP两个参数表

然后通过生产订单号找到RESB表中对应生产订单的预留号、预留行号信息,根据实际需求输入表里面相应的参数就可以完成对订单BOM组件的修改了

应用情况如下:

即完成生产订单BOM数量的修改。

若各位有更好的ABAP函数或其它解决方法,十分欢迎留言讨论!

0 人点赞