I did explain that ISREDIT follows Clist rules when processing &'s, in my earlier posting, methinks <grin>:

-------- Original Message --------
Subject:        Re: REXX ISPF edit FIND failing
Date:   Thu, 19 Jul 2012 06:46:37 +0100
From:   CM Poncelet <ponce...@bcs.org.uk>
Organization:   L! Logic Integration
To:     IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU>
References: <32716755.1342646266335.javamail.r...@mswamui-cedar.atl.sa.earthlink.net> <of516764f6.4efe65dc-on88257a3f.0079fe91-88257a3f.007a2...@ea.epson.com>



I think this has to do with ISREDIT following Clist rules for &'s - even when edit macros are written in REXX (no 'SYSSCAN = 0'.)

If rewritten in Clist it should work OK ... but 3 &'s should be coded instead of 1 - e.g.

SET SYSSCAN = 0
ISREDIT FIND ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&&&PDQR.('
<etc.>
SET SYSSCAN = 16

TSO Clist edit macros have been around long before REXX appeared (around 1989-90) and ISREDIT was meant to be called in Clist, not REXX.. So REXX has to follow the Clist rules when calling ISREDIT - e.g. to process data containing &'s.

There is nothing wrong with ISPF itself.

Cheers, Chris Poncelet



John Mattson wrote:

There is a subtle and dangerous difference with ISREDIT FIND / CHANGE in REXX. Say you have a simple change command and "forget" to use && rather than & /* REXX */ TRACE I ADDRESS ISPEXEC "ISREDIT MACRO (MEM) NOPROCESS" "CONTROL ERRORS RETURN" "ISREDIT SCAN OFF" "ISREDIT C ALL 'DISP=SHR,DSN=&AAA' '@#$' " EXIT And THIS is the file you wish to use it on... // DD DISP=SHR,DSN=&AAA.XXX // DD DISP=SHR,DSN=&BBB.YYY // DD DISP=SHR,DSN=&CCC.ZZZ IF you use & rather than && here s what you get // DD @#$&AAA.XXX // DD @#$&BBB.YYY // DD @#$&CCC.ZZZ If you use && you get // DD @#$.XXX // DD DISP=SHR,DSN=&BBB.YYY // DD DISP=SHR,DSN=&CCC.ZZZ The moral of all this is: Do not assume ISREDIT commands will work the same in REXX as in clists, or ISPF. I find this very annoying, how about your folks?



From:   Skip Robinson <jo.skip.robin...@sce.com>
To:     IBM-MAIN@LISTSERV.UA.EDU
Date:   07/18/2012 02:26 PM
Subject:        Re: REXX ISPF edit FIND failing
Sent by:        IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU>



I have found that the ISPF development folks are pretty responsive. This problem is certainly worth an SR.
.
.
JO.Skip Robinson
SCE Infrastructure Technology Services
Electric Dragon Team Paddler SHARE MVS Program Co-Manager
626-302-7535 Office
323-715-0595 Mobile
jo.skip.robin...@sce.com



From:   John Mattson <john_matt...@ea.epson.com>
To:     IBM-MAIN@LISTSERV.UA.EDU
Date:   07/18/2012 01:34 PM
Subject:        Re: REXX ISPF edit FIND failing
Sent by:        IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU>



While I am at it... WHY the Ampersand "&SYSTEM" WORKS in the find, but if you use &PDQR rather than $PDQR it fails .... is just madness. 7 *-* "ISREDIT F ALL P'DISP=SHR,DSN=MSYS$UCMD$REMOTE$PDQR$(&SYSTEM$' " >L> "ISREDIT F ALL P'DISP=SHR,DSN=MSYS$UCMD$REMOTE$PDQR$(&SYSTEM$' "



8 *-* "ISREDIT F ALL P'DISP=SHR,DSN=MSYS$UCMD$REMOTE&PDQR$(&SYSTEM$' " >L> "ISREDIT F ALL P'DISP=SHR,DSN=MSYS$UCMD$REMOTE&PDQR$(&SYSTEM$' "


+++ RC(4) +++


From:   John Mattson/Epson
To:     IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU>
Date:   07/18/2012 01:26 PM
Subject:        Re: REXX ISPF edit FIND failing


Thanks to everyone! I have kept plugging at this and tried all your suggestions. Here is what I see so far. 1) There is no reason syntactically that this should not work "ISREDIT F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.(&SYSTEM)' " 2) For some strange reality THIS works "ISREDIT F FIRST 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.' "
and this does not.. as soon as you add the "("
"ISREDIT F FIRST 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.('               "

3) Lizette's P' processing can be made to work (but really should not be necessary) "ISREDIT F ALL P'DISP=SHR,DSN=MSYS$UCMD$REMOTE$PDQR$(&SYSTEM' " Works !!! "ISREDIT F ALL P'DISP=SHR,DSN=MSYS$UCMD$REMOTE$PDQR$(&SYSTEM$' " Works "ISREDIT F ALL P'DISP=SHR,DSN=MSYS$UCMD$REMOTE$PDQR$(&SYSTEM)' " Does NOT Now, why "(" causes the ISREDIT FIND to go nuts, but not the ISREDIT FIND P' ' is quite beyond me. And why ")" causes ISREDIT FIND P' to go nuts, but NOT "(" is also



Thanks to all, I now have something that works, sort of, but there is really something wrong with ISPF here. by the by, I am on zOS 1.11


----------------------------------------------------------------------
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



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to