PROGRAM SYRTOP,1.0(001) ! ! SYRTOP.BV - Report Mainline Program for REPORT MODULE: SYRTOP ! SIGNIFICANCE 11 COPYF "TOPFIL" ! Data File COPYF "TOPKEY" ! Key File COPY "RPTMAD" ! RPT work area COPY "ABSELL" COPY "FORMAD" COPY "PRTREC" COPYF "DBMFIL[SY]" ! Data Base dictionary COPYF "DBMKEY[SY]" COPYF "PRTFIL[SY]" ! Printer Control file COPYF "PRTKEY[SY]" COPY "USRBUF" COPYF "PQUFIL[SY]" ! Print Queue file COPYF "PQUKEY[SY]" COPYF "PQDFIL[SY]" ! Special Data File MAP1 FORMID,S,6 MAP1 H'QUE,B,1,60 ! Standard Hold Que MAP1 P'QUE,B,1,20 ! Standard Process Que MAP1 NOSEL,B,1 ! Set = to 1 to bypass Selection Sys MAP1 NOSUM,B,1 ! Set = to 1 to bypass Summary MAP1 DSK ! USR Params for RPT Stack MAP2 DEV,S,3 MAP2 DRV,S,2 MAP1 PPN,S,7 ON ERROR GOTO ERTRAP RPT'PT1: PQD'DATA = "Topics File" BEGIN'PT1: PQU'PROG = "SYRTOP" COPY "SELRP1" PS'CDEE = "%SEL" PS'PRE = "SYTOP" PS'DRNM = "TOPFIL" PS'PROG = "SYRTOP" PS'CMP = "N" PS'RPT = "Y" IF PRW'SEL # "Y" GOTO CHN'SEL ![3.5] PS'KPRE = "SYTOP" CHN'SEL: XCALL GIN,0,PASS'SEL'AR IF PRW'STK # "N" THEN CHAIN "DSK0:ABSELQ.CMD[2,2]" ENDIF CHAIN "DSK0:ABSEL.CMD[2,2]" START'RPT: GOSUB IRPT'SYRTOP ! Initialize report module ACTVSW = 1 START'RPT2: ! Multiple Report Entry Point IF SEL1 # 9 use TOP into TOP'rec key TOP'key ENDIF do IF SEL1 = 9 IF PSKY = PS'NOSL EXIT READ #1000,PASS'REC use TOP ps'rcn into TOP'rec PSKY = PSKY + 1 ELSE getnxt TOP IF TOP'CTL = 3 EXIT ENDIF GOSUB RPT'DETAIL ! Produce the report loop END'RPT: NORM'END: GOSUB RPT'END IF PRTCOD = 1 OR PRTCOD > 3 GOTO END'JOB IF PRT'EXSPL = "N" GOTO END'JOB RR1 = rdvf : RR2 = PGECNT IF RR2 = 0 RR2 = 1 XCALL SPOOL,r,PRT'DEVCD,RR1,RR2,FORMID END'JOB: IF SEL1 # 9 GOTO FINAL'END rdlock dbf ps'wkno DBF'INUSE = "N" write dbf FINAL'END: IF PRT'CRT = "Y" AND ACTVSW = 1 THEN CHAIN "DSK0:EXP.CMD[2,2]" ENDIF END ABORT: ABORT'JOB: IF ACTVSW # 1 GOTO END'JOB ? TAB(-1,14) ? "Report has been Aborted" rtnadr = 0 GOSUB RPT'END ! CLOSE OUT IF PRTCOD = 2 OR PRTCOD = 3 THEN KILL R'FILENME ENDIF GOTO END'JOB PUT'USR'DATA: RETURN SET'USR'DATA: RETURN COPYR "SYRTOP" ! Report Copy Module COPY "RPTMAT" COPY "FORMAT" COPY "DSK0:RPTSEL[11,10]" COPY "PRTSTK" COPY "BASERR" \\TSTFUNC .