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: 

Background Debuging

Former Member
0 Kudos

Hi..

I try to create modification on PT60. I write my code in User Exit HRPTIM04, where my code is writing data to Cluster B2.

And when i execute in foreground it's run successfuly, but when i execute in background it's failed!

I need any advice how to debug in background job.

Thanks.

1 ACCEPTED SOLUTION

vinod_gunaware2
Active Contributor
0 Kudos

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.

regards

vinod

3 REPLIES 3

Former Member
0 Kudos

put breakpoint in user exit and before that forcefully change SY-BATCH = 'X' , this runs in background

vinod_gunaware2
Active Contributor
0 Kudos

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.

regards

vinod

former_member188685
Active Contributor
0 Kudos

Hi,

first run in debug mode using /H then from menu SETTINGS -> UPDATE DEBUGGING then you will be able to debug the Background also.

Regards

vijay