Scheduling reports

I’ve used a number of report schedulers over the years. When I joined my current organization, they were using an application which I shall not name, developed by an Australian (maybe New Zealand?) software company whose name I shall also redact. I’m withholding their names because both their software and their company are god-awful and I don’t want to get sued. The few times I managed to get them to respond to a support email, I got the distinct impression I was dealing with one of two guys who had long ago abandoned their basement startup’s GeoCities website for steadier day jobs, and were rather annoyed at having to continue to monitor the company’s email account. It was clearly time to move on.

I don’t have any financial stake in Logicity, let’s just get that out of the way. But I do love their software. Their suite includes tools to design and view reports, but my primary tool is the Logicity Solution Builder.


What you see here is the contents of an RRD (Report Runtime Definition) file. I’ve named this one “Email MTWRF 1245,” indicating that this is the batch of reports that gets run Monday through Friday at 12:45pm. The part of the list you can see includes reports for missing charges, missing matrixes, and in-process service charges. (I’ll be discussing each of these reports in future posts, so start getting excited now!)

The main interface above offers options to encrypt the RRD (which I have not done), set a password (also not done), execute the RRD on the fly (not as useful as double-clicking the RRD file, which gives you a progress indicator rather than running it silently in the background), and schedule the job.

Highlighting a report and clicking Edit Action brings up a six-tab dialog. This is the same dialog used to add new items to the RRD.


The first tab is just for naming the action. The second lets you select what report you’ll be running. You can also do things other than running Crystal Reports, but I haven’t messed around with anything like that.

Database Info and Parameters are exactly what you’d expect. If the report requires any parameters, you can set them up on that tab.

The Action tab is the most interesting.


There are a few different actions, but the most useful for my purposes is E-mail. I really like the ability to put system variables like %CURRENT_YEAR% into the name of the file attachment as well as the subject line and body. There are a number of attachment formats available, but I’ve mostly used PDF and Excel. I’ve tinkered with Inline HTML, which is pretty nice because it places the output directly in the body of the email, but I can only get the 3.2 version to format properly. “Suppress If No Records” is a nice touch if an email is designed specifically to alert the recipient to a problem.

While the Solution Builder Wizard is very simple to use, I also like the fact that the RRD files are really just text files, and are easily-hackable. If a recipient leaves the organization, I can just search for their email address in the RRD file and remove it from any number of reports at the same time.

The one criticism I would offer in regards to Logicity: It uses Windows Task Scheduler to schedule reports, rather than its own service*. You may not see that as a point against, but our server guys had to open up permissions on Task Scheduler, which they had locked down. This involved creating a dedicated AD account just to schedule reports. It wasn’t a problem, but it was a hurdle I shouldn’t have had to jump through. The last application we used sucked, but it did run its own scheduling service. If that’s not a show-stopper for you, I can highly recommend Logicity.

*UPDATE! I just read on the Logicity site that a built-in scheduler is in the works. This is really good news!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">