MIGRATE Procedure

Example 5: Migrating from a SAS®9 Release with Incompatible Catalogs

Features:

IN=

OUT=

Notes: You are encouraged to run PROC MIGRATE with validation tools. See Migrating a Library with Validation Tools .

To learn whether this is the correct PROC MIGRATE example for your migration, use the PROC MIGRATE Calculator on the SAS Web site at http://support.sas.com/rnd/migration/planning/files/migratecalc/

Details

If you are migrating from SAS®9 or later (for example, migrating from SAS 9.1.3 to SAS 9.2), then SLIBREF= is not required. If you have incompatible catalogs, specify the SAS/CONNECT or SAS/SHARE server libref in the IN= argument and omit the SLIBREF= argument.
In this example, the following is demonstrated:
  • The source and target libraries can be on the same computer or on different computers.
  • The SLIBREF= argument is not used. (See Using the SLIBREF= Option for important information and to learn whether SLIBREF= is required.)
  • The IN= argument accesses all of the supported file types in the source library, including incompatible catalogs, by using SAS/CONNECT or SAS/SHARE software. This example uses SAS/CONNECT software. The SAS/CONNECT or SAS/SHARE server that you assign to the IN= argument must be SAS 9.1.3 or later.

Program

signon serv-ID sascmd='my-sas-invocation-command';
rsubmit;
libname source <engine> 'source-library-pathname';
endrsubmit;
libname source <engine> server=serv-ID;
libname target <engine> 'target-library-pathname';
proc migrate in=source out=target <options>;
run;

Program Description

From a session in the current release of SAS, submit the SIGNON command to invoke a SAS/CONNECT server session.Note that if you are working across computers, you might specify a machine name in the server ID.
signon serv-ID sascmd='my-sas-invocation-command';
Within this remote session, assign a libref to the source library that contains the library members to be migrated.Use the RSUBMIT and ENDRSUBMIT commands for SAS/CONNECT.
rsubmit;
libname source <engine> 'source-library-pathname';
endrsubmit;
In the local (client) session in the current release, assign the same source libref as in step 2. But do not assign the libref to a physical location. Instead, specify the SERVER= option with the server ID (in this example, serv-ID) that you assigned in the SIGNON command in step 1.
libname source <engine> server=serv-ID;
Assign the target library.
libname target <engine> 'target-library-pathname';
Use PROC MIGRATE.
proc migrate in=source out=target <options>;
run;