货源清单批导程序,用BDC与标准函数创建均存在缺陷,最近做了货源清单批导程序,因时间较急,暂时把功能做出来,存在优化空间,各位有更优的版本可以交流学习。
我的模板程序里创建货源清单,是调用的另一个程序处理的,我尝试在一本程序里处理时,同样的逻辑,永远只是新增一条,还会把原来的覆盖掉,但是另起程序,调用就不会出现这个问题;
* 更改货源清单
CALL FUNCTION 'ME_UPDATE_SOURCES_OF_SUPPLY'
* 创建货源清单
CALL FUNCTION 'ME_DIRECT_INPUT_SOURCE_LIST'
EXPORTING
i_matnr = p_matnr
i_werks = p_werks
TABLES
t_eord = gt_eordu
EXCEPTIONS "异常一定要存在4个,存在3个的时候,一报错就会在左下角弹出消息,程序进行不下去
plant_missing = 1
material_missing = 2
error_message = 4
OTHERS = 3.
CALL FUNCTION 'ME_POST_SOURCE_LIST_NEW'
EXPORTING
i_matnr = p_matnr.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
l_err = 'FAIL'.
* CONTINUE.
ENDIF.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
l_err = 'FAIL'.
* CONTINUE.
ENDIF.
源代码百度网盘分享:链接:https://pan.baidu.com/s/1GrZLrFNeyv-8gfxp2eOxwA 提取码:l9pt