Chapter Contents

Previous

Next
SAS/AF Software: Class Dictionary

Using the SAS Logical Class

When you instantiate a SAS Logical object, only the object identifier is created. You then add information about a SAS data file or data view to the object. This step is referred to as initializing the object. To initialize a SAS Logical object, use the _getMembers or _loadMembers method. This example creates a SAS Logical object, LOGOBJ, and initializes it to any currently defined librefs and filerefs except the SASHELP and SASUSER librefs:

logclass=loadclass
         ('sashelp.fsp.logical.class');
logobj=instance(logclass);
memberlist=makelist();
call send(logobj, '_get_members_', memberlist,
          "name='^sashelp ^sasuser'");

If you list the contents of MEMBERLIST, you see

( ( NAME='WORK'
    ENGINE='V611'
    PATH='pathname/saswork'
    TYPE='LIBRARY'
    SERVER=''
    DATA_REP=''
   )[2697]
  ( NAME='LIB'
    ENGINE='V611'
    PATH='/u/sasjmp'
    TYPE='LIBRARY'
    SERVER=''
    DATA_REP=''
   )[2699]
  ( NAME='EX'
    ENGINE='V611'
    PATH='pathname'
    TYPE='LIBRARY'
    SERVER=''
    DATA_REP=''
   )[2701]
  ( NAME='MAPS'
    ENGINE='V611'
    PATH='(pathname pathname)'
    TYPE='LIBRARY'
    SERVER=''
    DATA_REP=''
   )[2703]
  ( NAME='EFILE'
    ENGINE=' '
    PATH='pathname/external-file'
    TYPE='UNKNOWN_FILE'
    SERVER=''
    DATA_REP=''
   )[2705]
 )[2653]

When _getMembers was called for LOGOBJ, the librefs, WORK, LIB, EX, and MAPS, were allocated. In addition, the fileref, EFILE, was allocated.


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.