BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
bhanuprakash
Obsidian | Level 7

when I am running the below code I am getting the below ERROR.

 

ERROR: File TEST.FORMATS.CATALOG was created for a different operating system.

 

program:

 

proc catalog catalog=test.formats;
contents file=formats;
run;

 

is there any way for converting the 32 bit catalog file to 64 bet catalog file (without using dataset converstion technique).

1 ACCEPTED SOLUTION

Accepted Solutions
SASKiwi
PROC Star

Just to be quite clear, the 32-bit catalog must be converted to a SAS transport file using 32-bit SAS. You can't convert a 32-bit SAS catalog with 64-bit SAS.

 

The person who produced this catalog in the first place must have used 32-bit SAS so they can produce a transport file for you. 

View solution in original post

6 REPLIES 6
art297
Opal | Level 21

Not sure what you mean by dataset conversion technique that you don't want to use. A couple of conversion steps are desribed in the note at: http://support.sas.com/kb/44/047.html

 

HTH,

Art, CEO, AnalystFinder.com

 

SASKiwi
PROC Star

Just to be quite clear, the 32-bit catalog must be converted to a SAS transport file using 32-bit SAS. You can't convert a 32-bit SAS catalog with 64-bit SAS.

 

The person who produced this catalog in the first place must have used 32-bit SAS so they can produce a transport file for you. 

bhanuprakash
Obsidian | Level 7

sorry for the late reply and at that same time thank you so much for suggestions. 

 

If I have the source data set I am able to recreate format catalog file by using the proc format procedure.

 

But my question is can we have any procedure for converting directly 32-bit catalog to 64-bit catalog file ?

 

As 

Just to be quite clear, the 32-bit catalog must be converted to a SAS transport file using 32-bit SAS. You can't convert a 32-bit SAS catalog with 64-bit SAS.

I got the answer what I am expecting. Thank you 

Patrick
Opal | Level 21

Additionally to what already has been written:

I'd consider keeping the source code and eventually data used to create formats as good practice. If you've got this source code then you could also re-create the formats in the target environment using this source code instead of migrating the catalogs.

ballardw
Super User

To expand slightly on @Patrick's suggestion: It is very easy to work with. When you create a permanent format place it in a library and a cntlout data set that will allow recreation of the format:

 

Proc format library=test cntlout=test.formatcntlout;

/* format code*/

run;

 

Then if you need to recreate the format use that as a cntlin data set.

hollandnumerics
Pyrite | Level 9
Format catalogs are dependent on platform AND bit, so catalogs created using Windows and UNIX are not compatible, AND Windows 32-bit and Windows 64-bit create incompatible catalogs too!

Much better to specify formats in programs for whatever platform you are using, because that way they are always compatible!
Philip R Holland
Recent book (see my blog site): "SAS Programming Experiences: A How-To Guide from a Power SAS User"

SAS Innovate 2025: Register Today!

 

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 6 replies
  • 10195 views
  • 0 likes
  • 6 in conversation