CRC Scripts for BusinessObjects Enterprise

More Solutions …
Here are some of the solutions we've provided our clients using Enterprise scripting:

(click a solution to view its description)

CRC Enterprise Security Extract

CRC's Security Extract tools extract "net rights" to an external database.
The Security Extract database allows you to write Crystal Reports about the access rights you need to document for compliance, corporate governance, or security reviews.

The entire extract process is implemented as a pair of Enterprise scripts that retrieve security information from the Enterprise system and write the extracted data to a set of security tables.
Show me more …

CRC Event Monitor

Our "CRC Event Monitor" script is the key active component of our "CRC Event Suite for BusinesObjects Enterprise".

As a program object, the event monitor runs every 10 minutes and finds events to trigger report processing. The single script manages all our custom event types and monitors the standard events as well.
Show me more …

CRC ReportGroup Scheduler

When the CRC Event Monitor triggers an event that's configured to schedule all reports in an Event Report Group, it starts up "CRC ReportGroup Scheduler" for that group.

The scheduler finds all reports within the group and schedules them to "Run Now".
Show me more …

Store Inventory Reports

Our client wanted "intelligent events" so that could use an event file with a compound name (one part for the Inventory Report group and the other for the Store to inventory). When the event file shows up, that store's inventory reports are run. A variation of our "CRC Report Scheduler", the inventory report scheduling script does what they want. Now the administrator for the stores system can schedule the desired reports for a particular store by simply creating the specially named event file. With 2 sets of reports for over 100 stores, that's over 200 special event files. Because the script runs the selected store's report group on-demand, none of the reports have a recurring schedule.

Report History Monitor

Our "Report History Monitor" is a solution to our client's need to capture information about reports that failed to run. They wanted especially to know the parameters used for user scheduled resports - from these, they could revise training materials or on-line help for specific reports. They also wanted to capture any failure reasons for production reports - from these, they could generate trouble-tickets and follow through to revise report designs, verify data content in the report, etc.. In support of this, they wanted users to not have the rights to delete reports (so the information could be captured by our script), and they wanted the script to delete failed reports after capturing the information. The script captures all the scheduling properties into a report history database. The database can be viewed on-line through web pages, and trouble-tickets can be assigned and status can be tracked. The script is scheduled to run each hour.

What's interesting is that the information captured about successful reports provides all the information needed as meta-data for a report archive, so this is a key part of a comprehensive report archiving solution.

FRS Cleanup

Ever wonder if all the reports, instances, and other objects in your Enterprise desktop folders actually refer to files that exist in the File Repository?

Our "FRS Cleanup" script tests each object in the Enterprise desktop to ensure that the files they refer to are really in the File Repository System ("FRS").

Set Reports From Parameter Files

The "Set Reports From Parameter Files" solution is an Enterprise 10 solution to the nightly data mart parameter refresh problem. Our client was migrating from Seagate Info 7.5 to Crystal Enterprise 10, and they had dozens of parameters for hundreds of reports all set up to use external text files as the parameter prompt source. Crystal Enterprise never had this in versions 8.0 through 10 (it re-emerged as "dynamic parameters" in BuisinessObjects Enterprise XI).

Our client continues to generate the same prompt text files nightly using the same Oracle SQL*Plus database scripts. Our script uses custom properties that tag each report's parameter with the name of the refreshed prompt file; the script reads the file and replaces the report's parameter list in the Enterprise report object. The script re-populates about 4,000 pick lists each night in under five minutes.

Footnote: Our client does not want to rework their report designs to use dynamic prompts for Enterprise XI R2 (which will perform slower) - so they'll keep the current process.

show sample output in a new browser window

Set Current Parameters

"Set Current Parameters" is another migration solution that goes with "Set Reports From Parameter Files". Seagate Info nicely defaulted to the first value in a prompt parameter list, so the defaults never had to be set. Enterprise doesn't work that way, so users must set a value for every prompt parameter when scheduling a report (or the administrator must pre-set the default). This script does all that for you - every night after the "Set Reports From Parameter Files" script has run. That's a lot of typing!

show sample output in a new browser window

Show Report Parameters

If you want to know at a glance the parameter names used in reports, run this reporting script. It's used mostly as a quality assurance step to be sure all reports are set up correctly for "Set Reports From Parameter Files".

show sample output in a new browser window

Update Reports for a Report Design

"Update Reports for a Report Design" is the script component of CRC's Report Design Administration Tools that automates report design file updates and refreshes.

show sample output in a new browser window

Set Report Refresh Options

"Set Report Refresh Options" lists or sets all the report refresh options for all the reports in the Enterprise system. Most clients use it to disable refreshing the "Default Database Logon Information" refresh. Use it to establish a base-line refresh option setting. Note that the options set for "Update Reports for a Report Design" will over-ride these settings.

show sample output in a new browser window

view "Refresh Options in CMC" in a new browser window

Delete Report Schedules

Yet another migration solution. When migrating to Enterprise 9, the Import Wizard imported report schedules without their events. Better to not have imported them at all, as they all ran on their time schedule without waiting for events. This script fixes that. (The Import Wizard for 10 and later imports the events and schedules them correctly).

Extract Report Notes

Some folks cleverly put a history list, status information, and general report information into a formula (all comments) in their Crystal Reports. We recommend it as a best practice, and our Administrative Tools (CRC Browser) let you peek into the formulas for Crystal Reports in the Enterprise system.

Our client liked this, and wanted the notes from all the reports in their Enterprise system extracted to a text file for a Quality Assurance review. Ergo, our "Extract Report Notes" script.

Set Report Retries

Our client discovered that while their data source was performing a cold backup over the weekend, the Enterprise system kept trying to run the scheduled Crystal Reports - until "the report could not be scheduled within the allowed time". Ok, so Tech Support says to increase the number of retries to a big number... for all 4,000 reports. Uh, no - call CRC. They're a key client for us, so we sent them "Set Report Retries" gratis, which sets all the reports in the system for more retries.

Then we developed on-demand Report Group scheduling, which eliminated all the schedules (about 5,000 reports per day with no schedules!). Now, the reports are scheduled to "Run Now" by the script (similar to "CRC Report Group Scheduler" above) when the event file is received, which is - surprise - after the cold backup.

view "Enterprise Scripting" presentation online in a new browser window