/********************************************************************/ /* READ THE GENERIC HEADER FROM THE USER SPACE */ /********************************************************************/ CALL PGM(QUSRTVUS) PARM(&USRSPC X'00000001' + X'0000008C' &GENHDR) CHGVAR VAR(&NUMENTB) VALUE(%SST(&GENHDR 133 4)) CHGVAR VAR(&NUMENT) VALUE(%BIN(&NUMENTB)) CHGVAR VAR(&COUNT) VALUE(&NUMENT) /********************************************************************/ /* CHECK IF NO JOBS FOUND, IF NOT THEN EXIT EARLY */ /* THIS COULD HAPPEN IF THE PROGRAM WAS CALLED BY A BATCH JOB */ /********************************************************************/ IF COND(&COUNT *NE 0) THEN(GOTO CMDLBL(CHECKNUM)) SNDMSG MSG('NO JOBS FOUND FOR SPECIFIED USER') + TOUSR(&USRNAME) GOTO CMDLBL(ABORT) /********************************************************************/ /* CHECK IF TOO MANY JOBS FOR THIS USER */ /* INSTEAD OF SENDING MESSAGE FOR AN ILLEGAL SIGNON, WE WILL SET */ /* THE SESSION LIMIT FLAG TO YES - THIS WILL BE USED DURING THE */ /* END JOB ANALYSIS / PROCESS. */ /********************************************************************/ CHECKNUM: IF COND(&NUMENT *LE &MAX) THEN(GOTO + CMDLBL(CLEANUP)) CHGVAR VAR(&SESSLIMIT) VALUE('Y') GOTO CMDLBL(CHKUSRJOBS) /********************************************************************/ /* DELETE THE USER SPACE */ /********************************************************************/ CLEANUP: DLTUSRSPC USRSPC(QTEMP/XTEMPSPACE)