|
read the help text to understand it.You could populate the &xlibl any way you want, but this command prompts users
Find String PDM in mult libs (ZFNDSTR)
Source File Name . . . . . . . . ________ Name
Member Name, *generic*, *all . . ________ Name
What to find - in quotes . . . . ___________________________
Option . . . . . . . . . . . . . ________ *DSP, *EDIT,
*COPY, *PRT,
Print List . . . . . . . . . . . ________ *Yes, *No
Library List . . . . . . . . . . ________ *LIBL, *ALLUSR
*************** Beginning of data *************************************
PGM PARM(&SRCFIL &MBR &FIND &OPTION &PRINTL +
&LIBL) /* FNDSTRPDM production libs */
DCL VAR(&FIND) TYPE(*CHAR) LEN(30)
DCL VAR(&SRCFIL) TYPE(*CHAR) LEN(10)
DCL VAR(&MBR) TYPE(*CHAR) LEN(10)
DCL VAR(&OPTION) TYPE(*CHAR) LEN(10)
DCL VAR(&PRINTL) TYPE(*CHAR) LEN(4)
DCL VAR(&LIBL) TYPE(*CHAR) LEN(7)
DCL VAR(&XLIBL) TYPE(*CHAR) LEN(8000)
DCL VAR(&USRLIBL) TYPE(*CHAR) LEN(2750)
DCL VAR(&MSG) TYPE(*CHAR) LEN(70)
DCL VAR(&LIB) TYPE(*CHAR) LEN(10)
DCL VAR(&X) TYPE(*DEC) LEN(5 0) VALUE(1)
DCL VAR(&MC) TYPE(*CHAR) LEN(1)
DCLF FILE(QADSPOBJ)
/* GET USER LIB LIST FROM JOB ATTRIBUTES. */
/* THIS VARIABLE IS 275 BYTES LONG, CONTAINING UP TO 25 LIBRARIES */
/* PROCESS THEM 1 AT A TIME */
/* USER MAY CHOOSE *ALLUSR LIBS */
RTVJOBA USRLIBL(&USRLIBL)
CHGVAR VAR(&XLIBL) VALUE(&USRLIBL)
IF COND(&LIBL *EQ '*ALLUSR') THEN(DO)
CHGVAR VAR(&XLIBL) VALUE(' ')
/* GET LIST OF LIBRARIES */
DSPOBJD OBJ(QSYS/*ALL) OBJTYPE(*LIB) +
OUTPUT(*OUTFILE) OUTFILE(QTEMP/ZDSPOBJD)
/* OVERRIDE TO FILE CONTAINING LIST OF LIBRARIES */
OVRDBF FILE(QADSPOBJ) TOFILE(QTEMP/ZDSPOBJD)
/* READ NEXT LIB IN THE LIST */
$READ: RCVF
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL($NOREAD))
CHGVAR VAR(%SST(&XLIBL &X 10)) VALUE(&ODOBNM)
CHGVAR VAR(&X) VALUE(&X + 11)
GOTO CMDLBL($READ)
ENDDO
$NOREAD:
CHGVAR VAR(&X) VALUE(1)
$AGAIN:
/* VERIFY SOURCE FILE EXISTS IN LIB - IF NOT THEN GET NEXT LIB*/
CHKOBJ OBJ(%SST(&XLIBL &X 10)/&SRCFIL) +
OBJTYPE(*FILE)
MONMSG MSGID(CPF9800) EXEC(GOTO CMDLBL($SKIP))
/* SEND STATUS MSG TO USER WHICH LIBRARY SEARCHING*/
CHGVAR VAR(&MSG) VALUE('Checking user library ' || +
(%SST(&XLIBL &X 10)))
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA(&MSG) +
TOPGMQ(*EXT) MSGTYPE(*STATUS)
DLYJOB DLY(2) /* give user time to see lib name */
/* EXECUTE FNDSTRPDM FOR THIS LIB */
FNDSTRPDM STRING(&FIND) FILE(%SST(&XLIBL &X +
10)/&SRCFIL) MBR(&MBR) OPTION(&OPTION) +
PRTMBRLIST(&PRINTL)
MONMSG MSGID(CPF0000) /* source file not found, etc */
/* INCREMENT COUNTER TO GET NEXT LIB IN USER LIBL */
$SKIP: CHGVAR VAR(&X) VALUE(&X + 11)
IF COND((%SST(&XLIBL &X 10)) *NE ' ') +
THEN(GOTO CMDLBL($AGAIN))
$END: ENDPGM
*************** Beginning of data ***********************************
CMD PROMPT('Find String PDM in mult libs')
PARM KWD(SRCFIL) TYPE(*CHAR) LEN(10) MIN(1) +
CHOICE('Name') PROMPT('Source +
File Name')
PARM KWD(MBR) TYPE(*CHAR) LEN(10) MIN(1) +
CHOICE('Name') PROMPT('Member +
Name, *generic*, *all')
PARM KWD(FIND) TYPE(*CHAR) LEN(30) MIN(1) +
CHOICE('Text') PROMPT('What to find - in +
quotes')
PARM KWD(OPTION) TYPE(*CHAR) LEN(10) MIN(1) +
CHOICE('*DSP, *EDIT, *COPY, *PRT, etc') +
PROMPT('Option')
PARM KWD(PRINTL) TYPE(*CHAR) LEN(4) MIN(1) +
CHOICE('*Yes, *No') PROMPT('Print List')
PARM KWD(LIBL) TYPE(*CHAR) LEN(7) MIN(1) +
CHOICE('*LIBL, *ALLUSR') PROMPT('Library +
List')
Jim Franz
----- Original Message -----
From: "Yivi" <nardus@xxxxxxxxx>
To: "Midrange Systems Technical Discussion" <MIDRANGE-L@xxxxxxxxxxxx> Sent: Friday, January 13, 2006 2:52 AM Subject: searching for members
Ok, newbie time.It must be a terribly basic question, but can't seem to phrase the questionin a way that makes google give me the proper answer. How do you get a list of all the members that contain a particular search pattern, looking across different libraries and archives? Thx for any help you can provide. Regards, I.- --This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing listTo post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/midrange-l or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.