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

Invalid record format error while try to view a PDS


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Wed Jan 05, 2011 9:56 pm
Reply with quote

Hi I have created a new pds and copied it from an existing PDS using the following jcl :

//STEP10 EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=XXUF511.COBOL.PROGRAMS,
// DISP=OLD
//SYSUT2 DD DSN=XXUF511.COBOL.PROGRAM1,
// DISP=(NEW,CATLG,DELETE)
//SYSIN DD *
COPY INDD=SYSUT1,
OUTDD=SYSUT2
/*


In the SYSPRINT of SPOOL i see this :

IEB154I COMPILE HAS BEEN SUCCESSFULLY UNLOADED
IEB154I COMPILE1 HAS BEEN SUCCESSFULLY UNLOADED
IEB154I DATA1 HAS BEEN SUCCESSFULLY UNLOADED
IEB154I DATA2 HAS BEEN SUCCESSFULLY UNLOADED
IEB154I DISPLAY HAS BEEN SUCCESSFULLY UNLOADED
IEB154I ERRMSG HAS BEEN SUCCESSFULLY UNLOADED
IEB154I FILES HAS BEEN SUCCESSFULLY UNLOADED
IEB154I IEBCOPY HAS BEEN SUCCESSFULLY UNLOADED
IEB154I IEBGENER HAS BEEN SUCCESSFULLY UNLOADED
IEB154I KSDS HAS BEEN SUCCESSFULLY UNLOADED
IEB154I ROUGH HAS BEEN SUCCESSFULLY UNLOADED
IEB154I RUNJCL HAS BEEN SUCCESSFULLY UNLOADED
IEB154I RUNJCL1 HAS BEEN SUCCESSFULLY UNLOADED
IEB154I SAMPLE HAS BEEN SUCCESSFULLY UNLOADED
IEB154I ZALTERDO HAS BEEN SUCCESSFULLY UNLOADED
IEB1098I 15 OF 15 MEMBERS UNLOADED FROM INPUT DATA SET REFERENCED BY SYSUT1
IEB147I END OF JOB - 0 WAS HIGHEST SEVERITY CODE

Then while trying to view the new pds XXUF511.COBOL.PROGRAM1, it is showing the message "Invalid record format " in the right corner of the screen. What could be the issue?
Is it mandatory to give the DCB parameters value for the SYSUT2 dataset?
Will it not automatically copied it from the SYSUT1 dataset?

Please clarify.

Thanks
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: Wed Jan 05, 2011 10:03 pm
Reply with quote

Hello,

Some utilities copy the input dcb info if none is specified for the output - some do not.

Suggest you run the job again specifying the output dcb info. . .
Back to top
View user's profile Send private message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Wed Jan 05, 2011 10:30 pm
Reply with quote

Yeah Thanks Dick. It didnt worked out with the parameters i tried.
The source pds has the following DCB + others:

Organization . . . : PO
Record format . . . : FBA
Record length . . . : 80
Block size . . . . : 800
1st extent tracks . : 1
Secondary tracks . : 3
Data set name type : PDS

//SYSUT2 DD DSN=XXUF511.COBOL.PROGRAM1,
// DISP=(NEW,CATLG,DELETE),
// DCB=(LRECL=80,BLKSIZE=0,RECFM=FB)

I just included the DCB parameters. But when i J scanned the jcl, it is showing the following error msg :

JCL RECFM 'FB' DOES NOT MATCH THE VOLUME ENTRY RECFM
'VS'.


So i set the RECFM=VS in the DCB and ran the jcl. MAXCC=0.

But still the same message "Invalid record format " occurs.

Does it mean that, if i didnt mention the volume for the new PDS , it is trying to create the file in the default volume and that volume has its own RECFM=VS? What could be the issue behind the same error? What should i update on the DCB parameters?

Please clarify
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8697
Location: Dubuque, Iowa, USA

PostPosted: Wed Jan 05, 2011 10:41 pm
Reply with quote

Since you specified neither directory blocks in your SPACE parameter nor DSORG=PO for your output file, IEBCOPY assumed that the output file is a sequential file, NOT a PDS.

IEBCOPY unloads PDS files to sequential files by setting the LRECL of the output file to 16 more than the blksize of the input PDS, or 816 in your case, and the BLKSIZE becomes 820 since the RECFM is set to VS. There is control information included in the unloaded PDS, so it is not human readable data.

Are you attempting to copy a PDS to a PDS? PDS to sequential file (and if so, IEBCOPY unload format or something else)?
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: Thu Jan 06, 2011 12:13 am
Reply with quote

Hello,

IEBCOPY is one of the oldest utilities still in use. . .

It is not as friendly as most of the newer utilities. . .

In fact (in the rare instances that i've used IEBCOPY to copy members from one pds to a new pds), i always use the same dcb info for the new one. IIRC, i've not used it since that last of the Y2K work i helped with.
Back to top
View user's profile Send private message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Thu Jan 06, 2011 10:52 pm
Reply with quote

I was attempting to copy from PDS to PDS only.
Quote:
Are you attempting to copy a PDS to a PDS? PDS to sequential file (and if so, IEBCOPY unload format or something else)?

Here you mean the sequential file is PS file only, right?
Back to top
View user's profile Send private message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Thu Jan 06, 2011 11:06 pm
Reply with quote

I just updated the program with the following :

// SPACE=(TRK,(10,20),RLSE),
// DCB=(LRECL=80,BLKSIZE=0,RECFM=VS,DSORG=PO)

After run, it is MAXCC=8.

DD NAME SYSUT2 IS SUPPOSED TO BE A PARTITIONED DATA SET BUT IT HAS NO DIRECTORY. EXPECT A TERMINAL I/O
ERROR. (DS1LSTAR=X'000000' DS1DSORG=X'0200' JFCDSORG=X'0200')

Do i need to mention anything more ?

Please clarify.

Thanks
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8697
Location: Dubuque, Iowa, USA

PostPosted: Thu Jan 06, 2011 11:27 pm
Reply with quote

Code:
// SPACE=(TRK,(10,20),RLSE),
needs to have some directory blocks specified -- 10,20,20 for example to allocate 20 directory blocks.

Quote:
Here you mean the sequential file is PS file only, right?
PS means "physical sequential"
Back to top
View user's profile Send private message
Bill Dennis

Active Member


Joined: 17 Aug 2007
Posts: 562
Location: Iowa, USA

PostPosted: Fri Jan 07, 2011 7:56 am
Reply with quote

After adding directory blocks to SPACE parameter be sure to change RECFM back to FB.
Back to top
View user's profile Send private message
Pete Wilson

Active Member


Joined: 31 Dec 2009
Posts: 582
Location: London

PostPosted: Thu Jan 27, 2011 9:47 pm
Reply with quote

Try this, it will create your target dataset modelled on the source file DCB attributes.
//SYSUT2 DD DSN=XXUF511.COBOL.PROGRAM1,
// DISP=(NEW,CATLG,DELETE),
// LIKE=XXUF511.COBOL.PROGRAMS
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 How to split large record length file... DFSORT/ICETOOL 10
No new posts Populate last day of the Month in MMD... SYNCSORT 2
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
Search our Forums:

Back to Top