The IML storage catalog is a specially structured SAS file that is located in a SAS data library and contains entries that are either matrices or SAS/IML modules. Once a matrix or module has been stored in a specific release of SAS, on a specific host, there is no way to directly port the IML Storage catalog to a different host and/or release of SAS. The catalog needs to be recreated in the current IML environment.
If you do not have the original source code that created the stored matrices, the following steps will be needed to store the matrices in the current IML environment:
Using the host and release of SAS under which the matrices were created, use the LOAD statement to load the matrices into IML.
Create SAS data sets from these matrices using the CREATE and APPEND statements in IML.
If the destination is the same host, proceed to step 4. If the data set needs to be used on a different host you will need to create a SAS transport file. To create this transport file use PROC COPY with the XPORT engine. This approach will allow the data sets to be moved to any operating system and any release of SAS.
For example:
/* The example below creates a transport */
/* file with the XPORT engine */
Libname trans xport 'host file name';
libname source 'location of input data';
proc copy in=source out=trans mt=data;
select dsn; **<-- This is the name of the data set which is to be transported;
run;
/* The example below restores the transport */
/* file on the target host */
Libname trans xport 'host file name';
libname newlib 'location to store data';
proc copy in=trans out=new;
run;
Create matrices from the data sets using the USE and READ statements.
STORE the matrices in the current IML environment.
Stored modules can not be recreated without the original source code.