67 lines
3.3 KiB
Plaintext
67 lines
3.3 KiB
Plaintext
ReportGen user notes
|
|
--------------------
|
|
|
|
ReportGen is a replacement for the text-only standard cobol report section. It
|
|
is able to generate pretty looking reports in postscript or pdf form with a
|
|
minimum of fuss. ReportGen is a tcl program, with a C wrapper for being called
|
|
directly from cobol, in a syntax reminiscent of the regular report section. You
|
|
have three calls to make it do its job:
|
|
rep_initiate - before actually reading any report lines;
|
|
rep_generate - with each line to be processed;
|
|
rep_terminate - to close the output report and flush everything.
|
|
|
|
There are some problems though to make it work as expected. Tcl have no idea on
|
|
how to work with cobol variables, to convert numbers, to add or subtract
|
|
values, and so on. Then you will have to convert in cobol all variables to a
|
|
displayable form before submitting them to rep_generate. Furthermore, you will
|
|
have to add all totalizers that are to be shown on the report, also in a
|
|
displayable form. Fortunately, this is easy to do in cobol. What's a MOVE for?
|
|
|
|
To control the layout of the report pages, you have to write a layout file, but
|
|
don't be enfrightened because it is just a simple text file which contains
|
|
keywords that represent attributes for each section of the report, as headers,
|
|
footers and detail lines. Those attributes will allow you to chose which font,
|
|
color, offset from the beginning of line, vertical spacing before or after a
|
|
section, and so on. You can also define in which units will those dimensions be,
|
|
such as inches, centimeters, picas, points, and more.
|
|
|
|
To add columns with barcodes, you will need the GNU Barcode program.
|
|
The program "barcode" must also be patch to avoid it automatically inserting a
|
|
margin around the barcode image. You have only to edit barcode.h and change the
|
|
|
|
#define BARCODE_DEFAULT_MARGIN 0
|
|
|
|
as shon above (the previous value was 10).
|
|
|
|
Break fields must be declared in the layout file as a Header or Footer, or both
|
|
entries, in the order of most priority (break must occur) to less priority
|
|
(break occurs only when no other higher-priority break was also found).
|
|
When a field break happens, the Footer, and then the Header defined for that
|
|
break field is inserted in the report. If the "-eject 1" option is given in the
|
|
Header, a page is ejected before sending the Header.
|
|
|
|
Each column may have -text, -image, -barcode, or -hrule options (but not more
|
|
than one of these at the same time), with replacement values for declared
|
|
cobol variables inside "@@" delimiters, as in
|
|
|
|
-text "Total value @@total-dsp@@"
|
|
|
|
In this example, the string "@@total-dsp@@" will be replaced by the current
|
|
value of the cobol variable "total-dsp".
|
|
|
|
Barcodes are the same, but the variable's value will be encoded in a suitable
|
|
barcode before showing the barcode's image. The size attributes -width and
|
|
-height will be honored for this image, as well. Other options (-text, -image)
|
|
will not honor the -height attribute.
|
|
|
|
Image require the name of an encapsulated postscript file with the actual image
|
|
to be displayed. Other images formats may be converted by the "convert" utility
|
|
found in ImageMagick, a nice and well known image manipulation program.
|
|
|
|
Horizontal rules may be declared with the -hrule option followed by the height
|
|
of the rule. (not in the -height option)
|
|
|
|
(Please someone else write more here! You may ask me what is not understood :)
|
|
|
|
Rildo Pragana
|