* REPT.CMD - REPT RECORDS BASED ON USER SELECTION * STORE TRIM(CATEGORY) TO CAT STORE TRIM(TITLE) TO MTITLE STORE PARM TO STYPE SELECT PRIMARY STORE "DSREPT" TO DSFILE USE &SYS&DSFILE GO BOTTOM STORE # TO LAST USE &SYS&DSFILE INDEX &SYS&DSFILE&ONE FIND &CAT STORE "REPT:DESC" TO FLIST STORE "CATEGORY = CAT" TO MATCH STORE "The following reports are available to use:" TO MDESC STORE "DSDISP" TO COMMAND DO &SYS&COMMAND IF !(RECORD)="Q" RETURN ENDIF IF !(RECORD)="A" APPEND BLANK REPLACE CATEGORY WITH CAT ELSE GOTO &RECORD ENDIF IF STYPE = "A" SET FORMAT TO &SYS&DSFILE STORE " " TO DEL READ SET FORMAT TO SCREEN IF DEL = "DEL" DELETE RETURN ENDIF ENDIF STORE TRIM(FILENAME) TO FNAME STORE REPT:DESC TO RDESC STORE TRIM(REPT:FORM) TO REPTNAME STORE REPTNAME + ".FRM" TO REPTFORM STORE TRIM(NDXNAME) TO MNDXNAME STORE TRIM(SPEC:NDX) TO MSPEC IF SELECTION = " " STORE " " TO CRITERIA ELSE STORE "FOR " + TRIM(SELECTION) TO CRITERIA ENDIF SELECT SECONDARY USE &FNAME ERASE @ 1,10 SAY TMARK + " " + CNAME SET INTE OFF @ 3,10 SAY MTITLE SET INTE ON IF STYPE = "A" REPORT FORM &REPTNAME USE RETURN ENDIF @ 5,10 SAY "Printing " + RDESC STORE 5 TO ROW IF !(MNDXNAME) = "SPECIAL" STORE ROW + 2 TO ROW @ ROW,10 SAY "Waiting while a special index is created on " GET MSPEC CLEAR GETS INDEX ON &MSPEC TO &FNAME ELSE SET INDEX TO &MNDXNAME ENDIF STORE ROW + 2 TO ROW STORE " " TO HEADING @ ROW,10 SAY "You may now enter a report heading for later identification." @ ROW+1,10 SAY "RETURN only for no heading. " GET HEADING READ STORE ROW + 2 TO ROW @ ROW,10 SAY "Please ensure that your printer is ready to print." STORE ROW + 1 TO ROW STORE " " TO READY @ ROW,10 SAY "Enter (P)rint or (Q)uit followed by RETURN " GET READY READ IF !(READY) = "Q" RETURN ENDIF @ ROW+2,10 SAY "Your report is now printing!" SET CONSOLE OFF SET EJECT OFF SET HEADING TO &HEADING SET PRINT ON REPORT FORM &REPTNAME &CRITERIA EJECT SET PRINT OFF SET CONSOLE ON RETURN