CRD 7 Feature List


The following is a list of some of the features you can find in the latest version of CRD:



CRD has two schedulers:

    • A powerful desktop Application Scheduler, which runs in the background on your machine
    • The NT Service Scheduler, which runs in CRD


Within CRD 7, you also have the option to turn off all Schedulers and execute schedules manually (or export reports ad-hoc only).

Note: For more information regarding the Schedulers listed above, click here.


Schedule Single Reports

CRD 7 provides the capability to set up a schedule of a single report. You may create different schedules of the same report, and each schedule can have different parameter values (to pull up different data). They can also be emailed to different recipients if you wish. 

CRD will also export to a specified folder, FTP, or print the report.


Schedule Package Reports

Setting up package reports is another valuable feature of CRD 7. You can set up a number of reports to be scheduled to send to a single individual in a single email, or you can set the same reports to output to a single folder (disk or FTP). 

Each report in the pack can be customized specifically for that pack. However, the output of the entire pack will be sent in a single email or stored in a single folder. You can even merge multiple PDF exports into one, multiple xls exports into one, or multiple txt exports into one. 

While you're at, why not zip all your reports up into a single zip file before you FTP or email them?


Event Based Schedules

Not only can you set a schedule or package to run at a certain time every day, week, month, etc, but you can instruct CRD to execute a number of schedules and packages when a certain event occurs. These are known as event-based schedules.

Some of the events you can set to trigger a schedule are:

    • If a certain database record value exists
    • If a certain database record value does not exist
    • If a file in a specific folder exists
    • If a file does not exist in a file system or FTP directory
    • If a certain file has been modified
    • If a certain file has not been modified
    • If a window is present
    • If an unread email is present
    • If data is on a port


Dynamic Schedules

Dynamic Schedules are powerful mechanisms which can best be described using an example:


"The Springfield Donut Company has 1500 stores worldwide. Ray is the Crystal Reports guru at the Head Office. He has to send each store manager a report of their weekly statistics every Monday. He does not want to write 1500 static report schedules. 

To make matters worse, stores which are not doing well are regularly closed, and new stores are being brought online weekly.

That's not all! It has just been announced that SDC has just acquired a rival company, and 800 new stores are coming on board tomorrow morning.

It's the middle of the summer, so 2 of Ray's 3 staff members are on vacation. He has a meeting with the Chairman in 3 hours, and if he can demonstrate that everything will be in place and be running by 5pm today, he will get a $25,000 bonus. However, Ray is not looking forward to writing 800 new single report schedules. 

"What I need", he thinks to himself, "is a single dynamic schedule which will:

    • reel through the database and populate the StoreID parameter automatically
    • run the report that store and email it to the store manager using the email address in the database
    • and repeat the above actions for every store in the database.


I need this to happen automatically every Monday at 0100 hours."


This is the most basic problem which the Dynamic Single Report Schedule feature attempts to resolve. There are multiple other functions which the DSRS will perform. Many are related to your needs and the level of SQL language and programming expertise you have. 

The following instructions and examples are written for NON-advanced users and therefore constitute some of the simpler functionality of a dynamic schedule:

    • Auto Populate Parameter from Database: Use the wizard to construct a database query to pick up the parameter value from a database. Advanced users can write SQL queries.


    • Pick Email from the Same Table as the Parameter: The parameter values (e.g. StoreID) can reside in the same table as the corresponding email address.


    • Pick Email from a Different Table as the Parameter: The parameter values (e.g. StoreID) can reside in a different table (or database) than the corresponding email address.


    • Limit Schedule Based on Email Field Selection Criteria: For example, only send the report if the email ends in "" (emailid like ''), or only send the email if the store manager's first name is "Tom" (managerprofile.firstname='tom').


Dynamic Packages

In the example given above for Dynamic Schedules, each store for Springfield Donut Company required only one report. However, if each store manager required a package of multiple reports per email (say 10, for example), then Dynamic Packages would give Ray the ability to export all the reports needed for each store, package them together, and then deliver them in a single email to the associated StoreID.


