In user exits we go by general method for enhancements
while BADIs we use objects (oops concepts)
methods for enhancement
UserExits r used for adding additional functionality to the
existing SAP standard transactions.Using UserExits we can
add additional functionality standard SAP functionality
without making any changes to the original code.BADI is a
standardized interface for ABAP sources that enables
partners and customers to enhance SAP-delivered programs in
Making enhancements using the transactions SMOD/CMOD has
the following disadvantages:
1) This enhancement technique assumes a two-tiered system
infrastructure (SAP – customers).
2) The naming conventions in effect do not tolerate name
3) It can be called only once. i.e. A user exit can not be
assigned to more than one project.
Adavantages of BAdI
1) Fulfills the requirements of a system infrastructure
containing country versions, industry solutions, partners,
2) Business Add-Ins should be considered generalized
Business Transaction Events that can be used to bundle
program, menu and screen enhancements into a single add-in.
3) Business Add-Ins can be created and employed in each of
the various software levels.
4) BAdI can be called namy times. i.e. BAdI implementation
can be assigned to more definations.
user exits: User exits we can use in only one application.If
we want to use same exit in some other application, then you
should first deactivate and then use.
four types of eser exits:
1. menu exit
4.function module exit
T.Codes: SMOD & CMOD
SMOD- To find the exit
CMOD- Implement the exit
Finding the exit: Using package
1.this is clint dependent
2.this is procedural approch to work with enchancement.
3.this is two level infra structure like sap and customer
4.once you should the define the user exit you can assign
the any customer
5.using tcodes:comd & smod
6.user exit find out the through package goto tcode se93
and duble click the program and goto attributes and take
the package name and go to smod click on f4 and give the
package name and execute that then dispay the require user
exit and take the user exit and implement the in cmod
1.this is clint independent
2.this procedural approch to work with enchancement.
3.this is multilevel infrastructure like sap ,customer
solution as well as industriery solution.
4.this is a filter option
5.se18 define the inter face(when you are define the
interface it has a options like filter options and multipul
6.se19 implement the badi