cancel
Showing results for 
Search instead for 
Did you mean: 

Deliver Plant on Item overview tab of VA01, VA02, & VA03

Former Member
0 Kudos

Hello -

We have an issue when we create a sales order, the field RV45A-DWERK found in the header section of the Item Overview tab is not populated. The ship-to partner has a deliverying plant setup on the customer master.

Once we start entering material on the sales order the item plant field VBAP-WERKS is populated with the delivering plant from either the material master, customer info rec, or the ship-to customer master.

We would like to have the deliver plant at the header section populate with the deliver plant to start with.

We are currently on ECC6 SP4.

Thanks,

Matthew Fee

Accepted Solutions (1)

Accepted Solutions (1)

Shiva_Ram
Active Contributor
0 Kudos

Using standard configuration or using master data, you can't default the plant at RV45A-DWERK field as the plant is always specific to sales order line item.

Hence you need to look for user exit. For example you can try with Program MV45AFZA and USEREXIT_REFRESH_DOCUMENT.

Regards,

Former Member
0 Kudos

That is what I was afraid of. Thank you for your answer.

Answers (1)

Answers (1)

moisesteixeira
Explorer
0 Kudos

Dear all,

I came across this thread because I had the exact same requirement.

I was able to implement this requirement in two different ways:

1. Populating VBAP-WERKS in user exit MV45AFZB

FORM USEREXIT_SOURCE_DETERMINATION

*>>>MET@ROFF 11.12.2012 - Set VBAP-WERKS based on user parameter

*  DATA: lv_param_value LIKE  USR05-PARID.

*  DATA: lv_werks LIKE VBAP-WERKS.

*  DATA: lv_werks_aux LIKE VBAP-WERKS.

** Clear value

*  CLEAR: lv_param_value, lv_werks, lv_werks_aux.

*

** Get parameter from user data

*  SELECT SINGLE parva INTO lv_param_value FROM usr05

*         WHERE bname = sy-uname

*         AND   parid = 'WRK'.

*

*  lv_werks = lv_param_value.

*  SELECT SINGLE werks INTO lv_werks_aux FROM t001w

*         WHERE WERKS EQ lv_werks.

*  if sy-subrc = 0.

*    VBAP-WERKS = lv_werks.

*  endif.

**<<<MET@ROFF 11.12.2012

2. Populating RV45A-DWERK in user exit MV45AFZZ  (Better solution)

    FORM USEREXIT_MOVE_FIELD_TO_VBAK

*>>>MET@ROFF 11.12.2012 - Set RV45A-DWERK based on user parameter

   break rf-mteixeira.

   IF svbak-tabix = 0. "Create header

     DATA: lv_param_value LIKE  usr05-parid.

     DATA: lv_werks LIKE vbap-werks.

     DATA: lv_werks_aux LIKE vbap-werks.

* Clear value

     CLEAR: lv_param_value, lv_werks, lv_werks_aux.

* Get parameter from user data

     SELECT SINGLE parva INTO lv_param_value FROM usr05

            WHERE bname = sy-uname

            AND   parid = 'WRK'.

     lv_werks = lv_param_value.

     SELECT SINGLE werks INTO lv_werks_aux FROM t001w

            WHERE werks EQ lv_werks.

     IF sy-subrc = 0.

       rv45a-dwerk = lv_werks.

     ENDIF.

   ENDIF.

*<<<MET@ROFF 11.12.2012

I hope this may help other consultants in the future.

Regards,


Moisés Edgar Teixeira