Return to Works Index

Report Utility

Note: This utility is not recommended for new development. Creating forms in Postscript is faster and more flexible.

DSI REPORT is a software tool which aids in the development of reports. By specifying what constants and variables will appear in the heading(s), title(s), detail line(s), and at the break(s), a VAX BASIC program may be generated.

Initially REPORT will prompt for the name of a report file to create or modify. The most recently modified report file (signified by angle brackets ) will be the default.



Digital Synergy Inc. Report Design Utility V1.0
Report file


If the report description has not yet been created, the report writer will verify that a new report file should be created.

Once a report file has been successfully opened, the main report writer menu will be displayed:


File, Page : MENU.SCR, MAIN


DSI Report Design Utility V1.1

1) Format

2) Design

3) Line Parameters

4) Level breaks

5) Write Basic Program

6) Exit

7) Quit

Option _



1. Format

This screen accepts information about the physical lay out of the file and the databases which are used.

2. Design

This screen accepts the parameters which control what will appear on the lines of the report.

3. Line Parameters

This screen controls how many lines are skipped between lines and may specify pre- or post-processing.

4. Level breaks

This screen controls automatic level breaks. Processing may be preformed before or after printing totals.

5. Write Basic Program

This option generates a shell from which to develop the BASIC report program.

6. Exit

This option saves the current report file and exits.

7. Quit

This option abandons the current changes.

FORMAT

When this option is selected the following screen is displayed:
File, Page : FORMAT.SCR, MAIN


Format Information
Page Width ___ Page Length ___ Summary Report _

Report Name __________________________________________________
Program Name __________________________________________________
Report Database __________________________________________________
Describe File __________________________________________________

Translation DB 1 __________________________________________________
Describe File __________________________________________________
Link Field ________________________________

Translation DB 2 __________________________________________________
Describe File __________________________________________________
Link Field ________________________________

Translation DB 3 __________________________________________________
Describe File __________________________________________________
Link Field ________________________________

Page Width

This field is a maximum of 3 characters long. Typically a page will be either 80 or 132 characters wide however other values are accepted.

Page Length

This field is a maximum of 3 characters long. The default page length is 55.

Summary Report

Entering Y causes the report to summarize to the first specified break level.

Report Name

This field is a maximum of 50 characters long. This should be a valid RMS file name. When the VAX BASIC program is generated, this name will be used for the output listing.

Program Name

This field is a maximum of 50 characters long. This is the name of the BASIC program which will be generated. This should be a valid RMS filename with no extension.

Report Database

This field is a maximum of 50 characters long. This is the name of the database which contains the detail records for this report.

Describe File

This field is a maximum of 50 characters long. Lower case characters will automatically be converted to uppercase. This is the describe file associated with the Report Database. Translation DB This field is a maximum of 50 characters long. This the name of a database which contains ancillary information used in the report.

Describe File

This field is a maximum of 50 characters long. This is the name of a describe file for the corresponding Translation DB.

Link Field

This field is a maximum of 32 characters long. This is a valid BASIC state ment which evaluates to the key for the corresponding Translation DB.

REPORT

This screen is used to layout the lines to be printed on the report. The upper portion of the screen will display a representation approximating the appearance of the report.

When this option is selected the following screen is displayed:


File, Page : REPORT.SCR, MAIN

















Line ____________________ Field ____________________ _____
Variable ________________________________ Data Type ______
Mask/Text ____________________________________________________________
Pos Flag _ Spaces ___ Position ___ Length ___ Justify _
Total _ Length ___



Line Help Segment : 1 LINE

This field is a maximum of 20 characters long and is required. Lower case characters will automatically be converted to uppercase. Enter a Line Name as specified in the Line Parameters option.

When a valid Line Name is entered, the parameters which follow combined with the Line Parameters will control what appears on the report.

An invalid Line Name will cause the message 'Line not in sequence' to be displayed in the message area.

Field

This field is a maximum of 20 characters long and is required. Lower case characters will automatically be converted to uppercase. This is informational and must be unique on the line. --------- End of help segment --------- MAIN_VARIABLE: Variable Help Segment : 1 VARIABLE

This field is a maximum of 32 characters long. Lower case characters will automatically be converted to uppercase.

This may be any valid statement which may appear on the right side of an assignment statement in VAX BASIC. It will be evaluated at run-time and the results printed on the report. If a variable is not entered, the contents of the Mask/Text field will be printed on the report. --------- End of help segment --------- MAIN_DATA_TYPE: Data Type Help Segment : 1 DATA_TYPE

This field is a maximum of 6 characters long. Lower case characters will automatically be converted to uppercase.

This may be any of the following DSI data types: BYTE, DATE, DECIMAL, DOUBLE, LONG, MONEY, SINGLE, STRING, or WORD. --------- End of help segment --------- MAIN_TEXT: Mask/Text Help Segment : 1 TEXT

This field is a maximum of 60 characters long. If a variable has been specified, the mask will be applied to the variable. If no variable has been specified, the text will be printed as a string on the report. Mask/TextVariableResult
Examples:######NUMBER123456
#,###,###NUMBER/1001,234
#,###,###.##NUMBER/1001,234.56
Page: ###NUMBERPage: % 123456(error)
Page: ####NUMBER/100Page: 1234
Simple Text(none)Simple Text --------- End of help segment --------- MAIN_POS_FLAG: Pos Flag Help Segment : 1 POS_FLAG

