cancel
Showing results for 
Search instead for 
Did you mean: 

What action needs to be done if one background job is running very long time?

Former Member
0 Kudos

Hi Gurus,

Pls advice me what action do i need to take if one background job is running very long time. When i consult with the functional team they are saying that the job should not be cancelled. But i dont see any way how to make that job to complete successfully?

All other background jobs are free and some other jobs are running but after completion of their job they are in waiting status. But one job is running from a long time....

What to do? pls advice me....

Thanks in advance.

Accepted Solutions (0)

Answers (5)

Answers (5)

anvardheen_jabarullah
Participant

Hi Srikanth,

Please refer the following steps if you getting slowness in background jobs

First start with basic checklist

1)Check whether Its updaing the log at db level through SM50-->Double Click on the WP which is used for job--> Will show the information like Direct Read,Seq read,insert ,update,delete and etc

2)Check whether It ahs any DB deadlock via DB01

3)Check job log is updating or not in SM37-->Job log

4)If not updating, ask DB team to check what does PID do

5)Ask them to update STATS

6)If above steps are fine, ask respective team to check is there updating the record count from their end.

I hope the above steps would be helpful for checking jobs issue.

Just let me know if we need to do additional check

adam_krawczyk1
Contributor
0 Kudos

Hi Srikanth,

You wrote:

Another question is The user who is running the job is not willing to cancell the job. And the job is running very slow.

How can i make that job complete successfully with out cancelling the job and improves the performance of the job?

If user does not want to cancel job, you have no choice than wait until it ends. However you can take advantage of fact that job is still running and do performance measurements to find out what is the reason of that. Of course you will not speed up job now, but next time it may run faster if you improve solution. Probably it is wrong algoritym, not optimized internal tables processing or database access without indexes.

You can run transaction SAT or SE30 -> new SAT to monitor what is actually happening in the program. SAT allows to measure also performance for other user, so you can just start to measure currently running process on server.

The simplest way is just to run SAT and click this button to see running processes:

Then activate measurement and after some time deactivate it. Make sure that you are on the same server to be able to see and measure running process. Results should give you answer what takes most time and you may be able to find out why program is running so slow.

I recommend this article for performance measurement, it covers also solution for long running jobs measurement - restricting measurements only to modules, then measure details if needed:

http://scn.sap.com/community/abap/testing-and-troubleshooting/blog/2011/01/18/next-generation-abap-r...

I hope it helps

Regards,

Adam

Former Member
0 Kudos

Hi,

Please make sure the following points.

1.Enough PSAPTEMP size.

2.Oracle is up to date.. Run a full update stats atleast once in a week.

3.Try to create  index for the long running tables.

Thanks and Regards,

Vimal

Former Member
0 Kudos

Hi Srikanth,

Please check the job in SM37 also have trace of job that what it is actually doing. If it is delta load you are not suppose to kill otherwise you can kill the job and start again.

Regards,

Vishal

Former Member
0 Kudos

Hi Vibhav,

Thanks for the reply but could you please make me understand what is delta load.

Another question is The user who is running the job is not willing to cancell the job. And the job is running very slow.

How can i make that job complete successfully with out cancelling the job and improves the performance of the job?

Thanks

Srikanth

Former Member
0 Kudos

Hi Srikanth,

Does that job is running in ECC created by BI user(ALE_BW) or it is ECC job?

If the job is currently running then you can't make it faster to complete, it depend on system performance and memory. You need to check with Basis on this.

Once the job complete you can check for indexing and filter for getting specific result.

Regards,

Vishal

Former Member
0 Kudos

Hi Srikanth,

Check from SM37 what Work process it is running, and then monitor in SM50 what the process is doing.

You can also set up traces for tah twork process to determine where it is taking time.

Thanks,

Samik