Hello Experts,
We have implemented a custom logic in USEREXIT_SAVE_DOCUMENT_PREPARE to change the payer in XVBPA structure based on some logic. But we see it is changing the payer but not determining the relevant data in sales order like payment terms, Account assignment group of customer etc.
Manually, in VA01 when we change payer, it also redetermines payer related details in sales order.
Could you please suggest if we are using wrong exit or there is some issue in the coding.
=======================================================================
LOOP AT xvbpa INTO lw_vbpa WHERE parvw EQ 'RG'
OR parvw EQ 'RE'.
IF lw_vbpa-parvw EQ 'RE'.
lw_vbpa-kunnr = ls_vbpa-bill_party.
lw_vbpa-adrnr = VALUE #( lt_adrnr[ kunnr = ls_vbpa-bill_party ]-adrnr OPTIONAL ).
ELSEIF lw_vbpa-parvw EQ 'RG'.
lw_vbpa-kunnr = ls_vbpa-payer.
lw_vbpa-adrnr = VALUE #( lt_adrnr[ kunnr = ls_vbpa-payer ]-adrnr OPTIONAL ).
ENDIF.
* If the transaction is in change mode or edit.
* IF T180-TRTYP = 'V' OR T180-TRTYP = 'B' AND lw_vbpa-updkz NE 'D'.
* lw_vbpa-updkz = 'U'.
* ENDIF.
MODIFY xvbpa from lw_vbpa TRANSPORTING kunnr adrnr.
======================================================================
Thanks in advance for your kind reply.
Regards,
Surajit