Updating shipping condition based on Ship-To-Party in Sales order
Program: MV45AFZZ
User Exit: USEREXIT_MOVE_FIELD_TO_VBAK.
CONSTANTS: lc_parvw TYPE parvw VALUE 'WE'.
IF ( t180-trtyp = charh OR t180-trtyp = charv ) AND xvbpa[] IS NOT INITIAL.
READ TABLE xvbpa INTO
DATA(ls_vbpa) WITH KEY vbeln = vbak-vbeln
parvw = lc_parvw.
IF sy-subrc = 0.
*Fetch shipping condition for ship
to party
SELECT SINGLE vsbed
FROM knvv
INTO vbak-vsbed "XVBAK
WHERE kunnr =
ls_vbpa-kunnr
AND vkorg =
vbak-vkorg
AND vtweg =
vbak-vtweg
AND spart =
vbak-spart.
ENDIF.
ENDIF.
Route(VBAP-ROUTE) will be automatically identified based on shipping condition(VBAK-VSBED)-Standard.
Info: The FM 'SD_ROUTE_DETERMINATION' is used to determine Shipping Route
*
Determine the Shipping Route
CALL FUNCTION 'SD_ROUTE_DETERMINATION'
EXPORTING
i_aland = lr_tvst-aland
i_azone = lr_tvst-azone
i_lland = lr_kna1-land1
i_lzone = lr_kna1-lzone
i_vsbed = lf_vsbed_c
i_tragr = lf_tragr
IMPORTING
e_route = lf_route
EXCEPTIONS
no_route_found = 1
departure_error =
2
destination_error =
3
invalid_generic_key = 4
customer_exit_error = 5
OTHERS = 6.
Comments
Post a Comment