home

Crystal Enterprise

Crystal Reports is a well documented, easy to use and easy to understand product. Crystal Enterprise, a product that schedules reports and displays them on web pages, is none of the above.

The cheapest way to get Crystal Enterprise is to buy Crystal Reports Advanced, or cheaper yet upgrade Crystal Reports Professional to Advanced ($1649 including one year of maintenance and 60 days free support). Crystal Reports Advanced includes Crystal Enterprise Standard Edition, which allows up to 5 concurrent users and will schedule reports. The 'free' Crystal Enterprise Remote Application Server included with Crystal Reports Professional does no scheduling, and is fairly useless and pretty much unsupported.

http://www.crystaldecisions.com/products/crystalreports/editions.asp

My goals for Crystal Enterprise were fairly simple, so I thought:

1) Schedule nightly reports.
2) Create links from our intranet to the latest version of a scheduled report.
3) Secure access to reports - only certain people see sensitive reports.
4) Print reports.

Crystal Enterprise support scheduled reports out of the box, as long as you hard code parameters to your reports (ie. startdate and enddate). Problem number 1 solved.

Crystal tech support emailed me a very convoluted CSP script called vli to view the latest instance scheduled report. I simplified it and sent it back to them. The scheduled report is identified in the APS_InfoObjects2 table of the CE90 database. Look at the ObjectID, ParentID, and ObjectName columns for clues - you want the ObjectID for the script. Problem number 2 solved. 

vli.csp - you'll have to save the file and view it since it's Javascript.

Crystal Enterprise provides an application called ePortfolio which allows you to view the latest version of a report. ePortfolio also has built in security and can link to Active Directory. Unfortunately the Crystal Enterprise Standard Edition doesn't allow any users except guest and administrator - you need to upgrade to Crystal Enterprise Professional Edition for to create users, at a cost of around $2000 per concurrent user license with a minimum purchase of 5 licenses, plus maintenance. Not very affordable. There's at least one third party solution that's supposed to solve this problem much cheaper but I didn't try it - http://www.recrystallize.com/

We modified our intranet reports page to use Windoze integrated security, displaying different available reports based on Windoze 2000 usernames. Not the best or most secure solution, but effective. Problem number 3 solved.

Crystal Enterprise has several viewers, including HTML, DHTML and ActiveX. (Crystal support strongly recommends deploying the ActiveX viewer - that is their answer to problems with other viewers.) When ePortfolio displays a report, it has a print button. When I tried to use the same viewer to display the same report, the viewer appears differently, and lacks a print button. I eventually determine the easiest way around the problem is to export the report from the Crystal Enterprise viewer to PDF and print the report from Acrobat Reader. Problem number 4 solved.

Once I put my reports into production I ran into another problem. Some of my reports run against large data sets. Right about the time I put the report into production the data set grew to over 20,000 records. I found this on Crystal's website, indicating scheduled reports over 20,000 records should run fine, but adhoc reports would not run without specifying maxDBResultRecords parameter for the page server.

http://support.crystaldecisions.com/library/kbase/articles/c2010988.asp

This article is informative but wrong. Crystal's tech support gave ambiguous and/or incorrect information about the article when asked. Scheduled reports containing more than 20,000 records won't run without modifying this parameter. Setting it to 0 allows any number of records.

Another major problem I had involved formatting.  Crystal Reports truncates data values that are longer than the space allowed on a report.  Crystal Enterprise often did not, displaying a mess instead.  Placing everything in text boxes is the workaround.  Unfortunately I found Crystal Enterprise fields in text boxes often truncated fields much shorter than Crystal Reports did.