XL Reporter Report Job
I'm trying to prepare a report job in XL Reporter that will produce the last quarter's and YTD's value for the specified report definition. My report definition has a parameter that let's the user choose the current financial period and the comparative financial period, but I would like the report job to create automatically the report for the last quarter and YTD.
Are there formulas that can be entered in financial period paramaters that would permit this?
Thanks!
Thanks.
Yes, I will always check the latest 3 periods, or YTD periods.
For example: My Sales report job will run at the beginning of each quarter, for the previous quarter (eg April 1 2011 for the 3 month period ending March 31 2011)
On April 1, the current period will be 201104. The report has to detect that the current period is 201104, and give me a report for the period 201101 to 201103. How do I do that?
Similar Messages
-
JOB_OPEN, SUBMIT REPORT VIA JOB, JOB_CLOSE, How to get result?
Hi Friends,
I am calling reports using jobs as calling job_open, submit report via job.., and job_close. But I want to the output/result of the report. How can I do this?
Thanks.Hello nkara,
Welcome to SDN!!!
Check this thread:
background grid
REgards,
Vasanth -
Maximum report processing jobs limit error on compile
I have been creating an VB.NET application using VS 2005.NET Pro. I believe the version of Crystal reports is 10.0 - I think. I got the following error when I created a new report and then compiled:
Error 1 Custom tool error: "Code generator 'ReportCodeGenerator' failed. Exception stack = System.Exception: Load report failed. ---> System.Runtime.InteropServices.COMException (0x80041016): The maximum report processing jobs limit configured by your system administrator has been reached.
at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options)
at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options)
at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
--- End of inner exception stack trace ---
at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob)
at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename)
at CrystalDecisions.VSDesigner.CodeGen.ReportClassWriter..ctor(String filePath)
at CrystalDecisions.VSDesigner.CodeGen.ReportCodeGenerator.GenerateCode(String inputFileName, String inputFileContent)" J:\Development\ElkRunItWorking\WholesaleReportingSys\Trunk\WholesalerReporting\rptSalesSalesmanProductMonth.rpt 1 1 WholesalerReporting
I have looked at several threads with this error already, but they seem to be having the error when the app is running. I am just compiling and I get this error. Now, counted the number of reports I have created and it is 15. 16 reports seems to trigger this error. What is going on and what should I do? Thanks in advance.
Ed CohenOne more thing, I do not have this in my registry:
HKEY_LOCAL_MACHINE\SOFTWARE\CRYSTAL DECISIONS\*10.2*\REPORT APPLICATION SERVER\SERVER\PrintJobLimit
I have looked all over the place it PrintJobLimit does not exist. Again, I am using Visual Studio.NET 2005 Pro on a Windows XP Pro machine. Thanks again.
Ed Cohen -
Is it Possible to Run Reporting Agent job in Parallel?
Hi Folks,
I am sceduling a reporting agetn job and I see that it only takes one back Ground process and its a long running Job, so I was thinking about the possibilty of breaking this into parallel jobs..Is this possible if so please share with me how to do this...thanks in advanceFarhan,
I think I did not explain my question properly, I do not want to create 2 variants with different time selections and run it as 2 jobs, this way I cannot have a Super Set for using Cache, what I am want is use just one variant (Jan through Dec) and when I execute this in the background, i want this job to split into parallel processes so that it runs faster...Can someone explain if this is possible. if so how can i achieve this..thanks in Advance.. -
The maximum report processing jobs limit configured has been reached -Error
I have Created a common page that has a CrystalReportViewerControl (name of this page is ShowReport.aspx). The report name and database name that required for the report is being passed in a querystring. The database connection info is being pulled from the web.config file. All of the reports that I am dealing with have dynamic parameters and the Crystal Prompt page is automatically being created by the crystal viewer for these. Everything in my application is working fine except that when I try to access any report for the 76th. time I get the following error "The maximum report processing jobs limit configured by your system administrator has been reached."
I have already researched this error and am aware that the PrintJobLimit can be modifed to increase this limit or can be set to -1 if we need to allow unlimited connections. However doing this is not an option due to the degradation of server performance.
The other option that I have tried is to make sure I close and dispose of the report document object on the Page_unload or the page_SavedStateComplete() however on doing so even the session variable that I am using to store the originally created reportdocument is loosing all of the values it requires to display the report. The session variable is still available i.e. it is still of type report document but it has no values for any of the properties like FileName, database etc , basically for all of those properties it show an error "Invalid File Path" when viewed in debug mode.
I have already tried several approaches but with no luck. Every single time I close the originally created ReportDocument object I loose all the required values in the Session
I am using Crystal Report XI R2 , .Net 2.0 and ASP.net
Following is the code: (Any help will be highly appreciated) Thanks:
Option Strict On
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Data.SqlClient
Imports System.IO
Partial Class _ShowReport
Inherits System.Web.UI.Page
Private FechReport As ReportDocument
Dim strSelectedDatabase As String
Dim strReportsFolderPath As String =
System.Configuration.ConfigurationManager.AppSettings("ReportsFolderPath").ToString()
Dim strReportFileName As String
Dim strReportFullPath As String
Dim iInsertedLogId As Integer 'This variable is used to store the inserted log id for the executed report.
Dim strConnString As String = System.Configuration.ConfigurationManager.AppSettings("ConnString").ToString()
Dim strServerName As String = System.Configuration.ConfigurationManager.AppSettings("CR_ServerName").ToString()
Dim strUserName As String = System.Configuration.ConfigurationManager.AppSettings("CR_UserName").ToString()
Dim strPassword As String = System.Configuration.ConfigurationManager.AppSettings("CR_Password").ToString()
Protected Sub Page_OnSaveStateComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SaveStateComplete
If IsPostBack Then
If iInsertedLogId > 0 Then
UpdateReportLog_ReportServedTime(iInsertedLogId)
If Not FechReport Is Nothing Then
FechReport.Close()
End If
End If
End If
End Sub
Sub Page_Unload(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Unload
If Not FechReport Is Nothing Then
'FechReport.Close()
'FechReport.Dispose()
'GC.Collect()
End If
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim sRptFileName As String
If Request.QueryString("database") "" Then
strSelectedDatabase = Request.QueryString("database")
Else
Response.Write("A Valid Database has not been supplied to this page")
Response.End()
End If
If Request.QueryString("ReportFileName") "" Then
strReportFileName = Request.QueryString("ReportFileName")
strReportFullPath = strReportsFolderPath & strReportFileName
Else
Response.Write("A Valid Report has not been supplied to this page")
Response.End()
End If
sRptFileName = strReportFullPath
If Not IsPostBack Then
FechReport = New ReportDocument
If Not FechReport Is Nothing Then
ShowReport(sRptFileName)
End If
Else
If (Session("oReportDocument") Is Nothing) Then
FechReport = New ReportDocument
ShowReport(sRptFileName)
Else
'FechReport = New ReportDocument
'FechReport = CType(Session("oReportDocument"), ReportDocument)
myCrystalReportViewer.ReportSource = Session("oReportDocument")
'myCrystalReportViewer.ReportSource = FechReport
End If
End If
End Sub
Public Function ShowReport(ByVal strReportFileName As String) As Boolean
Dim blNoErrors As Boolean = True
Dim crDatabase As Database
Dim crTables As Tables
Dim crTable As Table
Dim crTableLogOnInfo As TableLogOnInfo
Dim crConnectionInfo As ConnectionInfo
FechReport.FileName = strReportFileName
myCrystalReportViewer.ReportSource = FechReport
crConnectionInfo = New ConnectionInfo()
With crConnectionInfo
.ServerName = strServerName
.DatabaseName = strSelectedDatabase
.UserID = strUserName
.Password = strPassword
End With
Try
crDatabase = FechReport.Database
crTables = crDatabase.Tables
For Each crTable In crTables
crTableLogOnInfo = crTable.LogOnInfo
crTableLogOnInfo.ConnectionInfo = crConnectionInfo
crTable.ApplyLogOnInfo(crTableLogOnInfo)
Next
Catch ex As Exception
Response.Write(ex.Message & ControlChars.NewLine & ex.InnerException.ToString & ControlChars.NewLine)
Exit Function
End Try
Session("oReportDocument") = FechReport
'FechReport.Close()
'FechReport.Dispose()
'GC.Collect()
Return blNoErrors
End Function
End ClassI have looked into Caching the report document as well. However, as you mentioned in the post it, it will only be usefull when the DB and the report parameters remain the same which is not the case in our application. We have multiple identical databases and hundreds of reports. Our users have the option of using a combination of any database and any reports, each report having numerous parameters.
Since one user can only access one report at a time. i do have cleanup code that removes the session variable used to store the reportdocument object in the page that is initially used to call the ShowReport.aspx page.
I understand now that the CR.net SDK is only good for light reporting only. Unfortunately when we started development based on all of the articles that I gathered, I didn't anticipate running to issues like this. But I guess that's the nature of the business :-). And hence there are people like you who go out of the way to answer these difficult questions.
Regards, -
XL Reporter Scheduled Jobs and connection settings
Company needs to decommission current SQL Server and move to new box.
Company has many XL Reporter scheduled jobs that run on a client machine.
When the new sql server is in place, what will happen to those jobs? The client machine SBO installation will be directed to the new sql server and the license server there. Will the scheduled jobs "know' from the SBO client to go to the new server for data? Or is the connection string somehow encapsulated in the scheduled job such that they will still try to access data on the old server?
SBO 2007 A SP 00 PL 48
(Yes, I know it's old. There are reasons.)
TIA.Your 2nd guess is true: the connection string somehow encapsulated in the scheduled job such that they will still try to access data on the old server. It will not automatically find the new server unless new server has the identical settings.
You probably need to re-schedule those jobs.
Thanks,
Gordon -
Maximum report processing jobs??
Hi,
I have developed a web application which uses crystal reports as its report engine. Several people have been testing and printing a particular report and now they all get 'The maximum report processing jobs limit configured by your system administrator has been reached'.
Can someone tell me what this means and how I fix it please? Here is my code declaration:-
Private crDatabase As CrystalDecisions.CrystalReports.Engine.Database
Private crTables As CrystalDecisions.CrystalReports.Engine.Tables
Private crTable As CrystalDecisions.CrystalReports.Engine.Table
Private crxFormulaFields As CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinitions
Private crxFormulaFields_A As CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinitions
Private crxFormulaFields_B As CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinitions
Private crxFormulaFields_C As CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinitions
Private crxFormulaFields_D As CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinitions
Private crxFormulaField As CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition
Many Thanks,
RogerThis error is thrown when the CR print engine reaches its limit of 75 print jobs.
As Don has suggested, try below options
- Use HTTP sessions to store report objects and reuse them.
- Clear your %TEMP% folder.
- Use CR cleanup code, close and Dispose methods.
for more info see below doc.
http://scn.sap.com/docs/DOC-21533
- Bhushan -
The maximum report processing jobs limit configured by your system ...
Hi,
I'm a developer with WXP, VS2003 and CR2008, Framework 1.1.
I have a message from my server (W2003): "The maximum report processing jobs limit configured by your system administrator has been reached":
What's the matter?
The server has installed redistributable of CR2008.
Thanks.I solved it in Page Unload, doin' this:
private void printReports_Unload(object sender, System.EventArgs e)
CrystalReportViewer1.Dispose();
CrystalReportViewer1 = null;
if((reportDocument1 != null) && (reportDocument1.IsLoaded))
reportDocument1.Close();
reportDocument1.Dispose();
Then, I stressed webapp with WAPT 4.0, and everything works perfect.
Do you advise me to change too keyreg?
Thanks.
Edited by: Santiago Magaña on Nov 3, 2008 9:47 AM -
When launch CR 2008, hit "Maximum report processing jobs limit configured."
Hi
Encountered Error Message when trying to launch Crystal Report 2008 via Windows Internet Explorer.
Server Error in '/CRReports Application.
The maximum report processing jobs limit configured by your system administrator has been reached.
I really appreciate your feedback.
Jenny Henghi,
As per my understanding, when you are trying to open a Crystal report from Infoview, error occured.
If so, then logon to CMC, click on Servers, choose 'CrystalReportsProcessingServer'.
Right click and view server properties.
Check for the option 'Maximum Cocurrent jobs' and set it appropriately.
Regards,
Vamsee -
Hi Experts,
A job whcih starts with RA******... is assumed as reporting agent job, this job was seen as canceled in SM37.
what the steps we can take to analyse and correct this job.
please reply very urgent.
thanks in advance
Sunil.Check the job log, it would give you a better picture...
If you can't extract much information from the job, you could probably do a copy of this job in SM37 & try executing it. -
Reporting Agent Job Scheduling problem
hi All,
I am trying to schedule reporting agent job. I have few pre calculated webtemplates in one reporting agent scheduling package. when i try to schedule it and go to "start condition" - I want to put "After Event". I am selecting Event and giving the parameter name. But when i save and go out the job is already scheduled (checked in sm37). so I tried to chk the job condition again and the event i selected is not there !!!!
I want to create after even condition and schedule that parameter via mainframe as our all job schedule through main frame only !!! can some one tell me why its not working with reporting agent ??
I will definately assign the points.dinesh and SB,
thank you for your reply. understood your point. but what i m asking is when i put "after event" criteria in the start selection... wouldnt it show that always when ever i go to Reporting Agent scheduling Package --> right click --> schedule --> start condition (i meant the event name and parameter should be saved there)
but once i save it and get out from the scheduling package i can see the job has been scheduled but its not showing that its even controlled job !!!
is it possible to use "after event" option in Reproting agent's job ?
I have few queries under one Reporting Agent scheduling package which is added in one process chain - the PC is running once a month - i added RA at the end of the process chain and the variant will be schedule by mainframe once the process chain has completed successfully. now 2nd thing is: i need to run Reporting Agent job every single day. so need to schedule it twice. we schedule everything by main frame. so if i can save "after event" criteria then i can schedule that parameter by mainframe. the problem is the start condition is not saving my after event condition entries or parameter names.
I hope i m clear. pl. guide its kind a urgent. -
The maximum report processing jobs limit configured by your system administ
I have Created a common page that has a CrystalReportViewerControl (name of this page is ShowReport.aspx). The report name and database name that required for the report is being passed in a querystring. The database connection info is being pulled from the web.config file. All of the reports that I am dealing with have dynamic parameters and the Crystal Prompt page is automatically being created by the crystal viewer for these. Everything in my application is working fine except that when I try to access any report for the 76th. time I get the following error "The maximum report processing jobs limit configured by your system administrator has been reached."
I have already researched this error and am aware that the PrintJobLimit can be modifed to increase this limit or can be set to -1 if we need to allow unlimited connections. However doing this is not an option due to the degradation of server performance.
The other option that I have tried is to make sure I close and dispose of the report document object on the Page_unload or the page_SavedStateComplete() however on doing so even the session variable that I am using to store the originally created reportdocument is loosing all of the values it requires to display the report. The session variable is still available i.e. it is still of type report document but it has no values for any of the properties like FileName, database etc , basically for all of those properties it show an error "Invalid File Path" when viewed in debug mode.
I have already tried several approaches but with no luck. Every single time I close the originally created ReportDocument object I loose all the required values in the Session
I am using Crystal Report XI R2 , .Net 2.0 and ASP.net
Following is the code: (Any help will be highly appreciated) Thanks:
Option Strict On
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Data.SqlClient
Imports System.IO
Partial Class _ShowReport
Inherits System.Web.UI.Page
Private FechReport As ReportDocument
Dim strSelectedDatabase As String
Dim strReportsFolderPath As String =
System.Configuration.ConfigurationManager.AppSettings("ReportsFolderPath").ToString()
Dim strReportFileName As String
Dim strReportFullPath As String
Dim iInsertedLogId As Integer 'This variable is used to store the inserted log id for the executed report.
Dim strConnString As String = System.Configuration.ConfigurationManager.AppSettings("ConnString").ToString()
Dim strServerName As String = System.Configuration.ConfigurationManager.AppSettings("CR_ServerName").ToString()
Dim strUserName As String = System.Configuration.ConfigurationManager.AppSettings("CR_UserName").ToString()
Dim strPassword As String = System.Configuration.ConfigurationManager.AppSettings("CR_Password").ToString()
Protected Sub Page_OnSaveStateComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SaveStateComplete
If IsPostBack Then
If iInsertedLogId > 0 Then
UpdateReportLog_ReportServedTime(iInsertedLogId)
If Not FechReport Is Nothing Then
FechReport.Close()
End If
End If
End If
End Sub
Sub Page_Unload(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Unload
If Not FechReport Is Nothing Then
'FechReport.Close()
'FechReport.Dispose()
'GC.Collect()
End If
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim sRptFileName As String
If Request.QueryString("database") <> "" Then
strSelectedDatabase = Request.QueryString("database")
Else
Response.Write("A Valid Database has not been supplied to this page")
Response.End()
End If
If Request.QueryString("ReportFileName") <> "" Then
strReportFileName = Request.QueryString("ReportFileName")
strReportFullPath = strReportsFolderPath & strReportFileName
Else
Response.Write("A Valid Report has not been supplied to this page")
Response.End()
End If
sRptFileName = strReportFullPath
If Not IsPostBack Then
FechReport = New ReportDocument
If Not FechReport Is Nothing Then
ShowReport(sRptFileName)
End If
Else
If (Session("oReportDocument") Is Nothing) Then
FechReport = New ReportDocument
ShowReport(sRptFileName)
Else
'FechReport = New ReportDocument
'FechReport = CType(Session("oReportDocument"), ReportDocument)
myCrystalReportViewer.ReportSource = Session("oReportDocument")
'myCrystalReportViewer.ReportSource = FechReport
End If
End If
End Sub
Public Function ShowReport(ByVal strReportFileName As String) As Boolean
Dim blNoErrors As Boolean = True
Dim crDatabase As Database
Dim crTables As Tables
Dim crTable As Table
Dim crTableLogOnInfo As TableLogOnInfo
Dim crConnectionInfo As ConnectionInfo
FechReport.FileName = strReportFileName
myCrystalReportViewer.ReportSource = FechReport
crConnectionInfo = New ConnectionInfo()
With crConnectionInfo
.ServerName = strServerName
.DatabaseName = strSelectedDatabase
.UserID = strUserName
.Password = strPassword
End With
Try
crDatabase = FechReport.Database
crTables = crDatabase.Tables
For Each crTable In crTables
crTableLogOnInfo = crTable.LogOnInfo
crTableLogOnInfo.ConnectionInfo = crConnectionInfo
crTable.ApplyLogOnInfo(crTableLogOnInfo)
Next
Catch ex As Exception
Response.Write(ex.Message & ControlChars.NewLine & ex.InnerException.ToString & ControlChars.NewLine)
Exit Function
End Try
Session("oReportDocument") = FechReport
'FechReport.Close()
'FechReport.Dispose()
'GC.Collect()
Return blNoErrors
End Function
End Classplease post your question in the Business Onjects SDK Application Development Forums.
-
CR Max Report Processing Jobs Limit - reg hack not working
http://coil.sap.com/irj/boc/index?rid=/library/uuid/f053713e-3e3d-2c10-2a81-f79259e54023
I've followed the steps in the above PDF and my application's behavior has not changed.
My web app uses session, and calls .close and .dispose on last report when users go to load a new report (easier this way with the way the application is written).
We have a new, very powerful web server, so I've set the reg key in question to -1, restarted the box and I'm still getting the dreaded Crystal Reports Maximum Report Processing Jobs Limit after an hour or so of usage. True, we do have some complicated reports, but -1 is meant to remove all limits? Server is doing fine on mem/processor usage.
I using CRXIR2 runtimes (CrystalReports11_5_NET.msi) on the Win2k3r2 server, .NET 2.0
Why is the reg setting being ignored?Hello,
To clarify also, you can set that number to anything you want but it is limited internally to 75. Anything more than 75 and the engine ignores it, same when setting it to -1, 75 is still the max. Ideally this should be set to 50, QA tested with 75 so that is what we set the default to in the registry. And to confirm, this is the number of jobs the RAS server can handle at one time, it is not the number of users that can send reports to be processed, the default is 3.
Also Jason pointed out the inProc RAS ignores the registry setting also, even though we read the key it's ignored if it falls out of usable range. There is also a Stand alone verion of Crystal Reports Server Embedded but it's for OEM Partners only. It runs as a Service and in CRSE 2008 you can have more than one server running. But not an option if you are not a Partner.
And as Ludek mentioned, you need to move to a supported high volume configuration. For this type of load I suggest you use the Full Business Objects Enterprise and change your code to use the Job Server to process reports. The job server will spawn a separate process for each report job and distroy the process when the job is complete thus releasing all memory associated with that job. RAS does not do this, it's a single process spawning separate threads for each job and therefore it does put excess loads on the CPU in your configuration.
Keeping 3 users in mind build in Report Job caching internal in your app. Your can application managing the report jobs is more efficient in this configuration than RAS doing it. We only hold onto the job for so long, 20 minutes is the default, and then we move onto the next job. So if any jobs fail it can cause problems which I believe is why you are having to cycle the WEB server. If you do this make it configurable/switchable so if you do migrate to BOE you must let BOE manage the jobs, it is designed to do this and managing it yourself may cause problems but this is all dependant on how and what parts you use.
Another option with BOE is you can have multiple RAS or Job Servers installed to take advantage of the hardware. This way you are not limited to one RAS server processing reports. We internally handle Round Robin job assignment. Example if you have 4 RAS servers running and RAS#1 is busy it will pass the job request to RAS#2, if it's busy it will pass the job to RAS#3 and then #4 and carry on until a RAS server is avaiable. If RAS#2 is then free it gets the job assigned to it and the next job is queued....
Thank you
Don -
Maximum report processing jobs limit - Crystal report with XI R2 environmen
Team
My customer is facing the following error at XI R2 Environment...
The maximum report processing jobs limit configured by your system administrator has been reached.
To replicate this issue at my development environment,
1) I change the RAS maximum concurrent processing limit to 1 but no luck
2) I changed the crystal report job server Maximum Concurrent processing limit to 1 but no luck
3) i changed the register setting to HKEY_LOCAL_MACHINE\SOFTWARE\CRYSTAL DECISIONS\10.0\REPORT APPLICATION SERVER\SERVER\PrintJobLimit = 1 there is no luck
Kindly let me know which service i need to change to replicate this message (The maximum report processing jobs limit configured by your system administrator has been reached). Looking your expertise kind suggession and help.
I am opening more than 10 reports, but i could not able to get the error message..
Thx
Srini
Edited by: srinivasan rangaswami on Aug 12, 2011 1:08 PM
Edited by: srinivasan rangaswami on Aug 12, 2011 1:10 PMHarald
we are using the following link to view the report via Portal application and the crystal report version is Crystal Report XI
http://server1.ser.lan:8080/businessobjects/enterprise115/desktoplaunch/opendoc/CrystalReportViewer.jsp
parameter is passing like this to the portal
http://server1.ser.lan:8080/businessobjects/enterprise115/desktoplaunch/opendoc/view_report_custom_params.jsp?id=7654
Best
Srini -
Has anyone got this error before?? The maximum report processing jobs limit
The maximum report processing jobs limit configured by your system administrator has been reached.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Runtime.InteropServices.COMException: The maximum report processing jobs limit configured by your system administrator has been reached.
Source Error:
Line 31: myReportDocument = new ReportDocument();
Line 32: string reportPath = Server.MapPath("Rev_Cat_Question_Completion.rpt");
Line 33: myReportDocument.Load(reportPath);
Line 34:
Line 35: SetDBLogonForReport(connectionInfo, myReportDocument);
Source File: d:\Inetpub\wwwroot\PMSART\Region_review_forms\WFSW\LV_WFSW_Form.aspx Line: 33
I am stumped as I don't remember reading anywhere where you had to set any configurations for a "report processing job"?
SMAThis is the example I am using.
private void printReports_Unload(object sender, System.EventArgs e)
CrystalReportViewer1.Dispose();
CrystalReportViewer1 = null;
if((reportDocument1 != null) && (reportDocument1.IsLoaded))
reportDocument1.Close();
reportDocument1.Dispose();
Then, I stressed webapp with WAPT 4.0, and everything works perfect.
Do you advise me to change too keyreg?
Thanks.
Edited by: Santiago Magaña on Nov 3, 2008 9:47 AM
But what does
"stressed webapp with WAPT 4.0," mean???
SMA -
We have started receiving load report failed error again in one of our production servers. This problem occurred some months ago and on that time we found that in the code reportdocument.close method was not called so we added into the code and set the print job limit to 400 and problem went away for couple of months but now it has started again.
Load report failed.
at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob)
at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename)
at AppSuite.WebApp.CrystalViewer.LoadReport(Boolean bRefresh)
at AppSuite.WebApp.CrystalViewer.Page_Load(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
The maximum report processing jobs limit configured by your system administrator has been reached.
at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options)
at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options)
at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
This is our code
Private m_oReportDocument As New ReportDocument
Private ReadOnly Property ReportId() As Integer
Get
Return Integer.Parse(Me.Request.QueryString("r"))
End Get
End Property
Private Property CacheKey() As String
Get
Dim sCacheKey As String = Me.Request.QueryString("ck")
If sCacheKey Is Nothing OrElse sCacheKey.Length = 0 Then
sCacheKey = CStr(Me.ViewState("CacheKey"))
End If
Return sCacheKey
End Get
Set(ByVal Value As String)
Me.ViewState("CacheKey") = Value
End Set
End Property
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Me.IsPostBack Then
LoadReport()
End If
End Sub
Private Sub btnPDF_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPDF.Click
'Redirect to the PDF Viewer passing it the ReportId and CacheKey
Me.Response.Redirect(String.Format(ReportHelper.PDFViewerURL, Me.ReportId, Me.CacheKey))
End Sub
Private Sub btnRTF_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRTF.Click
'Redirect to the RTF Viewer passing it the ReportId and CacheKey
Me.Response.Redirect(String.Format(ReportHelper.RTFViewerURL, Me.ReportId, Me.CacheKey))
End Sub
Private Sub btnExcel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcel.Click
'Redirect to the Excel Viewer passing it the ReportId and CacheKey
Me.Response.Redirect(String.Format(ReportHelper.ExcelViewerURL, Me.ReportId, Me.CacheKey))
End Sub
Private Sub crvMain_Navigate(ByVal source As Object, ByVal e As CrystalDecisions.Web.NavigateEventArgs) Handles crvMain.Navigate
LoadReport()
End Sub
Private Sub crvMain_Search(ByVal source As Object, ByVal e As CrystalDecisions.Web.SearchEventArgs) Handles crvMain.Search
LoadReport()
End Sub
Private Sub crvMain_ViewZoom(ByVal source As Object, ByVal e As CrystalDecisions.Web.ZoomEventArgs) Handles crvMain.ViewZoom
LoadReport()
End Sub
Private Sub crvMain_Drill(ByVal source As Object, ByVal e As CrystalDecisions.Web.DrillEventArgs) Handles crvMain.Drill
LoadReport()
End Sub
Private Sub crvMain_DrillDownSubreport(ByVal source As Object, ByVal e As CrystalDecisions.Web.DrillSubreportEventArgs) Handles crvMain.DrillDownSubreport
LoadReport()
End Sub
Private Sub crvMain_ReportRefresh(ByVal source As Object, ByVal e As CrystalDecisions.Web.ViewerEventArgs) Handles crvMain.ReportRefresh
LoadReport(True)
End Sub
Private Sub LoadReport()
LoadReport(False)
End Sub
Private Sub LoadReport(ByVal bRefresh As Boolean)
If Common.CouldBeMultiDB(User.Identity.Name) AndAlso TypedSession.OverrideCompany.Length > 0 Then
Common.Settings.OverrideCompany = TypedSession.OverrideCompany
End If
'Get the report data
Dim dtReport As DataTable = ReportHelper.GetReportData(Me.CacheKey, bRefresh)
'If there is data to display bind it to the Crystal Viewer
If dtReport.Rows.Count > 0 Then
With m_oReportDocument
.Load(ReportHelper.GetReportPath(Me.ReportId))
.SetDataSource(dtReport)
.PrintOptions.PaperSize = Common.Settings.CrystalPaperSize
End With
crvMain.ReportSource = m_oReportDocument
Else
'Hide the controls and display a message if there is no data
crvMain.Visible = False
btnPDF.Visible = False
btnExcel.Visible = False
lblNoResults.Visible = True
End If
End Sub
Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload
m_oReportDocument.Close()
m_oReportDocument.Dispose()
End Sub
Can any one tell if we are doing anything wrong in our code. We don't use sub reports any more however we do use paging and some of our reports have 200+ pages. Also is it possible to find out print job limit and concurrent users by writing some code.
ThanksI suspect it's not the code - after all it worked(?). It is much more likely that, it is the load. Remember that the report engine can only handle three concurrent requests at any one time. Also, remember that you can run out of print jobs real fast as subreports also count as print job. E.g.; say someone added a report that has 4 subreports in the detail section, the report runs a 100 records, you will be at 401 print jobs and thus over the limit. You can keep increasing the print job limit, but that means you are loading the server and eventually you will bring it down too...
It may be time to consider, web farms or Report Application Server to scale up(?).
Getting to the latest SP is never a bad idea either.
And have a look at the scalability suggestions in this doc:
Crystal Reports 2008 Component Engine Scalability
- Ludek
Senior Support Engineer AGS Product Support, Global Support Center Canada
Follow us on Twitter
Maybe you are looking for
-
MG5460 blurry vertical printing with PGBK ink only?
Hi All, Have a not so old (replaced an old MP830 which rocked!) MG5460 printer which has an issue printing vertical stuff aligned correctly, but only in the PGBK ink. So on the printers test page, at top is the PGBK test with a grid of lines, horizon
-
Hello i have problem with set memory to 1866. Can u help me with it? This is my configuration: Samsung 500 GB SATA II 7200 RPM, 16 MB NCQ (HD502HJ) Good Ram GY1866D364L9/2G x2 Aerocool AEROPGSVP-450 SilentiumPC Pure Black BT-310 MSI A75MA-G55 AMD A
-
Yesterday i developed a sample webservice application using weblogic paltform 7.0 release.. Actually i am trying to connect another weblogic server running in different machine through my webservice application..while connecting(sending message) i am
-
I had purchased music on my computer and iphone and I had to restore my computer to factory settings and I smashed my iphone. Can I get my music back?
-
Can't preview 1920x1080 timeline on HDTV via Sony HDV deck - help!
I am trying to play back from my 1920x1080 HDTV timeline (from FCP on MacBook) on an LG HDTV by connecting to a Sony HDV deck via firewire 800, and then going out from the deck via component to the tv – however, I am having problems not being able to