<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SAS Dataset  Full in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15698#M2091</link>
    <description>There is a WORK parameter, on the mainframe (z/OS) at least, that denotes the primary and secondary allocations.&lt;BR /&gt;
&lt;BR /&gt;
If you run SAS in batch, this can be coded on the EXEC statement e.g.&lt;BR /&gt;
//TEST EXEC SAS913,WORK='500 200'&lt;BR /&gt;
&lt;BR /&gt;
If you run SAS under TSO, this can be coded as a parameter like:&lt;BR /&gt;
SAS913 WORK('500 200')&lt;BR /&gt;
&lt;BR /&gt;
By changing the above default values, you can easily increase the size of your work file.</description>
    <pubDate>Tue, 06 May 2008 13:53:33 GMT</pubDate>
    <dc:creator>deleted_user</dc:creator>
    <dc:date>2008-05-06T13:53:33Z</dc:date>
    <item>
      <title>SAS Dataset  Full</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15695#M2088</link>
      <description>Hello everyone,&lt;BR /&gt;
&lt;BR /&gt;
This is my first time posting on this forum.  Any input would be greatly appreciated.&lt;BR /&gt;
&lt;BR /&gt;
I was running a query on a few DB2 tables and writing the result to a sas dataset A.  Then I got this error:&lt;BR /&gt;
&lt;BR /&gt;
ERROR: Write to WORK.A.DATA failed. File is full and may be damaged.&lt;BR /&gt;
&lt;BR /&gt;
Does this mean the sas dataset A is full?  &lt;BR /&gt;
I ran this on mainframe.  Has anyone see this error before?  Can I alter the size of a temporary sas dataset?&lt;BR /&gt;
&lt;BR /&gt;
Thanks alot for your input!!&lt;BR /&gt;
Kevin</description>
      <pubDate>Tue, 06 May 2008 02:35:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15695#M2088</guid>
      <dc:creator>KevinC_</dc:creator>
      <dc:date>2008-05-06T02:35:57Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Dataset  Full</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15696#M2089</link>
      <description>It generally means that the storage media the dataset is on is full.&lt;BR /&gt;
On Unix, it's the filesystem.&lt;BR /&gt;
On Windows, it's the logical drive&lt;BR /&gt;
On a Mainframe, it's the pre-allocated extents</description>
      <pubDate>Tue, 06 May 2008 11:52:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15696#M2089</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-05-06T11:52:08Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Dataset  Full</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15697#M2090</link>
      <description>The allocation of space on a mainframe was one of my earliest challenges.  I would estimate the space required, call for a primary that would take 90% of the data set and then call for secondary extents that were 10% of the final size.&lt;BR /&gt;
&lt;BR /&gt;
If sufficient space is available on the VolSer assigned, then in theory this should give you 90 + ( 15 * 10)% of the required space.  The glitch in this estimation is that the primary must be assigned in five or fewer logical extents, or the assignment will fail.  The second issue is that sufficient space exists to make the allocation required.  In the above calculation, that means up to 240% of the expected file size.  These assumptions are often premature as jobs fail reasonably late in the step due to space issues.&lt;BR /&gt;
&lt;BR /&gt;
Try increasing your primary or secondary allocation sizes, and if your allocations are controlled by SMS, then pick a larger assignment pattern.&lt;BR /&gt;
&lt;BR /&gt;
It may be that you cannot do either of these things, so a third option is to reduce the space stress by loading your memory a little with a request to compress the output data set.  The following untested code will demonstrate the idea.&lt;BR /&gt;
&lt;BR /&gt;
Data PERIOD( Compress = Yes);&lt;BR /&gt;
  Set DB2.FINANCIALS;&lt;BR /&gt;
Run;&lt;BR /&gt;
&lt;BR /&gt;
The Compress option may be added to any output data set statement including those in statistical procedures and the sort procedure.&lt;BR /&gt;
&lt;BR /&gt;
Kind regards&lt;BR /&gt;
&lt;BR /&gt;
David</description>
      <pubDate>Tue, 06 May 2008 13:07:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15697#M2090</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-05-06T13:07:04Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Dataset  Full</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15698#M2091</link>
      <description>There is a WORK parameter, on the mainframe (z/OS) at least, that denotes the primary and secondary allocations.&lt;BR /&gt;