This field is one character long Only S or P will be accepted. Lower case characters will automatically be converted to uppercase. The cursor will move to the Spaces or Position field as appropriate. Spaces and Position are mutually exclusive. --------- End of help segment --------- MAIN_SPACES: Spaces Help Segment : 1 SPACES

This field is a maximum of 3 characters long. It specifies the number of spaces to be skipped from the end of the previous field. --------- End of help segment --------- MAIN_COLUMN: Position Help Segment : 1 POSITION

This field is a maximum of 3 characters long. It specifies an absolute position to print the results of this field. --------- End of help segment --------- MAIN_LENGTH: Length Help Segment : 1 LENGTH

This field is a maximum of 3 characters long. It specifies the length of the field on the report in columns. If the field evaluates to a longer string, it will be truncated on the right. --------- End of help segment --------- MAIN_JUSTIFY: Justify Help Segment : 1 JUSTIFY

This field is one character long Only L, R, C or F will be accepted. Lower case characters will automatically be converted to uppercase. This is currently unused. --------- End of help segment --------- MAIN_TOTAL: Total Help Segment : 1 TOTAL

This field is skipped for all line types except Detail. This field is one character long Only Y or N will be accepted. Lower case characters will automatically be converted to uppercase. If Y, totals will automatically be generated. --------- End of help segment --------- MAIN_TLEN: Length Help Segment : 1 TOTAL_LENGTH

This field is a maximum of 3 characters long. The minimum value accepted will be the length of the detail field. This is the length of the field which will contain the total on the break line. --------- End of help segment --------- CHECK.FOR.TITLE: TITLE.1: TITLE.2: TOTAL.0: TOTAL.1: UP.SEQ: PROGRAM.EXIT: Describe file= REPORT.DSC
Map Name= REPORT RESYNC: DISPLAY.ALL.LINES: DAL.NEXT: DISPLAY.LINE: DISPLAY.LINE1: DISPLAY.TITLE.5: DISPLAY.TITLE.8: DISPLAY.TITLE.9: DISPLAY.TOTAL: DISPLAY.TOTAL.SKIP: DOWN.SEQ: REMOVE.FIELD: INSERT.FIELD: DUMP: PRINT_SCREEN: PROGRAM.ERROR: PROGRAM.END:

Line Parameters LINE_SEQUENCE

When this program is run the following screen is displayed:

_____________________________________________________________________________ File, Page : REPORT.SCR, SEQUENCE


Report Design Utility V1.0
Assign Line Sequence for Test Report
Line Name Type Blank Lines
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __


SEQUENCE_LINE:

This screen is used to describe the general layout of the report. The lines must appear in the order Page, Title, Detail, and break. At least one line of each type must be present.

Line Name

This field is a maximum of 32 characters long Lower case characters will automatically be converted to uppercase. This field must be of the form TN* where T is a type form P, T, D, or B (Page, Title, Detail, break); N is a digit from 1 to 9, and * is any string of up to 30 characters.

Type

This field is a maximum of 6 characters long. It is informational and must be selected from Page, Title, Detail, and break.

Blank Lines

This field is a maximum of 2 characters long. The minimum value accepted will be 0. It specifies the number of blanks lines to be printed after a line.

Level breaks

brEAKS

Sort Sequence and Level breaks

Start Level break _
Top of page on level break _

Variable Type Format
1 ________________________________ _______ _
2 ________________________________ _______ _
3 ________________________________ _______ _
4 ________________________________ _______ _
5 ________________________________ _______ _
6 ________________________________ _______ _
7 ________________________________ _______ _
8 ________________________________ _______ _
9 ________________________________ _______ _



Start Level break

This field is one character long The value entered must be between 0 and 9.

Top of page on level break

This field is one character long. The value entered must be between 1 and the highest level used. REPORT will generate a top of form whenever this field's value changes.

Variable

This field is a maximum of 32 characters long. Lower case characters will automatically be converted to uppercase. This is a valid BASIC statement which evaluates to the type specified. When it's value changes, a level break is preformed.

Type

This field is a maximum of 7 characters long. Lower case characters will automatically be converted to uppercase. This specifies the data type of the level break variable. It may be any of the following DSI data types: BYTE, DATE, DECIMAL, DOUBLE, LONG, MONEY, SINGLE, STRING, or WORD.

Format

This field is one character long. It is required. Only N, B, S, D, 1, 2 or 3 will be accepted. Lower case characters will automatically be converted to uppercase.
Format Meaning
NNo /tdeak
BBlank line
SSingle spacing
DDouble spacing
1Top processing preformed
2Bottom processing preformed
3Top & Bottom processing preformed
When processing is specified, a GOSUB block must exist in the program with a name of the form REPORT$TOP_Bx or REPORT$BOTTOM_Bx where x is the break level.

Write Basic Program

This option creates a shell from which the report may be developed. All necessary structures are included by the directive:
	$DSI	REPORT	REPORT_FILE

All output should be done by a GOSUB to the label REPORT$_DETAIL. If it is necessary to output additional lines to the report, they should be output to #OUTPUT.CH and the line counter REPORT$_LINE_COUNT should be updated. If a page break is possible, a GOSUB to REPORT$_CHECK should first be preformed.

For example:


	GOSUB REPORT$_CHECK			! do page break if necessary
	PRINT #OUTPUT.CH, 'SPECIAL TEXT'	! output to report
	REPORT$_LINE_COUNT = REPORT$_LINE_COUNT + 1%
It is also possible to change the number of lines which will be printed on a page by modifying the variable REPORT$_PAGE_LENGTH after the DSI REPORT directive.