Выход пользователя по причине отказа VA01 - PullRequest
1 голос
/ 27 мая 2019

Мое требование - убедиться, что только основной товар и бесплатные товары могут очистить причину отклонения при выборе вместе, если не основной товар будет отклонен по причине отклонения бесплатного товара. Проблема в том, что программа SAP по умолчанию всегда перевешивает любые изменения, которые я делал Я нашел выход этого пользователя MV45AFZZ в FORM USEREXIT_MOVE_FIELD_TO_VBAK , но он не работает. Не могли бы вы помочь.

Мой код

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
...