&lt;BR /&gt;
If you run SAS in batch, this can be coded on the EXEC statement e.g.&lt;BR /&gt;
//TEST EXEC SAS913,WORK='500 200'&lt;BR /&gt;
&lt;BR /&gt;
If you run SAS under TSO, this can be coded as a parameter like:&lt;BR /&gt;
SAS913 WORK('500 200')&lt;BR /&gt;
&lt;BR /&gt;
By changing the above default values, you can easily increase the size of your work file.</description>
      <pubDate>Tue, 06 May 2008 13:53:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15698#M2091</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-05-06T13:53:33Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Dataset  Full</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15699#M2092</link>
      <description>Chuck dkvj &amp;amp; bob,&lt;BR /&gt;
&lt;BR /&gt;
Thank you all so much.  That was some really useful information!&lt;BR /&gt;
&lt;BR /&gt;
Thank you!!!&lt;BR /&gt;
Kevin</description>
      <pubDate>Tue, 06 May 2008 14:02:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15699#M2092</guid>
      <dc:creator>KevinC_</dc:creator>
      <dc:date>2008-05-06T14:02:40Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Dataset  Full</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15700#M2093</link>
      <description>You have to be careful here.&lt;BR /&gt;
&lt;BR /&gt;
In Bob's case, there is a SAS proc titled SAS913, that takes a WORK= parameter.&lt;BR /&gt;
That may or may not be available with your installation.&lt;BR /&gt;
&lt;BR /&gt;
SAS has a temporary data library called "WORK".&lt;BR /&gt;
Years ago, when I ran SAS on a mainframe, I had to be able to use more space than a single 3390 could hold, so I spanned WORK across many volumes.  Of course, since I not there anymore, and it's been years, I can't give you the nitty gritty details.&lt;BR /&gt;
&lt;BR /&gt;
What we did at that place, for general SAS use on the mainframe, was to create a named group of 3390-10's = SASDS.  SASDS consisted of 10 DASD volumes, and WORK for any job could exist on any one of them.  We used a generic specification of (273,273) for primary and secondary extent allocations.  This kept all the space in same sized chunks for more efficient usage of storage.  273 was used because 273*16 = 4368 was just less than the maximum allocatable space of the disk (4369?), due to ???? limitations (I don't remember all the exact details).  I think we used CYL for the allocation unit.&lt;BR /&gt;
&lt;BR /&gt;
You can span WORK across at most 6 DASD volumes.&lt;BR /&gt;
It is accomplished by creating 6 DSN's and then concatenating them together&lt;BR /&gt;
something like the following.&lt;BR /&gt;
[pre]&lt;BR /&gt;
//work1 dsn=work,space=(cyl,4300,rlse),unit=sasds,vol=ser=sasd01&lt;BR /&gt;
//work2 dsn=work,space=(cyl,4300,rlse),unit=sasds,vol=ser=sasd02&lt;BR /&gt;
//work3 dsn=work,space=(cyl,4300,rlse),unit=sasds,vol=ser=sasd03&lt;BR /&gt;
//work4 dsn=work,space=(cyl,4300,rlse),unit=sasds,vol=ser=sasd04&lt;BR /&gt;
//work5 dsn=work,space=(cyl,4300,rlse),unit=sasds,vol=ser=sasd05&lt;BR /&gt;
//work6 dsn=work,space=(cyl,4300,rlse),unit=sasds,vol=ser=sasd06&lt;BR /&gt;
//work  dsn=work,unit=sasds,vol=(sasd01,sasd02,sasd03,sasd04,sasd05,sasd06)&lt;BR /&gt;
[/pre]&lt;BR /&gt;
I expect I'm missing something somewhere, but this should get you started, if you need it.</description>
      <pubDate>Tue, 06 May 2008 14:32:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dataset-Full/m-p/15700#M2093</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-05-06T14:32:26Z</dc:date>
    </item>
  </channel>
</rss>

