home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
clarion
/
statrep.zip
/
STATREP.MDL
< prev
Wrap
Text File
|
1992-04-09
|
6KB
|
103 lines
*STATREPORT********************************************************************
@PROCNAME PROCEDURE
SCREEN SCREEN WINDOW(8,52),AT(9,15),PRE(SCR),HUE(15,3)
ROW(8,1) PAINT(1,1),TRN
ROW(8,2) PAINT(1,51),HUE(7,0),TRN
ROW(2,52) PAINT(6,1),HUE(7,0),TRN
ROW(1,52) PAINT(1,1),TRN
COL(1) STRING('▀{51}'),HUE(12,3)
ROW(7,1) STRING('▄{51}'),HUE(12,3)
ROW(2,5) STRING('Report is being created. Please wait')
COL(42) STRING('.{5}'),BLK
ROW(4,10) STRING('File contains')
COL(35) STRING('Records')
ROW(6,11) STRING('Processing Record #')
RECORDS ROW(4,24) STRING(@n_10)
COUNT ROW(6,31) STRING(@n_10)
.
REPORT @REPORT
@SAVEITEMS
CODE
DONE# = 0 !TURN OFF DONE FLAG
OPEN(SCREEN) !!! BCC 4/9/92
SCR:RECORDS = RECORDS(@FILENAME) !!! BCC 4/9/92
SCR:COUNT = 0 !!! BCC 4/9/92
@SETUP !CALL SETUP PROCEDURE
POINTER# = POINTER(@FILENAME) !SAVE THE CURRENT POINTER
@INITSELECTS !SAVE SELECTOR FIELDS
CLEAR(@PRE:RECORD,-1) !MAKE SURE RECORD CLEARED
@RESTSELECTS !RESTORE SELECTOR CRITERIA
BUILD(@INDEX) !BUILD FILE INDEX
@INITREPORT !INIT REPORT VARIABLES
@RPTHEADER !DO REPORT HEADER COMPUTES
PRINT(TTL:RPT_HEAD) !PRINT TITLE PAGE
@PRINTMEMO !PRINT ANY MEMO FILES
CLOSE(TITLE) !CLOSE TITLE REPORT
@SETRPTFILE !SET TO FIRST RECORD
DO NEXT_RECORD !READ FIRST RECORD
@PAGEFOOTER !DO PAGE FOOTER COMPUTES
@PAGEHEADER !DO PAGE HEADER COMPUTES
@APPENDON !APPEND REPORT TO TITLE
OPEN(REPORT) !OPEN THE REPORT
@FIRSTBREAK !PRINT INITIAL BREAK HEADERS
LOOP UNTIL DONE# !READ ALL RECORDS IN FILE
SAVE_LINE# = MEM:LINE ! SAVE LINE NUMBER
LAST_REC# = POINTER(@FILENAME)
@RUNTOTALS ! ACCUMULATE RUNNING TOTALS
@INITDETAIL ! SET UP FOR DETAIL LINE
PRINT(RPT:DETAIL) ! PRINT DETAIL LINES
DO CHECK_PAGE ! DO PAGE BREAK IF NEEDED
@PRINTMEMO ! PRINT ANY MEMO FIELD
@TOTALS ! ACCUMULATE TOTALS
@PAGEFOOTER ! DO PAGE FOOTER COMPUTES
DO NEXT_RECORD ! GET NEXT RECORD
@PAGEHEADER ! DO PAGE HEADER COMPUTES
@PAGEEJECTDTL ! EJECT PAGE IF NEEDED
@CHECKBREAK ! CHECK FOR BREAK
. !
@LASTBREAK ! PRINT ENDING BREAK FOOTERS
@RPTFOOTER !DO REPORT FOOTER COMPUTES
PRINT(RPT:RPT_FOOT) !PRINT GRAND TOTALS
DO CHECK_PAGE ! DO PAGE BREAK IF NEEDED
@PRINTMEMO ! PRINT ANY MEMO FIELD
CLOSE(REPORT) !CLOSE REPORT
@APPENDOFF !TURN OFF REPORT APPEND
GET(@FILENAME,POINTER#) !RESTORE THE INITIAL RECORD
CLOSE(SCREEN) !!! BCC 4/9/92
RETURN !RETURN TO CALLER
NEXT_RECORD ROUTINE !GET NEXT RECORD
LOOP UNTIL EOF(@FILENAME) ! READ UNTIL END OF FILE
NEXT(@FILENAME) ! READ NEXT RECORD
SCR:COUNT += 1 !!! BCC 4/9/92
@CHECKSELECT ! STOP IF PAST SELECTOR
@DETAIL ! DO DETAIL COMPUTES
IF ~(@FILTER) THEN CYCLE. ! IF FILTERED OUT, GET NEXT
EXIT ! EXIT THE ROUTINE
. !
DONE# = 1 ! ON EOF, SET DONE FLAG
CHECK_PAGE ROUTINE !CHECK FOR NEW PAGE
IF MEM:LINE <= SAVE_LINE# ! ON PAGE OVERFLOW
SAVE_LINE# = MEM:LINE ! RESET LINE NUMBER
@INITPAGE ! INIT PAGE VARIABLES
.
LOOP UNTIL NOT KEYBOARD() !LOOK FOR KEYSTROKE
ASK
IF KEYCODE() = REJECT_KEY !ON CTRL-ESC
@APPENDOFF ! TURN OFF REPORT APPENDING
CLOSE(REPORT) ! CLOSE REPORT
GET(@FILENAME,POINTER#) !RESTORE THE INITIAL RECORD
RETURN ! ABORT PRINT
. .
@BREAKRTN !CHECK FOR GROUP BREAK