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