cancel
Showing results for 
Search instead for 
Did you mean: 

RASReportFactory -> openDocument performance

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (1)

Answers (1)

Adam_Stone
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

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

Adam_Stone
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

Hi Adam,

The report is not saved with data.

I will check the following and get back to you.

"where the ras service is running in comparison to the file repository"

Thanks,

Anindya

Former Member
0 Kudos

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