DATA Step, Macro, Functions and more

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

Accepted Solution Solved
Reply
New Contributor
Posts: 2
Accepted Solution

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

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).


Accepted Solutions
Solution
‎01-29-2017 12:21 PM
Super User
Posts: 3,102

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

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


All Replies
PROC Star
Posts: 7,358

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

[ Edited ]

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

 

Solution
‎01-29-2017 12:21 PM
Super User
Posts: 3,102

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

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. 

New Contributor
Posts: 2

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

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 

Respected Advisor
Posts: 3,887

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

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.

Super User
Posts: 10,483

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

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.

Contributor
Posts: 35

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

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!
☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

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