F***************************************************************** F* * F* Pgm Name...... BCS002R * F* * F* Pgm Title..... Process Client jobs * F* * F******************************************************************** F* D PARMS E DS EXTNAME(BCSDS) C* C***************************************************************** C* KEY LISTS AND PARAMETER LISTS * C***************************************************************** C* C *ENTRY PLIST C PARM PJOB 10 C PARM PUSR 10 C PARM PJNR 6 C PARM PINTDTAQ 10 C PARM PBCHDTAQ 10 C PARM PLIB2 10 C* C* C***************************************************************** C* M A I N L I N E R O U T I N E * C***************************************************************** C Z-ADD 0 COUNT 1 0 C *INLR DOUEQ *ON C SHTDN LR C* C* IF SHUTDOWN, THEN GET OUT C *INLR IFEQ *ON C LEAVE C END C* C Z-ADD 60 PWAIT 5 0 C Z-ADD 0 PLEN 5 0 C* RCVDTA - RECEIVE THE NEXT ENTRY FROM THE DATA QUEUE * C CALL 'QRCVDTAQ' C PARM PBCHDTAQ 10 C PARM PLIB2 10 C PARM PLEN 5 0 C PARM PARMS C PARM PWAIT 5 0 C* C PLEN IFGT 0 C Z-ADD 0 COUNT 1 0 C MOVEL PDATA ENDCHK 4 C ENDCHK IFNE '*END' C* Do batch processing C* Program is dervived from an external data structure in PARMS C CALL PPGM C PARM PARMS C* C ELSE C LEAVE C END C* C* Send data back to interactive program C Z-ADD 5000 PLEN 5 0 C CALL 'QSNDDTAQ' C PARM PINTDTAQ 10 C PARM PLIB2 10 C PARM PLEN 5 0 C PARM PARMS C ELSE C ADD 1 COUNT 1 0 C* C END C* IF NOTHING HAS BEEN SENT FOR 5 MINUTES, THEN CHECK TO SEE IF JOB C* IS STILL ACTIVE C COUNT IFGE 5 C* Check if user is still signed on C CALL 'BCS003C' C PARM PJOB 10 C PARM PUSR 10 C PARM PJNR 6 C PARM '0' PRTN 1 C* If no job found,then end C PRTN IFEQ '1' C LEAVE C END C END C* C ENDDO C* C* C SETON LR