Since i want this blog to be more interactive rather presentive mode, i am keep posting some queries from our blog members. Please feel free to comment about the queries,
I need a help to write a rexx program to search a string in a PDS of the form “HLQ.PROD.*” and list all the members and datatypes in which it is found. i have written a program which does the same but the problem is it doenst search load datasets with record format U.



Here is a bit of code that will read a load library looking for the
consitency token to match a DBRM. This code is on the IDUG code place, if
this is what you were wanting to do. I would have to go look to see who to
give credit for it.
/* READ LOADLIBRARIES THROUGH LM-SERVICES */
/**********************************************************************/
TOK1=SUBSTR(TOK,1,8)
TOK2=SUBSTR(TOK,9,8)
TOKLOAD=TOK2”TOK1 /* COBOL*/
OK=0
ADDRESS ISPEXEC “LMINIT DATAID(DD1) DATASET(‘”LIBRARY”‘) ENQ(SHR)”
IF RC/=0 THEN DO
SAY’LMINIT RC= ‘RC’ –>EXIT’
EXIT
END
ADDRESS ISPEXEC “LMOPEN DATAID(“DD1″) OPTION(INPUT)”
IF RC/=0 THEN DO
SAY’LMOPEN RC= ‘RC’ –>EXIT’
EXIT
END
LMFINDRC=0
ADDRESS ISPEXEC “LMMFIND DATAID(“DD1″) MEMBER(“PROGRAM”)”
IF RC/=0 THEN DO
LMFINDRC=RC
ADDRESS ISPEXEC “LMCLOSE DATAID(“DD1″)”
ADDRESS ISPEXEC “LMFREE DATAID(“DD1″)”
RETURN
END
XRC=0
DO UNTIL XRC=8
ADDRESS ISPEXEC “LMGET DATAID(“DD1″) MODE(INVAR) DATALOC(RECORD)”,
“DATALEN(LEN) MAXLEN(28000)”
IF RC/=0 THEN DO
ADDRESS ISPEXEC “LMCLOSE DATAID(“DD1″)”
ADDRESS ISPEXEC “LMFREE DATAID(“DD1″)”
RETURN
END
XRC=RC
HEX=C2X(RECORD)
IF POS(TOKLOAD,HEX,1)>0 THEN OK = 1
END
ADDRESS ISPEXEC “LMCLOSE DATAID(“DD1″)”
ADDRESS ISPEXEC “LMFREE DATAID(“DD1″)”
RETURN