First and foremost,
Learn what is user exits?
how to find user exits for the particular transaction?
Finally, how to develop code for the particular scenarios?
user exits is nothing but enhancement. But it is one time enhancement.
other person cannot enhance that same user exit name for the same transcation.
suppose if you want to enhance that user exit , first deactivate that old one and activate the new one.
Finding user exits, go to sap modification(SMOD) and customer modification(CMOD).
In the SMOD you willl find the name of the user exits , but in CMOD you are able to edit that particular user exits by creating your own project name.
For any transcation their will be a program name and package name.
just collect that program or package name.
1st go to SMOD -> uitilites->find->place your package name and execute.
2nd copy that exits name and go to CMOD .
create your own project name with z or y letter.
give short description, go to enhancement tab place exits name .
3rd go to components tab , it will take you to the FM. In that FM their is an INCLUDE with z name.
Double click on that INCLUDE it will take you to the source code.
Write your code related to scenarios.
don’t forget to activate each screen when your coming out from that exits.
user exits FM can be identified by Exit_xxx_001.
How to fill the annual salary field(IT 0008) by using user exits.
data: scr_fld(22) value ‘(MP000800)Q0008-SUMBB’,
i0008 like p0008.
field-symbols: <fs> type ANY .
call method cl_hr_pnnnn_type_cast=>prelp_to_pnnnn
exporting prelp = innnn
importing pnnnn = i0008 .
assign (scr_fld) to <fs> casting like I0008-ansal.
I0008–ANSAL = <fs> * 12.
call method cl_hr_pnnnn_type_cast=>pnnnn_to_prelp
exporting pnnnn = i0008
importing prelp = innnn.
why i decalred screen field because IT 0008 contains screen control it does’nt store the screen field name in the Trans Table pa0008.
It store the values in the screen field qnnnn.
So we go for screen control field.