View previous topic :: View next topic
|
Author |
Message |
Ashishpanpaliya
New User
Joined: 13 Oct 2017 Posts: 34 Location: India
|
|
|
|
Hi , I have written below rexx program to search string in PDS members.
Code: |
/* REXX */
SAY 'HELLO WORLD!'
ARG PDSNAME STR2FIND
IF PDSNAME = "" THEN
DO
SAY 'WRONG PDS NAME'
SAY "------------------------------------"
SAY 'ENTER NAME OF PDS TO SEARCH:'
PULL PDSNAME
END
IF STR2FIND = "" THEN
DO
SAY 'WRONG STRING NAME'
SAY "------------------------------------"
SAY 'ENTER THE STRING TO FIND:'
PULL STR2FIND
END
CALL OUTTRAP "MBRS."
"LISTD" PDSNAME "MEMBERS"
CALL OUTTRAP "OFF"
DO NDX=1 TO MBRS.0
IF MBRS.NDX = "--MEMBERS--" THEN LEAVE
NDX=NDX+1
"ALLOC FI(XXOUT) DA('JPLAXCO.PRINT') MOD REUSE"
IF RC \= 0 THEN
DO
SAY '*** ERROR - LOG ALLOCATION FAILED: ABENDING'
EXIT 0
END
CALL LISTDSI PDSNAME
FULLNAME=SYSDSNAME
LOT.1="------------------------------------------------"
LOT.2="--- SEARCHING " PDSNAME " FOR STRING <" STR2FND ">"
LOT.3="------------------------------------------------"
LOT.0=3
"EXECIO" LOT.0 "DISKW XXOUT (STEM LOT."
DO CURMBR = NDX TO MBRS.0
PARSE VALUE MBRS.CURMBR WITH MEMNAME
MEMNAME=STRIP(MEMNAME)
HDR=1
SAY "MEMBER="FULLNAME"("MEMNAME")"
"ALLOC F(XXIN) DS('"FULLNAME"("MEMNAME")') SHR REUSE"
"EXECIO * DISKR XXIN (FINIS STEM IN."
"FREE F(XXIN)"
FND=0
DO RECID=1 TO IN.0
IF POS(STR2FND,IN.RECID) > 0 THEN
DO
IF HDR = 1 THEN
DO
LOT.1="--------------------------------------"# LOT.2="--> " MEMNAME " HAS THE STRING <" STR2FND "
LOT.3 = IN.RECID
LOT.0=3
"EXECIO" LOT.0 "DISKW XXOUT (STEM LOT."
HDR=0
END
LOT.1 = IN.RECID
LOT.0=1
"EXECIO" LOT.0 "DISKW XXOUT (STEM LOT."
END
END
END
SAY '*** SEARCH COMPLETE ***'
LOT.1="------------------------------------------------"
LOT.2="-------------- END OF SEARCH ------------------"
LOT.3="------------------------------------------------"
LOT.0=3
"EXECIO" LOT.0 "DISKW XXOUT (STEM LOT."
"EXECIO 0 DISKW XXOUT (FINIS"
"FREE F(XXOUT)"
EXIT 0
|
*****************getting an below error********************
Code: |
52 +++ LOT.2="--> " MEMNAME " HAS THE STRING <" STR2FND "
LOT.3 = IN.RECID LO
T.0=3 "EXECIO"
LOT.0 "DISKW XXOUT (STEM LOT." HDR=0
END
LOT.1 = IN.RECID
LOT.0=1
18 +++ CALL OUTTRAP "MBRS."
IRX0030I Error running FINDSTR, line 52: Name or string > 250 characters
*** |
Coded |
|
Back to top |
|
|
Akatsukami
Global Moderator
Joined: 03 Oct 2009 Posts: 1788 Location: Bloomington, IL
|
|
|
|
You have unbalanced quotes in the indicated line. |
|
Back to top |
|
|
Ashishpanpaliya
New User
Joined: 13 Oct 2017 Posts: 34 Location: India
|
|
|
|
Its working now |
|
Back to top |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3048 Location: NYC,USA
|
|
|
|
How is it different from SRCHFOR ? |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2010 Location: USA
|
|
|
|
Rohit Umarjikar wrote: |
How is it different from SRCHFOR ? |
1. Less functionality
2. Inconvenient interface |
|
Back to top |
|
|
prino
Senior Member
Joined: 07 Feb 2009 Posts: 1306 Location: Vilnius, Lithuania
|
|
|
|
3. Running at about a fraction of the speed of SuperC
4. Using about a zillion times more CPU |
|
Back to top |
|
|
|