Monday, September 27, 2010

The maximum report processing jobs limit configured by your system administrator has been reached.

Possible Causes

The error message appears because the web application has exceeded the Crystal Reports reporting engine default print job limit of 75. Or, in other words, a high reporting load has been placed on the reporting engine. There are a number of reasons why the report engine would suffer from high loads and each reason may have a distinct solution as documented below.

Coding Issues

Proper coding requires that any objects be managed and thus destroyed when they are no longer needed. This is true for any object that supports IDisposable interface.

Too Many Print Jobs Submitted to the Report Engine

Starting in version 10 of Crystal Reports, the reporting engine was optimized for greatest report throughput. There are specific registry keys that control this optimization. By default, the print job limit is set to 75 print jobs. When a load is placed on the application it can hit the 75 print job limit and cause the error. Note that a print job includes main reports, subreports, and in-session report objects (e.g.; drill down, paging, searching, and more.). Therefore a single report could exceed the 75 print job limit. Consider a report that returns 75 records, with a subreport placed in the detail section and thus running for each record. This report will need to run 75 subreports plus the main report, reaching 76 print jobs and the error will be thrown.

Solutions

First Delete report files in temp folder(C:\Documents and Settings\[UserName]\Local Settings\Temp) with the extension rpt.

1. Dispose un-needed objects on Page_Unload

Ensure that you call .Dispose and .Close method when the report object is no longer need. Also, ensure that this is done not only with Crystal Reports, but FileStream, Database Connections, datasets or any other object that supports IDisposable interface.

Dim cryDoc As ReportDocument

On page Unload dispose the Report Document Object.

rDoc.Close()
rDoc.Dispose()

This is the Correct Solution.


2. Increase the 75 Print Job Limit

This may stop the error from occurring temporarily but as load increases, you will find the error will start to occur again or worse yet, the system may stop responding and a system reboot will be the only way to recover. For an application using the Crystal reports SDK, the registry key “InprocServer” sets the limit for the number of print jobs allowed to be processed by the report engine.

Note: The default value of 75 is the predetermined value for best performance in tested environments. Changing this value may affect performance of the system.

To change the PrintJobLimit value, follow these steps:

1)Click Start > Run. The Run dialog box appears.
2)Type “regedit” in the Open field. Click OK. The Registry Editor appears.
Navigate to the appropriate registry key value as documented below.

Crystal Reports 10.0.x
HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\10.0\Report Application Server\ InprocServer\PrintJobLimit

Crystal Reports 10.2 (Visual Studio .NET 2005 bundle)

HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\10.2\Report Application Server\ InprocServer\PrintJobLimit

Crystal Reports Basic for Visual Studio 2008 (Visual Studio .NET 2008 bundle)
HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\10.5\report Application server\InProcServer\ PrintJobLimit\PrintJobLimit

Crystal Reports XI Release 1 (11.0.x)
HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 11.0\Report Application Server\InprocServer\PrintJobLimit

Crystal Reports XI Release 2 (11.5.x)
HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 11.5\Report Application Server\InprocServer\PrintJobLimit


Crystal Reports 2008 (12.x.x)

HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\Report Application Server\InprocServer\PrintJobLimit

6 comments:

Unknown said...

Thank you for supporting. My problem has been resolved.

Hamza Bukhari said...

ThanX Dude!
You made My Day ;-)

Unknown said...

Thanks a lot. This article helped me to solve my CR nightmare. Phew!!

Unknown said...

I really appreciate your Post. the post has excellent tips which are useful. this post is good in regards of both knowledge as well as information .NET Jobs

Unknown said...

Thanks a lot. The article is very helpful and it resolved my problem.

Unknown said...

Thank you for sharing this article.