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

IEBGENER giving IEB351I I/O ERROR


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
umashankar pathak

New User


Joined: 14 Jun 2009
Posts: 13
Location: Bangalore(INDIA)

PostPosted: Mon Mar 10, 2014 11:39 pm
Reply with quote

Hi All,

I have come across the issue where IEBGENER giving IEB351I I/O ERROR ,P420301R,JS000300,0D02,D,SYSUT1 ,READ ,WRNG.LEN.RECORD,000 in below step:-
//JS000300 EXEC PGM=IEBGENER
//SYSIN DD DUMMY,DCB=BLKSIZE=80
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSUT1 DD DSN=xxxx.xxxxxxxx.A42030.DATAFILE,DISP=SHR
//SYSUT2 DD DSN=xxxx.xxxxxxxx.A42030.DATAFILE(+1),
// DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,
// DCB=(xxxx.ttttttt.xxxxxx,RECFM=FB,LRECL=80,BLKSIZE=0),
// SPACE=(CYL,(5,1),RLSE)
//*

SYSUT1 is a GDG base and have 4 generation all 4 has LREC=80 however first generation is empty and have BLKSIZE=27920 while alll other gen's has data with BLKSIZE=80...Not sure why its giving WRNG.LEN.RECORD...

Can anyone of you guide me in this.Thanks.

Regards,
Uma
Back to top
View user's profile Send private message
Terry Heinze

JCL Moderator


Joined: 14 Jul 2008
Posts: 1248
Location: Richfield, MN, USA

PostPosted: Mon Mar 10, 2014 11:46 pm
Reply with quote

What are the dataset characteristics of 'DSN=xxxx.xxxxxxxx.A42030.DATAFILE'? Please use Code tags where appropriate.
Back to top
View user's profile Send private message
umashankar pathak

New User


Joined: 14 Jun 2009
Posts: 13
Location: Bangalore(INDIA)

PostPosted: Mon Mar 10, 2014 11:53 pm
Reply with quote

Hi Terry,

Thanks for response.

