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
Once a report file has been successfully opened, the main report writer menu will be displayed:
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 _
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 ________________________________
When this option is selected the following screen is displayed:
Line ____________________ Field ____________________
_____
Variable ________________________________ Data Type ______
Mask/Text ____________________________________________________________
Pos Flag _ Spaces ___ Position ___ Length ___ Justify _
Total _ Length ___
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
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
________________________________ ______ __
Format | Meaning |
N | No /tdeak |
B | Blank line |
S | Single spacing |
D | Double spacing |
1 | Top processing preformed |
2 | Bottom processing preformed |
3 | Top & Bottom processing preformed |
$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.