BookmarkSubscribeRSS Feed
deleted_user
Not applicable
On OS390 using JCL and SAS , I am reading an I/P file which contains more than million records. I read and format by accessing various db2 tables where I use sort and merge. My program runs fine upto 400,000 records. But when an I/P file contains more than a million, the job fails in a sort statement and gives following error. "Sort failed during output after writing 810664 observations successfully write to WORK.INLOAD7.DATA failed. File is full and may be damaged."
In my JCL, i specified my work file as
//WORK DD UNIT=DISK,SPACE=(CYL,(1500,2500)) .
I also used OPTIONS=SORTBLKMODE in my JCL. But I am still having the same issue.

Can anyone suggest how to overcome this issue?

Any help is appreciated.
3 REPLIES 3
sbb
Lapis Lazuli | Level 10 sbb
Lapis Lazuli | Level 10
Considering that you have not shared other related SAS code from your program, possibly there are some SAS WORK. members that can be deleted at the point you are getting the error? The problem, as explained in the SAS diagnostic, is that you have exceeded your //WORK allocation, either because there is no more space available to your job or your job does not have a means of extending to additional DASD volumes.

The DFSORT-specific SAS CONFIG option SORTBLKMODE yields a performance benefit but does not provide a space compression features.

The SAS COMPRESS=YES will help, possibly, but I would encourage you to review the SAS DATA or PROC step that is creating WORK.INLOAD7, just prior to the error, and use SAS PROC CONTENTS DATA=WORK._ALL_; to review the members of your WORK allocation to determine if you can delete either files or variables from any "currently created" WORK files.

After checking your own SAS processing logic, you may also have an opportunity to let SAS extend to additional DASD volume(s) by including in the UNIT= parameter additional request -- specifically:

//WORK DD UNIT=(DISK,n),SPACE=(CYL,(pppp,ssss))

where "n" is some number greater than 1 and "pppp" is primary and "ssss" is secondary space allocation in cylinders.

But, as mentioned, before you go throwing DISK space at your program, look to improve and optimize your SAS job processing first.

Scott Barry
SBBWorks, Inc.
deleted_user
Not applicable
Scott,
Thanks for your suggestions. When I deleted sas files, everything is fine.
I am amazed to see how size of work files are reduced by using COMPRESS option.

When I used COMPRESS like seven times for different work files, the job failed with SE6 error. How ever I am not using compress as my problem is solved by deleting temporary sas files.

Thanks for your advice. It really helped me.

--Raju
sbb
Lapis Lazuli | Level 10 sbb
Lapis Lazuli | Level 10
Using the COMPRESS option requires additional CPU time, and the amount of space saved with compression is data-dependent. The SEC6 ABEND code is related to this condition - check the SAS support website for details, if interested.

Scott Barry
SBBWorks, Inc.

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 858 views
  • 0 likes
  • 2 in conversation