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

Unrecognized I/O error during write


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

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Mon Dec 20, 2010 5:50 pm
Reply with quote

Dir Blk 50

how many members do you think can be added to your pds?
OR
how many members do you think your pds can contain?
Back to top
View user's profile Send private message
sandy257

New User


Joined: 03 Feb 2010
Posts: 19
Location: Pune

PostPosted: Mon Dec 20, 2010 6:03 pm
Reply with quote

Sorry.. max dir blks is 100
Back to top
View user's profile Send private message
sandy257

New User


Joined: 03 Feb 2010
Posts: 19
Location: Pune

PostPosted: Mon Dec 20, 2010 6:26 pm
Reply with quote

I think the max number of members that can be contained in my PDS is 600? Even if the dir blk size is 50; I think it wiuld have accomodated 300 members.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Mon Dec 20, 2010 8:55 pm
Reply with quote

Hello,

Quote:
And while you reply with the space clarification, you should also mention how many records are to be loaded. . .
The allocation information has still not been posted. . .

The best way to get help is to provide requested info on the first request - not the third request.

Suggest you become comfortable with the "Code" tag - this will preserve alignment and inprove readability.

With the tso/ispf editor (not some code), try to create 100 members in your pds and tell us what happens.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Mon Dec 20, 2010 9:00 pm
Reply with quote

still I do not see any need to clobber the script with the LM**** stuff!

the simple flow should be ...
allocate and read the input file

process each record stacking something
when some flag tells
allocate write close free the output dataset
after loop termination
if a dataset write is pending just
allocate write close free the output dataset for the last unprocessed chunk

no need to bother ISPF.
nor to change the DDNAME for the output.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2547
Location: Silicon Valley

PostPosted: Mon Dec 20, 2010 11:12 pm
Reply with quote

I agree with Enrico that you should not mix EXECIO with LMMPUT on the same dataset. If you need the ISPF statistics, then do all with LMMPUT instead of EXECIO.

You are missing an END statement, likely belongs after QUEUE.

Your last member data will probably not get written.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2547
Location: Silicon Valley

PostPosted: Mon Dec 20, 2010 11:22 pm
Reply with quote

Quote:
Use PROFILE MSGID
and show us any messages you get. Also look in syslog for messages.

Sandy, you never showed us the actual messages that you are getting.
Back to top
View user's profile Send private message
sandy257

New User


Joined: 03 Feb 2010
Posts: 19
Location: Pune

PostPosted: Mon Dec 20, 2010 11:47 pm
Reply with quote

If I use the code to populate the PDS with members and write just a blank line in each member my routine runs fine.
This way I created 57 members in the PDS.

I got the messgae "Unrecognised I/O error during Write" when trying to write data into each member.
LMPUT error statement was also provided
(I will try to type the detailed error statement tomorrow from Office - can't copy paste)

When I tried with an Input dataset with records meant for 4 members (approximately 100 records) this code worked fine as well.

For this reason I am more inclined to believe that I faced some kind of space abend.

Another information is I am trying to execute this code from ISPF by typing "EX" against the REXX member within the PDS where the REXX routine is stored. Is it possible that I am running out of virtual memory while executing in this way?
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2547
Location: Silicon Valley

PostPosted: Tue Dec 21, 2010 5:00 am
Reply with quote

It is not clear what you are claiming is working correctly. I think this:
Code:
     "LMPUT DATAID("D") MODE(INVAR) DATALOC(DATAVAR) DATALEN(80)"
     "LMMADD DATAID("D") MEMBER("COPYBKNM") STATS(NO)"
Will create members that have only a single 80 byte line.

And this:
Code:
part1:
      DO
         ADDRESS TSO
         LINES = QUEUED()
         "EXECIO " LINES " DISKW COPYF"K
         "EXECIO 0 DISKW COPYF"K" (FINIS"
         DELSTACK
         K = K + 1
       END
part2:
     ADDRESS ISPEXEC
     "LMPUT DATAID("D") MODE(INVAR) DATALOC(DATAVAR) DATALEN(80)"
     "LMMADD DATAID("D") MEMBER("COPYBKNM") STATS(NO)"
has two parts:
part 1: writes a member with some unknown number of records
part 2: replaces all of the lines from part 1 with a single line.

Oh, and DATAVAR does not seem to be set, so you probably are not going to get any of the data that you want.
Back to top
View user's profile Send private message
sandy257

New User


Joined: 03 Feb 2010
Posts: 19
Location: Pune

PostPosted: Tue Dec 21, 2010 11:37 am
Reply with quote

Hi All.. thanks a lot for your time and patience. The problem has been resolved.

Special thanks to Enrico and Pedro to keep LM functions out and stick only to EXECIO. The code worked after I removed the LM functions.

Thanks a lot Pedro for pointing out that the last member will never get populated. I have modified my code accordingly.
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Tue Dec 21, 2010 8:43 pm
Reply with quote

And for good measure, I would add a
Code:
"FREE  FI(COPYF"K")"

for each
Code:
"ALLOC FI(COPYF"K")"

just in case...
Back to top
View user's profile Send private message
sandy257

New User


Joined: 03 Feb 2010
Posts: 19
Location: Pune

PostPosted: Tue Dec 21, 2010 10:37 pm
Reply with quote

Point taken Marso!!!
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 Goto page 1, 2  Next

 


Similar Topics
Topic Forum Replies
No new posts Compare 2 files(F1 & F2) and writ... JCL & VSAM 8
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
No new posts Write line by line from two files DFSORT/ICETOOL 7
No new posts CLIST - Virtual storage allocation error CLIST & REXX 5
Search our Forums:

Back to Top