View previous topic :: View next topic
|
Author |
Message |
srajanbose
New User
Joined: 11 Oct 2004 Posts: 69 Location: chennai
|
|
|
|
My requirement is I want to extract all the members from two dataset and write the member names in a sequential file with the corresponding source file name. I've done with the extraction of members with Rexx. I want to write the members with the source file name of the corresponding member. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
What is your problem, read the REXX manual and look at EXECIO to see how to read / write files. |
|
Back to top |
|
|
srajanbose
New User
Joined: 11 Oct 2004 Posts: 69 Location: chennai
|
|
|
|
Hi,
I am facing an issue while writing the member names in the file.
Code: |
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=213 REASON CODE=00000004
TIME=06.02.54 SEQ=13785 CPU=0000 ASID=0101
PSW AT TIME OF ERROR 475C1000 80E0FDA6 ILC 2 INTC 0D
NO ACTIVE MODULE FOUND
NAME=UNKNOWN
DATA AT PSW 00E0FDA0 - 41003B7A 0A0D41F0 38BE56F0
GR 0: 00000000_00E1006C 1: 00000000_A4213000
2: 00000000_0000F260 3: 00000000_00E0F4F2
4: 00000000_0088F410 5: 00000000_0088F7A4
6: 00000000_0088F74C 7: 00000000_0088F7A4
8: 00000000_0088F76C 9: 00000000_0088EE48
A: 00000000_00E121C2 B: 00000000_00E12B04
C: 00000000_80E12BE4 D: 00000000_0088F6D0
E: 00000000_80E0F62A F: 00000010_00000004
END OF SYMPTOM DUMP
EXECIO error while trying to GET or PUT a record.
+++ RC(20) +++
|
Please find below my source code.
Code: |
ADDRESS ISPEXEC
HIGHQUAL = 'Z000470.REXX.*'
LOGFILE = HIGHQUAL!!".LOG("!!TEST2!!")"
USERNAME = SYSVAR(SYSUID)
WCNT = 0
ZSKLPS = STRIP(HIGHQUAL)
Y = OUTTRAP('VAR1.')
ADDRESS TSO
"LISTDS ('"ZSKLPS"')"
DO J = 1 TO VAR1.0
M=J//5
IF M =1 THEN DO
MEMA = STRIP(VAR1.J,B)
SAY "MEMA:"MEMA
X=OUTTRAP("LIST.",'*')
LISTDS "'"MEMA"'" MEMBERS
X=OUTTRAP("OFF")
P = LIST.0; Q = 6 ; P = P - 6
R=1
DO UNTIL P = 0
MEM.S = STRIP(LIST.Q)
P = P - 1 ;Q=Q+1;
RECORD.R = LIST.Q!!';'!!MEMA
R=R+1
SAY "RECORD.R:"RECORD.R
END
"EXECIO * DISKW SEQFILE (STEM RECORD. FINIS)"
IF RC ^= 0 THEN DO
SAY 'ERROR WRITTING OUTPUT FILE !'
END
ELSE DO
SAY 'WRITE SUCESS!'
END
END
END
"FREE F(SEQFILE)"
RETURN
|
Please let me know how to solve this kind of issue.. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Is this batch or online ?
If online - where is the allocate statement for DD SEQFILE ?
Where do you give Record.0 a value ? |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
|
|
|
|
What does the book say about 213 abend? |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
if you amend the following
Code: |
RECORD.R = LIST.Q!!';'!!MEMA |
to
Code: |
RECORD.R = LIST.Q||';'||MEMA |
it should work.
Gerry |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
I should add, I ran it in batch and worked OK and with //SEQFILE DD SYSOUT=*
Gerry |
|
Back to top |
|
|
srajanbose
New User
Joined: 11 Oct 2004 Posts: 69 Location: chennai
|
|
|
|
Quote: |
Hi,
Thanks for your reply.For me also the code works.The problem now i am facing is like when i execute the below code |
Code: |
MAIN_PARA1:
TRACE ?R
ADDRESS TSO
OUT_FIL='Z000089.MEMBERS.HOMONYM'
"DELETE '"OUT_FIL"'"
"ALLOCATE DATASET('"OUT_FIL"') NEW SPACE(1,2)CYLINDER ",
"DSORG(PS) RECFM(F,B) LRECL(80) BLKSIZE(8000)"
"ALLOC F(SEQFILE) DA('"OUT_FIL"') MOD REU"
ADDRESS ISPEXEC
HQL = 'Z000470.REXX.*'
LOGFILE = HQL!!".LOG("!!TEST2!!")"
USERNAME = SYSVAR(SYSUID)
WCNT = 0
ZSKLPS = STRIP(HQL)
Y = OUTTRAP('VAR1.')
ADDRESS TSO
"LISTDS ('"ZSKLPS"')"
DO J = 1 TO VAR1.0
M=J//5
IF M =1 THEN DO
MEMA = STRIP(VAR1.J,B)
X=OUTTRAP("LIST.",'*')
LISTDS "'"MEMA"'" MEMBERS
X=OUTTRAP("OFF")
P = LIST.0; Q = 6 ; P = P - 6
R=1
DO UNTIL P = 0
MEM.S = STRIP(LIST.Q)
P = P - 1 ;Q=Q+1;
RECORD.R = ZUAP!!';'!!ZSIA!!';'!!LIST.Q!!';'!!MEMA
R=R+1
END
"EXECIO * DISKW SEQFILE (STEM RECORD. FINIS)"
IF RC ^= 0 THEN DO
SAY 'ERROR WRITTING OUTPUT FILE !'
END
ELSE DO
SAY 'WRITE SUCESS!'
END
END
END
"FREE F(SEQFILE)"
ADDRESS TSO
ADDRESS ISPEXEC
"DISPLAY PANEL(SIAOUT)"
RETURN |
Quote: |
I got the below output
Code: |
CLISTX ;Z000470.REXX.CLIST
CLISTX ;Z000470.REXX.CLIST
CLIST1 ;Z000470.REXX.CLIST
CLISTX ;Z000470.REXX.CLIST
CLIST1 ;Z000470.REXX.CLIST
CLIST2 ;Z000470.REXX.CLIST
CLISTX ;Z000470.REXX.CLIST
CLIST1 ;Z000470.REXX.CLIST
CLIST2 ;Z000470.REXX.CLIST
CLIST3 ;Z000470.REXX.CLIST
CLISTX ;Z000470.REXX.CLIST
CLIST1 ;Z000470.REXX.CLIST
CLIST2 ;Z000470.REXX.CLIST
CLIST3 ;Z000470.REXX.CLIST
CLIST4 ;Z000470.REXX.CLIST
ASSET ;Z000470.REXX.ISPP
CLIST1 ;Z000470.REXX.CLIST
CLIST2 ;Z000470.REXX.CLIST
CLIST3 ;Z000470.REXX.CLIST
CLIST4 ;Z000470.REXX.CLIST
ASSET ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
CLIST2 ;Z000470.REXX.CLIST
CLIST3 ;Z000470.REXX.CLIST
CLIST4 ;Z000470.REXX.CLIST
ASSET ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS ;Z000470.REXX.ISPP
CLIST3 ;Z000470.REXX.CLIST
CLIST4 ;Z000470.REXX.CLIST
ASSET ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS ;Z000470.REXX.ISPP
SIAHOM ;Z000470.REXX.ISPP
CLIST4 ;Z000470.REXX.CLIST
ASSET ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS ;Z000470.REXX.ISPP
SIAHOM ;Z000470.REXX.ISPP
SIAMEM ;Z000470.REXX.ISPP
ASSET ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS ;Z000470.REXX.ISPP
SIAHOM ;Z000470.REXX.ISPP
SIAMEM ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
ASSET ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS ;Z000470.REXX.ISPP
SIAHOM ;Z000470.REXX.ISPP
SIAMEM ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
ASSET ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS ;Z000470.REXX.ISPP
SIAHOM ;Z000470.REXX.ISPP
SIAMEM ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.OLD
ASSETHM ;Z000470.REXX.ISPP
DUPS ;Z000470.REXX.ISPP
SIAHOM ;Z000470.REXX.ISPP
SIAMEM ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.OLD
CLIST1 ;Z000470.REXX.OLD
DUPS ;Z000470.REXX.ISPP
SIAHOM ;Z000470.REXX.ISPP
SIAMEM ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.OLD
CLIST1 ;Z000470.REXX.OLD
CLIST2 ;Z000470.REXX.OLD
SIAHOM ;Z000470.REXX.ISPP
SIAMEM ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.OLD
CLIST1 ;Z000470.REXX.OLD
CLIST2 ;Z000470.REXX.OLD
CLIST3 ;Z000470.REXX.OLD
SIAMEM ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.OLD
CLIST1 ;Z000470.REXX.OLD
CLIST2 ;Z000470.REXX.OLD
CLIST3 ;Z000470.REXX.OLD
CLIST4 ;Z000470.REXX.OLD
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
OUT ;Z000470.REXX.SAMPLES
CLIST1 ;Z000470.REXX.OLD
CLIST2 ;Z000470.REXX.OLD
CLIST3 ;Z000470.REXX.OLD
CLIST4 ;Z000470.REXX.OLD
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.OLD
CLIST2 ;Z000470.REXX.OLD
CLIST3 ;Z000470.REXX.OLD
CLIST4 ;Z000470.REXX.OLD
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.OLD
CLIST3 ;Z000470.REXX.OLD
CLIST4 ;Z000470.REXX.OLD
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.OLD
CLIST4 ;Z000470.REXX.OLD
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.OLD
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.UTIL
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.UTIL
CLIST5 ;Z000470.REXX.UTIL
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.UTIL
CLIST5 ;Z000470.REXX.UTIL
CLIST6 ;Z000470.REXX.UTIL
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.UTIL
CLIST5 ;Z000470.REXX.UTIL
CLIST6 ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.UTIL
CLIST5 ;Z000470.REXX.UTIL
CLIST6 ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.UTIL
CLIST5 ;Z000470.REXX.UTIL
CLIST6 ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
NEW ;Z000470.REXX.UTIL
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.UTIL
CLIST5 ;Z000470.REXX.UTIL
CLIST6 ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
NEW ;Z000470.REXX.UTIL
SAMJCL ;Z000470.REXX.UTIL
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.UTIL
CLIST5 ;Z000470.REXX.UTIL
CLIST6 ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
NEW ;Z000470.REXX.UTIL
SAMJCL ;Z000470.REXX.UTIL
SETUP ;Z000470.REXX.UTIL
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.UTIL
CLIST5 ;Z000470.REXX.UTIL
CLIST6 ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
NEW ;Z000470.REXX.UTIL
SAMJCL ;Z000470.REXX.UTIL
SETUP ;Z000470.REXX.UTIL
SYNC ;Z000470.REXX.UTIL
|
|
Quote: |
The expected output is
Code: |
CLISTX ;Z000470.REXX.CLIST
CLIST1 ;Z000470.REXX.CLIST
CLIST2 ;Z000470.REXX.CLIST
CLIST3 ;Z000470.REXX.CLIST
CLIST4 ;Z000470.REXX.CLIST
ASSET ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS ;Z000470.REXX.ISPP
SIAHOM ;Z000470.REXX.ISPP
SIAMEM ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG ;Z000470.REXX.ISPP
CLISTX ;Z000470.REXX.OLD
CLIST1 ;Z000470.REXX.OLD
CLIST2 ;Z000470.REXX.OLD
CLIST3 ;Z000470.REXX.OLD
CLIST4 ;Z000470.REXX.OLD
OUT ;Z000470.REXX.SAMPLES
CLISTX ;Z000470.REXX.UTIL
CLIST1 ;Z000470.REXX.UTIL
CLIST2 ;Z000470.REXX.UTIL
CLIST3 ;Z000470.REXX.UTIL
CLIST4 ;Z000470.REXX.UTIL
CLIST5 ;Z000470.REXX.UTIL
CLIST6 ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
NEW ;Z000470.REXX.UTIL
SAMJCL ;Z000470.REXX.UTIL
SETUP ;Z000470.REXX.UTIL
SYNC ;Z000470.REXX.UTIL
|
|
Quote: |
The pds "Z000470.REXX.CLIST" having the below members:
CLISTX
CLIST1
CLIST2
CLIST3
CLIST4
The pds "Z000470.REXX.ISPP" having the below members:
ASSET
ASSETHM
DUPS
SIAHOM
SIAMEM
SIANAME
SIAPROG
SIAREG
The pds "Z000470.REXX.OLD" having the below members:
CLISTX
CLIST1
CLIST2
CLIST3
CLIST4
The pds "Z000470.REXX.SAMPLES" having the below members:
OUT
The pds "Z000470.REXX.UTIL" having the below members:
CLISTX
CLIST1
CLIST2
CLIST3
CLIST4
CLIST5
CLIST6
HOMONYM
HOMONYM1
NEW
SAMJCL
SETUP
SYNC
Could anyone let me know what's the mistake i have done with the code. |
[/code] |
|
Back to top |
|
|
srajanbose
New User
Joined: 11 Oct 2004 Posts: 69 Location: chennai
|
|
|
|
Hi all,
Thanks a lot.I got my output.The problem is with the looping |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Not too sure about the use of all those internals for tracing when the stem variable is exhausted and/or whatever else.
this seems just a tad simpler to me.
Code: |
ZSKLPS = 'HLQ.2LQ.*'
X = OUTTRAP(VARIN.)
"LISTDS ('"ZSKLPS"')"
X = OUTTRAP('OFF')
DO AA = 1 TO VARIN.0 BY 5
X = OUTTRAP(VARON.)
"LISTDS '"STRIP(VARIN.AA)"' MEM "
X = OUTTRAP('OFF')
DO BB = 7 TO VARON.0
QUEUE VARIN.AA VARON.BB
END
END
"EXECIO "QUEUED()" DISKW SEQFILE ( FINIS"
|
|
|
Back to top |
|
|
|