How to debug the programs triggered internally by RFC to be run in background
In some programs and transactions, an other program/function module is submitted by RFC in order to run in background. In this case, it is impossible to get into the program or function module to analyze during debugging, here is an example. The function module MRP_KD_AUFTRAG_RFC is triggered to be run in background, so the debugger doesn’t go into it when F5 key (Single step) is clicked and there is no chance to debug that in this screen.
The program above is run through the transactional RFC mechanism and it can be debugged as following. (There is an other way of RFC so-called queue RFC, the programs and function modules are run through transactions SMQ1 and SMQ2. This blog only focus on the transactional RFC.).
Enter the debugger once the program or transaction get started, go to the menu below of debugger (New debugger).
Select the checkbox below, then click F8 key to complete the processing.
(In classic debugger, the menu is ‘Settings’ > ‘Display and change all’, select the checkbox ‘In background task: Do not process’. The menu ‘Display and change all’ doesn’t appear if the debugger is in PBO of screen, need to go into Modules of the screen.).
Now, the function module is not processed in background and stopped in transaction SM58 below for debugging.
Go to menu below to debug and process the function module.
Thanks Leon Shen for valuable content.
Thanks for providing this Blog. It was very much usefull.