Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
Why I/O error?

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> TSO/ISPF
Author Message
dejunzhu

Active User


Joined: 08 May 2008
Posts: 268
Location: China

PostPosted: Sat Jul 04, 2009 12:24 pm    Post subject: Why I/O error?
Reply with quote

I submitted the following job:
Code:

//* -------------------------------------------------------------
//CRE01   EXEC PGM=IKJEFT01,DYNAMNBR=20                         
//STEPLIB  DD  DSN=DSN.DSNLOAD,DISP=SHR                         
//SYSTSPRT DD  SYSOUT=*                                         
//SYSPRINT DD  DSN=EV6954.CTRL(SQLOUT),DISP=(MOD,CATLG)         
//SYSUDUMP DD  SYSOUT=*                                         
//OUTPUT   DD  SYSOUT=*,RECFM=FBA,LRECL=133,BLKSIZE=665
//SYSTSIN  DD  *                                                 
  DSN SYSTEM(DSN)                                               
  RUN  PROGRAM(DSNTEP2) PLAN(DSNTEP2) LIB('DSN.RUNLIB.LOAD')     
  END                                                           
/*                                                               
//SYSIN    DD  DSN=EV6954.CTRL(SQL),DISP=SHR                     


In the above job, input and output d/s is specified as
Code:

//SYSIN    DD  DSN=EV6954.CTRL(SQL),DISP=SHR 

Code:

//SYSPRINT DD  DSN=EV6954.CTRL(SQLOUT),DISP=(MOD,CATLG)   


After I run the job the first time, I can browse the output D/S smoothly, but when I want to browse the input d/s, "I/O ERROR" message appeared, and no matter how I try, I cannot access the D/S.


Can anybody please tell me how this happened, and how to resolve this problem?
Back to top
View user's profile Send private message
References
enrico-sorichetti

Global Moderator


Joined: 14 Mar 2007
Posts: 5397
Location: italy

PostPosted: Sat Jul 04, 2009 12:37 pm    Post subject: Reply to: Why I/O error?
Reply with quote

Code:
//SYSPRINT DD  DSN=EV6954.CTRL(SQLOUT),DISP=(MOD,CATLG)     


disp=mod for a PDS member might be the reason
run some tests to verify it
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 4257
Location: Atlanta, GA

PostPosted: Sat Jul 04, 2009 6:57 pm    Post subject:
Reply with quote

I don't do DB2, but I can read manuals. The z/OS UDB for DB2 manual, which I found via a Google search, says in the section on running DSNTEP2 and DSNTEP4:
Quote:
Define all data sets as sequential data sets.
I suspect the I/O error is occurring because the data set was accessed as a sequential file, which completely blows a PDS and causes I/O errors from then on. The only resolution I'm aware of is to restore from back up or rebuild from scratch.
Back to top
View user's profile Send private message
dejunzhu

Active User


Joined: 08 May 2008
Posts: 268
Location: China

PostPosted: Sat Jul 04, 2009 8:10 pm    Post subject:
Reply with quote

I believe I have found the reason for it.

the input file is defined to a length of 80 bytes

Code:
//SYSIN    DD  DSN=EV6954.CTRL(SQL),DISP=SHR 


but if SYSPRINT is defined to a D/S, the length of the D/S MUST be a length of 134 BYTES.
Code:
//SYSPRINT DD  DSN=EV6954.CTRL(SQLOUT),DISP=(MOD,CATLG)

I checked the length of 'EV6954.CTRL' after the job submitted, and find the length has been changed from 80 bytes to 134 bytes.

And this is probably the reason for 'I/O ERROR'.

If I define the D/S: EV6954.CTR with a length of 134 Bytes, the error disappeared.

Thanks for your replys.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> TSO/ISPF All times are GMT + 6 Hours
Page 1 of 1