Chapter Contents |
Previous |
Next |
SAS Library: _copyMember |
Syntax | |
Examples | |
Example 1: Copying a Member | |
Example 2: Creating a New SAS Catalog Object with _copyMember | |
Example 3: Creating a SAS Data File Object with _copyMember |
Syntax |
CALL SEND (library-object-id, '_copyMember', source-member-name, target-libref<, member-type><, new-object-id>); |
Argument | Type | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
source-member-name |
C | specifies the SAS data file or catalog that will be copied; must be a one-level name | ||||||||
target-libref |
C | specifies the libref of the target library for the copy | ||||||||
member-type |
C | specifies the member type:
|
||||||||
new-object-id |
N | if included, returns the object identifier for the new object associated
with target-member-name. If you are copying a catalog, the new-object-id will be a SAS Catalog object. If you are copying a
SAS data file, new-object-id will be a SAS Data File object.
If the copy fails, the value of new-object-id is
0 . |
Examples |
Suppose that the library associated with the LIBOBJ2 SAS Library object contains a catalog named GSEG and a data set named COSTS:
( ( LIBNAME='LIB' MEMNAME='COSTS' MEMTYPE='DATA' )[2645] ( LIBNAME='LIB' MEMNAME='GSEG' MEMTYPE='CATALOG' )[2647] )[2639]
This example copies the GSEG catalog to a new catalog, NEWCAT, in LIBOBJ2:
libclass=loadclass ('sashelp.fsp.library.class'); libobj2=instance(libclass); call send(libobj2, '_assign_', 'lib', 'pathname'); call send(libobj2, '_copy_member_', 'gseg', 'newcat', 'catalog');
Use _loadMembers to get the members associated with LIBOBJ2:
call send(libobj2, '_load_members_', memberlist);
If you list the contents of MEMBERLIST, you see that NEWCAT has been added:
( ( LIBNAME='LIB' MEMNAME='COSTS' MEMTYPE='DATA' )[2647] ( LIBNAME='LIB' MEMNAME='GSEG' MEMTYPE='CATALOG' )[2645] ( LIBNAME='LIB' MEMNAME='NEWCAT' MEMTYPE='CATALOG' )[2661] )[2639]
This example copies the GSEG catalog to a new catalog, NEWCAT2, in LIBOBJ2 and creates a SAS Catalog object, CATOBJ:
libclass=loadclass ('sashelp.fsp.library.class'); libobj2=instance(libclass); call send(libobj2, '_assign_', 'lib', 'pathname'); call send(libobj2, '_copy_member_', 'gseg', 'newcat2', 'catalog', catobj);
If you use PUTLIST to list the contents of CATOBJ, you see that it is associated with LIB.NEWCAT2:
( _class=2649 DESC='SAS Catalog Class' FULLNAME='LIB.NEWCAT2' LIBRARY=<invalid list id>[0] ATTRIBUTES=<invalid list id>[0] )[2663]
In addition, if you use _loadMEMBERS to get the members associated with LIBOBJ2, you see that NEWCAT2 has been added to the library:
( ( LIBNAME='LIB' MEMNAME='COSTS' MEMTYPE='DATA' )[2661] ( LIBNAME='LIB' MEMNAME='GSEG' MEMTYPE='CATALOG' )[2645] ( LIBNAME='LIB' MEMNAME='NEWCAT' MEMTYPE='CATALOG' )[2647] ( LIBNAME='LIB' MEMNAME='NEWCAT2' MEMTYPE='CATALOG' )[2667] )[2639]
If you copy the COSTS data set, a SAS Data File object is created. This example copies COSTS to NEWDATA and creates the SAS Data File object, DFILEOBJ:
call send(libobj2, '_copy_member_', 'costs', 'newdata', 'data', dfileobj);
If you list the contents of DFILEOBJ, you see that this SAS Data File object is associated with LIB.NEWDATA:
( _class=2669 DESC='SAS Datafile Class' TYPE='' FULLNAME='LIB.NEWDATA' LIBRARY=<invalid list id>[0] ATTRIBUTES=<invalid list id>[0] MEMTYPE='DATA' )[2675]
In addition, if you use _loadMEMBERS to get the members associated with LIBOBJ2, you see that NEWDATA has been added:
( ( LIBNAME='LIB' MEMNAME='COSTS' MEMTYPE='DATA' )[2667] ( LIBNAME='LIB' MEMNAME='GSEG' MEMTYPE='CATALOG' )[2647] ( LIBNAME='LIB' MEMNAME='NEWCAT' MEMTYPE='CATALOG' )[2645] ( LIBNAME='LIB' MEMNAME='NEWCAT2' MEMTYPE='CATALOG' )[2661] ( LIBNAME='LIB' MEMNAME='NEWDATA' MEMTYPE='DATA' )[2681] )[2639]
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.