Objectmix
Tags Register Mark Forums Read

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 ...


Object Mix > Programming Languages > REXX > Edit Macro does not exist

Reply

 

LinkBack Thread Tools
  #1  
Old 10-18-2006, 11:28 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Edit Macro does not exist

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 me out.

Regards,
Raveendra.

Reply With Quote
  #2  
Old 10-19-2006, 01:05 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Edit Macro does not exist

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

Reply With Quote
  #3  
Old 10-19-2006, 03:15 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Edit Macro does not exist

"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)
/*
//


Reply With Quote
  #4  
Old 10-19-2006, 03:43 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Edit Macro does not exist


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

Reply With Quote
  #5  
Old 10-19-2006, 10:23 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Edit Macro does not exist

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)
Reply With Quote
  #6  
Old 10-21-2006, 09:43 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: Edit Macro does not exist

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

Reply With Quote
  #7  
Old 02-18-2009, 01:41 AM
Junior Member
 
Join Date: Feb 2009
Posts: 2
igprakash is on a distinguished road
Thumbs up Re: Edit Macro does not exist

//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
Reply With Quote
  #8  
Old 02-18-2009, 01:47 AM
Junior Member
 
Join Date: Feb 2009
Posts: 2
igprakash is on a distinguished road
Default Re: Edit Macro does not exist

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.
Reply With Quote
Reply

Thread Tools


Similar Threads

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.