我的要求是确保只有主物料和自由货物一起选择时才能清除拒绝原因,否则,主物料将使用对自由货物的拒绝原因被拒绝。问题是SAP默认程序始终覆盖我所做的任何更改。我在 FORM USEREXIT_MOVE_FIELD_TO_VBAK 下找到了此用户出口 MV45AFZZ ,但它不起作用。请你帮忙。
我的代码
FORM USEREXIT_MOVE_FIELD_TO_VBAK.
ENHANCEMENT 1 ZFREEBIES_REJ_CHECK_ON_CHANGE. "active version
DATA: lv_uepos TYPE vbap-uepos,
lv_abgru TYPE vbap-abgru,
lw_xvbap TYPE vbapvb.
LOOP at xvbap WHERE pstyv = 'TANN'.
READ TABLE xvbap INTO lw_xvbap WITH KEY posnr = xvbap-uepos.
IF sy-subrc EQ 0.
xvbap-updkz = 'U'.
CLEAR xvbap-grpkz.
lv_uepos = xvbap-uepos.
IF ( lw_xvbap-abgru ne xvbap-abgru AND xvbap-abgru NE '' ).
CASE xvbap-vbeln.
WHEN ''.
MODIFY xvbap TRANSPORTING abgru grpkz WHERE posnr = xvbap-posnr.
MODIFY xvbap TRANSPORTING abgru grpkz WHERE posnr = lv_uepos.
WHEN OTHERS.
MODIFY xvbap TRANSPORTING abgru updkz grpkz WHERE posnr = xvbap-posnr.
MODIFY xvbap TRANSPORTING abgru updkz grpkz WHERE posnr = lv_uepos.
ENDCASE.
ENDIF.
ENDIF.
ENDLOOP.
ENDENHANCEMENT.
ENDFORM.
图
Initial Value :
main item = Rejected
free goods = Rejected.
User Change:
Main Item = Cleared.
Free goods = Rejected.
Sap Result:
Main Item = Cleared
Free Goods = Cleared.
Expected Result :
Main Item = Rejected
Free Goods = Rejected