This wiki provides a demonstration of how to debug a program that runs in the background.
This document will use transaction F110 as an example to analyse document splitting in debug on a test system.
Step 1 - Delete existing proposal run
In F110 delete existing proposal run which contains error.
Via Menu path Select Edit -> Proposal -> Delete
Step 2 - Create new proposal with the same parameters
Select button to Schedule Proposal
Fill a start time in the future and Schedule
Step 3 - Set breakpoint at relevant function module(s)
In Transaction SE37 enter in function module. Select Display. Click on Stop Icon "Set/Delete Session Breakpoint" - Ctrl+Shift+f12
Step 4 - Select job in transaction SM37
Execute job selection
Select Job and in the OK Code field enter value JDBG, press Enter from keyboard
The selected job is now started in debug mode, and the debugger initially stops in a system program.
Choose F8 to continue the job up to the breakpoint set.
Step 5 - Delete proposal after debug
Delete proposal after debug in F110 Via Menu path Select Edit -> Proposal -> Delete
From note 573128 you can see the following stated Caution: Although the job still appears in SM37 in the previous status after debugging, the entire job (or, more specifically, a copy of it) has run during debugging and possible database changes are effective as a result of the job.
SAP Note 573128 : Debugging programs in the background