View previous topic :: View next topic
|
Author |
Message |
Kranthi_Merigala
New User
Joined: 22 Mar 2010 Posts: 17 Location: Hartford
|
|
|
|
I'm getting the below error while trying to write in to a PS. I'm executing the below lines of code. The routine is getting executed fine when first time executed after logging in to the TSO session. Second time if I execute its throwing the below error. If I log off and login again and submit it its working. Please help me in finding out the reason.
"ALLOC DA('"OUT3"') F(OUT1DD) SHR REUSE"
"EXECIO" X "DISKW OUT1DD (STEM VAR3. FINIS"
VAR3. = 0
"FREE F(OUT1DD)"
PRESENT = 'NO'
"ALLOC FI(MYINDD1) DA('"OUT3"') SHR REUSE"
"EXECIO * DISKR MYINDD1 (STEM NEWVAR. FINIS"
"EXECIO" NEWVAR.0 "DISKW MYOUTDD (STEM NEWVAR."
IRX0250E System abend code 213, reason code 00000004.
IRX0255E Abend in host command EXECIO or address environment routine TSO.
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=213 REASON CODE=00000004
TIME=15.00.21 SEQ=09558 CPU=0000 ASID=01F9
PSW AT TIME OF ERROR 075C1000 80E2E7B8 ILC 2 INTC 0D
NO ACTIVE MODULE FOUND
NAME=UNKNOWN
DATA AT PSW 00E2E7B2 - 41003B5E 0A0D010D 4DE03AF4
GR 0: 00E2EA70 1: A4213000
2: 0000D2E0 3: 00E2DF12
4: 0089B410 5: 0089B7A4
6: 0089B74C 7: 0089B7A4
8: 0089B76C 9: 0089AEC0
A: 00E2F3CA B: 00E3097C
C: 80E30A5C D: 0089B6D0
E: 80E2E04A F: 00000004
END OF SYMPTOM DUMP
IRX0670E EXECIO error while trying to GET or PUT a record.
+++ RC(20) +++ |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
WOW, is Google not available to you. Because if you did use Google one of the very first finds arrives back at this forum. Therefor I can only assume that you have used neither Google nor the forum search facility.
Please do some work on your own before posting.
This is a HELP forum rather than a Do it for me forum.
Also learn to access the IBM manuals, as they explain all. Available from the sticky topic at the top of the CLIST / REXX forum. |
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
I quickly tried that code, and it didn't cause me any problems, although I don't know what the actual data is like. A copy of some runtime TRACE output might be nice ... |
|
Back to top |
|
|
Marso
REXX Moderator
Joined: 13 Mar 2006 Posts: 1353 Location: Israel
|
|
|
|
The sample code provided does not have a "PS allocated in MOD", as specified in the title...
Did you forgot to put the ALLOC for file MYOUTDD ? |
|
Back to top |
|
|
Kranthi_Merigala
New User
Joined: 22 Mar 2010 Posts: 17 Location: Hartford
|
|
|
|
Allocated ps using the below statement
OUT1 = USRID || '.COBOLSQL.' || EXTRACT
"ALLOC DA('"OUT1"') SPACE(50000,50000) DSORG(PS) LRECL(80)",
"RECFM(F B) NEW DIR(0"
After that iam reading from out1 and trying to write to OUT1
OUT3 = GTS.HARIKA.EXTRACT
"ALLOC DA('"OUT3"') F(MYINDD1) SHR REUSE"
"EXECIO * DISKR MYINDD1 (STEM NEWVAR. FINIS"
"ALLOC DA('"OUT1"') F(MYOUTDD) MOD REUSE"
"EXECIO * DISKW MYOUTDD (STEM NEWVAR. FINIS" |
|
Back to top |
|
|
Kranthi_Merigala
New User
Joined: 22 Mar 2010 Posts: 17 Location: Hartford
|
|
|
|
>>> "0"
170 *-* "FREE F(OUT1DD)"
>>> "FREE F(OUT1DD)"
171 *-* PRESENT = 'NO'
>>> "NO"
172 *-* CALL EXTRACT
225 *-* EXTRACT:
226 *-* OUT3 = GTS.HARIKA.EXTRACT
>>> "GTS.HARIKA.EXTRACT"
227 *-* OUT1 = USRID || '.COBOLSQL.' || EXTRACT
>>> "G412.COBOLSQL.EXTRACT"
228 *-* "ALLOC DA('"OUT3"') F(MYINDD1) SHR REUSE"
>>> "ALLOC DA('GTS.HARIKA.EXTRACT') F(MYINDD1) SHR REUSE"
229 *-* "EXECIO * DISKR MYINDD1 (STEM NEWVAR. FINIS"
>>> "EXECIO * DISKR MYINDD1 (STEM NEWVAR. FINIS"
230 *-* "ALLOC DA('"OUT1"') F(MYOUTDD) MOD REUSE"
>>> "ALLOC DA('G412.COBOLSQL.EXTRACT') F(MYOUTDD) MOD REUSE"
231 *-* "EXECIO * DISKW MYOUTDD (STEM NEWVAR. FINIS"
>>> "EXECIO * DISKW MYOUTDD (STEM NEWVAR. FINIS"
IEC143I 213-04,IFG0194A,G412,AAATSO,MYOUTDD,1C36,T4P473,G412.COBOLSQL.EXTRACT
IRX0250E System abend code 213, reason code 00000004.
IRX0255E Abend in host command EXECIO or address environment routine TSO.
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=213 REASON CODE=00000004
TIME=14.51.37 SEQ=47789 CPU=0000 ASID=01DC
PSW AT TIME OF ERROR 075C1000 80E2E848 ILC 2 INTC 0D
NO ACTIVE MODULE FOUND
NAME=UNKNOWN
DATA AT PSW 00E2E842 - 41003B5E 0A0D010D 4DE03AF4
GR 0: 00E2EB00 1: A4213000
2: 0000D460 3: 00E2DFA2
4: 00865410 5: 008657A4
6: 0086574C 7: 008657A4
8: 0086576C 9: 00852EC0
A: 00E2F3CA B: 00E3097C
C: 80E30A5C D: 008656D0
E: 80E2E0DA F: 00000004
END OF SYMPTOM DUMP
IRX0670E EXECIO error while trying to GET or PUT a record.
+++ RC(20) +++
232 *-* RETURN
173 *-* SEL1 = SEL1 + SEL
>>> "1"
174 *-* DEL1 = DEL1 + DEL
>>> "0"
175 *-* UPD1 = UPD1 + UPD
*** |
|
Back to top |
|
|
Kranthi_Merigala
New User
Joined: 22 Mar 2010 Posts: 17 Location: Hartford
|
|
|
|
IF i create the PS outside rexx using 3.2 iam not getting the above mentioned abend.Iam able to write but iam getting
IKJ56861I FILE MYOUTDD NOT UNALLOCATED, DATA SET IS OPEN
IKJ56861I FILE MYOUTDD NOT UNALLOCATED, DATA SET IS OPEN
IKJ56861I FILE MYOUTDD NOT UNALLOCATED, DATA SET IS OPEN
IKJ56861I FILE MYOUTDD NOT UNALLOCATED, DATA SET IS OPEN
IKJ56861I FILE MYOUTDD NOT UNALLOCATED, DATA SET IS OPEN
IKJ56861I FILE MYOUTDD NOT UNALLOCATED, DATA SET IS OPEN
***
We can not allocate a PS as below and use it in MOD to append records???I coudn't figure out what exactly the problem is.
"ALLOC DA('"OUT1"') SPACE(50000,50000) DSORG(PS) LRECL(80)",
"RECFM(F B) NEW DIR(0" |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Did you FREE the dataset before attempting to re-open it? |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
|
|
|
|
You show three FILE names: OUTDD1, MYINDD1, MYOUTDD. But none of your code snippets show all of the allocates, execios and freeing of all of them. It is hard for us to help without all of the information.
Can you use a more simple test program with only one dataset and try to allocate and append with MOD? |
|
Back to top |
|
|
Kranthi_Merigala
New User
Joined: 22 Mar 2010 Posts: 17 Location: Hartford
|
|
|
|
EXTRACT:
OUT2 = GTS.G412.EXTRACT
"ALLOC DA('"OUT2"') F(MYOUTDD) MOD REUSE"
"ALLOC FI(MYINDD1) DA('GTS.HARIKA.EXTRACT') SHR REUSE"
"EXECIO * DISKR MYINDD1 (STEM NEWVAR. FINIS"
"EXECIO" NEWVAR.0 "DISKW MYOUTDD (STEM NEWVAR."
RETURN
I have run the program using trace its giving "IKJ56861I FILE MYOUTDD NOT UNALLOCATED, DATA SET IS OPEN" while trying to allocate out2
tried giving Free after wrting MYOUTDD giving
FILE MYOUTDD NOT FREED, DATA SET IS OPEN
FILE MYOUTDD NOT UNALLOCATED, DATA SET IS OPEN |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Well obviously you need to close the file. FINIS ring any bells ? |
|
Back to top |
|
|
Kranthi_Merigala
New User
Joined: 22 Mar 2010 Posts: 17 Location: Hartford
|
|
|
|
FINIS solved the unallocated and Data set open error.
How ever iam getting Sb37 space error if i add FINIS
with out FINIS iam getting the expected output and the routine is working fine but getting error FILE MYOUTDD NOT FREED, DATA SET IS OPEN
with FINIS iam unable to write output and getting space problem.
iam allocating using the output file using below alloc statement
"ALLOC DA('"OUT4"') SPACE(50000,50000) DSORG(PS) LRECL(80)",
"RECFM(F B) NEW DIR(0"
If its space problem i couldn't understand how it is able to write when i didn't give FINIS
I couldn't understand where exactly iam going wrong. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
|
|
|
|
Quote: |
the routine is working fine but getting error |
Clearly, it was not fine.
Allocate a larger dataset.
Your earlier post indicated several "NOT FREED" messages. Is your routine getting called more than once? Getting the expected output several times over may be the problem. |
|
Back to top |
|
|
|