on 07-15-2010 11:29 PM
Hi,
We have designed 51 BO (rpt) reports and accessing through BO SDK call. For one report the response is very slow. This perticular report is a bit big in size (17 page) and taking 4-6 min to generate the report. The other 50 reports are taking less than a min. For data binding all report use the same database table.
We want to improve the performance of the report which is taking 4-6 min. Any guideline?
The following code we are using to generate the report :
IReportAppFactory reportAppFactory = (IReportAppFactory) boEnterpriseSession.getService("","RASReportFactory");
clientDoc = reportAppFactory.openDocument(infoObject,1, Locale.US);
ByteArrayInputStream byteIS = (ByteArrayInputStream) clientDoc.getPrintOutputController().export(ReportExportFormat.PDF);
Thanks,
Anindya
Is the performance hit on openDocument or the export?
If it is on the openDocument than i would expect that its because the report has saved data in the report so it takes longer to load.
Also, length of a report using number of pages isn't great. I've seen some complicated reports that have millions of records that are used to calculate the data that end up being 1 page.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Adam,
Thanks for responding.
Performance hit is on SDK openDocument call.
Our report do not have any calculation. We have a table where data is stored. You can imagine the table columns as Key, Value. In rpt report we are referring the key. Run time it binds the value.
If data binding is taking maximum time then how to resolve this issue?
To further update you, we have another application which is calling the same report with openDocument URL (https://.../OpenDocument/opendoc/openDocument.jsp?sDocName=...). In this case PDF report is coming in 60 sec where as BO SDK call taking 4-6 min.
Thanks,
Anindya
First off, URL reporting using opendocument isn't a great comparison as it uses the page/cache server for processing not the RAS.
Secondly, if the performance hit is on opendocument, the issue has nothing to do with executing the report, it is with opening it. You can try making sure the report is not saved with data which will make the file smaller for it to open. Another thing to look at is where the ras service is running in comparison to the file repository. If they are on different machines it will take longer as the file has to be opened over the network.
Hi Adam,
I resolve the problem by passing OpenReportOptions._retrieveNoReportDefinition instead of 1. We don't want the defination while opening the report, we just want the PDF. Now instead of 4-6 min I am getting the same report in 1 min 30 sec which is not bad.
clientDoc = reportAppFactory.openDocument(infoObject,OpenReportOptions._retrieveNoReportDefinition, java.util.Locale.US);
Thanks,
Anindya
Edited by: Anindya Neogi on Jul 23, 2010 11:47 PM
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.