IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Scope of Rexx Variable in edit Macro


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
ermanjitsingh

New User


Joined: 08 Jun 2009
Posts: 19
Location: Banglore

PostPosted: Thu Aug 20, 2009 6:12 pm
Reply with quote

Hi

I am calling one edit macro within one rexx code.
This edit macro is got called inside the do loop in rexx code.

I am using some varible in edit macro, the value of which i want to retained in further calls to the edit macro.

The issue is:
whenever each time macro got called in the loop the values of varaible used in macro got intilized. I want to retain those values in further calls of edit macro.

I am calling the Macro as follows:

Code:


DO I = 1 TO FIL.0                                                 
  DSET = INDD1                                                     
  AR = TAG ' ' ENHNAME ' ' CTLMEMR ' ' OPDS ' 'K                   
ADDRESS "ISPEXEC" "EDIT DATASET("DSET") MACRO(CALLMACR) PARM(AR)" 

End 


And my Edit macro code is:

Code:


=====================
    UGCG1BH.CLIST(CALLMACR)           
=====================                                           
ELSE K = 1                                         
ADDRESS  "ISREDIT" "MACRO_MSG = ON"               
         "ISREDIT" "F ALL '"TAG"'"                 
         "ISREDIT" "MACRO_MSG = OFF"               
IF SH <> 'NO' THEN                                 
DO                                                 
P = K                                             
FAY.P = TAG  ENH  CTL SH                           
SAY TAG  ENH  CTL SH                               
P = P + 1                                         
    "EXECIO * DISKW DSET (STEM FAY. FINIS"         
    "FREE FI(DSET)"                                 


I want to retain the value of P in the next call of edit macro.

Can anyone please help me on this ?
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1306
Location: Vilnius, Lithuania

PostPosted: Thu Aug 20, 2009 6:26 pm
Reply with quote

Use VERASE it before the loop in the calling macro, use VGET and VPUT in the callee and check the errorcode from the VGET to determine if this is the first time the callee is called.

And if you don't know what VERASE, VGET and VPUT do, please RTFM.
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Thu Aug 20, 2009 6:37 pm
Reply with quote

1. Use VPUT and VGET

2. Do your code really look like this ???
Code:

=====================
    UGCG1BH.CLIST(CALLMACR)
=====================
ELSE K = 1
ADDRESS  "ISREDIT" "MACRO_MSG = ON"
         "ISREDIT" "F ALL '"TAG"'"
         "ISREDIT" "MACRO_MSG = OFF"
IF SH <> 'NO' THEN
DO
P = K
FAY.P = TAG  ENH  CTL SH
SAY TAG  ENH  CTL SH
P = P + 1
    "EXECIO * DISKW DSET (STEM FAY. FINIS"
    "FREE FI(DSET)"
Back to top
View user's profile Send private message
ermanjitsingh

New User


Joined: 08 Jun 2009
Posts: 19
Location: Banglore

PostPosted: Thu Aug 20, 2009 7:59 pm
Reply with quote

Thanks Robert and Marso for your replies.

I will try with VGET & VPUT And once its goes successful will let u know.

@Marco

I have given the part of Macro Code. Not the whole macro code.
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Thu Aug 20, 2009 8:32 pm
Reply with quote

Quote:
I have given the part of Macro Code. Not the whole macro code.

Even if you give only a small part of your code, it must make some sense. icon_evil.gif

In your case, even the part that should... don't make any sense!!! icon_evil.gif icon_evil.gif
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts Running REXX through JOB CLIST & REXX 13
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts isfline didnt work in rexx at z/OS ve... CLIST & REXX 7
No new posts run rexx code with jcl CLIST & REXX 15
Search our Forums:

Back to Top