crystal reports viewers, crystal reports schedulers, view crystal reports, report analyzers, burst reporting, report scheduler
 
view crystal reports, rpt viewer, crystal reports viewers, crystal reports schedulers, report analyzers, burst reporting, report scheduler
desktop viewer, crystal reports viewers, crystal reports schedulers, report analyzers, burst reporting, report scheduler

Crystal Reports Tools: Improve Performance While Saving Time and Money

  Resources  
Best sellers:
cView
Report Analyzer
cViewSERVER
ReCrystallize
 


Articles:
Administration
Advanced
Basic
Crystal eNL
Database
Financial
Problems Solved

Books:
CR Books

Database Books
Developer Books

 
Tools:
Analyzers
Bestsellers

CR Schedulers
CR UFLs
CR Viewers
DataBase Tools
Graphics
International
Mail UFLs
ReCrystallizePro


Add'l:

About us

Contact Us
cViewSUITE Ppt
Support

 

CrystalReports
on Steroids

Crystal Reports: Evaluation Times

To understand the Evaluation Times feature, you first need to understand how Crystal Reports actually processes a report. It's done in five steps, as follows:

Now, to understand hese really expand out into five passes that Crystal Reports makes through your report:

  1. Prepass 1 (BeforeReadingRecords). This is before reading records. That is, it doesn't connect to the database before making this pass. The purpose of this pass is to collect flat formula values. A flat formula is one that has static values; it won't change when the data are pulled from the database.
     

  2. Pass 1 (WhileReadingRecords). After that first prepass, Crystal Reports connects to the database and retrieves the records called for by the report. The purpose of this pass is to collect data and then process recurring formulas. A recurring formula is one that, unlike a flat formula, includes a database field; it will change when the data are pulled from the database.

    But what if the connection fails or, for some other reason, Crystal Reports can't get the records processed on the server? Then the records (if available) will process locally.
     

  3. Prepass 2 (you can think of it as "AfterReadingRecords" though that's not what it's called). The purpose of this pass is to collect the Top N or Bottom N group data based on the data retrieved in Pass 1. If there are no such data, that's not a problem.
     

  4. Pass 2 (WhilePrintingRecords). The purpose of this pass is to format the data in the report. In this pass, Crystal Reports processes formulas, running totals, etc., then generates the pages.
     

  5. Pass 3. This is an optional pass that occurs only if you use pagination (Page N of M) or a total page count. Basically, it takes another pass to count the pages once they are generated in the previous pass.

As you can see from the above, formulas are evaluated at one of three different phases in the Crystal Reports processing model.

  • If your formula uses only parameters or constants, then it is evaluated "BeforeReadingRecords".

  • If your formula includes Database Fields or Global Variables then it is calculated "WhileReadingRecords" by default.

These formulas can be used to calculate a summary and can be used for record selection. You can change these to WhilePrintingRecords if you want.

If your formula includes Running Total Fields, Summary Fields, Print State Functions (like PageNumber) or Shared Variables then it has to be "WhilePrintingRecords".

  • If you want a summary of these formulas you need to use variables.

  • You cannot use these formulas in record selection.

  • You cannot change them to an earlier evaluation time.

  • The Evaluation Times feature lets you reassign a formula's evaluation time from one phase to a later phase. You can't assign it to an earlier phase. For example, if your formula uses only parameters or constants, you could have that formula evaluated "WhilePrintingRecords".

    But it is not true that you could go in the other direction. For example, your formula includes Running Total Fields, you cannot have it evaluated "WhileReadingRecords".

    Generally, there's no reason to use this feature. But it could come in handy if you have timing issues with your network or your database. If you do have those issues, you could use this feature as a temporary fix. Probably, there is a problem that you need to resolve before the whole system comes crashing down. A great tool to help you do that is Report Analyzer for Crystal Reports.

    Report Analyzer automatically detects and documents potential performance issues in your Crystal Report design settings--including record selection formulas, grouping options, and database options.

    Now, you can ensure your reports operate at peak performance. No more wasting time trying to guess what the problem is. No more being blithely unaware of a problem, while a user tells your boss all about it.

     

    This article is copyrighted by Crystalkeen, Mindconnection, and Chelsea Technologies Ltd. It may be freely copied and distributed as long as the original copyright is displayed and no modifications are made to this material. Extracts are permitted. The names Crystal Reports and Seagate Info are trademarks owned by Business Objects.