SAP ABAP 物料凭证冲销BAPI_GOODSMVT_CANCEL

DATA i_mblnr TYPE ztmm_xsj_salesp-mblnr.
DATA i_mjahr TYPE mseg-gjahr.
DATA i_datum TYPE sy-datum.
DATA:lt_return TYPE TABLE OF bapiret2 WITH HEADER LINE.
DATA:ls_goodsmvt_headret TYPE bapi2017_gm_head_ret.
LOOP AT gt_alv INTO gs_alv WHERE p_box = ‘X’ AND xblnr IS INITIAL.
CLEAR:ls_goodsmvt_headret,lt_return[],lt_return.
i_mblnr = gs_alv-mblnr.
i_mjahr = gs_alv-budat+0(4).
i_datum = gs_alv-budat.
ENDLOOP.
CALL FUNCTION ‘BAPI_GOODSMVT_CANCEL’
EXPORTING
materialdocument = i_mblnr
matdocumentyear = i_mjahr
goodsmvt_pstng_date = i_datum
goodsmvt_pr_uname = sy-uname
IMPORTING
goodsmvt_headret = ls_goodsmvt_headret
TABLES
return = lt_return.

IF lt_return[] IS INITIAL.
CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’
EXPORTING
wait = ‘X’.
CONCATENATE ‘作废成功,凭证号:’ ls_goodsmvt_headret-mat_doc INTO l_mess6.
MESSAGE l_mess6 TYPE ‘S’ .
g_mes = ‘’.
ELSE.
g_mes = lt_return-message.
CALL FUNCTION ‘BAPI_TRANSACTION_ROLLBACK’.
LOOP AT gt_alv INTO gs_alv WHERE p_box = ‘X’ AND xblnr IS INITIAL.
gs_alv-mbinfo = g_mes. "执行信息
MODIFY gt_alv FROM gs_alv.
MOVE-CORRESPONDING gs_alv TO gs_salesp.
gs_salesp-usnam = gs_alv-usnam. "操作人员
gs_salesp-mbstat = gs_alv-mbstat. "单据状态
gs_salesp-budat = gs_alv-budat. "过账日期
gs_salesp-bldat = gs_alv-bldat. "凭证日期
gs_salesp-xblnr = gs_alv-xblnr. "物料凭
gs_salesp-mbinfo = g_mes. "执行信息
MODIFY ztmm_xsj_salesp FROM gs_salesp.
CLEAR: gs_alv, gs_salesp.
ENDLOOP.
EXIT.
ENDIF.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值