As you probably know Clarion lacks explicit support for Grand Totals bands. You have to mimic Grand Totals with a detail band which doesn't print until the report is done. With some care, you can also have the report engine calculate the totals for you.
In our work however, we have found many inconveniences and problems calculating totals in your Grand Totals band. For example, if you place the GrandTotals band above the Detail band, you can't specify the Detail band in the tallies list. To facilitate this process, this template optionally writes all the code to do the calculations you specify in the Grand Totals band. So if you specify in the template prompts that a given GrandTotals band control has to SUM, the template will write the code to do the sum.
How it Works
This template creates local variables to carry out grand totals, and right before printing the Grand Totals detail band, it transfers the data to the band controls.
Detail Band To Use: Here you specify the GrandTotals detail band. That is, the detail band you want to use to print Grand Totals. This prompt is required.
Do you want the template to calculate Totals? Turn this prompt off if you don't want the template to calculate the Grand Totals for you.
Do you want to specify tallies? This option is for when you have more than one band, and you want your totals to take into consideration a specific sub-set of bands. If you turn this option on, you will be able to specify what bands to take into consideration for each control.
If you want to print detail bands that belong to a child file you will need this template. This template allows you to specify a detail band to be used to print children records.
A typical example is where you want to list invoices with their lines. In this example, you just simply populate a detail band with the fields you want to print from the child file (the invoice-lines table), and also populate the ChildDetailExtension template. Specify which records you want to print from the child file and you are done.
This template allows you to programatically hide a detail band so that it doesn't print. This allows you to print summary reports by just setting up a condition.
This template is similar to the HideDetailBandExtension, except that it allows you to hide multiple bands.
This template clips the height of the controls of the given bands so that the band doesn't print taller than defined.
If you do any kind of report where you need precise band heights, you will appreciate this report. Before writing this extension template, many times I wasted a lot of time debugging a report that would print detail bands taller than specified. You specify a detail band of 0.150 inches, and it is almost sure that it will print taller.
The reason is that Clarion's report engine will calculate the band height to be the height of the band itself, or the height of the tallest control in the band, whichever is higher!
If you want to correct this problem manually you have to go control by control, setting their height so that it doesn't print over the band.
Simply add this extension template and get a box drawn around the detail band you specify.
Do you have a report that you want to allow printing in Letter OR Legal sized pages, and have the report print more detail lines in the legal sized page?
We had this exact situation in a Inventory Count Sheets report. We wanted to provide the user the possibility to print this report in Legal sized paper, or in Letter sized paper.
The PageLengthAdjuster template solves this problem. Simply add this template extension and your report will adjust to the paper length you specify before printing! If you specify the legal sized page, the report will print more detail lines to adjust to the longer page format.
If you just want to print a single detail band (for example a pre-printed form) this is the extension for you. This extension template short-circuits the standard clarion report so that you only print one detail band.
The name comes from Clarion Professional Developer (for DOS) which had a “MEMORY” report template (called model's back then) which was used for this purpose.