FWIW

The oddity is that there are *no* edit macro statements after "ISREDIT
MACRO (PARMSTR)". So why is an edit macro declared in the Clist?
 
E.g. "ISPEXEC SELECT PGM(J00YCKAL) PARM(JLRCL)" etc.can be issued
directly from the Clist proc and does not need an edit macro to do that.
 
Sure, edit macros are normally invoked from the command line in edit
mode. But they can also be invoked by Clist and REXX procs, and then not
from the command line. So if JEM is a Clist that in turn invokes an edit
macro, then 'TSO JEM + any parms' would be used to invoke JEM as a Clist
(and ISPF option 6 could invoke it simply as 'JEM + any parms'). So, is
JEM meant to be invoked as a Clist ("PROC 0 ...") or as an edit macro
("ISREDIT MACRO (<parms>)")?
 
I give up.
 
Cheers, CP
 

On 28/08/2017 15:52, Jesse 1 Robinson wrote:
> That is exactly the case. Like most (maybe all) edit macros), JEM is executed 
> directly on the command line. Running it as TSO command (tso jem) would fail 
> to establish the proper connection to ISPF. I tried that and got 
>
> EDIT MACRO ERROR
> EDIT MACRO INITIALIZATION FAILURE.  CHECK EDIT MACRO CLIST.
>
> I did not see Paul Feller's post except as quoted by CM Poncelet. As CM 
> notes, there are two parms: DSJNAME and PARMSTR. It seems odd that one is 
> defined on the PROC statement and the other on the ISREDIT MACRO statement, 
> but that's the way it's supplied to the customer. 
>
> I have no problem learning that an old loophole has been closed. But closed 
> is closed, and what fails in one place should fail everywhere with the fix is 
> place. The person who first reported the problem here is a true mainframe 
> veteran. He uses JEM more than anyone else I know. 
> .
> .
> J.O.Skip Robinson
> Southern California Edison Company
> Electric Dragon Team Paddler 
> SHARE MVS Program Co-Manager
> 323-715-0595 Mobile
> 626-543-6132 Office ⇐=== NEW
> robin...@sce.com
>
>
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of Lizette Koehler
> Sent: Sunday, August 27, 2017 8:31 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: (External):Re: Message IRX0006I running an edit macro CLIST
>
> Typically the user is EDITing a PDS Member with JCL and enters JEM on the 
> command line
>
> Lizette
>
>
>> -----Original Message-----
>> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] 
>> On Behalf Of CM Poncelet
>> Sent: Sunday, August 27, 2017 7:11 PM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Message IRX0006I running an edit macro CLIST
>>
>> There are two parms for this Clist: DSJNAME and PARMSTR. How is JEM invoked?
>> (E.g. it could be invoked as "TSO JEM HLQ.DSJN1.THEREST MACPARM2".)
>>
>> On 27/08/2017 18:25, Feller, Paul wrote:
>>> One last comment.  We run the same software and have not had an 
>>> issue in
>> three different SYSPLEX environments.  I looked to the most recent 
>> versions of the software we have.  The JEM CLIST is shipped that way from 
>> the vendor.
>> Very interesting.
>>>
>>> BROWSE    SYSI.JOBSCAN.R790.AJJSCLST.HS(JEM) - 01. Line 0000000000 Col 001
>> 080
>>>  Command ===>                                                  Scroll ===>
>> CSR
>>> ********************************* Top of Data
>> *********************************
>>>           PROC 0  DJSNAME(XXXXX.XXXXX)
>>>           CONTROL END(ENDO) NOMSG NOFLUSH
>>>         /*CONTROL END(ENDO) MSG LIST CONLIST SYMLIST NOFLUSH /*S80725*/
>>>           ISREDIT MACRO (PARMSTR)
>>>
>>>           IF &DJSNAME = &STR(XXXXX.XXXXX) THEN +
>>>             DO
>>>                 ISPEXEC SETMSG MSG(JM022R)                /*JTE30780*/
>>>                 GOTO ENDING
>>>             ENDO
>>>
>>>         /* ************   ALLOCATE RUN CONTROL LIBRARY    ************
>>>            ISPEXEC SELECT PGM(J00YCKAL) PARM(JLRCL)       /*JTE30780*/
>>>            IF &LASTCC NE 0 THEN +
>>>              DO
>>>                SET &RCLALC = 'N'                          /*813647 */
>>>                ALLOC DDN(JLRCL) DSN('&DJSNAME..SJJSPARM') SHR
>>>              ENDO
>>>
>>>         /* ************   CALL THE JEM SUPERVISOR         ************
>>>           ISPEXEC SELECT PGM(J0AYEMU) PARM(PR(E) &PARMSTR) 
>>> /*JTE30780*/
>>>
>>>           ENDING: +
>>>           ISPEXEC VGET (ZSPLIT)
>>>           IF &STR(&ZSPLIT) = &STR(YES) THEN +
>>>             EXIT
>>>           IF &RCLALC = 'N' THEN FREE DDN(JLRCL)
>>>           EXIT
>>> ******************************** Bottom of Data
>>> *******************************
>>>
>>> Thanks..
>>>
>>> Paul Feller
>>> AGT Mainframe Technical Support
>>>
>>> -----Original Message-----
>>> From: IBM Mainframe Discussion List 
>>> [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Jesse 1 Robinson
>>> Sent: Sunday, August 27, 2017 12:11
>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: Re: Message IRX0006I running an edit macro CLIST
>>>
>>> I never knew of this restriction on edit macros. Looking through the 
>>> same
>> library for others, I find a few other CLISTs that have 'PROC' at the 
>> top; most do not. It looks like JEM was constructed to allow an 
>> alternate load library to be specified on invocation for testing 
>> purposes. I removed the PROC statement and now it works. BTW I did not 
>> take the step of closing the opening comment with '*/'; that is not 
>> required for CLIST in general. Also, there is no other copy of JEM except 
>> this one in SYSPROC.
>>> So mysteries remain. My favorite user complaint: this used to work 
>>> and now
>> it doesn't; what happened? Even more mysterious, the same CLIST 
>> continues to work on other sysplexes at the same z/OS maintenance 
>> level. In any case, the immediate problem is solved, for which I'm once 
>> again grateful to this List.
>>> .
>>> .
>>> J.O.Skip Robinson
>>> Southern California Edison Company
>>> Electric Dragon Team Paddler
>>> SHARE MVS Program Co-Manager
>>> 323-715-0595 Mobile
>>> 626-543-6132 Office ⇐=== NEW
>>> robin...@sce.com
>>>
>>>
>>> -----Original Message-----
>>> From: IBM Mainframe Discussion List 
>>> [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of CM Poncelet
>>> Sent: Saturday, August 26, 2017 2:36 PM
>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: (External):Re: Message IRX0006I running an edit macro CLIST
>>>
>>> FWIW
>>> (a) The "ISREDIT MACRO" should be the *1st* executable statement; 
>>> there
>> should be no "PROC 0 <anything>" in edit macros - unless the edit 
>> macro is actually embedded in the Clist (a bit unusual).
>>> (b) Anyquotes should be enclosed in both '/*' and '*/' open/closing 
>>> chars,
>> even in Clist.
>>> The usual way to invoke an edit macro in Clist, e.g. in batch, is of 
>>> the
>>> form:
>>>
>>> code the Clist to invoke the edit macro ...
>>>   PROC 0  DJSNAME(SPP.JOBSCAN)
>>> /* COPYRIGHT DIVERSIFIED SOFTWARE SYSTEMS, INC., 1991,1993.
>>>   CONTROL END(ENDO) NOMSG NOFLUSH
>>>   ISPEXEC VPUT PARMSTR SHARED  /* store whatever PARMSTR is for macro */
>>>   ISPEXEC EDIT DATASET('&DSJNAME') MACRO(<whatever edit macro name>)
>>>   ISPEXEC VGET RC SHARED /* get the macro RC from shared pool */
>>>   ... finish off the Clist ...
>>>   EXIT CODE(&RC)
>>>
>>> and code the macro as a separate member <whatever edit macro name> ...
>>>   ISREDIT MACRO  /* specify no parms if invoked by a Clist */
>>>   CONTROL END(ENDO) NOMSG NOFLUSH
>>>   ISPEXEC VGET PARMSTR SHARED  /* get the macro parms from shared pool */
>>>   ... <execute whatever edit macro statements> ...
>>>   ... save whatever the macro (MAX)CC is, as e.g. RC ...
>>>   ISPEXEC VPUT RC SHARED  /* store whatever the RC is for Clist */
>>>   ISREDIT END  /* return to Clist */
>>>
>>> Both the Clist and edit macro should be members of a PDS on 
>>> DDNAME=SYSPROC.HTH, CP
>>>
>>>
>>>
>>>
>>>
>>> On 26/08/2017 20:48, Lizette Koehler wrote:
>>>> Did you use ISRDDN and search for JEM?  Just to verify what you see.
>>>>
>>>> Only time I see this is when a CLIST is on SYSEXEC
>>>>
>>>>
>>>> Lizette
>>>>
>>>>
>>>>> -----Original Message-----
>>>>> From: IBM Mainframe Discussion List 
>>>>> [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Jesse 1 Robinson
>>>>> Sent: Saturday, August 26, 2017 8:27 AM
>>>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>>>> Subject: Message IRX0006I running an edit macro CLIST
>>>>>
>>>>> OK, this is a weird one. We have an old CLIST that runs as an ISPF 
>>>>> edit macro. On one sysplex only, this CLIST fails with a *Rexx* 
>>>>> error
>> message:
>>>>> IRX0006I Error running JEM, line 2: Unmatched "/*" or quote
>>>>>
>>>>> The actual line being complained about is included here:
>>>>>
>>>>>   PROC 0  DJSNAME(SPP.JOBSCAN)
>>>>> /* COPYRIGHT DIVERSIFIED SOFTWARE SYSTEMS, INC., 1991,1993.
>>>>>   CONTROL END(ENDO) NOMSG NOFLUSH
>>>>>   ISREDIT MACRO (PARMSTR)
>>>>>
>>>>> Of course there is no closing '*/' in line 2, but it's a CLIST, 
>>>>> not a
>> Rexx.
>>>>> The CLIST was last modified in 2007 according to ISPF stats. What 
>>>>> appears to be exactly the same CLIST works fine on other sysplexes.
>>>>> The z/OS maintenance level (RSU1705) is the same on working and 
>>>>> nonworking plexes. I have looked in SYSEXEC libraries and in other 
>>>>> SYSPROC libraries for a bogus copy of this exec; nothing found. 
>>>>> The CLIST library is VB; member is unnumbered, so data starts in column 9.
>>>>>
>>>>> What might cause a CLIST to be misinterpreted as Rexx?
>
> ----------------------------------------------------------------------
> 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