SAS 6 Data Set Conversion Completed

This message is intended for any SSCC member who uses SAS on UNIX and stores SAS data sets. Everyone else can safely ignore this message.

As announced earlier this month, we have converted all version 6 SAS data sets on our UNIX system to version 8. (You can view the announcement at https://www.ssc.wisc.edu/sscc/ssccnews/may02.htm). This was done because we will be removing SAS from GUY on August 5. Once SAS is removed from GUY, SSCC users with only SSRI, IRP, or AGE affiliations will need to run their SAS jobs on KITE, a Linux computer. KITE cannot read version 6 SAS data sets so these files needed to be converted to version 8.

All version 6 SAS data sets converted to version 8 were written to the same directory where the version 6 data set resided. The new version 8 file has the same name, permissions, and modification dates as the version 6 data set. Note that version 8 SAS data sets have a .sas7bdat extension rather than .ssd04. The old SAS data set was moved to a temporary location and a symbolic link to the file was placed in the original directory. (A symbolic link is a mechanism for assigning different names to the same file and in this case provides an easy way to access the file from its original location. In other words, the version 6 file resides in a totally different file system but you can get to it by referring to the symbolic link in the file's original directory.) We plan to archive and then remove these version 6 files and their links on August 5, the same day we remove SAS from GUY.

A .log and .lst file was created for each SAS data set converted. The files were named using the following convention: <sas data set name>COPY. So, for a SAS data set named diss, the .log and .lst file were named dissCOPY.log and dissCOPY.lst.

These files were placed in the same temporary location as your version 6 SAS data set and a symbolic link to these files was placed in your original directory. These files contain the results from the PROC COPY used to convert the SAS 6 data set and the PROC COMPARE used to compare the tables of the version 6 SAS data set with the tables of the version 8 SAS data set. We have already checked the results of all the PROC COMPAREs and are happy to report that all the version 8 data sets we created are identical to their version 6 counterparts.

The only thing left for you to investigate is the possibility that SAS could not convert one or more of your data sets. This was the case for approximately 275 files out of over 13,000 total SAS files. In many cases this was because the data set had zero observations, presumably because it was created by a SAS program that wasn't working correctly. There were also some files with the .ssd04 extension that were not in fact SAS data sets. Among actual data sets, the most common reason for failure was that the filename was more than eight characters long. SAS cannot read or write a data set with a file longer than eight characters (not including the .ssd04 extension), so users must have renamed these files for archival or other reasons. The script also failed to convert data sets created on operating systems other than Tru64 UNIX, and data sets that are damaged and unreadable.

We have written a simple script that will search the logs we created for error messages related to your files. It will search the current directory and all the subdirectories it contains, so you will need to run it once for each location where you have SAS files (which could include your home directory, your aux space, and one or more project directories). Log in to KITE (it will not work on other servers), use cd to go to each location, then type "finderr" (without the quotes). If your files were all converted without errors, there will be no output. If there is an error, it will display the lines from the log that contain errors messages, along with the name of the log. Recall that log files are named COPY.log, so if you find there is an error message in dissCOPY.log, that means diss.ssd04 was not converted. You will need to look at the log and determine the reason and whether it can be fixed. For example, if the log says it has too long a member name, giving the file a shorter name (eight characters or less) will fix it. Then you can convert the file yourself, following the instructions in SSCC Publication 4-11, Finding and Converting SAS Version 6 Data Sets to Version 8 Data Sets. If you're not sure what's wrong or how to fix it, please contact the consultant for help.

One final note: keep in mind that SAS catalogs, such as those that store formats, are not portable between UNIX and Linux. We did not convert version 6 catalogs for this reason. If you want to use a data set with formats stored in a catalog on KITE, you will need to convert the catalog yourself, and then you will not be able to use the data set or the catalog on our UNIX servers. If you need to convert a catalog, please see the section on catalogs in Publication 4-11.

If you have any questions or concerns please don't hesitate to contact us at consult@ssc.wisc.edu.