Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

BADI for VA01

Former Member
0 Kudos

Hi Experts,

As we can create User exit for VA01 to set the default value for sold-to-party. can we set it in BADI. If BADI does not exist then can we create a BADI

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Ranjith,

Try this..

YCL_IM_OM_PART_VALIDATION IF_EX_BADI_SD_SALES_ADDON~VBAP_MATNR_PRUEFEN

Control come here when u try to save Sales order for all fields

Regards,

Kaveri

9 REPLIES 9

Former Member
0 Kudos

hi,

refer to the thread.

regards,

sreelakshmi

Former Member
0 Kudos

Try the following BADI's:

(1) BADI_SD_SALES

(2) BADI_SD_SALES_BASIC

(3) BADI_SD_SALES_ITEM

One of them will serve your purpose, no need to define a new one.

Regards,

Swapnil Sharma.

0 Kudos

Hi Thanks for your response,

When I was trying to create badi for BADI_SD_SALES or BADI_SD_SALES_BASIC or it is showing error same error message as

BAdi definition is provided BADI_SD_SALES is only provided for internal use

Can you please help me.

Former Member
0 Kudos

Hi,

If you need to find out the BADI'S for any transaction then you can follow the steps given below which enable you to find any BADI related to any transaction in a matter of minutes.

1) Go to the transaction SE37 and locate the function SXV_GET_CLIF_BY_NAME.

2) Put a breakpoint there.

3) Now open a new session.

4) Go to your transaction eg. VA01.

5) At that time, it will stop at this function module.

6) Double click on the function field EXIT_NAME or NAME.

7) That will give us the name of the BADI that is provided in our transaction.

if it's a BADI implementation, the BADI definition name is 'BADI_SD_SALES' , might be the methods SAVE_DOCUMENT_PREPARE or SAVE_DOCUMENT_PREPARE_PART2.

You could search existing implementations to this BADI using SE18 -> Implementation -> Overview.

Another possibility is that these recent changes were made in the old fashioned way using the include-report MV45AFZZ. There it would be the form USEREXIT_SAVE_DOCUMENT_PREPARE. You could check this via SE38.

Regards.

Former Member
0 Kudos

Hi,

in this way find your BADI for your T.code VA01,

Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE

Go to the Transaction, for which we want to find the BADI,

Get the Program Name of Corresponding Transaction.

(Click on System->Status. Double Click on Program Name)

Once inside the program search for 'CL_EXITHANDLER=>GET_INSTANCE'.

Make sure the radio button "In main program" is checked.

A list of all the programs with call to the BADI's will be listed.

The export parameter 'EXIT_NAME' for the method GET_INSTANCE of class CL_EXITHANDLER will give you the BADI name for the Transaction.

now u can see find the existing BADI in that u can add your code.

seshu.

Former Member
0 Kudos

Hi Ranjith,

Try this..

YCL_IM_OM_PART_VALIDATION IF_EX_BADI_SD_SALES_ADDON~VBAP_MATNR_PRUEFEN

Control come here when u try to save Sales order for all fields

Regards,

Kaveri

0 Kudos

Hi Kaveri Thanks for your response,

I want the BADI which displays the default Sold-to-pary when we go through the first screen of VA01.

0 Kudos

Hi

If you are ECC 6.0 they why cannt you try for Enhancement spots

Regards

Shiva

0 Kudos

<<copy-paste answer without attribution deleted by moderator>>

Moderator Message: Do NOT copy-paste other people's work without attribution. This is your LAST warning

Edited by: kishan P on Jan 22, 2011 5:03 PM