A CL Program to find all FTP script files..
/* Find FTP. Written by Trevor Seeney. Copyright Sentinex Inc.*/
PGM DCLF FILE(@ADBXATR) DCL VAR(&MSGID) TYPE(*CHAR) LEN(7) DCL VAR(&MSG) TYPE(*CHAR) LEN(256) DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(256) DCL VAR(&MSGF) TYPE(*CHAR) LEN(10) DCL VAR(&MSGL) TYPE(*CHAR) LEN(10) MONMSG MSGID(PDM0000) MONMSG MSGID(CPF5029) EXEC(GOTO CMDLBL(REREAD)) MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) /* Find all source files */ OVRDBF FILE(QADBXATR) SHARE(*YES) OPNQRYF FILE((QSYS/QADBXATR)) FORMAT(*LIBL/@ADBXATR) + QRYSLT('DBXTYP = "S"') IGNDECERR(*YES) CPYFRMQRYF FROMOPNID(QADBXATR) TOFILE(QTEMP/@ADBXATR) + MBROPT(*REPLACE) CRTFILE(*YES) + FMTOPT(*NOCHK) ERRLVL(*NOMAX) CLOF OPNID(QADBXATR) DLTOVR FILE(QADBXATR) OVRDBF FILE(@ADBXATR) TOFILE(QTEMP/@ADBXATR) REREAD: RCVF MONMSG MSGID(CPF0864) EXEC(DO) RCVMSG MSGTYPE(*EXCP) RETURN ENDDO SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) + MSGDTA('Processing file:-' || &DBXLIB + *TCAT '/' || &DBXFIL) TOPGMQ(*EXT) + MSGTYPE(*STATUS) /* Find all occurrences of the string "QUIT" */ FNDSTRPDM STRING('QUIT') FILE(&DBXLIB/&DBXFIL) + MBR(*ALL) OPTION(*DSP) /* Find QUIT in each member */ SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('File:-' + || &DBXLIB *TCAT '/' || &DBXFIL *BCAT + 'processed') TOPGMQ(*PRV) MSGTYPE(*COMP) GOTO CMDLBL(REREAD) ERROR: MSGD: RCVMSG MSGTYPE(*DIAG) MSG(&MSG) MSGDTA(&MSGDTA) + MSGID(&MSGID) MSGF(&MSGF) MSGFLIB(&MSGL) IF COND(&MSGID *NE ' ') THEN(DO) SNDPGMMSG MSGID(&MSGID) MSGF(&MSGL/&MSGF) + MSGDTA(&MSGDTA) MSGTYPE(*DIAG) GOTO CMDLBL(MSGD) ENDDO MSGE: RCVMSG MSGTYPE(*EXCP) MSG(&MSG) MSGDTA(&MSGDTA) + MSGID(&MSGID) MSGF(&MSGF) MSGFLIB(&MSGL) IF COND(&MSGID *NE ' ') THEN(SNDPGMMSG + MSGID(&MSGID) MSGF(&MSGL/&MSGF) + MSGDTA(&MSGDTA) MSGTYPE(*ESCAPE)) ENDPGM
File definition of @ADBXATR used if program FINDFTP.
A R QDBXREF A DBXFIL 10 A DBXLIB 10