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

Popular posts from this blog

CDS Views: Table Functions with Example

Passing Dynamic Variables to SO10 TEXT

Adobe Form/PDF Form Introduction