Automation Schedules

Automation Schedules allow you to link and run a number of custom actions as an automation routine or "macro". Unlike other schedules, Automation Schedules do not require you to also run a report. Though you can, if you want to.

Automation Schedules can be used as the hub of a powerful business process automation system to ensure that your business processes run seamlessly, never go on vacation, are never sick, can help reduce staff count, and contribute directly to the bottom-line health of your company.


Data-Driven Schedules

A Data-Driven Schedule allows you to use dynamic report data that is retrieved from an external database table at run time. If you wish to do so, you can also use static text and default values. You can use Data-Drive Schedules for a number of scenarios.

Below you will find some examples of what you can do with a Data-Driven Schedule:

    • Distribute a report to a fluctuating list of recipients.

For Example: You can distribute a report throughout a large organization where recipients vary from one month to the next, or you can use other criteria that determines group membership from an existing set of users (e.g. Select * from mytable where firstname = "john" will generate the report and distribute only for records where the recipient's first name is John).


    • Filter the report output using report parameter values that are retrieved at run time.

For Example: The parameter value returned from the table for Last Name will be "Doe" for John Doe and "Smith" for John Smith.


    • Determine the delivery type, email address, parameter values, destination type, destination folder name, DSN connection, report format, and much more dynamically at run time.


Data-Driven Packages

A Data-Driven Package allows you to run multiple data-driven reports, collate them, and deliver them to a single destination.

For Example: A report pack consisting of 10 reports can be dynamically exported at runtime, collated and delivered so that each recipient receives 10 reports in a single email, or so that each folder consists of the 10 required reports. All determined at run-time by your "Data-driver".


Dynamic Email Content

Link the email content to values in a database. Linking the content is all done by simple context menus and easy to use wizards. Little or no database scripting knowledge is required.

For Example: "Dear {manager.firstname}". 


Custom Tasks

Not only will CRD execute the requested schedules, but it will run custom actions before, after, or both before and after the schedule has been executed.

Below are some examples of custom tasks you can set to be performed:

    • Execute a program
    • Rename/Move a file
    • Create/Modify a file
    • Send an email message
    • Update a database record
    • Run a stored procedure

In a typical situation, you may want to run a stored procedure to update your database before you run your report. Afterward, you may want to update a database record to tell the system that the action is complete. 

CRD has more than 44 custom tasks to choose from.


Output Types

CRD will output to a variety of locations. These include:

    • Email (SMTP, MAPI, Exchange, Outlook Standalone, Exchange Web Service, GroupWise, and CRDMail)
    • Folder
    • Printer
    • FTP & SecureFTP
    • Fax print driver
    • SMS (cell phone text)
    • ODBS (transfer data to a table in another database)
    • Microsoft SharePoint
    • Cloud Services (Dropbox)


Email Output Features

    • Silent integration with MAPI and Exchange Server ensures that the application is not prompted for security permissions when using the application scheduler or NT scheduler.
    • Cc and Bcc fields are present (optional).
    • Email addresses can be dynamically populated from a database.
    • CRD has its own internal address book which can be used.
    • CRD integrates with MAPI or Exchange Server address book.
    • Set a global email text and/or create custom email messages for each schedule.


Embed Report in Email

You can embed a report (including its graphics and content) into the email body (SMTP and CRDMail only) or sent it as an attachment with a custom email message.


Compress Output File

You can compress (zip) the output file before emailing it or compress it before placing it in a folder.


File Attachments

Select a static file to be attached to the email (in addition to the report output).


Printer Output Features

CRD allows you to perform the following print output options:

    • Print one or more copies to a single printer,
    • Print different reports to different printers,
    • or Print one report to more than one printer.


Folder/FTP Output Features

CRD provides the following folder/FTP output options:

    • Export to a folder.
    • Export to an FTP folder.
    • Housekeeping options (e.g. Keep only reports that are x days/months/weeks old).


Cloud Services Output Features

CRD allows you to export to Dropbox. This means you can send your reports to a specific Dropbox account and folder directory should you wish.


Export Formats

CRD will export reports in the following formats:

    • Acrobat (PDF)(with security and watermarks)
    • Crystal Reports (RPT)
    • CSV
    • Data Interchange Format
    • dBase II, III, IV
    • HTML
    • Lotus 1-2-3 (wk1, wk3, wk4, wks)
    • Excel - Data Only
    • Excel 7 (XLS)
    • Excel 8 (XLS)
    • Excel 97-2000 (XLS)
    • Excel Workbook - Data Only (XLSX)
    • MS Word Editable (RTF)
    • MS Word (DOC)
    • MS Word 2007 (DOCX)
    • Record Style (REC)
    • Rich Text (Exact) Format (RTF)
    • Tab Separated (TXT)
    • Text (TXT)
    • TIFF
    • XML


You can export reports with the following frequencies:

    • Every day
    • Every week day
    • Every working day
    • Every week
    • Every month
    • Every year
    • Unlimited custom calendars


Custom calendars allow you to write your own frequencies (e.g 4-4-3). Customizations include options like "the 3rd Tuesday of selected months" and much more. For each of the above, you can also choose a scheduled time and to "repeat every x hours until.. (end time)."



CRD deals with 4 types of exceptions:

    • A scheduler error: Emails a designated address, writes to a log file or both


    • Report Failure: This can happen if, for example, the database is busy or locked. You can set CRD to retry a number of times before declaring a “failure”. On failure, an email will be sent to a designated recipient, an entry will be marked in the error log, or both.


    • If the report is blank (returns no data): You can set CRD to send an alternative email, run a program or do any number of custom tasks. You can choose to attach the blank report to this email. This ensures that recipients are aware that there was not data, and differentiates between a failure and a blank report.


    • Failed Emails: If the mail fails to send because the mail server is unavailable or busy, CRD can be set to retry automatically until successful. Mails can also be retried manually or deleted from the queue manually. Additional backup email servers can be set up to take care of regular mail server failures.



The following customizations can be made:

  • The output file name can be left as default or changed to whatever you want it to be.
  • A date/time stamp can be added to the output file name. Choose from a large list of date formats (e.g. ddMMyyhhmm, MMddyyhhmm, MMddyyyy, and many more).
  • The report’s Record Selection Formula or Group Selection Formula can be modified within CRD and used at runtime without affecting the source report.
  • You can insert standard functions (e.g. CurrentDate, CurrentTime, MonthToDate, and many more).
  • You can insert CRD functions (e.g. MondayThisWeek, TuesdayLastWeek, MonthEndLastMonth, and many more).
  • You can write your own functions and reuse them over and over again. The function wizard will help guide you through the writing process.
  • Database Logon Credentials for both Main and Sub-Reports can be stored in CRD.
  • Table Level logon is catered for with equal ease.


Multi-Threaded Execution

If several schedules are set to execute at the same (or close to the same) time, CRD will queue them up and execute them one at a time. However, should you wish, you can switch on this option and CRD will execute up to 4 reports simultaneously.

Multi-threaded functionality also comes with "Collaboration". This allows you to "assign" reports to be run by different installations of CRD from a single "Master" installation. There is no need to maintain separate CRD scheduling databases as in previous versions. And, of course, each installation of CRD can execute up to 4 reports simultaneously.



With Collaboration, resource intensive schedules can be processed on more powerful servers. Also, numerous schedules can be spread out across an array of CRD machines to reduce the overall load and run schedules more efficiently. Combined with Multi-threading, each CRD Collaborator will have up to 4 threads. Therefore quadrupling the number of concurrent schedules you can run simultaneously with every collaborator added.


Report History Snapshots

Tired of having to adjust your reports in order to re-run reports showing past data? On every successful execution of a schedule, a snapshot of the data is retained. If you need to resend a report that was successfully executed in the past, simply select the date and report, and resend the "snapshot".


Group Bursting

With this feature, you can specify the export of discreet report groups. This is especially great if you want to export (or burst) just one or a number of report groups.


Section Bursting

Why stop at Group Bursting? Section bursting enables that ability to burst report headers, footers, page headers and footers, and details. In fact, this feature allows you to burst any section in your report that you want!

Sub-Report Bursting

Burst out subreports.


Single Value (Discrete) Parameter Selection

CRD handles discrete parameter values with ease. The value you enter for a schedule is stored in the schedule, leaving you free to re-use that report in another schedule – with a different parameter value.


Range of Values Parameter Selection

If your parameters are in standard Crystal “Ranges”, then CRD will present you with the familiar Crystal parameter range interface. Again, the ranges are stored in the schedule so you can re-use the same report over and over again.


"With Data" reports

Choose to export the data in a "with data" report or to ignore the saved data and pull fresh data each time.


Read Parameter from Database

Why type in a static parameter value when you can extract the value dynamically from a database? That way, whenever the value changes in the database, CRD will use the new value straight from the database, enter it in the parameter prompt for you, and export the report.

The database query interface is simple and intuitive. Follow the prompts and build a complicated query with little or no knowledge of database language. Experts can use the advanced screen to write or paste their queries.


Parameters on Main Report

CRD will recognize and enter the values for parameters on the main report.


Parameters on Sub Reports

CRD will allow you to choose to ignore parameters on subreports or to specify values for sub report parameters. Great for sub report bursting.


Add Reports to Existing Packages

This allows you to edit an existing package and add or remove reports. This saves having to re-create the entire package when you wish to add or remove existing reports from the package.


Add Multiple Reports Simultaneously

Why add reports to packages one by one when you can select and add multiple reports in one click?


API, Web Service, SQL functions and Command Line Options

Don’t want to schedule? Rather use a batch file? Want to execute a schedule or package from another application? CRD gives you a choice of using its API, Web Service, built-in SQL Functions, or command-line options.


System Monitor

CRD’s system monitor provides you with the ability to view and interact with a range of processes:

    • Report History for single report schedules
    • Report History for Packages
    • Report History for conditional schedules
    • Email Log shows you a list of all emails which have been successfully sent
    • Email Queue shows you emails which are waiting to be sent
    • Schedule monitor shows you which schedules are running and on which machine


Activity Reports

Want to know how many of today’s reports failed? You can use Smart Folders to define the view you wish, and then schedule the results as a report to yourself.



Use the CRD Dashboard to quickly view important CRD events without opening the editor.


Intuitive Interface

CRD’s intuitive interface helps you to organize your schedules and packages for easy viewing. The familiar explorer-like interface is packed with rich context-sensitive (right-click) menus. New users have a range of wizards to help them through the process.


Number of Schedules

A schedule is a set of instructions which CRD uses to run and export a single Crystal Report. You can set a schedule to run every half hour, once a day, twice a month, or any other frequency you wish. The schedule will execute as often as you tell it.

CRD identifies the instruction as a “schedule”.

This means that you can set a schedule to run every half hour, for example, and even though 48 reports will be exported in a day, CRD will count this as a single schedule.

A “package” is a number of Crystal Reports scheduled to run at the same time and export to the same destination.

If, for example, your weekly pack consists of 8 reports and these are to be delivered by email, it is more professional to send an email with 8 attachments as supposed to 8 emails with 1 attachment in each. To achieve the former, you would set up a “package”.

For licensing purposes, CRD identifies the reports in a package as schedules. So if you have 8 reports in the package, CRD will count this as 8 schedules.


Number of PCs/Servers (Installations) permitted

CRD may be installed on one or more PCs or servers. Each PC can run an independent instance of CRD or be part of a CRD Cluster. Your License will determine what your restrictions are.