User Exits : / Enhancements:
In standard SAP programs or transactions, Customer may need some additional functionality (change in process through code or new screens etc). SAP has provided the developers to make these changes at particular points in the program. So first a developer needs to see if SAP has provided these changes to make.(identifying this is a little difficult process and done by developer).
User Exits: First this process was introduced and is followed even now. It can have only one implementation.
BADI / Enhancements : this is a new process.Can have multiple implementations.
Now you may ask what is multiple implementations : if user presses on save button of the program then two different processes should happen.
Hope you are clear.
Look at [Implementing a Classic BAdI |http://help.sap.com/saphelp_nw70/helpdata/EN/eb/3e7cf4940e11d295df0000e82de14a/frameset.htm] - also use the search tools with keywords like [BADI tutorial|https://forums.sdn.sap.com/search.jspa?threadID=&q=BADIguidetutorial&objID=&dateRange=last90days&numResults=15&rankBy=10001]
Business Add Ins are similar to User-Exits. They are object-oriented. The technique is more recent and powerful. You can search with SE84 -> Repository-Infosystem -> Enhancements -> Business Add Ins -> Definitions.
I found JOB_NAME_SELF "Separate Job Name for Background Job" with Application Component = BC-ABA*. This is the only one badi for ABAP-Runtime.
In SAP SDN I found a fine instruction for BADI use:
Implementing Business Add-Ins (BADI)
The use of object orientated code within SAP has lead to new method of enhancing standard SAP code called
Business Add-Ins or BADI's for short. Although the implementation concept is based on classes, methods and
inheritance you do not really have to understand this fully to implement a BADI. Simply think of methods
as a function module with the same import and export parameters and follow the simple instructions below.
1. Execute Business Add-In(BADI) transaction SE18
2. Enter BADI name i.e. HRPBSGB_HESA_NISR and press the display
3. Select menu option Implementation->Create
4. Give implementation a name such as Z_HRPBSGB_HESA_NISR
5. You can now make any changes you require to the BADI within this
implementation, for example choose the Interface tab
6. Double click on the method you want to change, you can now enter
any code you require.
7. Please note to find out what import and export parameters a
method has got return the original BADI definition
(i.e. HRPBSGB_HESA_NISR) and double click on the method name
for example within HRPBSGB_HESA_NISR contract is a method
8. When changes have been made activate the implementation
Additionally I found a SAP note 728924 for this BADI and the note contains a recommendation for code..
With this infomation I got it working, Do not forget activating!