View previous topic :: View next topic
|
Author |
Message |
Vijay Shankar
New User
Joined: 24 Oct 2008 Posts: 16 Location: Bangalore
|
|
|
|
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 |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Where are you writing to the parm file ? |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
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 |
|
|
|