The dataset in SYSUT1 are GDG base.
[GDG base dataset name: xxxx.xxxxxxxx.A42030.DATAFILE

GDG dataset limit: 20 (Maximum number of generations, 1-255)

Active generations: 4 (Generations that are currently allocated)

Owner:

Expiration date:

Uncatalog options: NOEMPTY (EMPTY = All generations are uncataloged
NOEMPTY = Oldest generation is uncataloged)
Scratch options: SCRATCH (SCRATCH = Scratch when uncataloged
NOSCRATCH = Uncatalog only)

[/code]
Back to top
View user's profile Send private message
Terry Heinze

JCL Moderator


Joined: 14 Jul 2008
Posts: 1248
Location: Richfield, MN, USA

PostPosted: Tue Mar 11, 2014 12:06 am
Reply with quote

We need the DCB parameters of 'xxxx.xxxxxxxx.A42030.DATAFILE'. Just the generation being refereced by your SYSUT1, not the GDG base definition. In 3.4, do an (I)nquiry and paste the result here. As in:
Code:
MNPC#3                       Data Set Information
Command ===>
                                                                   More:     +
Data Set Name . . . . : xxxxxx.xxxxxxx.xxxxxxxx.G0274V00

General Data                           Current Allocation
 Management class . . : MCSTDML1        Allocated tracks  . : 1
 Storage class  . . . : SCPROD          Allocated extents . : 1
  Volume serial . . . : M1PS0F +
  Device type . . . . : 3390
 Data class . . . . . : DCDFTPS
  Organization  . . . : PS             Current Utilization
  Record format . . . : FB              Used tracks . . . . : 1
  Record length . . . : 308             Used extents  . . . : 1
  Block size  . . . . : 27720
  1st extent tracks . : 1
  Secondary tracks  . : 50             Dates
  Data set name type  :                 Creation date . . . : 2014/03/06
  SMS Compressible. . : NO              Referenced date . . : 2014/03/10
                                        Expiration date . . : ***None***
Back to top
View user's profile Send private message
umashankar pathak

New User


Joined: 14 Jun 2009
Posts: 13
Location: Bangalore(INDIA)

PostPosted: Tue Mar 11, 2014 12:09 am
Reply with quote

Data Set Name . . . : xxxx.xxxxxx.A42030.DATAFILE.G0030V00

General Data Current Allocation
Volume serial . . . : PRD003 Allocated tracks . : 1
Device type . . . . : 3390 Allocated extents . : 1
Organization . . . : PS
Record format . . . : FB
Record length . . . : 80
Block size . . . . : 27920 Current Utilization
1st extent tracks . : 1 Used tracks . . . . : 0
Secondary tracks . : 1 Used extents . . . : 0

Creation date . . . : 2014/03/03
Referenced date . . : 2014/03/10
Expiration date . . : ***None***
Back to top
View user's profile Send private message
Terry Heinze

JCL Moderator


Joined: 14 Jul 2008
Posts: 1248
Location: Richfield, MN, USA

PostPosted: Tue Mar 11, 2014 2:22 am
Reply with quote

GDG bases do not have a record length. They simply define some of the characteristics of the generations that comprise the base. Your JCL indicates you are trying to copy a GDG base to a GDG generation. I don't understand exactly what you are trying to do.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3076
Location: NYC,USA

PostPosted: Tue Mar 11, 2014 3:45 am
Reply with quote

I believe you would like to copy entire GDG to a PS file, so why not to use SORT? and also using IEBGENER in SYSUT1 , you might wants to give Generation #.

may be the below link would help you,

ibmmainframes.com/about61865.html
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Tue Mar 11, 2014 4:45 am
Reply with quote

I suspect umashankar pathak has run into the uninitialized data set problem. It used to be when you allocated a data set there is nothing on the first track and an innocent program trying to read the data set will attempt to read whatever was there from a previous use of the space. More often than not it results in a wrong length record. ISPF never had this problem since it examines the VTOC to determine if the data set is empty and won't read the data set if it appears to be empty, but in this context IEBGENER is an innocent program.

Many systems write a DASD end of file record on the first track when they allocate a data set, but I'm not certain what triggers this behavior. Certainly this will prevent umashankar pathak's problem from occurring!
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3076
Location: NYC,USA

PostPosted: Tue Mar 11, 2014 6:41 am
Reply with quote

Also, could someone please move this to JCL forum
Back to top
View user's profile Send private message
umashankar pathak

New User


Joined: 14 Jun 2009
Posts: 13
Location: Bangalore(INDIA)

PostPosted: Tue Mar 11, 2014 7:00 pm
Reply with quote

Thanks everyone for your reply....

Steve-myers -- it make sense.I guess same happened here.

Rohit:- If you want to copy the generation(s) in particular order yes we have to give the generation number in SYSUT1 but I have to copy all GDG entries to a flat file so I believe using a SORT won't help here.

Thanks again!!
Uma
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3076
Location: NYC,USA

PostPosted: Tue Mar 11, 2014 8:46 pm
Reply with quote

Why would SORT won't help?
Back to top
View user's profile Send private message
umashankar pathak

New User


Joined: 14 Jun 2009
Posts: 13
Location: Bangalore(INDIA)

PostPosted: Tue Mar 11, 2014 9:04 pm
Reply with quote

Well I'm doing the straight copy so if my IEBGENER is giving issue I would expect the same issue with SORT....The files were deleted now so I can't test but next time if it will fail again I will try with SORT.Thanks.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Wed Mar 12, 2014 1:00 am
Reply with quote

Hello,

Quote:
If you want to copy the generation(s) in particular order yes we have to give the generation number in SYSUT1 but I have to copy all GDG entries to a flat file so I believe using a SORT won't help here.
Why do you believe the sort will not copy all of the genrations to a flat file? Be assured, it will.

If you want a particular sequence in which the different generations are processed, then you need to include individual DD statements for each generation.

If you specify the base, you will get all generations automatically.
Back to top
View user's profile Send private message
umashankar pathak

New User


Joined: 14 Jun 2009
Posts: 13
Location: Bangalore(INDIA)

PostPosted: Wed Mar 12, 2014 1:20 am
Reply with quote

Hello Dick,

Yes I agree SORT can copy all the generation to the flat file same like IEBGENER. I have used IEBGENER to copy all generation into flat file where it was showing me above error so in that context I wrote SORT also will give the same error.

Thanks for your time and help!

Regards
Uma
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Wed Mar 12, 2014 1:37 am
Reply with quote

Ok. Thanks for the followup.

If (when) this happens again, come early so we may be able to diagnose what really happened.

Is there any way to ensure all of the generationis had the same dcb parameters? Is this a new process or a recently changed process?
Back to top
View user's profile Send private message
umashankar pathak

New User


Joined: 14 Jun 2009
Posts: 13
Location: Bangalore(INDIA)

PostPosted: Wed Mar 12, 2014 1:43 am
Reply with quote

Yes its OLD process but I am new to the application so first time for me...it has 4 generations all with LREC=80 however first generation was empty and have BLKSIZE=27920 while alll other gen's had data with BLKSIZE=80.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3076
Location: NYC,USA

PostPosted: Wed Mar 12, 2014 5:04 am
Reply with quote

May be you can try creating another GDG in Development env. and prepare the same generations as you mentioned in the problem and then before using the utility delete manually the first generation (Empty dataset) and see if you still gets the error, and if you don't get then what Steve has said could be the possible reason for the cause.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10888
Location: italy

PostPosted: Wed Mar 12, 2014 1:35 pm
Reply with quote

the problem is that for SMS managed datasets an endoffile is written at allocation time

so in a correct environment no ioerror should occur
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Wed Mar 12, 2014 3:54 pm
Reply with quote

Quote:
Many systems write a DASD end of file record on the first track when they allocate a data set, but I'm not certain what triggers this behavior. ...
I recalled at least one security system (ACF2?) did this, and I sort of thought it was in SMS, but wasn't certain and I was reluctant to spend the time to look it up. Of course, the data set might not be SMS managed. Thanks Enrico for the update.
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 -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts IEW2315E 1369 Link error All Other Mainframe Topics 3
No new posts Help on IMS -API URL migrating from P... IMS DB/DC 1
No new posts JES datasets IO Error ABENDS & Debugging 3
No new posts Error to invoke MPP program through B... IMS DB/DC 3
No new posts PKZIP error ZPFM121E and ZPCE009E JCL & VSAM 6
Search our Forums:

Back to Top