07-09-2015 05:34 PM
Hi -- I am using SAS University Edition (essentially UNIX operating environment), and am trying to apply a previous formats.sasb7cat file to a new library....
libname current_lib '/folders/myfolders/current_lib/';
proc format library=current_lib cntlin=currentlib_lib.formats;
I get the error that the formats file was created for a different operating system:
ERROR: File LIBRARY.FORMATS.CATALOG was created for a different operating system.
I've been told, however, that if the file is in .sasb7cat format, it should be UNIX/Linux, but it is still not... importing? for the new library.
I already referenced this SAS page, last block of code, to try to answer this question, but it was a little vague on how referencing the libraries worked.
07-10-2015 10:13 AM
If I am right , Using proc cimport + proc cport to transport format .
Another way is using proc format + cntlout= to make a dataset , then move it to your UE and run again proc format + cntlin= .
07-10-2015 11:11 AM
Hi Xia -- thanks for answering!
I tried the second method:
libname testlib '/PATH/';
proc format library=testlib cntlout=testlib.formats2; * reads formats.sasb7cat and writes to formats2.sasb7cat for export;
proc format library=testlib cntlin=testlib.formats2; run; *imports formats2.sasb7cat as new format file for library;
For line 2 (cntlout) I basically get the same error:
ERROR: File TESTLIB.FORMATS.CATALOG was created for a different operating system.
It could be because I am trying to read and write the formats files in the same library, but I suspect it isn't that....
I will try the first method now....
07-11-2015 04:09 PM
Thanks, Xia!! Well, that is a problem, since I don't have access to the old machine. Now I know I have to find another way....
Need further help from the community? Please ask a new question.