cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal Reports 2008 very slow when returning no data

Former Member
0 Kudos

Hi,

Our company is using Crystal Reports 2008 along with the Jeff-Net Report Runner Viewer to display and print company data. However, when someone enters an invalid parameter in a request (one that does not return any database data), it takes around 30 seconds to a minute before the empty report shell is displayed. This problem does not occur when the database returns valid fields to display in the report. This problem also does not occur when using the Crystal Reports developer tool viewer, only when we're using the Jeff-Net report viewer. This problem was also not present when we used the 2003 version of Crystal Reports. It also seems to be worse with reports that contain complex sub-reports.

Is this a known problem? Are there good practices that we should implement in our reports so that doesn't happen? Are there Crystal Reports registry values we could change to shorten the delay when the database doesn't return any data?

Thanks for the help and have a nice day!

Accepted Solutions (1)

Accepted Solutions (1)

vitaly_izmaylov
Employee
Employee
0 Kudos

As you can see from the KBA it is very unusual case. It took some time to decide if subreports need to be executed in case the main report does not have data. Both sides have some valid points. That is why it was fixed and then the problem came back in next patch. As far as I know it is stopped. I do remember at some point CR was removing WHERE clause from subreports if there are no data in the main report and caused a lot of delay. I guess this is what you are facing now. I do not see any solution other that upgrade to the version where it works.

Answers (11)

Answers (11)

Former Member
0 Kudos

Alright, I'll relay your message.

Thanks again for the help to you and Vitaly!

0 Kudos

OK, tell Jeff-net to upgrade, as I said SP 5 is very old and things change. They need to change also.

Former Member
0 Kudos

Hi Don,

When we first decided to investigate the problem, the first thing we did was contact Jeff-Net. Here's what their answer was :

"If Report Runner appears frozen, it is waiting for the data query response from the server. That is the only time the app will appear frozen. There is nothing we can do about that, because the Crystal engine has turned over control to the data query. Nothing else can happen until the query is complete."

So, after trying to modify our reports for a couple of days with no succes at all, I decided to come here and see if you guys could be of more help. I think I have a better understanding of the situation now with Vitaly's answers so I'll relay this info to the people in charge of licenses here.

To answer your other questions, it was working before when we were using CR 2003 and an older version of Jeff-Net (I don't remember which one), and the bug appeared when we switched to CR 2008 with Jeff-Net 2013.

0 Kudos

Hi Danny,

First thing you should do is contact Jeff-net for support, they wrote your software so they need to support it. It seems you have no issues in CR designer....

You are using Crystal Reports for Visual Studio SDK package Service Pack 5, we are no up to SP 19.

Jeff-Net may or should upgrade to SP 19 and see if that resolves the issue. Lot's of changes since SP 5 to various Database drivers, Printing, Parameters and subreport objects. Subreports were limited to 40 in SP 5, SP 19 allows up to 120 now.

Your issue could be DB Server/Client related.

Was it working before? What changed?

Don

vitaly_izmaylov
Employee
Employee
0 Kudos
Former Member
0 Kudos

Sorry, I had only seen your first reply post.

We're using Jeff-Net 2013 version which uses CRRuntime_32bit_13_0_5.msi (or newer). So I'm guessing they're using CR 2013 but we're developping on CR 2008, can it explain our problem?

Also, your first link doesn't work and the 2nd one tells me I do not have access to the SAP ONE Support LaunchPad, is there a way you could copy-paste the accepted solution to the issue here?

Thanks again!

vitaly_izmaylov
Employee
Employee
0 Kudos

I just recall one issue documented in the KBA:

1576905 - Report that contains subreport takes longer than expected to display the first page when ...

https://launchpad.support.sap.com/#/notes/1576905

This is exactly the issue.

Do you know the version of CR used by Jeff-Net report viewer?

Former Member
0 Kudos

No, and it's also not the only report with this problem. It seems to happen to all of our reports that contain some sub-reports with a little complexity (not just showing field values). Also, I don't know if it's worth mentionning but the database is from a Microsoft Dynamics system (therefore, it's pretty big).

vitaly_izmaylov
Employee
Employee
0 Kudos

3/4 subreport content. Does the subreport have any dynamic OLE objects (pictures) retrieved from extermal sources?

Former Member
0 Kudos

I've checked and the report is filtered by only one "WHERE" clause with an equal statement, which shouldn't normally slow down the viewer.

I've also noticed that if I remove the busiest sub-report (the report contains 5 sub-reports), the delay seems to disappear. I've tried to identify a specific field/formula that could be the culprit by deleting its content one field at a time but the only way to remove the delay seems to be by removing at least 3/4 of its content. This specific sub-report is also only filtered by only one "WHERE" clause with an equal statement.

Any other ideas on what could cause that?

Thanks for your quick reply!

vitaly_izmaylov
Employee
Employee
0 Kudos

One of the best practices is to make sure the records are filtered on the Datasource side. The easiest way to verify it is to compare Records selection formula (Report >Selection Formulas > Record...) with the Where clause in generated SQL (Database > Show SQL query...). If all the filters are converted to Where clause then data filtered on the Database level. If not then CR brings all the records to the client machine and filters locally which may cause delay.

Example: Some of the drivers do not support "IN" function and you can modify the logic to replace it with OR and equal functions supported by the driver.