The problem is that ISPF/ISREDIT evaluates/substitutes any ISPF variable, which in this case is "&PDQR". So: ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE' " is the same as "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR' " and is the same as "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.' "
In the latter two cases (apparently) "&PDQR" resolves into "" (empty) and "&PDQR." also. (The dot "." is used as an end-of-variable-name marker, IIRC.) In e g this: "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.(' " - resolves to: "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE(' " wich is no to be found in the dataset. Etc. Regards, Thomas Berg _______________________________________________________ Thomas Berg Specialist AM/SM&S SWEDBANK AB (publ) > -----Ursprungligt meddelande----- > Från: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] > För John Mattson > Skickat: den 18 juli 2012 18:48 > Till: IBM-MAIN@LISTSERV.UA.EDU > Ämne: REXX ISPF edit FIND failing > > I have a little dataset which contains > //REMOTE DD DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.(&SYSTEM) > //REMOTE DD DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.(SYSTEM) > //REMOTE DD DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR(SYSTEM) > //SYSIN DD DISP=SHR,DSN=&PDQ.ALC.UNVLIB(&UCMIN) > X/MYSCRIPT DD DISP=SHR,DSN=&PDQ.ALC.UNVLIB(&MY) > > I have a little REXX which I want to "FIND" these strings > /* REXX */ > TRACE I > Address ISPEXEC > "ISREDIT MACRO (MEM) NOPROCESS" > "CONTROL ERRORS RETURN" > "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE' " > "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR' " > "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.' " > "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.(' " > "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.(&' " > "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.(&SYSTEM)' " > "ISREDIT F ALL 'DISP=SHR,DSN=&PDQ.ALC.UNVLIB(&UCMIN)' " > "ISREDIT F ALL 'DISP=SHR,DSN=&PDQ.ALC.UNVLIB(&MY)' " > EXIT > > The First Three FIND's work fine. Starting from the fourth > find, they all get RC=4, not found. Even tho I can clearly see that the > strings exist in the dataset. What in the whirled is going on here?? Is > there something "special" about two &'s in a string? I have tried > removing the second & from both the find and my dataset and the find > still fails. I am at wits end here. > I have also tried "extracting" the actual finds like: F ALL > 'DISP=SHR,DSN=&PDQ.ALC.UNVLIB(&MY)'and executing them in TSO, and they > all work. What is special here. FYI, the final " is in col 71 > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, send > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN