3. BADI
BADI stands for Business Add Ins, which is used to add our own business
functionality to the existing SAP standard functionality.
BADI do same as what User Exit and Customer Exit used to do.
Business Add-Ins are a new SAP enhancement technique based on ABAP
Objects.
They can be inserted into the SAP System to accommodate user requirements
too specific to be included in the standard delivery.
The users of Business Add-ins can customize the logic according to
requirement or they can use the standard logic one available.
SAP guarantees the upward compatibility of all Business Add-in interfaces.
Release upgrades do not affect enhancement calls from within the standard
software nor do they affect the validity of call interfaces.
4. BADI
SE18 : BADI Definition – (Finding BADI Definition)
BADI definition is like Interface, something like class with empty Method.
SE19 : To Implement BADI
It is a class
5. BADI Advantages
Multiple Implementation is Possible
Individual control is possible
User created BADIs are possible
No effect on release upgraded on the functioning of BADI's
It does not require SAP Software Change Registration
In contrast to the earlier enhancement techniques, BADI follows Object
Oriented approach to make them reusable. A BADI can be used any number of
times where as standard enhancement techniques can be used only once.
For example if we assign an enhancement to one custom project, then that
enhancement cannot be assigned to any other custom projects. To overcome
this drawback SAP has provided a new enhancement technique called BADI.
7. Business Scenario
In transaction CAT2 - Time Sheet Entry, HR wishes to include an interactive acknowledgment
that knowingly submitting incorrect data is grounds for dismissal. This can be achieved using
BADI
8. Type of BADI
There are two types of BADI's.
1) Multi use BADI:
With this option, any number of active implementations can be assigned to
the same definition BADI. By default this option is checked.
If we want the BADI for multiple use
If you have multiple-use BADI definitions, the sequence must not play any
role.
The drawback in Multiple use BADI is, it is not possible to know which BADI is
active especially in country specific version.
2) Filter dependent BADI:
Using this option we can define the BADI's according to the filter values to
control the add-in implementation on specific criteria.
Ex: Specific country value.
9. Business Scenario – VLO2N
New Tab in Header Field “jh softech data”
Fields under new tab: Full, Partial, Vehicle Number, DKT NO, DKT Date, Driver
Name
10. How to find BADI ?
1. Enter the transaction
SE24
2. CL_EXITHANDLER
Click Display Button
11. How to find BADI ?
3. Double click on
GET_INSTANCE method.
12. How to find BADI ?
4. Put a break-point on
class method
CL_EXITHANDLER=>GET_
CLASS_NAME_BY_INTERF
ACE.
13. How to find BADI ?
5. Enter the transaction
VA01 in new session
14. How to find BADI ? 6. Give the transaction name VA01 and
press enter.
7. It will automatically take you to the
break-point which we have set the in
the SE24 transaction. Each time if you
press F8 a list BADI names will be
displayed.
15. How to find BADI ?
8. You can find the BADI
name in
field EXIT_NAME and if
you double click on it,
we can get the
corresponding BADI
name before hit the
corresponding screen.
16. How to find BADI ?
Based on the requirement
find the BADI name and
accordingly implement
your functionality using
the transaction se19.
40. Implementing BADI Example
18. Execute transaction
SE19
19. Select Classic BADI
20. Enter BADI name which
we have find out via
SE18
21 Click Create Impl Button
41. Implementing BADI Example
22. Write Implementation
name
23. Press Enter
24. Write Implementation
short Text
25. Click on Interface Tab
42. Implementing BADI Example
26. You can find Interface
Name
27. Class is automatically
created which start with
ZCL
28. Click ON SAVE button
44. Implementing BADI Example
30. You can find your own
created Enhancement
Implementation name
31.So, we are Creating
BADI Implementation
under Enhancement
Implementation
32.Click Enter
33.Double Click on Class