Ah yes, that makes sense. I did not realise that ISPEXEC SELECT
PGM(J00YCKAL) PARM(JLRCL) actually processed the dataset being edited.
So ISREDIT MACRO is required in that case.
 
Cheers, CP
 

On 29/08/2017 17:54, Jesse 1 Robinson wrote:
> I have no stake in defending the JEM CLIST, but AFAIK 'ISREDIT MACRO' is 
> required in order to run it from the command line with just 'jem'. For better 
> or for worse, that's how people use the product. You're in edit on a JCL 
> member. Before submitting, you execute JEM to increase your chances of 
> getting a clean run. It does more than check JCL syntax. It also tries to 
> check that data sets referred to actually exist and that in general the logic 
> flow is at least superficially valid. Invoked as simply as possible. 
>
> PROC is not required for this function. Up to now, PROC never got in the way 
> of successful execution. 
>
> .
> .
> 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: Monday, August 28, 2017 6:04 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: (External):Re: :Re: Message IRX0006I running an edit macro CLIST
>
> 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