This tip is for those of us who have multiple vendor environments where file reorganizations cannot all be run with the same authorities. We run this code over several libraries every weekend. I then repeat the code for the libraries for the next vendor making sure that the user on the SBMJOB has the proper authorities. I also change the file name in each CL. On Monday I have the file size data from this weekend run and automatically push it into a spreadsheet, which lets me track file growth.
If you would like to calculate your reorganizations for multiple vendors on a percentage you can change the line that's marked. I used to have this setup like that, but found the time to do all files with deleted records would still complete in the allotted time.
We use the submit job because the operators like to know what file is being worked on. It also gives us the ability to suspend the reorganizations if needed and to resume by simply holding and releasing a jobq.
CL Program 1 ---------------------------------------------------------------- PGM DCLF FILE(REORGP1) RCDFMT(QWHFDMBR) DSPFD FILE(LIBRARY1/*ALL) TYPE(*MBR) + OUTPUT(*OUTFILE) OUTFILE(MYLIB/REORGP1) DSPFD FILE(LIBRARY2/*ALL) TYPE(*MBR) + OUTPUT(*OUTFILE) OUTFILE(MYLIB/REORGP1) + OUTMBR(*FIRST *ADD) READ: RCVF RCDFMT(QWHFDMBR) MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(END)) IF COND(&MBFTYP *NE 'P') THEN(GOTO CMDLBL(READ)) IF COND(&MBNDTR *GT 0) THEN(DO) Calculation here if desired. SBMJOB CMD(RGZPFM FILE(&MBLIB/&MBFILE) + MBR(&MBNAME)) JOB(&MBFILE) JOBD(*USRPRF) + JOBQ(MYQUEUE) JOBPTY(6) USER(XXXXX) User must have authority to perform reorg. ENDDO GOTO CMDLBL(READ) END: ENDPGM
MORE INFORMATION ON THIS TOPIC
The Best Web Links: tips, tutorials and more.
Ask your programming questions--or help out your peers by answering them--in our live discussion forums.
Ask the Experts yourself: Our application development gurus are waiting to answer your programming questions.