![]() |
|
Published 1998-03-01 Printer-friendly version
Reports occupy a strange place in the world of application development. Unlike designing a slick user interface or coming up with a super efficient algorithm, there's nothing particularly glamorous about placing fields on paper (over and over and over). To many developers, reports are their least favorite part of creating applications, and it is not at all uncommon in my experience to find the newest member of a team 'stuck' with creating many of the reports for a project.
To the user, though, reports are arguably the most important part of your apps. Reports are where they finally get to see all that data they have been entering laid out and summarized - transformed, in essence, from raw data to real information which they can easily grasp and use. In many applications, it is not unusual for report procedures to outnumber forms and browses by a large margin as users request more and more ways of looking at their data.
Ok, so reports are BBC (Boring But Critical), but Clarion makes creating them easy, right? Well... not really. The Report Formatter is probably the weakest area of the CW development environment (IDE), and to top it off, the built-in Report Previewer is, to put it kindly, just adequate. Reports with any degree of complexity require both handcode AND a thorough understanding of what the standard Report template is doing in order to avoid having your code and template code stepping all over each other. Common business needs like mailing labels and envelopes must be designed from scratch - the stock Clarion Report template hasn't a clue about them.
So, reports are critical, you have to create loads of them, and CW just really isn't it's usual helpful self when it comes to doing this. What's the answer to this dilemma? If you ask most Clarion developers, they'll come up with the same answer: The CPCS Reporting Tools.
Written by Larry Teames of Creative PC Solutions (CPCS), this template set has been around since the early days of Clarion for Windows. It has grown over the years in both features and price (currently $299 US) until it has become one of the heavyweights of Clarion third party products.
In this review, we'll take a look at the newest versions: v2.25 (for CW 2.003) and v4.02 (for Clarion 4, both ABC and Clarion template chains). Let's get started...
Where to begin? A basic summary includes:
Other capabilities include printing reports to ASCII files, support for fast printing to Dot Matrix printers, selectively printing pages (single, groups, and ranges) from the Previewer, multi-column reports and a whole lot more.
The product is delivered in the form of a self-contained Windows based install program that does a really nice job of walking you through the installation process.
Installation was painless for v2.25 (CW 2.x) and positively brainless for v4.02 (C4). In both cases the installation program correctly located my Clarion directories (which reside on an E drive) and offered to install the product there. For the C4 version, it even offered to automatically register the templates for me (both Clarion and ABC). Very nice indeed.
It should be noted, though, that the CPCS Report Tools do modify the Clarion standard templates in order to enable them to provide some of their advanced filtering capabilities. This applies to both the CW 2.x templates and the C4 Clarion Template chain. No modifications are necessary for the C4 ABC template chain. A utility is also provided which can make the required modification on demand. This is useful if you have installed a CW/C4 upgrade or patch which contains new (unmodified) templates, since the utility can re-apply the change without having to re-install the entire CPCS package.
One other modification is made, and that is that the install process makes changes relative to your DEFAULTS.CLW. "What the heck is that?", I hear you say...
DEFAULTS.CLW is a text file containing the source code for the default window and report structures that provide the lists you see when you click on the Report or Window button the first time in a new Window or Report procedure. For example, in the standard Report template the stock CW DEFAULTS.CLW offers the choice of a landscape or portrait style report.
CPCS installs a new DEFAULTS.CLW file containing over a dozen new default report types as well as the stock Clarion window types. The original file is left intact - the installation process changes your redirection file so that CW looks for the CPCS modified file in a new location. This becomes important if you have made changes to your DEFAULTS.CLW file before you installed CPCS, since you will need to redo the changes in the new file. If you have never changed the DEFAULTS.CLW file, you'll never know the difference.
[Note: There are way too many features in the Report
Tools to detail here, so I will simply try and demonstrate some of
the range of the product.]
Adding the CPCS Report Tools to an application is very
straightforward. First, a simple global extension template must be
added to your app via the 'Global->Extensions' button. The
extension only has a few items on it, and can simply be accepted as
is 99% of the time. Once that is done, it's time to create a
report. Since most people will use the provided Report Wizard,
we'll begin there as well.
Like the standard Clarion Browse, Form and Report wizards, the CPCS Report Tools Wizard automatically pops up whenever you choose to create a new procedure using the Universal Report template (assuming, of course, the 'Use procedure wizard' option is on).
For my first simple tests with the wizard I pretty much just filled in the prompts for the Procedure name and description, chose a file and key, and then accepted the defaults the rest of the way. I placed the fields on the detail band of the report, compiled, and had a decent report which used the CPCS Print Preview.
Delving deeper, I created another report with the wizard which used a custom View to Join together three files that had no formal relationships in the dictionary. Specifying which fields joined which files was a simple process of pointing and clicking on lists of fields and keys from the files I was using. One Join used a key, while the other linked up two non-key fields that contained the same codes. Moving on, I chose two of the files to create report break levels on. Again, all point and click.
After finishing the wizard and placing fields from the three files on the appropriate headers, footers and details it had automatically created for me, I crossed my fingers, compiled, and then smiled a big smile as the report worked exactly as I wanted it to. Next I added some formulas to create totals on my breaks, and they worked without a hitch as well.
Now, there are two important points to keep in mind regarding the report I just described:
Final note on the wizard: Unlike the standard CW Report Wizard, the CPCS Wizard doesn't place fields on the report - that's left up to you. Personally, I'll gladly trade that option for the vastly increased power the CPCS Wizard places in your hands.
In another test, I went to the opposite extreme (all hand code, no wizard). I needed to convert a very complex hand coded report which had originally been developed in Clarion for DOS (CFD) to CW. This report manipulated multiple files and queues, formatting and printing many kinds of data using a single detail line over which various group structures were overlaid (I told you it was complicated). Since all of the file and field manipulation logic worked fine; what I wanted to do was basically just copy it into a Windows report. This had already proved problematic using a standard Clarion Report, as it generated all sorts of code to manipulate the files itself - code that was completely unnecessary in this case.
So, I created a new Universal Report procedure (not using the Wizard), and checked the 'Handcode Procedure' option. Using this option, the template basically just becomes a shell which handles all the tedious details like opening and closing files, invoking the Print Preview and so forth. Everything else is left up to you (just the way I wanted it).
After using the report formatter to re-create the look of the DOS report, I simply cut and pasted blocks of code from CFD to the specially marked 'handcode' embeds within the Universal Report template. Doing this, I was able to reuse the existing code, eliminate the generation of redundant code and recreate this report in much less time than I anticipated.
I tried quite a few other features of these templates, including printing from queues, looping through associated files, blank line suppression, the Universal Process template and more. Everything worked as advertised. Do yourself a favor and download the demo if you'd like to see them all in action.
I tested CPCS with a variety of other third party products such as the Toolcraft Query Wizard and Boxsoft's Super Tagging templates to see how their report filtering capabilities worked with the Universal Report template. In all cases, everything worked with no problems whatsoever. Records were filtered as expected with Query Wizard and only tagged records were printed with Super Tagging.
I also tested using Lodestar Software's Report Presentation Manager (RPM) as a replacement for the CPCS Print Preview. As RPM provides direct support for integrating with CPCS, the combination worked flawlessly together (and it is an absolutely killer combination, in my opinion - the creme-de-la-creme of reporting power).
The various test applications used either the standard Clarion Templates or the Moseley Group's Dictionary Enhancement Templates (DET). Once again, no problems were encountered. Reports were printed both to laser printers and directly to WinFax Pro for faxing.
In action, the Report Tools do what you expect them to. Various options let you control how things appear to the user: Progress bars; the displaying of spinners, record counts or animated icons (cool!); asking, forcing or suppressing Print Previewing and so on.
The Print Previewer itself is not the flashiest one around (RPM holds that honor), but it is a solid step up from the stock CW Print Preview. Its real power lies in the code underneath it that adds many desirable capabilities, like printing page ranges and being able to change the destination printer while previewing.
A tool this deep requires good documentation but, unfortunately, this is the weakest area of an otherwise stellar product.
A standard Windows Help file is provided which details how to implement each of the features of the product. A handy Questions and Answers section covers many common questions and a few of the quirks of the CW report engine. Also on the plus side, a comprehensive demo application is provided which demonstrates how to use virtually every feature so, between the demo and the help, you should be able to figure out how to do just about anything you need to do.
On the minus side, the Help is not context sensitive (it always pops up on the table of contents), it could be clearer, and the table of contents a bit better organized. Also, it would be nice to have some of the terms and concepts that are used more clearly defined. After all, it doesn't do a new user much good to know that they can create up to nine break levels if they aren't quite sure what the heck a break level is!
The biggest problem, though, is printed (or printable) documentation. Basically, there is none. An RTF (Rich Text Format) file is provided, but it is simply the source document for the Help file. It has no page numbers, no usable table of contents and is sprinkled with strange characters used in the formatting of the file for the WinHelp compiler. It prints, but it is not a pretty picture.
Picky, you say? Perhaps, but a product in this price range should provide every possible assistance in helping you to get up to speed with it, and in my mind that means having decent printed (or printable) documentation. It is much more difficult to try to follow a ten step process in a Help file, bouncing back and forth between it and your app, than it is to have it all laid out on your desk while you simply fill in the prompts.
Back to the good stuff. Technical support is, in a word, superb. Larry, a long time member of Team TopSpeed, answered all questions quickly and thoroughly (and has done so for a number of years). He has always been willing to look at problem code to see what is going on, and any problems with CPCS are usually resolved within days (or less). For example, I discovered a small problem in the C4 ABC version of the demo program, and a corrected version was posted on the CPCS website within 24 hours.
Support is available through email and on the TopSpeed Compuserve forum, where Larry is quite rightly regarded as the 'Grand Guru of Reports'.
The templates pretty much provide exactly the same features in both the CW 2.x and C4 versions. The only real exceptions are:
With good reason, the CPCS Reporting Tools have become one of the most popular and, indeed, indispensable template sets available for Clarion users. They are certainly not cheap, but if you need to do anything other than basic reports, they will pay for themselves many times over in the increased efficiency and flexibility that they bring to this important area of Clarion application development.
| Category |
Product Score |
| Ability to do the task |
Excellent |
| Ease of use |
Very Good |
| Ease of Installation |
Excellent |
| Documentation |
Fair |
| Technical Support |
Excellent |
| Modifies Shipping Templates |
Yes* |
| Black-Box DLLs/LIBs |
Yes** |
* See the Installation section for details on the modifications.
** Source code is not provided for the Print Previewer or the various functions that query printer capabilities, etc. All other features use standard template generated code.
The CPCS Report Tools list for $299 US and can be purchased through the TopSpeed Accessories program (1-800-354-5444). Upgrade pricing is available for registered owners of previous versions. For more information contact Larry Teames at 73150.104@compuserve.com or visit the CPCS web site at http://www.psn.net/~cpcs.
A demo of the CPCS Report Tools can be downloaded from the CPCS web site. It can also be found on the C4 CD (final, not beta) in the \THRDPTY\CPCS directory.
Copyright © 1999-2009 by CoveComm Inc. All Rights Reserved. Reproduction in any form without the express written consent of CoveComm Inc., except as described in the subscription agreement, is prohibited.
Clarion Magazine ISSN 1718-9942
One year: $169
(includes all back issues since '99)
Renewals from $119
Two years: $269
Renewals from $219