View previous topic :: View next topic
|
Author |
Message |
relur197
New User
Joined: 31 Jul 2008 Posts: 18 Location: Massachusetts
|
|
|
|
Hi all, this is my first post on the boards and I'd like to say that I am a long time watcher and very interested at my problem that I cannot solve.
With this rexx exec I am getting this error which rattles my brain because there should be nothing wrong with it and I've used the same syntax in -many- other rexx programs. Any suggestions would be great.
Code: |
IRX0555E The input or output file MEMDD is not allocated. It cannot be opened for I/O.
IRX0670E EXECIO error while trying to GET or PUT a record. |
Here is my program it is very straight forward.
Watch its something so simple I proceed to palmface
Code: |
/* REXX */ 00010000
"TCLEAR" 00011026
/* This is a program to search through the following dsn's and pull out 00020001
any of the lines that contain the characters "modcalls" or 00030001
"setexits" only after the a line containing "//MMSTART" is located. 00030101
It will search through the following dsn's that are put into the 00030201
stem "mem." 00030301
*/ 00030401
/*trace r */ 00030529
/* this is where I will be outputting my data too */ 00032001
"ALLOCATE DA('mouse1.mouse2.mouse3') F(OUTDD) SHR REUSE" 00040011
00041004
/* there are 30 members */ 00041147
input = 'QCICS QCICS02 QCICS03 QCICS04 QCICS05 QCICS06 QCICS07 QCICS08 00041805
QCICS09 QCICS10 QCICS11 QCICS12 QCICS13 QCICS14 QCICS15 QCICS16 QCICS17 00042705
QCICS18 QCICS19 QCICS20 QCICS21 QCICS22 QCICS23 QCICS24 QCICS25 QCICS26 00043605
QCICS27 QCICS28 QPRSQ01 QPRSQ02' 00044005
00044504
/* loading up the stem */ 00051001
dsnf = 'ISS.mousey.PROD.PRODJCL( ' 00052051
dsnb = ')' 00053051
c=1 00053107
00053247
do until c = 31 00053347
00053447
mem.c=word(input,c) 00053547
say mem.c 00053650
00053747
c=c+1 00053847
end 00054047
00059331
00059504
ENDMEM = 'NO' 00073817
c=1 00073908
DO UNTIL c = 31 /* 1 */ 00074047
dsnn= dsnf³³mem.c³³dsnb 00074251
"ALLOCATE DA('"dsnn"') F(MEMDD) SHR REUSE" 00074751
00075501
DO UNTIL ENDMEM = 'YES' /* 2 */ 00075647
00075717
"EXECIO 1 DISKR MEMDD" 00075947
00076047
IF RC=2 THEN ENDMEM = 'YES' 00076147
ELSE 00076247
DO /* 3 */ 00076347
00076417
PARSE PULL read 00076547
00076617
if POS('//MMSTART',READ) > 0 then 00076947
DO /* 4 */ 00077047
00077517
STREAMEND = 'FALSE' 00077647
DO UNTIL STREAMEND = 'TRUE' /* 5 */ 00077747
"EXECIO 1 DISKR MEMDD" 00077947
IF RC=2 THEN STREAMEND = 'TRUE' 00078047
ELSE 00078147
DO /* 6 */ 00078247
PARSE PULL read2 00078547
00078601
IF POS('/*',read2) > 1 THEN STREAMEND = 'TRUE' 00078747
00078847
IF POS('MODCALL=',read2) THEN 00078947
DO 00079047
removestring = word(read2,1) 00079147
push removestring 00079247
"EXECIO 1 DISKW OUTDD" 00079347
END 00079447
00079547
IF POS('SETEXIT=',read2) THEN 00079647
DO 00079747
removestring = word(read2,1) 00079847
push removestring 00079947
"EXECIO 1 DISKW OUTDD" 00080047
END 00081047
00082047
END /* 6 */ 00083147
END /* 5 */ 00083247
END /* 4 */ 00083347
END /* 3 */ 00083447
"EXECIO 0 DISKR MEMDD (FINIS" 00083547
"FREE DD(memdd)" 00083647
00083737
END/* 2 */ 00083847
c = c + 1 00083908
END /* 1 */ 00084047
00084101
"EXECIO 0 DISKW OUTDD (FINIS" 00084225
"EXECIO 0 DISKR MEMDD (FINIS" 00084325
"FREE DD(outdd)" 00084410
"FREE DD(memdd)" 00084510
/*trace off*/ 00084629
00084701
return 00085028
|
[/code] |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
I'll bet that you are running in batch using IRXJCL |
|
Back to top |
|
|
relur197
New User
Joined: 31 Jul 2008 Posts: 18 Location: Massachusetts
|
|
|
|
Negative good sir. When I am debugging I am issueing the "EX" line command and when I want to debug using batch I use IKJEFT01. But I have not even attempted to execute thru hand written JCL at this point in time. But in regards to your assumption, why would using IRXJCL make the difference? |
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
relur197, if you've been watching for some time, you should know that we usually require some run-time TRACE output that shows how and where the problem is occuring. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
what is the return code of the ALLOCATE ?? |
|
Back to top |
|
|
relur197
New User
Joined: 31 Jul 2008 Posts: 18 Location: Massachusetts
|
|
|
|
Was compiling as soon as the thread started. here it is
trace
Code: |
37 *-* dsnn= dsnf||mem.c||dsnb
>V> "ISS.TECHAPP.PROD.PRODJCL("
>C> "MEM.1"
>V> "QCICS"
>O> "ISS.TECHAPP.PROD.PRODJCL(QCICS"
>V> ")"
>O> "ISS.TECHAPP.PROD.PRODJCL(QCICS)"
38 *-* "ALLOCATE DA('"dsnn"') F(MEMDD) SHR REUSE"
>L> "ALLOCATE DA('"
>V> "ISS.TECHAPP.PROD.PRODJCL(QCICS)"
>O> "ALLOCATE DA('ISS.TECHAPP.PROD.PRODJCL(QCICS)"
>L> "') F(MEMDD) SHR REUSE"
>O> "ALLOCATE DA('ISS.TECHAPP.PROD.PRODJCL(QCICS)') F(MEMDD) SHR REUS
E"
40 *-* trace off
IRX0555E The input or output file MEMDD is not allocated. It cannot be opened f
or I/O.
IRX0670E EXECIO error while trying to GET or PUT a record.
|
|
|
Back to top |
|
|
relur197
New User
Joined: 31 Jul 2008 Posts: 18 Location: Massachusetts
|
|
|
|
All the signs of this error seem to be rooted that the member does not exist or the dsn does not exist which is not true. Because it is cataloged. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
try under ISPF, or plain Tso to allocate the dataset ,
but please, what was the ALLOCATE return code
also turn on msg to see what is going on |
|
Back to top |
|
|
relur197
New User
Joined: 31 Jul 2008 Posts: 18 Location: Massachusetts
|
|
|
|
I have found my own error. It was quite the palmface moment.
during the end of my 2nd loop I am closing out the file prematurly then attempting to read it again. Hence it is telling me that memdd is not allocated because it -really- isnt. When I moved this statement to the end of my 1st loop. Problems went away and normal execution progressed.
Thanks everyone for all the help. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Another C2KB interface error |
|
Back to top |
|
|
relur197
New User
Joined: 31 Jul 2008 Posts: 18 Location: Massachusetts
|
|
|
|
Not sure what C2KB interface error means but I like PICNIC( Problem in chair not in computer) error |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
C2KB = Chair to KeyBoard |
|
Back to top |
|
|
|