Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

how to debug background job

Former Member
0 Kudos

is it possible to debugg a background job

1 ACCEPTED SOLUTION

Former Member

You can debug batch jobs by going to 'SM37', type in 'JDBG' in the

command line ( no '/' ), put the cursor on the job and press enter - will

take you to the job in debug mode.

You can do this only after the job has finished execution. This will simulate the exact background scenario with the same selection screen values as used in the job also sy-batch will set to 'X'.

So type in the transaction code 'JDBG' and place your cursor on the job after It has finished. It will take you to a SAP program in debug mode. Step through this program which is about 10 lines, after this your program will be executed in the debug mode.

Steps

1. Create variant called BACKGROUND for program to be debugged.

2. Execute ZDEBUGBG (pgm code below) in background for immediate processing.

3. Execute transaction SM50.

4. Select process that runs ZDEBUGBG.

5. Goto 'Program/Session' 'Program' 'Debugging'.

A se80 debug session will open.

6. Change variable W_EXIT to 'E'.

7. Step thru (F6) until ZWBTEST comes up.

1. Go to Transaction SM66 and find your work porocess.

Select the line work process is on and click on the Debugging button.

If this is a custom program, you can put a wait statement in the code to buy yourself sometime.

2. Go to Transaction SM50. From the tool bar "Program/session"->Program->Debugging.

goto SM37 and from Program menu(not sure.. try other menu's)

-->Catchjob . it will goto the active job in debugging mode.

5 REPLIES 5

Former Member

You can debug batch jobs by going to 'SM37', type in 'JDBG' in the

command line ( no '/' ), put the cursor on the job and press enter - will

take you to the job in debug mode.

You can do this only after the job has finished execution. This will simulate the exact background scenario with the same selection screen values as used in the job also sy-batch will set to 'X'.

So type in the transaction code 'JDBG' and place your cursor on the job after It has finished. It will take you to a SAP program in debug mode. Step through this program which is about 10 lines, after this your program will be executed in the debug mode.

Steps

1. Create variant called BACKGROUND for program to be debugged.

2. Execute ZDEBUGBG (pgm code below) in background for immediate processing.

3. Execute transaction SM50.

4. Select process that runs ZDEBUGBG.

5. Goto 'Program/Session' 'Program' 'Debugging'.

A se80 debug session will open.

6. Change variable W_EXIT to 'E'.

7. Step thru (F6) until ZWBTEST comes up.

1. Go to Transaction SM66 and find your work porocess.

Select the line work process is on and click on the Debugging button.

If this is a custom program, you can put a wait statement in the code to buy yourself sometime.

2. Go to Transaction SM50. From the tool bar "Program/session"->Program->Debugging.

goto SM37 and from Program menu(not sure.. try other menu's)

-->Catchjob . it will goto the active job in debugging mode.

0 Kudos

Can we debug the same cases with similar input from tables using jdbg in sm37?

Former Member
0 Kudos

Hi,

Yes , it is possible to debug background job .

1. select active job in sm37.

2. type "jdbg" command in command field.

No need to type /n or /o .

3. Double click the job , it will go in debug mode.

OR

1. Go to sm50 .

2. place the cursor on active job.

3. goto program mode> program> Debugging.

regards.

santosh.

If your job is running. Simply go to SM51

- select your active job

- got to Program/Mode on menu . choose Program->Debug

You are now debugging your background job .

J

0 Kudos

Dear Senthil,

for FI-CA T-Code "FPB7" (Report RFKKKA00):

  1. set an external breakpoint in line 68 (IF g_debug ist initial.)
  2. start FPB7 report in debugging mode (/h in command line)
  3. at your breakpoint, set variable "d_debug" to "X" and save
  4. then you can debug the job, it will not run as background job

Best regards,

Christian