Edit Macro does not exist : REXX
This is a discussion on Edit Macro does not exist within the REXX forums in Programming Languages category; Hi All, I am new to Edit macros in REXX programming. I have been using the native EXECIO. Here is the sample code : The calling REXX : MCALL /*REXX*/ ADDRESS ISPEXEC "EDIT DATASET('VV9.EGL.ELT.INVNTRY') MACRO(TEST)" EXIT Here is my edit macro : TEST /*REXX*/ ADDRESS ISREDIT "MACRO" ADDRESS ISPEXEC "CONTROL ERRORS RETURN " 'ISREDIT (VARLINE) = LINE .ZCSR' SAY 'LINE ' VARLINE EXIT 1 On running the MCALL it gives an error message : "Macro does not exist" Am I missing something ? I have both the calling and called programs in the same PDS: USERID.REXX.EXEC Could you please help ...
![]() |
| | LinkBack | Thread Tools |
|
#1
| |||
| |||
| I am new to Edit macros in REXX programming. I have been using the native EXECIO. Here is the sample code : The calling REXX : MCALL /*REXX*/ ADDRESS ISPEXEC "EDIT DATASET('VV9.EGL.ELT.INVNTRY') MACRO(TEST)" EXIT Here is my edit macro : TEST /*REXX*/ ADDRESS ISREDIT "MACRO" ADDRESS ISPEXEC "CONTROL ERRORS RETURN " 'ISREDIT (VARLINE) = LINE .ZCSR' SAY 'LINE ' VARLINE EXIT 1 On running the MCALL it gives an error message : "Macro does not exist" Am I missing something ? I have both the calling and called programs in the same PDS: USERID.REXX.EXEC Could you please help me out. Regards, Raveendra. |
|
#2
| |||
| |||
| In <1161232095.612233.171220@h48g2000cwc.googlegroups .com>, on 10/18/2006 at 09:28 PM, "raveendra" <raveendra.h390@gmail.com> said: >Could you please help me out. I'd suggest asking in the ISPF list rather than the REXX news group, but have you tried adding "trace i" to both MCALL and TEST? Have you tried invoking TEST directly from an EDIT session? -- Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel> Unsolicited bulk E-mail subject to legal action. I reserve the right to publicly post or ridicule any abusive E-mail. Reply to domain Patriot dot net user shmuel+news to contact me. Do not reply to spamtrap@library.lspace.org |
|
#3
| |||
| |||
| "raveendra" <raveendra.h390@gmail.com> wrote in message news:1161232095.612233.171220@h48g2000cwc.googlegr oups.com... > Here is the sample code : > The calling REXX : MCALL > /*REXX*/ > ADDRESS ISPEXEC "EDIT DATASET('VV9.EGL.ELT.INVNTRY') MACRO(TEST)" > EXIT > > Here is my edit macro : TEST > /*REXX*/ > ADDRESS ISREDIT "MACRO" > ADDRESS ISPEXEC "CONTROL ERRORS RETURN " > 'ISREDIT (VARLINE) = LINE .ZCSR' > SAY 'LINE ' VARLINE > EXIT 1 > > On running the MCALL it gives an error message : > "Macro does not exist" > > Am I missing something ? I have both the calling and called programs in > the same PDS: USERID.REXX.EXEC Raveendra, your PDS USERID.REXX.EXEC must be in the SYSEXEC DD concatenation of the address space trying to run the macro. Are you trying to use this macro in a batch job? Here is a JCL sample I use for the same purpose: //stepname EXEC PGM=IKJEFT01 //ISPLOG DD SYSOUT=*,DCB=(LRECL=125,BLKSIZE=129,RECFM=VA) //ISPPROF DD DSN=&&TEMP,DISP=(NEW,PASS), // DCB=(RECFM=FB,LRECL=80,DSORG=PO),SPACE=(TRK,(1,1,5 )) //ISPLLIB DD DSN=sispload //ISPMLIB DD DSN=sispmenu //ISPPLIB DD DSN=sisppenu //ISPSLIB DD DSN=sispslib //ISPTLIB DD DSN=sisptenu //SYSPROC DD DSN=sispexec //SYSTSPRT DD SYSOUT=* //SYSEXEC DD DSN=USERID.REXX.EXEC <----- your rexx pds goes here //SYSTSIN DD * ISPSTART CMD(%MCALL) /* // |
|
#4
| |||
| |||
| John wrote: > "raveendra" <raveendra.h390@gmail.com> wrote in message > news:1161232095.612233.171220@h48g2000cwc.googlegr oups.com... > > Here is the sample code : > > The calling REXX : MCALL > > /*REXX*/ > > ADDRESS ISPEXEC "EDIT DATASET('VV9.EGL.ELT.INVNTRY') MACRO(TEST)" > > EXIT > > > > Here is my edit macro : TEST > > /*REXX*/ > > ADDRESS ISREDIT "MACRO" > > ADDRESS ISPEXEC "CONTROL ERRORS RETURN " > > 'ISREDIT (VARLINE) = LINE .ZCSR' > > SAY 'LINE ' VARLINE > > EXIT 1 > > > > On running the MCALL it gives an error message : > > "Macro does not exist" > > > > Am I missing something ? I have both the calling and called programs in > > the same PDS: USERID.REXX.EXEC > > > Raveendra, your PDS USERID.REXX.EXEC must be in the SYSEXEC DD concatenation > of the address space trying to run the macro. > > Are you trying to use this macro in a batch job? Here is a JCL sample I use > for the same purpose: > //stepname EXEC PGM=IKJEFT01 > //ISPLOG DD SYSOUT=*,DCB=(LRECL=125,BLKSIZE=129,RECFM=VA) > //ISPPROF DD DSN=&&TEMP,DISP=(NEW,PASS), > // DCB=(RECFM=FB,LRECL=80,DSORG=PO),SPACE=(TRK,(1,1,5 )) > //ISPLLIB DD DSN=sispload > //ISPMLIB DD DSN=sispmenu > //ISPPLIB DD DSN=sisppenu > //ISPSLIB DD DSN=sispslib > //ISPTLIB DD DSN=sisptenu > //SYSPROC DD DSN=sispexec > //SYSTSPRT DD SYSOUT=* > //SYSEXEC DD DSN=USERID.REXX.EXEC <----- your rexx pds goes here > //SYSTSIN DD * > ISPSTART CMD(%MCALL) That ain't the problem here. The problem here is in the first line: /*REXX*/ ADDRESS ISREDIT "MACRO" ADDRESS ISPEXEC "CONTROL ERRORS RETURN " 'ISREDIT (VARLINE) = LINE .ZCSR' SAY 'LINE ' VARLINE EXIT 1 It should read: Address "ISPEXEC" "ISREDIT MACRO" The default address for all Rexx codeis TSO. His first line sent the "Macro" command as a command to ISREDIT. It is NOT. It is a parameter on the invocation of ISREDIT passed to ISPEXEC. Mickey |
|
#5
| |||
| |||
| On 19 Oct 2006 13:43:00 -0700, "Mickey" <mickeyb@comcast.net> wrote: <1161290580.896495.135460@i3g2000cwc.googlegroups. com> > >John wrote: >> "raveendra" <raveendra.h390@gmail.com> wrote in message >> news:1161232095.612233.171220@h48g2000cwc.googlegr oups.com... >> > Here is the sample code : >> > The calling REXX : MCALL >> > /*REXX*/ >> > ADDRESS ISPEXEC "EDIT DATASET('VV9.EGL.ELT.INVNTRY') MACRO(TEST)" >That ain't the problem here. The problem here is in the first line: > >/*REXX*/ >ADDRESS ISREDIT "MACRO" >ADDRESS ISPEXEC "CONTROL ERRORS RETURN " >'ISREDIT (VARLINE) = LINE .ZCSR' >SAY 'LINE ' VARLINE >EXIT 1 > > >It should read: > >Address "ISPEXEC" "ISREDIT MACRO" > >The default address for all Rexx codeis TSO. His first line sent the >"Macro" command as a command to ISREDIT. It is NOT. > >It is a parameter on the invocation of ISREDIT passed to ISPEXEC. That's nonsense. ISREDIT is its own environment. Besides, he's already provoked any necessary ISPEXEC framework by ADDRESS ISPEXEC "EDIT DATASET('VV9.EGL.ELT.INVNTRY') MACRO(TEST)" Further, the language spec demands the first parameter to 'address' be a literal; enclosing TSO, ISPEXEC, or ISREDIT in quotes is a non-event. Further, forcing ISPEXEC to process an ISREDIT command only adds an additional shell of processing where none is needed. I think the first-responder got it right: TEST has to be in a PDS allocated to SYSEXEC or SYSPROC, and it isn't. (change Arabic number to Roman numeral to email) |
|
#6
| |||
| |||
| In <1161290580.896495.135460@i3g2000cwc.googlegroups. com>, on 10/19/2006 at 01:43 PM, "Mickey" <mickeyb@comcast.net> said: >That ain't the problem here. The problem here is in the first line: >/*REXX*/ >ADDRESS ISREDIT "MACRO" >ADDRESS ISPEXEC "CONTROL ERRORS RETURN " >'ISREDIT (VARLINE) = LINE .ZCSR' >SAY 'LINE ' VARLINE >EXIT 1 >It should read: >Address "ISPEXEC" "ISREDIT MACRO" Why? >The default address for all Rexx codeis TSO. True but irrelevant. >His first line sent the "Macro" command as a command to ISREDIT. Which is what he intended to do. >It is NOT. Yes it is, and, as I recall, it's mandatory for EDIT macros. >It is a parameter on the invocation of ISREDIT passed to ISPEXEC. There is a parameter of that name, and he usese it: ADDRESS ISPEXEC "EDIT DATASET('VV9.EGL.ELT.INVNTRY') MACRO(TEST)" That parameter, however, has nothing to do with what is required *in the EDIT macro*. -- Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel> Unsolicited bulk E-mail subject to legal action. I reserve the right to publicly post or ridicule any abusive E-mail. Reply to domain Patriot dot net user shmuel+news to contact me. Do not reply to spamtrap@library.lspace.org |
|
#7
| |||
| |||
| //stepname EXEC PGM=IKJEFT01 > //ISPLOG DD SYSOUT=*,DCB=(LRECL=125,BLKSIZE=129,RECFM=VA) > //ISPPROF DD DSN=&&TEMP,DISP=(NEW,PASS), > // DCB=(RECFM=FB,LRECL=80,DSORG=PO),SPACE=(TRK,(1,1,5 )) > //ISPLLIB DD DSN=sispload > //ISPMLIB DD DSN=sispmenu > //ISPPLIB DD DSN=sisppenu > //ISPSLIB DD DSN=sispslib > //ISPTLIB DD DSN=sisptenu > //SYSPROC DD DSN=sispexec > //SYSTSPRT DD SYSOUT=* > //SYSEXEC DD DSN=USERID.REXX.EXEC <----- your rexx pds goes here > //SYSTSIN DD * > ISPSTART CMD(%MCALL) Hi All, I am new to this forum and REXX as well. I am getting the same error what raveendra mentioned above. But i tried with Batch job with the above JCL. I have a doubt in the JCl with the below system lib's. > //ISPLLIB DD DSN=sispload > //ISPMLIB DD DSN=sispmenu > //ISPPLIB DD DSN=sisppenu > //ISPSLIB DD DSN=sispslib > //ISPTLIB DD DSN=sisptenu > //SYSPROC DD DSN=sispexec Can we use above system libraries for our sample run. Even i found so many **.ISPLLIB libraries. Please advice. Thanks, Prakash |
|
#8
| |||
| |||
| Hi All, This is advisable to use below system librarie's for our TRY RUN purpose. > //ISPLLIB DD DSN=sispload > //ISPMLIB DD DSN=sispmenu > //ISPPLIB DD DSN=sisppenu > //ISPSLIB DD DSN=sispslib > //ISPTLIB DD DSN=sisptenu > //SYSPROC DD DSN=sispexec Also i see lot of system librarie's, when i search here. Kindly give me the sloution what are those libraries? Thanks. |
![]() |
« Previous Thread
|
Next Thread »
| Thread Tools | |
| |
| ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Macro-writing macro - interpreting dynamic keyword arguments for use in 2nd-level macro | usenet | lisp | 2 | 10-30-2007 06:01 PM |
| Disaster! macro expansion not working! Do I have to macro expand my whole problem? | usenet | Scheme | 1 | 04-16-2007 05:31 PM |
| Does Edit Macro return a value ? | usenet | REXX | 11 | 10-27-2006 05:16 PM |
| what do closures, macro, and continuations do? why clisp macro special? | usenet | Scheme | 5 | 09-28-2006 08:00 PM |
| Edit Mesh - Edit Patch difference | usenet | Graphics | 0 | 05-23-2006 03:15 PM |
All times are GMT -5. The time now is 04:27 AM.




