How do I compile macros into sas7bdat libraries?
In you receive the message
ERROR: Catalogs are not presently supported for SAS7BDAT libraries
ERROR: The macro was not compiled
then this is probably because you have changed the default engine in a Altair SLC configuration file using something of the form –ENGINE SAS7BDAT.
This would mean that any LIBNAME statement would attempt to read and write sas7bdat files instead of wpd format files and that any catalog creation would attempt to read and write SAS catalog format files instead of Altair SLC catalog files.
Altair SLC can only read and write sas7bdat files for the purposes of migration or interoperability but cannot modify or update the internal contents of a SAS proprietary structure. Altair SLC cannot read or write SAS catalog file formats and that includes user-defined formats and style templates.
We would recommend you use the default setting for –ENGINE and if you need to read sas7bdat datasets then do so by explicitly stating the engine for that library reference using a LIBNAME statement of the form:
LIBNAME SASLIB SAS7BDAT "<path_to_folder>";
and even then take a copy of the sas7bdat and create a temporary WPD dataset before processing that dataset with any updates, appends or modifications.
Once you are using the WPD engine again you should be able to compile your macros into catalog files and re-use them later using the MSTORED and SAMSTORE system options. This also applies to any user-defined formats using PROC FORMAT that may have been compiled into a library in a permanent location somewhere.