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).
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.
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
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.
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 SASKiwi said
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 SASKiwi.
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.
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.
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.
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.
Ready to level-up your skills? Choose your own adventure.