š***************************************************************** H D š***************************************************************** FMMSPFCA0IF E K DISK FMMSLFCA1IF E K DISK KINFDS INFDS F PFCAR KRENAMELFCAR1 FTESTACT#CF E WORKSTN UC F RRN KSFILE SFL š***************************************************************** š* Information Data Structure IINFDS DS š* Number of records in member I B 156 1590#RCDS š* I DS I I 'WRKJOB JOB(' 1 40 WRKJOB š* I DS I I 'STRSRVJOB JOB(' 1 43 SRVJOB š* I DS I I 'CRTDTAQ DTAQ(QTEMP/T- 1 40 CRTDTQ I 'ESTACT#) MAXLEN(80) ' š* I DS I I 'OVRDSPF FILE(TESTACT- 1 60 OVRDSP I '#) DTAQ(QTEMP/TESTAC- I 'T#) ' š* I DS I I 'DLTDTAQ DTAQ(QTEMP/T- 1 40 DLTDTQ I 'ESTACT#) ' š* I DS I I 'CLRDTAQ DTAQ(QTEMP/T- 1 40 CLRDTQ I 'ESTACT#) ' š* I 'ENDSRVJOB' C ENDSRV š* PROGRAM NAME I SDS I 1 10 PGM š***************************************************************** C KEYONE KLIST C KFLD #FNAM C KFLD #USER C KFLD #JOBN C KFLD #JNBR š* C KEYTWO KLIST C KFLD CAFNAM C KFLD CAUSER C KFLD CAJOBN C KFLD CAJNBR š* C KEYUS1 KLIST C KFLD #USER C KFLD #JOBN C KFLD #FNAM C KFLD #JNBR š* C KEYUS2 KLIST C KFLD CAUSER C KFLD CAJOBN C KFLD CAFNAM C KFLD CAJNBR š***************************************************************** C *ENTRY PLIST C PARM FSTPTH 5 š***************************************************************** C EXSR #INITS š* Get company name C *NAMVAR DEFN YYCOTXA COMPNY C IN COMPNY š* SET ACCESS TO JOB COMMANDS B001 C FSTPTH IFEQ '@DSPJ' š* ACCESS DENIED C SETON 70 C MOVE ' ' FSTPTH X001 C ELSE š* ACCESS GRANTED C SETOF 70 E001 C ENDIF š* Enable message subfile keywords C SETON 26 š* BUILD SUBFILE AND DISPLAY š* ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ C FSTPTH SETLLMMSPFCA0 C EXSR PAGUP C Z-ADD1 FOOTNB 10 š* š* REPEAT DISPLAY UNTIL EXIT REQUESTED š* ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ B001 C *IN03 DOWEQ*OFF š* C TIME CURTIM š* C CLOSEMMSLFCA1 C OPEN MMSLFCA1 š* RESTORE FILE POINTER IF DISPLAY IN USER SEQUENCE C N35 55 KEYUS2 SETGTMMSLFCA1 35 š* C RRN COMP 0 36 C Z-ADD#RCDS TOTRCD š* Display relevant command key text B002 C SELEC S002 C FOOTNB WHEQ 1 C WRITEFOOTER1 90 S002 C FOOTNB WHEQ 2 C WRITEFOOTER2 90 E002 C ENDSL š* Clear out any surplus entries (keyboard buffer can cause problems) B002 C *IN90 IFEQ *ON C MOVELCLRDTQ CMDSTR P C CALL 'QCMDEXC' 90 C PARM CMDSTR256 C PARM 40 CMDLEN 155 E002 C ENDIF C WRITEMSFLC 90 MSG SUBFILE C WRITESFLCTL 90 DISPLAY SCREEN C CALL 'QRCVDTAQ' 90 C PARM 'TESTACT#'DTAQ 10 C PARM 'QTEMP' DTQLIB 10 C PARM 80 DTQLEN 50 C PARM *BLANKS DTQFLD 80 C PARM USRVAL DTQDLY 50 š* Remove messages from queue after display C CALL 'RMVPMSG' 90 š* If no entry, then display timed out - refresh screen & redisplay B002 C DTQFLD IFEQ *BLANKS C N55 KEYONE SETLLMMSPFCA0 C 55 KEYUS1 SETLLMMSLFCA1 C SETOF 35 C EXSR PAGUP C ITER E002 C ENDIF š* Read the screen input C READ SFLCTL 9081 š* Reset the Auto-refresh time B002 C USRVAL IFLT 5 C Z-ADDPRVVAL USRVAL X002 C ELSE C Z-ADDUSRVAL PRVVAL E002 C ENDIF š* š* PROCESS RESPONSE š* ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ B002 C SELEC š* š* F3=EXIT š* ŻŻŻŻŻŻŻ S002 C *IN03 WHEQ *ON C LEAVE š* š* F5=WRKJOB š* ŻŻŻŻŻŻŻŻŻ S002 C *IN05 WHEQ *ON C RELRCD CHAINSFL 60 B003 C *IN60 IFEQ *OFF C UPDATSFL C MOVE CAJNBR JOBNBR 6 C RESETWRKJOB C CAT JOBNBR:0 WRKJOB C CAT '/':0 WRKJOB C CAT CAUSER:0 WRKJOB C CAT '/':0 WRKJOB C CAT CAJOBN:0 WRKJOB C CAT ')':0 WRKJOB C CALL 'QCMDEXC' 60 C PARM WRKJOB CMD 80 C PARM 40 CMDLEN 155 E003 C ENDIF š* š* F7=OPTION/USER š* ŻŻŻŻŻŻŻŻŻŻŻŻŻŻ S002 C *IN07 WHEQ *ON C *IN55 COMP *OFF 55 C N55 *LOVAL SETLLMMSPFCA0 C 55 *LOVAL SETLLMMSLFCA1 C SETOF 35 C EXSR PAGUP š* š* F8=DATE/TIME š* ŻŻŻŻŻŻŻŻŻŻŻŻ S002 C *IN08 WHEQ *ON C *IN40 COMP *OFF 40 C N55 KEYONE SETLLMMSPFCA0 C 55 KEYUS1 SETLLMMSLFCA1 C SETOF 35 C EXSR PAGUP š* š* F9=REOMVE OLD ENTRIES š* ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ S002 C *IN09 WHEQ *ON C CALL 'MMSRG031' 90 C N55 KEYONE SETLLMMSPFCA0 C 55 KEYUS1 SETLLMMSLFCA1 C SETOF 35 C EXSR PAGUP š* š* F10=STRSRVJOB š* ŻŻŻŻŻŻŻŻŻŻŻŻŻ S002 C *IN10 WHEQ *ON C RELRCD CHAINSFL 60 B003 C *IN60 IFEQ *OFF C UPDATSFL C MOVE CAJNBR JOBNBR 6 C RESETSRVJOB C CAT JOBNBR:0 SRVJOB C CAT '/':0 SRVJOB C CAT CAUSER:0 SRVJOB C CAT '/':0 SRVJOB C CAT CAJOBN:0 SRVJOB C CAT ')':0 SRVJOB C CALL 'QCMDEXC' 60 C PARM SRVJOB CMD 80 C PARM 43 CMDLEN 155 E003 C ENDIF š* š* F11=ENDSRVJOB š* ŻŻŻŻŻŻŻŻŻŻŻŻŻ S002 C *IN11 WHEQ *ON C CALL 'QCMDEXC' 60 C PARM ENDSRV CMD 80 C PARM 9 CMDLEN 155 š* š* F21=COMMAND LINE š* ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ S002 C *IN21 WHEQ *ON C CALL 'QUSCMDLN' 60 š* š* F24=MORE KEYS š* ŻŻŻŻŻŻŻŻŻŻŻŻŻ S002 C *IN24 WHEQ *ON C ADD 1 FOOTNB B003 C FOOTNB IFGT 2 C Z-ADD1 FOOTNB E003 C ENDIF š* š* ROLLUP š* ŻŻŻŻŻŻ S002 C *IN27 WHEQ *ON C EXSR PAGUP š* š* ROLLDOWN š* ŻŻŻŻŻŻŻŻ S002 C *IN28 WHEQ *ON C EXSR PAGDWN š* š* REPOSITION DISPLAY š* ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ S002 C OTHER C N55 #PFNAM SETLLMMSPFCA0 C 55 #PUSER SETLLMMSLFCA1 C SETOF 35 C EXSR PAGUP E002 C ENDSL š* E001 C ENDDO š* EXIT PROGRAM C ENDPGM TAG š* ====== === C MOVELDLTDTQ CMDSTR P C CALL 'QCMDEXC' 90 C PARM CMDSTR256 C PARM 40 CMDLEN 155 š* C SETON LR C RETRN š***************************************************************** /SPACE 4 š***************************************************************** š* PAGUP: DISPLAY NEXT PAGE * š***************************************************************** C PAGUP BEGSR B001 C *IN35 IFEQ *OFF C Z-ADD0 RRN 40 C SETOF 36 C WRITESFLCTL 90 š* B002 C *IN90 IFEQ *OFF B003 C DO 17 C N55 READ MMSPFCA0 82 C 55 READ MMSLFCA1 82 B004 C *IN82 IFEQ *OFF C MOVELCADATE FIRST2 2 C MOVE CADATE LAST2 2 C MOVELLAST2 CADATE C MOVE FIRST2 CADATE C ADD 1 RRN C WRITESFL B005 C RRN IFEQ 1 C MOVE CAFNAM #FNAM 5 C MOVE CAUSER #USER 10 C MOVE CAJOBN #JOBN 10 C Z-ADDCAJNBR #JNBR 60 E005 C ENDIF X004 C ELSE C SETON 35 E004 C ENDIF E003 C ENDDO C N35N55 KEYTWO SETGTMMSPFCA0 35 C N35 55 KEYUS2 SETGTMMSLFCA1 35 E002 C ENDIF E001 C ENDIF C ENDSR š***************************************************************** š***************************************************************** š* PAGDWN: DISPLAY PREVIOUS PAGE * š***************************************************************** C PAGDWN BEGSR C SETOF 35 C N55 KEYONE SETLLMMSPFCA0 C 55 KEYUS1 SETLLMMSLFCA1 C MOVE #FNAM CAFNAM C MOVE #USER CAUSER C MOVE #JOBN CAJOBN C Z-ADD#JNBR CAJNBR B001 C DO 18 C N55 READPMMSPFCA0 82 C 55 READPMMSLFCA1 82 B002 C *IN82 IFEQ *ON C N55 KEYTWO SETLLMMSPFCA0 C 55 KEYUS2 SETLLMMSLFCA1 C LEAVE E002 C ENDIF E001 C ENDDO C EXSR PAGUP C ENDSR š***************************************************************** š* #INITS: š************************************************************************** C #INITS BEGSR š* C Z-ADD5 USRVAL C Z-ADDUSRVAL PRVVAL 20 š* C MOVELCRTDTQ CMDSTR P C CALL 'QCMDEXC' 90 C PARM CMDSTR256 C PARM 40 CMDLEN 155 š* C MOVELOVRDSP CMDSTR P C CALL 'QCMDEXC' 90 C PARM CMDSTR256 C PARM 60 CMDLEN 155 š* B001 C *IN90 IFEQ *OFF C OPEN TESTACT# X001 C ELSE C GOTO ENDPGM š* >>>> ====== E001 C ENDIF š* C ENDSR