Haven't had time to build the command wrapper and to check for object locks yet. Will be doing so soon. In the mean time - this should help you ( sorry but the formatting has disappears when pasting).Code:/*******************************************************************/ /* System - System Tools */ /* Owner- EcofIT Ltd */ /* AUTHOR - Deon A von Blerk */ /* DATE - 09/07/08 */ /* Description - Delete any work files if */ /* older than 2 months */ /* */ /* Modification History */ /* ==================== */ /* Date No By/Reason */ /* ==== == ========= */ /*******************************************************************/ PGM DCLVAR(&WORK1)TYPE(*CHAR)LEN(8) DCLVAR(&DLTDATE)TYPE(*CHAR)LEN(6) DCLVAR(&LILIAN)TYPE(*CHAR)LEN(4) DCLVAR(&WORK1)TYPE(*CHAR)LEN(8) DCLVAR(&WORK2)TYPE(*CHAR)LEN(23) DCLVAR(&WDATE)TYPE(*CHAR)LEN(8) DCLVAR(&SQLS)TYPE(*CHAR)LEN(50) DCLVAR(&CMD)TYPE(*CHAR)LEN(150) DCLVAR(&LEN)TYPE(*DEC)LEN(155)VALUE(150) DCLVAR(&FOUND)TYPE(*LGL)LEN(1)VALUE('0') DCLFFILE(DACCLEANP)OPNID(A) DCLFFILE(DACDELETE)OPNID(B) /* Get local time from system */ CALLPRCPRC(CEELOCT)PARM(&LILIAN&WORK1&WORK2*OMIT) /* Subtracting 70 from &LILIAN will produce about 2 months ago */ CHGVARVAR(%BIN(&LILIAN))VALUE(%BIN(&LILIAN)-61) CALLPRCPRC(CEEDATE)PARM(&LILIAN'YYYYMMDD'&WDATE*OMIT) CHGVARVAR(&DLTDATE)VALUE(%SST(&WDATE36)) /* Get the names of the files to delete */ START:RCVFOPNID(A) MONMSGMSGID(CPF0000)EXEC(DO) IFCOND(&FOUND='0')THEN(GOTO CMDLBL(EOJ)) ELSE GOTOCMDLBL(DELETE) ENDDO /* display the relative types */ CHGVARVAR(&CMD)VALUE('DSPFD FILE('*CAT+ &A_LIBANDNME*CAT') TYPE(*MBRLIST) + OUTPUT(*OUTFILE) OUTFILE(QTEMP/DACDELETE) + OUTMBR(*FIRST *ADD)') CALLPGM(QCMDEXC)PARM(&CMD&LEN) MONMSGMSGID(CPF0000)EXEC(GOTO CMDLBL(START)) CHGVARVAR(&FOUND)VALUE('1') GOTOCMDLBL(START) /* Now read the records */ DELETE:RCVFOPNID(B) MONMSGMSGID(CPF0000)EXEC(GOTO CMDLBL(EOJ)) /* delete if date < limit */ IFCOND(&B_MLCHGD<&DLTDATE*AND&FOUND='1')+ THEN(DO) CHGVARVAR(&SQLS)VALUE('drop table '*CAT&B_MLFILE) RUNSQLSQLSTMT(&SQLS) MONMSGMSGID(CPF0000)EXEC(GOTO CMDLBL(ERROR)) ENDDO GOTOCMDLBL(DELETE) ERROR:DMPCLPGM EOJ:ENDPGM
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks