Previous Page | Next Page

The CATALOG Procedure

COPY Statement

Copies some or all of the entries in one catalog to another catalog.
Restriction: A COPY statement's effect ends at a RUN statement or at the beginning of a statement other than the SELECT or EXCLUDE statement.
Tip: Use SELECT or EXCLUDE statements, but not both, after the COPY statement to limit which entries are copied.
Tip: You can copy entries from multiple catalogs in a single PROC step, not just the one specified in the PROC CATALOG statement.
Tip: The ENTRYTYPE= option does not require a forward slash (/) in this statement.
Featured in: Copying, Deleting, and Moving Catalog Entries from Multiple Catalogs

COPY OUT=<libref.>catalog <options>;

Task Option
Restrict processing to one type of entry ENTRYTYPE=
Copy from a different catalog in the same step IN=
Enables concurrent users to copy to the same catalog at the same time LOCKCAT=
Move (copy and then delete) a catalog entry MOVE
Copy entries to a new catalog (overwriting the catalog if it already exists) NEW
Protect several types of SAS/AF entries from being edited with PROC BUILD NOEDIT
Not copy source lines from a PROGRAM, FRAME, or SCL entry NOSOURCE

Required Arguments


names the catalog to which entries are copied.



restricts processing to one entry type for the current COPY statement and any subsequent SELECT or EXCLUDE statements.

See: The ENTRYTYPE= Option
See also: Specifying an Entry Type

specifies the catalog to copy.

Interaction: The IN= option overrides a CATALOG= argument that was specified in the PROC CATALOG statement.
Featured in: Copying, Deleting, and Moving Catalog Entries from Multiple Catalogs

specifies whether to enable more than one user to copy to the same catalog at the same time. Using LOCKCAT=SHARE locks individual entries rather than the entire catalog, which enables greater throughput. The default is LOCKCAT=EXCLUSIVE, which locks the entire catalog to one user.

Note:   Using the LOCKCAT=SHARE option can lessen performance if used in a single-user environment because of the overhead associated with locking and unlocking each entry.  [cautionend]


deletes the original catalog or entries after the new copy is made.

Interaction: When MOVE removes all entries from a catalog, the procedure deletes the catalog from the library.

overwrites the destination (specified by OUT=) if it already exists. If you omit NEW, PROC CATALOG updates the destination. For information about using the NEW option with concatenated catalogs, see Catalog Concatenation.


prevents the copied version of the following SAS/AF entry types from being edited by the BUILD procedure:


Restriction: If you specify the NOEDIT option for an entry that is not one of these types, it is ignored.
Tip: When creating SAS/AF applications for other users, use NOEDIT to protect the application by preventing certain catalog entries from being altered.
Featured in: Copying, Deleting, and Moving Catalog Entries from Multiple Catalogs

omits copying the source lines when you copy a SAS/AF PROGRAM, FRAME, or SCL entry.

Alias: NOSRC
Restriction: If you specify this option for an entry other than a PROGRAM, FRAME, or SCL entry, it is ignored.

Previous Page | Next Page | Top of Page