LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (November 2004, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Wed, 10 Nov 2004 16:50:28 -0500
Reply-To:   Michael Raithel <michaelraithel@WESTAT.COM>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   Michael Raithel <michaelraithel@WESTAT.COM>
Subject:   Re: How to get the LRECL and RECFM on a empty dataset

Dear SAS-L-ers,

Chan posted the following on this continuing thread:

> Thanks for your time guys :) > > I tried the DSCB too and it doesn't give the correct value for LRECL.. > > In my case, the datsets are already created by different groups. > > Any thoughts ! >

Chan, yes I do have a thought. My thought is that you will never, never, never, ever be able to get the LRECL, BLKSIZE, and RECFM for these particular data sets, no matter what. I know that this is a bitter pill, and I hope that you are sitting down as you read this.

Originally, I thought that those attributes _MUST_ be there. However, a birdie dropped me a line saying:

Isn't it the case that if you have, for example

//ABC DD DSN=MY.DATA.SET,DISP=(NEW,CATLG), // UNIT=DISK,VOL=SER=ABCDEF,SPACE=(TRK,(50,10))

the data set is allocated and cataloged, but there is no RECFM, LRECL or BLKSIZE until the data set is opened for output? The DSORG is known, since one has to give a third argument to SPACE= to give directory blocks.

I guess it depends on what Chan means by "empty". I think Chan means allocated but not yet written to, in which case RECFM/LRECL/BLKSIZE isn't defined.

I was somewhat skeptical, because I was sure that RECFM/LRECL/BLKSIZE just _HAD_ to be defined--even if it was an installation default--for the data to be physically allocated on DASD. However, sadly--oh, very sadly--I am not currently in a position wherein I may test this out on the Big Iron.

However, Tony Dunn came to the rescue with these tests/results:

Allocated through dd statements with no output written to the library: //ABC DD DSN=MY.DATA.SET,DISP=(NEW,CATLG), // UNIT=VOL01 ,SPACE=(TRK,(50,10)) ALLOCATED TRACKS ===> 1 DSORG ===> PS USED TRACKS ===> 0 RECFM ===> ? ALLOCATED EXTENTS ===> 1 LRECL ===> 0 USED EXTENTS ===> 0 BLKSIZE ===> 0 Allocated through sas lib and file statements with no output written to the library: FILENAME REMOVE "MY.DATA.SET" DISP = (MOD,DELETE,DELETE); FILENAME REMOVE CLEAR;

LIBNAME OUT "MY.DATA.SET" DISP = (NEW,CATLG,DELETE) UNIT = VOL01 SPACE=(CYL,(1000,500)); ALLOCATED TRACKS ===> 15000 DSORG ===> PS USED TRACKS ===> 0 RECFM ===> FS ALLOCATED EXTENTS ===> 2 LRECL ===> 0 USED EXTENTS ===> 0 BLKSIZE ===> 0 And after allocating with the original size library and outputting only one observation in one member: //ABC DD DSN=MY.DATA.SET,DISP=(NEW,CATLG), // UNIT=VOL01 ,SPACE=(TRK,(50,10)) ALLOCATED TRACKS ===> 2 DSORG ===> PS USED TRACKS ===> 2 RECFM ===> FS ALLOCATED EXTENTS ===> 2 LRECL ===> 27648 USED EXTENTS ===> 2 BLKSIZE ===> 27648

So, it looks as if there _ARE_INDEED_ circumstances where a data set may be allocated but z/OS does not yet have a valid LRECL and BLKSIZE (and sometimes a RECFM) for it. In those cases, the JFCB and/or the DSCB will not help you because the information you are looking for does not yet exist. Perhaps PROC OUIJABOARD could help you in these instances:-)

Thanks a 1,000,000 Toby for the help!

Thanks a 1,000,000 birdie for the help!

Chan, best of luck in your effort to find information that does not yet exist!

I hope that this suggestion proves helpful now, and in the future!

Of course, all of these opinions and insights are my own, and do not reflect those of my organization or my associates. All SAS code and/or methodologies specified in this posting are for illustrative purposes only and no warranty is stated or implied as to their accuracy or applicability. People deciding to use information in this posting do so at their own risk.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Michael A. Raithel "The man who wrote the book on performance" E-mail: MichaelRaithel@westat.com Author: Tuning SAS Applications in the MVS Environment Author: Tuning SAS Applications in the OS/390 and z/OS Environments, Second Edition http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=58172 <http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=58172>

Currently Writing: The Complete Guide to Creating and Using SAS Indexes (due Summer 2005)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Men occasionally stumble over the truth, but most of them pick themselves up

and hurry off as if nothing ever happened. - Sir Winston Churchill +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Back to: Top of message | Previous page | Main SAS-L page