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

Update the parm using REXX


IBM Mainframe Forums -> CLIST & REXX
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Vijay Shankar

New User


Joined: 24 Oct 2008
Posts: 16
Location: Bangalore

PostPosted: Tue Feb 03, 2009 4:08 pm
Reply with quote

I Have a Connect:Direct parm
Code:

SIGNON                                       
SUBMIT PROC=GCFIEW1D                         
 &DSN1=GEWVPGE.EI11.V823.ET8A.EZD230.SE       
 &DSN2=ET8ADTE                               
 &CASE=YES                                   
SIGNOFF                                       

I have to read the file of DSN1 and Update the parm DSN2 value with header of DSN1

Ex: GEWVPGE.EI11.V823.ET8A.EZD230.SE having below date

000ET8ADTE_S01_001_11072008.DTL-->Header
501001810600015010010100000001
501001810300015010010100000001
501001810600015010010100000001
501001810300015010010100000001
501001810600015010010100000591
501001810300015010010100000591

So I have to read the file of DSN1 and Update the Parm with Header.

so my parm should be change
Code:
 
SIGNON                                       
SUBMIT PROC=GCFIEW1D                         
 &DSN1=GEWVPGE.EI11.V823.ET8A.EZD230.SE       
 &DSN2=ET8ADTE_S01_001_11072008.DTL                               
 &CASE=YES                                   
SIGNOFF         



I wrote the below REXX exec:
Code:

/*REXX*/                                           
   INPS1="'GEWVPGE.EI11.V823.ET8A.EZD230.SE  '"-->DSN1                 
   INPS2="'UEWDVQ4.EI11.V823.ET5S.SE1'"            -->tempfile
 ADDRESS TSO "ALLOC DA("INPS1")F(INDD1) SHR REUSE"
 "EXECIO 1 DISKR INDD1(FINIS STEM INREC."         
 "FREE FI(INDD1)"                                 
 "END"                                             
DO I = 1 TO INREC.0       
          OUT.O = INREC.I
          O = 0 + 1       
    SAY INREC.I             
  XXX = INREC.I           
 SAY 'XXX' XXX           
 ET8ADTE=Substr(XXX,4,28)
 ET8AMBS=SUbstr(XXX,4,28)
 ET8BDDE=SUbstr(XXX,4,28)
DO I = 1 TO INREC.0                           
    OUTREC = ''                               
       OLDPATH = INREC.I                     
    SELECT                                   
    WHEN POS('ET8ADTE',XXX) ¬= 0 THEN DO     
       NEWPATH = ET8ADTE                     
    END                                       
    WHEN POS('ET8AMBS',XXX) ¬= 0 THEN DO     
       NEWPATH = ET8AMBS                     
    END                                       
    WHEN POS('ET8BDDE',XXX) ¬= 0 THEN DO     
       NEWPATH = ET8BDDE                     
    END                                       
       OTHERWISE DO                   
          SAY 'LAST' INREC.I         
       END                           
       END                           
   END                               

     ADDRESS TSO "ALLOC DA("INPS2")F(OUTDD) SHR REUSE"     
"EXECIO 1 DISKW OUTDD(FINIS STEM INREC."                   
"FREE FI(OUTDD)"                                           
"END"                                                     

with code am updating the Temp file but that not effecting in Parm value.

can you please help me?

Thanks,
vijay
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Feb 03, 2009 4:23 pm
Reply with quote

Where are you writing to the parm file ?
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Feb 03, 2009 4:40 pm
Reply with quote

Does this help ?
Code:

/* REXX *** OVERLAY PARM & REWRITE            */
PFILE = "NAME OF PARM FILE"                     
DFILE = "NAME OF DATA FILE"                     
"FREE FI(IPARM,IDATA)"                         
"ALLOC FI(IPARM) DA('"PFILE"') SHR"             
"ALLOC FI(IDATA) DA('"DFILE"') SHR"             
"EXECIO * DISKR PFILE (STEM PIN. FINIS"         
"EXECIO 1 DISKR DFILE (STEM DIN. FINIS"         
WANTED = SUBSTR(DIN.1,4,28)                     
DO AA = 1 TO PIN.0                             
  IF AA = 4 THEN DO                             
    PIN.AA = OVERLAY(WANTED,PIN.AA,7,28)       
  END                                           
  QUEUE PIN.AA                                 
END                                             
"EXECIO" QUEUED() "DISKW PFILE ( FINIS"         
"FREE FI(IPARM,IDATA)"                         
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 -> CLIST & REXX

 


Similar Topics
Topic Forum Replies
No new posts Compile Several JCL JOB Through one r... CLIST & REXX 4
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 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