‎2009 Jun 01 5:25 AM
hello,
How the standard BADIs are called from the standard code? Suppose there is a BADI for transaction code VA01. I have decided to use BADI instead of an user exit. How this can be achieved?
thnx.
‎2009 Jun 01 5:29 AM
first find whether badi is avaiable for your requriement.
for that first run the transaction in debug mode.
put break-point at function module:SXV_GET_CLIF_BY_NAME
exporting
name = exit_name
the exite_name will return the BADI name.
Then implement the BADI in SE19.
‎2009 Jun 01 5:42 AM
Hi,
goto class cl_exithandler->get_instance method.
give a break point there.
on execution of every screen or every action ur debugger will start giving back the exit names available..
go to the program for particular t-code and find as CL_EXITHANDLER=>GET_INSTANCE . mark the main program. the badi name is quoted in the exit_name parameter.
CALL METHOD CL_EXITHANDLER=>GET_INSTANCE
EXPORTING
EXIT_NAME = 'BADI_SERIAL_IN_STO' " badi used in migo transaction
NULL_INSTANCE_ACCEPTED = 'X'
CHANGING
INSTANCE = lp_badi_serial_in_sto
EXCEPTIONS
others = 9.
for va01
HBS01
'EHS_PS_002'
the above mentioned are badis for va01.
revert back for any clarifications...
help us to help u,Manas
‎2009 Jun 01 5:51 AM
hi,
Go to tcode se93, enter the transection name eg va01 click display button. get the package name.Go to tcode se84->enhancement->Bussiness-addins->definition,enter the package name and execute.
here you get the list of all the enhancement badi's for the given package.
‎2009 Jun 01 6:05 AM
Hi dpawar,
Could You please breif what is your requirement ? In VA01, I think we can overcome with User Exits than BADI's.
Regards,
Suneel G
‎2009 Jun 01 7:02 AM
Actually i want to put validation code for date in the tcode VA01 at the selection scrren only.
In va01 when we enter all order type then we click on create with reference tab.In which we select any order.In that if oreder is old one it should not procedd.For this only i want to put codition for displaying error message.Tht's it.
thnx.
‎2009 Jun 01 7:09 AM
F S_BDATE-LOW IS INITIAL OR S_BDATE-HIGH IS INITIAL .
ELSE.
MESSAGE E000 WITH 'For summary by quarter'
'do not enter the date range'.
REFRESH : S_BDATE .
ENDIF .
heres a sample code for you...
i hope you are not clear about point system...Help us to help you.
‎2009 Jun 01 7:39 AM
Yes my point is not cleared yet.
How can i implement this code in standard program?
can u tell me this?
‎2009 Jun 01 11:20 AM
I am trying to implement a security validation logic (in VA01 selection
screen ) such that it would check date overview screen for further processing. This is usually done through configuration and appropriate Basis/Security
objects in place.
However, I have new requirement to further limit this restriction i.e if date is not valid it shouldn't procedd further
I need to restrict this one by giving error messages on INITIAL SELECTION screen of VA01 BEFORE it goes
inside the sales order.
I have tried to put the code below in USEREXIT_FIELD_MODIFICATION. But the
code below ALWAYS gets executed once screen processes inside the VA01
overview/detial screens (which is too late) as its PAI. Right now with
code belwo, I get error messages within overview screen that wipes ourt
everything from the screen (kicks out of VA01 altogether) and returns to
initial SAP menu
I need the code below to work in a PBO module (somewhere being called from
BADI or one of the VA01 userexit in SAPMV45A)
so that it stay within VA01 selection screen and gives the error right
there.
i think now i hv cleared what exactly i wnt to do.
thnx.
‎2009 Jun 01 6:11 AM
Dear dpawar,
go the below link for your query ,
https://www.sdn.sap.com/irj/sdn/advancedsearch?query=howtoimplement+badi&cat=sdn_all
Cheers
fareed
‎2009 Jun 01 6:42 AM
BAdI For VA01
BADI_SD_SCH_GETWAGFZ : Scheduling Agreement: Read WAGFZ from S073
BADI_SD_V46H0001 : SD Customer functions for resource-related billing
User Exits For VA01
SDTRM001 : Reschedule schedule lines without a new ATP check
V45A0001 : Determine alternative materials for product selection
V45A0002 : Predefine sold-to party in sales document
V45A0003 : Collector for customer function modulpool MV45A
V45A0004 : Copy packing proposal
V45E0001 : Update the purchase order from the sales order
V45E0002 : Data transfer in procurement elements (PRreq., assembly)
V45L0001 : SD component supplier processing (customer enhancements)
V45P0001 : SD customer function for cross-company code sales
V45S0001 : Update sales document from configuration
V45S0003 : MRP-relevance for incomplete configuration
V45S0004 : Effectivity type in sales order
V45W0001 : SD Service Management: Forward Contract Data to Item
V46H0001 : SD Customer functions for resource-related billing
V60F0001 : SD Billing plan (customer enhancement) diff. to billing plan
Hope this will help full to you..........