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

Former Member
0 Kudos

Hi everyone,

How to find BADI by knowing Class interface.

Expecting Reply.

Ravi.

8 REPLIES 8

abdul_hakim
Active Contributor
0 Kudos

hi

u can find the badi by searching for the service class

CL_EXITHANDLER in your program.

There is one nice weblog available here in sdn for searching BADis based on sql trace..have a look..

Cheers,

Abdul

Former Member
0 Kudos

Hi Ravi,

Usually when you create a BAdI definition using SE18, an interface will be automatically created for u.

For eg: if ZMYBADI is the BAdI definition, the interface created will be ZIF_EX_MYBADI.

So your requirement will be the reverse of what I have specified.

Standard Interfaces will start with IF_EX_ (and not ZIF_EX_).. So whatever is following IF_EX_ will be the BAdI definition.

For standard programs , search for CL_EXITHANDLER in the main program. The corresponding ABAP statement may be either

CLASS CL_EXITHANDLER LOAD. or

CALL METHOD CL_EXITHANDLER=>GET_INSTANCE.

Just note the interface reference variable given in the <b>instance</b> parameter of the method.

Go to the declaration of the variable.

It will be

data: <variable_name> type ref to if_ex_xxxxxxxx.

IF_EX_XXXXXXXXXXXXX will be the interface name.

so XXXXXXXXXXXX will be the BAdI definition.

You can create the implementation of the definition using SE19.It will ask for BAdI definition.Then a class implementing the interface will be created for you..

You can code in the methods of the class...

Hope your query is solved.

Regards,

SP.

suresh_datti
Active Contributor
0 Kudos

Hi Ravi,

In the Properties of the class interface, you will see the implementation name of the BAdI under Description.. something like "Imp. class for BAdI imp. XXXXX". Got to SE19 & display this implementation 'XXXXX'.YOu will see the BAdI name in the field Definition name. YOu can display the BAdI definition in SE18.

Regards,

Suresh Datti

0 Kudos

Yes Suresh Datti & SP,

Its showing only for Z...BADI , not fot Std. pgm.

I am searching for ME21N.

Ravi.

0 Kudos

There are lot of user exits are also avaiables for ME21N.

Exit Name Description

LMEDR001 Enhancements to print program

LMEKO001 Extend communications structure KOMK for pricing

LMEKO002 Extend communications structure KOMP for pricing

LMELA002 Adopt batch no. from shipping notification when posting a GR

LMELA010 Inbound shipping notification: Transfer item data from IDOC

LMEQR001 User exit for source determination

LMEXF001 Conditions in Purchasing Documents Without Invoice Receipt

LWSUS001 Individual customer source determination in Retail

M06B0001 Role determination for purchase requisition release

M06B0002 Changes to comm. structure for purchase requisition release

M06B0003 Number range and document number

M06B0004 Number range and document number

M06B0005 Changes to comm. structure for overall release of requisn.

M06E0004 Changes to communication structure for release purch. doc.

M06E0005 Role determination for release of purchasing documents

ME590001 Grouping of requsitions for PO split in ME59

MEETA001 Define schedule line type (backlog, immed. req., preview)

MEFLD004 Determine earliest delivery date f. check w. GR (only PO)

MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.

MEQUERY1 Enhancement to Document Overview ME21N/ME51N

MEVME001 WE default quantity calc. and over/ underdelivery tolerance

MM06E001 User exits for EDI inbound and outbound purchasing documents

MM06E003 Number range and document number

MM06E004 Control import data screens in purchase order

MM06E005 Customer fields in purchasing document

MM06E007 Change document for requisitions upon conversion into PO

MM06E008 Monitoring of contr. target value in case of release orders

MM06E009 Relevant texts for "Texts exist" indicator

MM06E010 Field selection for vendor address

MM06E011 Activate PReq Block

MMAL0001 ALE source list distribution: Outbound processing

MMAL0002 ALE source list distribution: Inbound processing

MMAL0003 ALE purcasing info record distribution: Outbound process

MMAL0004 ALE purchasing info record distribution: Inbound process

MMDA0001 Default delivery addresses

MMFAB001 User exit for generation of release order

MRFLB001 Control Items for Contract Release Order

AMPL0001 User subscreen for additional data on AMPL

0 Kudos

GOTO SE80 ENTER THE PACKAGE NAME (ME IN THIS CASE)..IT WILL LIST U ALL THE RELEVANT ENHANCEMENTS...

((FORM PACKAGE NAME RUN THRU THE TRANSACTION GET THE SYSTEM->PROGRAM...GOTO THAT PROGRAM...GET THE ATTRIBUTES...AND PACKAGE..)

REWARD POINTS IF IT HELPS

GUNJAN

0 Kudos

Hi Ravi,

The method that I have specified is one of the method.It may not give the interface name for all transactions.I think for ME21N, you can't find the occurence of CL_EXITHANDLER.

You can try this method. Goto SPRO transaction. Then go to SAP Reference IMG. In that search for SYSTEM MODIFICATIONS and you can find some BAdIs associated with Purchase Orders.

Regards,

SP.

Former Member
0 Kudos

pass the interface name to INTER_NAME in table SXS_INTER and you will get the BADI name.