How to Kill an ABAP Developer???
Simple Go and Remove F6, F7 keys from his/her keyboard and He will suffer the most painful death.
(**we used to crack this joke in our ABAP Training)
After my 3 weeks of ABAP training it was my first day in office .My so called Guruji came to my desk and gave me a standard function module and told me that this function module is called from the APO system you need to debug it.
I did not even know how to debug a normal function module and this guy wants me to debug the RFC enabled function module!!!!!
So This Article is dedicated to All my friends who is facing the issue with typical Debugging J.This article covers RFC, portal, update task and background job debugging.
Debugging a Remote enabled Function module application.
Suppose you want to debug a function module which is there in APO system from the R/3.

(FYI: As you all know this RFC Destination is maintained via transaction code SM59 )
So here you can see the R/3 Program which is calling the APO Function module Z_TEST_CONNECTION_R3.
As you can see in the below image, keep the external break-point in your program before it calls the RFC enabled Function module.

Now login into the APO system where you’re remote enabled function module exist and put an external break-point.

Now go to Transaction code: SRDEBUG and click on the Activate Debugging Button:
It will give you a pop up which confirm your id, application server etc…. click enter which will give you another popup as shown in the below image. Keep it as it is.
Now go to your Report program in R/3 system and Execute it , it will open debugger , when you press F5 key to go inside the RFC Function module it will start debugging in APO system.
How to debug a portal application
Assume that there is a Java based application which is using HTML/JSP as its user interface and intern it uses the Java code to call the ABAP RFC enabled function module. So when user click on the submit or search option it fetches or update the data inside the ABAP system.

As compare to RFC Debugging from R/3 to APO here it’s somewhat tricky as here the user is not same, As Portal application and ABAP will not see the same user id.(***It depends but mostly it will not be same)
You need to consult with portal designer and needs to set your user id as the default user when you submit the FORM in portal. Once both the JAVA and ABAP system uses the same user id you just needs to put the external break point in your ABAP System it will stops when this RFC is called.
How to debug the background job
There are two ways to debug the background job
Option: 1. Open the running job in SM37 and select it . Enter “JDBG” in the command line and click enter. It will start the abap debugger.

Option: 2. Go to Transaction code SM50. Select your job which you want to debug as shown in the below image.

It will give you a popup for asking whether you want to debug the program or not and in few seconds it will open the debugger screen .
How to Debug an Update Function Module:
As you know update function module is called when a commit work is happend.To Debug an update function put a break-point just above the update function module and executes the program. Go to the property of the debugger (Setting-> Display/change debugger setting) and select the flag “Update Debugging”.
When program encounter a Commit work statement it will start the debugger in new window for the update function module.

Tips and Tricks related to Debugger.
If you want to jump to a specific line of code just put your cursor on the desired line and click on the Shift+F12 .It will start the execution of the program/code from that line (Not if you are skipping the lines ,those peace of code is not executed so that code is as equal as empty lines)












Avmukher
Good one … thanks!
Rajesh Gumpena
Good one…..
Thanks:)
Bijaya
very useful …:-D
SARAVANAN
Very useful……………
Murali
Thanks you so much
prachi gupta
Hello raj,
Thanks for this post!. This is very helpful.
Can u tell me how to execute the userexit/function exit which i have make by the test cases which i have. I dont know how to do this as i have joined new in abap.
Raj
Hello Prachi,
user-exit and function module exits are executed in while the normal business transaction is executed.
what you can do is.Keep a break-point inside the EXIT.
Execute the business transaction code.If the enhancement is activated it will stop there.
check out the functionality for which you have implemented the Exits.
Get back if it is not clear.
Thanks.
SAP IGnite.
Raj
ranjithkumar
hi Raj,
very nice site for ABAP material,can u post the ABAP HR tutorial
firoz alam
thanks Raj
I am appreciate your answer
Niketh
Thats very useful , Thanks.
divya
very useful answers
Thanks raj.
prasad
Thanks Raj…its very helpfull 4 me.
ur are very helpfull person
kishore
Hi Raj,
I do not find the SRDEBUG tcode in R/3
Can you pls help.
Kishore
din
Hi Kishore,
Can you go to Transaction Code : se38 and try to execute the program : RSRDEBUG.
thanks,
Din
Mallu
Its very useful,great work………..
Sekhar
Respected Mr.Raj,
If u don’t mind can u send me to my mail,,,1. How to debug ABAP/4 Smartforms and How can we update smartfoms.
2. what r the uses of module pool programming?
Ajit
Hi Raj,
Please post
1) How to debug a smart from and how to update sfm.
2) How to show a report program through mpp program ?
Please post its urgent…..
Thanks in Adv. Raj
v.prakash
i am very happy.
Hemant
Hi Raj..
Your’s posting is very useful for who are new to abap..
please go head..