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