You are on page 1of 3

1) First of all identify the job that is long running and identify details like job class, work

process
that is executing the job

How to find out long running jobs in SAP 

Goto SM37 transaction and select the active job status between any 2 given date/time and list them.
In the output, sort the jobs based on duration column in descending order and identify the jobs that
are running for longer duration

All other questions can be answered from the below :

Goto transaction SM37 and list the jobs based on status and time interval.

Select any job for which you want to figure out the details. Double click on the job,  which pops up
“display job screen”. In that screen, click on job details tab to view

 Job name
 Job class (i.e A, B and C)
 Status of the job
 Exec. Target (server/instance on which job is being run currently)
 Job frequency (hourly, monthly , weekly etc)
 Work process that is executing the job
 Client on which job is running
 Release time of the job
 Schedule start of the job

2) Click on the job to view the display job screen. In the screen, click on job log to understand what
is being performed by the job currently. This may give details like job is currently extracting some
data packages or processing data packages etc

3) Identify the executing server and process id of the job from the step 1 and goto transaction SM50
of the respective executing server to view more details about the background job running.

Figure out the status of the job like On Hold or running from the process overview. If the job is On
Hold, find out the reason for On Hold by examing the “Reason” column of SM50
transaction. Reason for On Hold could be due to CPIC/RFC/DEBUG/ENQ/PRIV/UPD etc.

Double click on the reason column for detailed information on the same and troubleshoot
accordingly. If reason is RFC, check out which RFC it is referring to and cross check whether
destination system is up or not and any other problems with that system.

 If it is ENQ, check out any lock issues like lock overflow etc
 If it is PRIV, check out for memory bottlenecks
 If it is UPD, check out whether any update issues
 If it is CPIC, check out for any network , gateway, message server and other
communication problems
4) After performing step3, if you figure out job is not on Hold and it is in running state, then
examine report column to identify what report/program is being executed by the job. Once you got
the report/program details, figure whether it sap program or custom program and take actions
accordingly.

5) Also examine Action and table columns in SM50 transaction of respective executing server to
identify what is the action( roll in/roll out /Sequential read/Physical read/insert/update/delete
etc)  being carried out by the job currently and what is the table on which action is being
carried out.

If it is sequential read, figure out the cost of that sequential etc and consider for indexing etc.
If it is physical read, check out whether there are too many swaps and consider resizing
buffers accordingly. If you observed delay is due to high roll in/roll out, identify reasons for
the same and tune buffer/memory parameters accordingly.

6) Once you get the table details on which action is being carried out, figure out

 How many records are existing in the table?


 Is this taking long time due to volume of records?
 Are there proper indexes on the table ?(If no proper index, consider index creation
by taking help of DBA )
 Is the table having up to date statistics? (If statistics are out of date, consider
updating statistics of that table)

7) Consider debugging the process in SM50 (Program/Session -> Program ->   Debugging) to
figure out the issue

8) Using ST05 or ST12, a trace can be taken for background job to figure out where exactly
time is being consumed and to identify various CPU/memory bottlenecks or any buffer issues.

9) STAT/STAD transaction can be used to figure out what is the reason for high response
time and actions can be taken accordingly

10) By taking help of ABAP er, even ABAP run time analysis can be done using SE30
transaction

By following the above steps, you can pin point the issue and take actions accordingly to
minimize runtime of long running background jobs.

You might also like