Contents Developing Windows Clients  

Libref Object

Manipulates and enumerates members of a SAS library.

Libref Full Description

Attributes

Parent Property
Name Property
Levels Property
IsReadOnly Property
IsSequential Property
IsTemp Property

Methods

LevelInfo Method
DeleteMember Method
RenameMember Method

Exceptions

LibrefOpenMember Error
LibrefNoMember Error
LibrefInvalidName Error

Enumerations

LevelInfoIndex Enumeration
EngineAttrIndex Enumeration

Constants

LibrefFileAccessCreate Constant
LibrefFileAccessDelete Constant
LibrefFileAccessRename Constant
LibrefFileAccessAlterDef Constant
LibrefFileAccessReadDir Constant
LibrefFileAccessViewsAsData Constant
LibrefFileAccessGen Constant
LibrefFileAccessYZBEngine Constant
LibrefFileAccessGenNative Constant
LibrefRecordAccessAdd Constant
LibrefRecordAccessDelete Constant
LibrefRecordAccessUpdate Constant
LibrefRecordAccessInsert Constant
LibrefRecordAccessLoseCurrentOnAdd Constant
LibrefKeyedAccessHashed Constant
LibrefKeyedAccessIndexed Constant
LibrefKeyedAccessCreate Constant
LibrefKeyedAccessDelete Constant
LibrefByteAccessLocate Constant
LibrefAccessOrderRandom Constant
LibrefAccessOrderSequential Constant
LibrefAccessOrderIndexed Constant
LibrefAccessOrderSkipSequential Constant
LibrefHeaderAccessReadType Constant
LibrefHeaderAccessSetType Constant
LibrefHeaderAccessReadLabel Constant
LibrefHeaderAccessSetLabel Constant
LibrefHeaderAccessReadNumOfRecs Constant
LibrefHeaderAccessRecordOrderInfo Constant
LibrefHeaderAccessIndexes Constant
LibrefDictionaryAccessVarLabels Constant
LibrefDictionaryAccessFormats Constant
LibrefDictionaryAccessInformats Constant
LibrefDictionaryAccessIndex Constant
LibrefDictionaryAccessRenameVars Constant
LibrefDictionaryAccessModifyVarLabel Constant
LibrefDictionaryAccessModifyFormat Constant
LibrefDictionaryAccessModifyInformat Constant
LibrefDataTypeFloat Constant
LibrefDataTypeFixedChar Constant
LibrefDataTypeCharVarying Constant
LibrefDataTypeInt Constant
LibrefConcurrencyFileLocking Constant
LibrefConcurrencyPageLocking Constant
LibrefConcurrencyRecordLocking Constant
LibrefConcurrencyLockDatabase Constant
LibrefConcurrencyReadDirtyData Constant
LibrefConcurrencyNoWait Constant
LibrefIntegritySetConstraints Constant
LibrefAuthorizationRead Constant
LibrefAuthorizationWrite Constant
LibrefAuthorizationAlter Constant
LibrefAuthorizationEncrypt Constant
LibrefDataModelRelational Constant
LibrefDataModelNetwork Constant
LibrefDataModelHierarchical Constant
LibrefRelationalOpOrderBy Constant
LibrefRelationalOpJoin Constant
LibrefRelationalOpSemiJoin Constant
LibrefRelationalOpUnion Constant
LibrefRelationalOpIntersection Constant
LibrefRelationalOpSQLPassthru Constant
LibrefDirectoryAccessFullDir Constant
LibrefDirectoryAccessSeqOnly Constant
LibrefParserExitLibname Constant
LibrefParserExitInputDataSet Constant
LibrefParserExitOutputDataSet Constant
LibrefCatalogAccessSupported Constant
LibrefCatalogAccessEntryCount Constant
LibrefCatalogAccessLongEntryNames Constant
LibrefCatalogAccessLongEntryDesc Constant
LibrefMiscOptionBufno Constant
LibrefMiscOptionBufsize Constant
LibrefMiscOptionCompress Constant
LibrefMiscOptionReuse Constant
LibrefMiscOptionFilefmt Constant
LibrefMiscOptionSortedby Constant
LibrefMiscOptionEncoding Constant
LibrefMiscOptionSortseq Constant
LibrefMiscOptionDataTranslation Constant
LibrefMiscOptionAuditTrail Constant
LibrefLevelLibraryAttrIsReadOnly Constant
LibrefLevelLibraryAttrIsSequential Constant
LibrefLevelLibraryAttrIsTemp Constant

Description

This object represents a libref assignment within the SAS Workspace. It enables you to manipulate the members of a SAS library. Libraries are collections of SAS files. This object can also enumerate the contents of a SAS library and return descriptive information about the libref.


Libref_1_1 Object

Manipulates and enumerates members of a SAS library.

Libref_1_1 Full Description

Attributes

Parent Property
Name Property
Levels Property
IsReadOnly Property
IsSequential Property
IsTemp Property

Methods

LevelInfo Method
DeleteMember Method
RenameMember Method
DeleteMember_2 Method
RenameMember_2 Method

Exceptions

LibrefOpenMember Error
LibrefNoMember Error
LibrefInvalidName Error
LibrefNoWrite Error
LibrefInUse Error

Enumerations

LevelInfoIndex Enumeration
EngineAttrIndex Enumeration

Constants

LibrefFileAccessCreate Constant
LibrefFileAccessDelete Constant
LibrefFileAccessRename Constant
LibrefFileAccessAlterDef Constant
LibrefFileAccessReadDir Constant
LibrefFileAccessViewsAsData Constant
LibrefFileAccessGen Constant
LibrefFileAccessYZBEngine Constant
LibrefFileAccessGenNative Constant
LibrefRecordAccessAdd Constant
LibrefRecordAccessDelete Constant
LibrefRecordAccessUpdate Constant
LibrefRecordAccessInsert Constant
LibrefRecordAccessLoseCurrentOnAdd Constant
LibrefKeyedAccessHashed Constant
LibrefKeyedAccessIndexed Constant
LibrefKeyedAccessCreate Constant
LibrefKeyedAccessDelete Constant
LibrefByteAccessLocate Constant
LibrefAccessOrderRandom Constant
LibrefAccessOrderSequential Constant
LibrefAccessOrderIndexed Constant
LibrefAccessOrderSkipSequential Constant
LibrefHeaderAccessReadType Constant
LibrefHeaderAccessSetType Constant
LibrefHeaderAccessReadLabel Constant
LibrefHeaderAccessSetLabel Constant
LibrefHeaderAccessReadNumOfRecs Constant
LibrefHeaderAccessRecordOrderInfo Constant
LibrefHeaderAccessIndexes Constant
LibrefDictionaryAccessVarLabels Constant
LibrefDictionaryAccessFormats Constant
LibrefDictionaryAccessInformats Constant
LibrefDictionaryAccessIndex Constant
LibrefDictionaryAccessRenameVars Constant
LibrefDictionaryAccessModifyVarLabel Constant
LibrefDictionaryAccessModifyFormat Constant
LibrefDictionaryAccessModifyInformat Constant
LibrefDataTypeFloat Constant
LibrefDataTypeFixedChar Constant
LibrefDataTypeCharVarying Constant
LibrefDataTypeInt Constant
LibrefConcurrencyFileLocking Constant
LibrefConcurrencyPageLocking Constant
LibrefConcurrencyRecordLocking Constant
LibrefConcurrencyLockDatabase Constant
LibrefConcurrencyReadDirtyData Constant
LibrefConcurrencyNoWait Constant
LibrefIntegritySetConstraints Constant
LibrefAuthorizationRead Constant
LibrefAuthorizationWrite Constant
LibrefAuthorizationAlter Constant
LibrefAuthorizationEncrypt Constant
LibrefDataModelRelational Constant
LibrefDataModelNetwork Constant
LibrefDataModelHierarchical Constant
LibrefRelationalOpOrderBy Constant
LibrefRelationalOpJoin Constant
LibrefRelationalOpSemiJoin Constant
LibrefRelationalOpUnion Constant
LibrefRelationalOpIntersection Constant
LibrefRelationalOpSQLPassthru Constant
LibrefDirectoryAccessFullDir Constant
LibrefDirectoryAccessSeqOnly Constant
LibrefParserExitLibname Constant
LibrefParserExitInputDataSet Constant
LibrefParserExitOutputDataSet Constant
LibrefCatalogAccessSupported Constant
LibrefCatalogAccessEntryCount Constant
LibrefCatalogAccessLongEntryNames Constant
LibrefCatalogAccessLongEntryDesc Constant
LibrefMiscOptionBufno Constant
LibrefMiscOptionBufsize Constant
LibrefMiscOptionCompress Constant
LibrefMiscOptionReuse Constant
LibrefMiscOptionFilefmt Constant
LibrefMiscOptionSortedby Constant
LibrefMiscOptionEncoding Constant
LibrefMiscOptionSortseq Constant
LibrefMiscOptionDataTranslation Constant
LibrefMiscOptionAuditTrail Constant
LibrefLevelLibraryAttrIsReadOnly Constant
LibrefLevelLibraryAttrIsSequential Constant
LibrefLevelLibraryAttrIsTemp Constant

Description

V1.1 of the Libref interface includes new versions of the following methods: DeleteMember_2 and RenameMember_2.



Readonly Property Parent

The data service containing this Libref object.

Type: DataService

Description

This property allows you to navigate back to the DataService that is the parent of this Libref object.

Example

Usage


Readonly Property Name

The libref name.

Type: String

Description

This read-only property contains the libref name. This name was chosen when the libref was assigned.

Example

Usage


Readonly Property Levels

The number of concatenation levels in the libref or zero for an unconcatenated libref.

Type: Long

Description

This property contains the number of concatenation levels for this libref. Note that the SAS System distinguishes between a concatenated libref with one level and an unconcatenated libref. If the library is not concatenated, then the value of this property is zero.

Example

Usage


Readonly Property IsReadOnly

An indicator of whether this libref is read-only.

Type: Boolean

Description

This property describes whether the libref is associated with a read-only library. If the library is a concatenated library, then the attribute refers to the library as a whole. For the attributes of a specific library within the concatenation, refer to the LevelInfo::libraryAttrs parameter of the LevelInfo method.

Example

Usage


Readonly Property IsSequential

An indicator of whether datasets for libref must be accessed sequentially.

Type: Boolean

Description

This property describes whether or not datasets in this libref are limited to sequential access. If the library is a concatenated library, then the attribute refers to the library as a whole. For the attributes of a specific library within the concatenation, refer to the LevelInfo::libraryAttrs parameter of the LevelInfo method.

Example

p

Usage


Readonly Property IsTemp

An indicator of whether this libref represents a temporary library.

Type: Boolean

Description

This property describes whether or not the library associated with this libref is temporary. If so, datasets that you create in this library will be deleted when the SAS workspace is closed (Close). If the library is a concatenated library, then the attribute refers to the library as a whole. For the attributes of a specific library within the concatenation, refer to the LevelInfo::libraryAttrs parameter of the LevelInfo method.

Example

Usage


Method LevelInfo

Supplies information about each concatenation level of the library.

Description

This method returns supervisor-, engine-, and system-specific information about a library. For concatenated libraries, this will involve information about each concatenation level. Information about each concatenation level can be returned in a single call because the output parameters are arrays. For a libref which is not concatenated, these arrays have only a single element.

This method returns six output arrays, of which the last two are always used in conjunction. The LevelInfo::fieldInclusionMask parameter indicates which of the individual output arrays are filled by the call. The one-dimensional output arrays contain one element for each level in a concatenated libref. Thus, all the one-dimensional output arrays are the same size and the complete information about a level in the libref is available from the corresponding (same index) elements of each array. These arrays have only one row if the library is not concatenated. When an output array is not filled, it contains zero elements on return from the call.

The infoPropertyNames and infoPropertyValues arrays are somewhat different. The elements in the infoPropertyNames and infoPropertyValues arrays represent name/value pairs. These pairs are the names and corresponding values of engine- or host- dependent libname properties. For each name returned as an element in the infoPropertyNames array, there is a corresponding element in the infoPropertyValues array that gives the value for the named property.

Just like the other returned arrays, for a library that is not concatenated, there is only one row returned in the infoPropertyNames and infoPropertyValues arrays. For concatenated libraries, one row is returned for each level in the concatenation. All levels may not have the same number of properties to return. However, the returned array must have a fixed number of columns for every row. Therefore, some of the elements of the infoPropertyNames array may be a NULL string. If this is the case, then there is a NULL string in the corresponding element of the infoPropertyValues array. You cannot depend on the size of the array to indicate how many properties are being returned. Each row of these arrays can potentially have a different number of elements. Therefore, you must traverse each row, retrieving the names and values from each column, until you reach a column with a NULL string. Once you reach a column with a NULL string, there are no more properties specified in any of the remaining columns of that row.

Usage

Parameters

Name Direction Type Description
fieldInclusionMask  in  Boolean(index)  This input parameter determines which of the six array output parameters are filled by the call. You must supply an array of either zero or five (LevelInfoIndexNumIndices) elements.

The simplest approach is to supply a zero-element array for the mask. If you do this, then all of the output arrays will be filled.

You can make the call somewhat more efficient by indicating which output parameters need to be filled and which don't.

If you supply a five-element mask array, then each element indicates whether or not the corresponding output parameter will be filled by the call. The correspondence between mask array elements and output parameters is defined by the LevelInfoIndex enumeration. If, for example, you don't need the engine attributes, then you should set mask[LevelInfoIndexEngineAttr] to false. The final element (with an index of LevelInfoIndexInfoProperties) differs from the others in that it indicates whether the final two array output parameters (LevelInfo::infoPropertyNames and LevelInfo::infoPropertyValues) will be used; they are not meaningful individually.  

engineName  out  String(index)  This array output parameter returns the name of the engine for each concatenation level of this libref.  
engineAttrs  out  Long(row,col)  This two-dimensional array output parameter returns engine attributes for each concatenation level of the libref. The rows represent concatenation levels. The columns represent individual attributes. The EngineAttrIndex enumeration identifies the particular kind of attribute for each column.

Some columns represent bit masks and others are integer limits. Many of the masks have unused positions that may become defined in future versions of the SAS System. Future versions of SAS may also increase the number columns in order to communicate additional engine attributes.  

libraryAttrs  out  Long(index)  This output array returns information about the library associated with each concatenation level of the libref.

Each element contains a bit mask which may contain any combination of the following flags LibrefLevelLibraryAttrIsReadOnly, LibrefLevelLibraryAttrIsSequential, and LibrefLevelLibraryAttrIsTemp.  

physicalName  out  String(index)  This array output parameter returns a host- and engine-dependent string which identifies the library associated with each concatenation level of this libref. For the BASE engine, it will be the host operating system's physical file name for the library.  
infoPropertyNames  out  String(row,col)  The two-dimensional array output parameter returns property names for each concatenation level of the libref. The properties are system-dependent and give information about the library. The rows of the array represent concatenation levels and the columns represent properties. The number of columns varies depending on the environment of the server.

There will be a matching property value element in the LevelInfo::infoPropertyValues parameter.  

infoPropertyValues  out  String(row,col)  The two-dimensional array output parameter returns property values for each concatenation level of the libref. The properties are system-dependent and give information about the library. The array will have the same number of rows and columns as the LevelInfo::infoPropertyNames parameter. The values are of the properties named in the corresponding element of that parameter.  

Errors Returned

LNameNoAssign

Example

See Also


Method DeleteMember

Deletes a file.

Description

This method deletes a file.

Usage

Parameters

Name Direction Type Description
memberName  in  String  This parameter specifies the member name of the file to delete. The name must identify an existing member for the libref.  
memberType  in  String  This parameter specifies the member type of the file to delete. Any valid member type may be specified. If no member type is specified, the default type of DATA is used.  
alterPassword  in  String  If the SAS file is protected by an alter password, you must specify this password when deleting the file. If you don't need a password, then you can pass an empty (zero-length) string.  

Errors Returned

NoLock

InvalidPassword

LibrefOpenMember

LibrefNoMember

LibrefInvalidName

Example

See Also


Method RenameMember

Renames a file.

Description

This method renames a file.

Usage

Parameters

Name Direction Type Description
oldMemberName  in  String  This parameter specifies the original member name of the file that you want to rename. The name must identify an existing member for the libref.  
newMemberName  in  String  This parameter specifies the new member name for the file that you want to rename.  
memberType  in  String  This parameter specifies the member type of the file to rename. Any valid member type may be specified. If no member type is specified, the default type of DATA is used.  
alterPassword  in  String  If the SAS file is protected by an alter password, you must specify this password when deleting the file. If you don't need a password, then you can pass an empty (zero-length) string.  

Example

See Also


Enum LibrefERRORS

LibrefOpenMember
Member is open.

Description
The file is currently open.

LibrefNoMember
File does not exist.

Description
The file does not exist.

LibrefInvalidName
Invalid file name.

Description
The specified file name is invalid.


Enum LevelInfoIndex

Indices to the fieldInclusionMask array parameter of the LevelInfo method.

Description

This enumeration defines indices to the LevelInfo::fieldInclusionMask array parameter. When passed, this mask indicates whether or not each of the corresponding output parameters should be filled.

Usage

Member Description
LevelInfoIndexEngineName  The mask element which corresponds to the array of engine names (LevelInfo::engineName).  
LevelInfoIndexEngineAttr  The mask element which corresponds to the array of engine attributes (LevelInfo::engineAttrs).  
LevelInfoIndexLibraryAttr  The mask element which corresponds to the array of library attributes (LevelInfo::libraryAttrs).  
LevelInfoIndexPhysicalName  The mask element which corresponds to the array of physical names (LevelInfo::physicalName).  
LevelInfoIndexInfoProperties  The mask element which corresponds to the arrays of system-specific property names and values (LevelInfo::infoPropertyNames and LevelInfo::infoPropertyValues).  
LevelInfoIndexNumIndices  The number of elements in the field inclusion mask for the LevelInfo method.  


Enum EngineAttrIndex

Column indexes into the engineAttributes array returned from the LevelInfo method.

Description

This enumeration provides named constants that identify column indexes for the engine attribute array output parameter (LevelInfo::engineAttrs) array that is returned by the LevelInfo method. Each column in the array describes a capability, limit, or feature set of an IO engine in SAS Multiple Engine Architecture.

In V9, there were 5 new attributes added. Instead of creating a new version of the interface, the new indices are documented here by number.

Index 23 is the I/O type possible in the engine.

Index 24 is the data types supported in the engine.

Index 25 is the maximum format name length in the engine.

Index 26 is the maximum number of variables for the engine.

Index 27 is the maximum number of observations for the engine.

Usage

Member Description
EngineAttrIndexFileAccessFlags  The index of the file access column. This column describes the level of file access supported by a particular engine as a bit mask of LibrefFileAccessCreate, LibrefFileAccessDelete, LibrefFileAccessRename, LibrefFileAccessAlterDef, LibrefFileAccessReadDir, LibrefFileAccessViewsAsData, LibrefFileAccessGen, and LibrefFileAccessGenNative.  
EngineAttrIndexRecordAccessFlags  The index of the record-level access column. This column describes the record-level access supported by a particular engine as a bit mask of LibrefRecordAccessAdd, LibrefRecordAccessDelete, LibrefRecordAccessUpdate, LibrefRecordAccessInsert, and LibrefRecordAccessLoseCurrentOnAdd.  
EngineAttrIndexKeyedAccessFlags  The index of the keyed access column. This column describes the keyed access operations supported by a particular engine as a bit mask of LibrefKeyedAccessHashed, LibrefKeyedAccessIndexed, LibrefKeyedAccessCreate, and LibrefKeyedAccessDelete.  
EngineAttrIndexByteAccessFlags  The index of the byte access column. This column describes the byte addressing supported by a particular engine as a bit mask. Currently, only the LibrefByteAccessLocate flag value is used with this bit mask.  
EngineAttrIndexAccessOrderFlags  The index of the access order column. This column describes the orders in which record may be accessed by a particular engine as a bit mask of LibrefAccessOrderRandom, LibrefAccessOrderSequential, LibrefAccessOrderIndexed, and LibrefAccessOrderSkipSequential.  
EngineAttrIndexHeaderAccessFlags  The index of the header access column. This column describes the level of access to the dataset header allowed by a particular engine as a bit mask of LibrefHeaderAccessReadType, LibrefHeaderAccessSetType, LibrefHeaderAccessReadLabel, LibrefHeaderAccessSetLabel, LibrefHeaderAccessReadNumOfRecs, LibrefHeaderAccessRecordOrderInfo, and LibrefHeaderAccessIndexes.  
EngineAttrIndexDictionaryAccessFlags  The index of the dictionary access column. This column describes the level of access to the data dictionary allowed by a particular engine as a bit mask of LibrefDictionaryAccessVarLabels, LibrefDictionaryAccessFormats, LibrefDictionaryAccessInformats, LibrefDictionaryAccessIndex, LibrefDictionaryAccessRenameVars, LibrefDictionaryAccessModifyVarLabel, LibrefDictionaryAccessModifyFormat, and LibrefDictionaryAccessModifyInformat.  
EngineAttrIndexDataTypeFlags  The index of the data type flags column. This column describes the data types supported by a particular engine as a bit mask of LibrefDataTypeFixedChar, LibrefDataTypeCharVarying, and LibrefDataTypeInt.  
EngineAttrIndexConcurrencyFlags  The index of the concurrency flags column. This column describes the level of concurrent access supported by a particular engine as a bit mask of LibrefConcurrencyFileLocking, LibrefConcurrencyPageLocking, LibrefConcurrencyRecordLocking, LibrefConcurrencyLockDatabase, LibrefConcurrencyReadDirtyData, and LibrefConcurrencyNoWait.  
EngineAttrIndexIntegrityFlags  The index of the integrity flags column. This column describes the level of support for integrity constraints by a particular engine as a bit mask of the constant IntegritySQLUndo and LibrefIntegritySetConstraints.  
EngineAttrIndexAuthorizationFlags  The index of the authorization flags column. This column describes the level of password support provided by a particular engine as a bit mask of LibrefAuthorizationRead, LibrefAuthorizationWrite, LibrefAuthorizationAlter, and LibrefAuthorizationEncrypt.  
EngineAttrIndexDataModelFlags  The index of the data model flags column. This column describes the data models supported by a particular engine as a bit mask of LibrefDataModelRelational, LibrefDataModelNetwork, and LibrefDataModelHierarchical.  
EngineAttrIndexRelationalOpFlags  The index of the relational operations flags column. This column describes the relational operations supported by a particular engine as a bit mask of LibrefRelationalOpOrderBy, LibrefRelationalOpJoin, LibrefRelationalOpSemiJoin, LibrefRelationalOpUnion, LibrefRelationalOpIntersection, and LibrefRelationalOpSQLPassthru.  
EngineAttrIndexMaxPhysicalNameLen  The index of the maximum physical name length column. This column specifies the maximum length for a physical name string (such as a directory pathname in a filesystem-based engine) supported by a particular engine.  
EngineAttrIndexDirectoryAccessFlags  The index of the directory access flags column. This column describes the access to directory services supported by a particular engine as a bit mask of LibrefDirectoryAccessFullDir and LibrefDirectoryAccessSeqOnly.  
EngineAttrIndexParserExitFlags  The index of the parser exit flags column. This column describes the level of support for parser exits provided by a particular engine as a bit mask of LibrefParserExitLibname, LibrefParserExitInputDataSet, and LibrefParserExitOutputDataSet.  
EngineAttrIndexCatalogAccessFlags  The index of the catalog access flags column. This column describes the level of support for SAS catalogs provided by a particular engine as a bit mask of LibrefCatalogAccessSupported, LibrefCatalogAccessEntryCount, LibrefCatalogAccessLongEntryNames, and LibrefCatalogAccessLongEntryDesc.  
EngineAttrIndexLoadingFlags  The index of the loading flags column. At present, there are no documented flag values for this column.  
EngineAttrIndexMiscOptionFlags  The index of the miscellaneous option flags column. This column describes miscellaneous engine options supported by a particular engine as a bit mask of LibrefMiscOptionBufno, LibrefMiscOptionBufsize, LibrefMiscOptionCompress, LibrefMiscOptionReuse, LibrefMiscOptionFilefmt, LibrefMiscOptionSortedby, LibrefMiscOptionEncoding, LibrefMiscOptionSortseq, LibrefMiscOptionDataTranslation, and LibrefMiscOptionAuditTrail.  
EngineAttrIndexMaxVarNameLen  The index of the maximum variable name length column. This column specifies the maximum length for a dataset variable name string supported by a particular engine.  
EngineAttrIndexMaxLabelLen  The index of the maximum label length column. This column specifies the maximum length for a dataset variable label string supported by a particular engine.  
EngineAttrIndexMaxMemberNameLen  The index of the maximum member name length column. This column specifies the maximum length for a library member name supported by a particular engine.  
EngineAttrIndexMaxCharacterVarLen  The index of the maximum character variable length column. This column specifies the maximum length of a character variable supported by a particular engine.  
EngineAttrIndexNumIndices  This constant identifies the number of documented columns in the LevelInfo::engineAttrs array for pre-V9 releases. In V9, the number of indices is 28. However, a user can always just read columns until they hit a null cell, rather than use the count.  


Enum LibrefCONSTANTS

LibrefFileAccessCreate
File creation is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexFileAccessFlags. This flag indicates that creation of new files is supported in this engine.

LibrefFileAccessDelete
File deletion is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexFileAccessFlags. This flag indicates that deletion of files is supported in this engine.

LibrefFileAccessRename
Renaming a file is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexFileAccessFlags. This flag indicates that renaming of files is supported in this engine.

LibrefFileAccessAlterDef
Altering definitions on a file is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexFileAccessFlags. This flag indicates that altering the definitions on a files is supported in this engine.

LibrefFileAccessReadDir
Reading the directory file is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexFileAccessFlags. This flag indicates that reading the directory file is supported in this engine.

LibrefFileAccessViewsAsData
Accessing view files as data is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexFileAccessFlags. This flag indicates that accessing view files as data files is supported in this engine.

LibrefFileAccessGen
File generations are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexFileAccessFlags. This flag indicates that file generations are supported in this engine.

LibrefFileAccessYZBEngine

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexFileAccessFlags. This flag value is for internal processing only and should not be used by customers.

LibrefFileAccessGenNative
The support for generations uses native operating system capabilities.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexFileAccessFlags. This flag indicates that this engine's support for generations uses native operating system capabilities.

LibrefRecordAccessAdd
Adding records is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRecordAccessFlags. This flag indicates that adding records is supported in this engine.

LibrefRecordAccessDelete
Deleting records is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRecordAccessFlags. This flag indicates that deleting records is supported in this engine.

LibrefRecordAccessUpdate
Updating records is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRecordAccessFlags. This flag indicates that updating records is supported in this engine.

LibrefRecordAccessInsert
Inserting records is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRecordAccessFlags. This flag indicates that inserting records is supported in this engine.

LibrefRecordAccessLoseCurrentOnAdd
Adding records causes the engine to lose current position information.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRecordAccessFlags. This flag indicates that adding records causes the engine to lose current position information for an open dataset.

LibrefKeyedAccessHashed
Hashed keys are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexKeyedAccessFlags. This flag indicates that hashed keys are supported in this engine.

LibrefKeyedAccessIndexed
Indexed keys are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexKeyedAccessFlags. This flag indicates that indexed keys are supported in this engine.

LibrefKeyedAccessCreate
Creating new indexes is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexKeyedAccessFlags. This flag indicates that creating new indexes is supported in this engine.

LibrefKeyedAccessDelete
Deleting indexes is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexKeyedAccessFlags. This flag indicates that deleting indexes is supported in this engine.

LibrefByteAccessLocate
Access by byte location is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexByteAccessFlags. This flag indicates that access by byte location is supported in this engine.

LibrefAccessOrderRandom
Random access is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexAccessOrderFlags. This flag indicates that random access is supported in this engine.

LibrefAccessOrderSequential
Sequential access is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexAccessOrderFlags. This flag indicates that sequential access is supported in this engine.

LibrefAccessOrderIndexed
Indexed key access is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexAccessOrderFlags. This flag indicates that indexed key access is supported in this engine.

LibrefAccessOrderSkipSequential
Skip sequential access is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexAccessOrderFlags. This flag indicates that skip sequential access is supported in this engine.

LibrefHeaderAccessReadType
Reading type information is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexHeaderAccessFlags. This flag indicates that reading the type information is supported in this engine.

LibrefHeaderAccessSetType
Setting type information is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexHeaderAccessFlags. This flag indicates that setting the type information is supported in this engine.

LibrefHeaderAccessReadLabel
Reading label information is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexHeaderAccessFlags. This flag indicates that reading the label information is supported in this engine.

LibrefHeaderAccessSetLabel
Setting label information is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexHeaderAccessFlags. This flag indicates that setting the label information is supported in this engine.

LibrefHeaderAccessReadNumOfRecs
Obtaining the number of records is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexHeaderAccessFlags. This flag indicates that obtaining the number of records in the file is supported in this engine.

LibrefHeaderAccessRecordOrderInfo
Record order information is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexHeaderAccessFlags. This flag indicates that record order information is supported in this engine.

LibrefHeaderAccessIndexes
Listing of indexes is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexHeaderAccessFlags. This flag indicates that listing indexes is supported in this engine.

LibrefDictionaryAccessVarLabels
Variable labels are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDictionaryAccessFlags. This flag indicates that variable labels in the dictionary are supported in this engine.

LibrefDictionaryAccessFormats
Variable formats are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDictionaryAccessFlags. This flag indicates that variable formats in the dictionary are supported in this engine.

LibrefDictionaryAccessInformats
Variable informats are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDictionaryAccessFlags. This flag indicates that variable informats in the dictionary are supported in this engine.

LibrefDictionaryAccessIndex
Reading the INDEX flag is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDictionaryAccessFlags. This flag indicates that reading the INDEX flag in the dictionary is supported in this engine.

LibrefDictionaryAccessRenameVars
Renaming variables is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDictionaryAccessFlags. This flag indicates that renaming variables in the dictionary is supported in this engine.

LibrefDictionaryAccessModifyVarLabel
Modifying variable labels is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDictionaryAccessFlags. This flag indicates that modifying variable labels in the dictionary is supported in this engine.

LibrefDictionaryAccessModifyFormat
Modifying variable formats is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDictionaryAccessFlags. This flag indicates that modifying variable formats in the dictionary is supported in this engine.

LibrefDictionaryAccessModifyInformat
Modifying variable informats is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDictionaryAccessFlags. This flag indicates that modifying variable informats in the dictionary is supported in this engine.

LibrefDataTypeFloat

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDataTypeFlags. Its use is obsolete.

LibrefDataTypeFixedChar
The fixed character data type is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDataTypeFlags. This flag indicates that the fixed character data type is supported in this engine.

LibrefDataTypeCharVarying
The character varying data type is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDataTypeFlags. This flag indicates that the character varying data type is supported in this engine.

LibrefDataTypeInt
The fixed point data type is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDataTypeFlags. This flag indicates that the fixed point data type is supported in this engine.

LibrefConcurrencyFileLocking
File level locking is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexConcurrencyFlags. This flag indicates that file level locking is supported in this engine.

LibrefConcurrencyPageLocking
Page level locking is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexConcurrencyFlags. This flag indicates that page level locking is supported in this engine.

LibrefConcurrencyRecordLocking
Record level locking is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexConcurrencyFlags. This flag indicates that record level locking is supported in this engine.

LibrefConcurrencyLockDatabase
Locking the database is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexConcurrencyFlags. This flag indicates that locking the database is supported in this engine.

LibrefConcurrencyReadDirtyData
It is possible to read uncommitted data from other transactions.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexConcurrencyFlags. This flag indicates that it is possible to read uncommitted data from other transaction when using this engine.

LibrefConcurrencyNoWait
NoWait is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexConcurrencyFlags. This flag indicates that NoWait processing is supported in this engine.

LibrefIntegritySetConstraints
Integrity constraints are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexIntegrityFlags. This flag indicates that integrity constraints are supported in this engine.

LibrefAuthorizationRead
READ= is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexAuthorizationFlags. This flag indicates that the READ= option is supported in this engine.

LibrefAuthorizationWrite
WRITE= is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexAuthorizationFlags. This flag indicates that the WRITE= option is supported in this engine.

LibrefAuthorizationAlter
ALTER= is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexAuthorizationFlags. This flag indicates that the ALTER= option is supported in this engine.

LibrefAuthorizationEncrypt
ENCRYPT= is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexAuthorizationFlags. This flag indicates that the ENCRYPT= option is supported in this engine.

LibrefDataModelRelational
This engine accesses an underlying storage implementation based on the relational data model.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDataModelFlags. This flag indicates that the engine's underlying storage implementation is based on the relational data model.

LibrefDataModelNetwork
This engine accesses an underlying storage implementation based on the network data model.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDataModelFlags. This flag indicates that the engine's underlying storage implementation is based on the network data model.

LibrefDataModelHierarchical
This engine accesses an underlying storage implementation based on the hierarchical data model.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDataModelFlags. This flag indicates that model is supported in this engine. the engine's underlying storage implementation is based on the relational data model.

LibrefRelationalOpOrderBy
Order by operation is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRelationalOpFlags. This flag indicates that the order by operation is supported in this engine.

LibrefRelationalOpJoin
SQL join operation is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRelationalOpFlags. This flag indicates that the SQL join operation is supported in this engine.

LibrefRelationalOpSemiJoin
Semi-join operation is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRelationalOpFlags. This flag indicates that the semi-join operation is supported in this engine.

LibrefRelationalOpUnion
Union operation is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRelationalOpFlags. This flag indicates that the union operation is supported in this engine.

LibrefRelationalOpIntersection
Intersection operation is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRelationalOpFlags. This flag indicates that the intersection operation is supported in this engine.

LibrefRelationalOpSQLPassthru
SQL passthrough is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexRelationalOpFlags. This flag indicates that SQL queries can be passed through to this engine.

LibrefDirectoryAccessFullDir
Building the complete directory is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDirectoryAccessFlags. This flag indicates that building the complete directory is supported in this engine.

LibrefDirectoryAccessSeqOnly
Only sequential processing is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexDirectoryAccessFlags. This flag indicates that only sequential processing of the directory is supported in this engine.

LibrefParserExitLibname
Libname exits are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexParserExitFlags. This flag indicates that libname parser exits are supported in this engine.

LibrefParserExitInputDataSet
Input dataset exits are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexParserExitFlags. This flag indicates that input dataset parser exits are supported in this engine.

LibrefParserExitOutputDataSet
Output dataset exits are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexParserExitFlags. This flag indicates that output dataset parser exits are supported in this engine.

LibrefCatalogAccessSupported
Catalog access is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexCatalogAccessFlags. This flag indicates that catalog access is supported in this engine.

LibrefCatalogAccessEntryCount
Returning number of entries is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexCatalogAccessFlags. This flag indicates that returning the number of menu-showable entries is supported in this engine.

LibrefCatalogAccessLongEntryNames
Long entry names are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexCatalogAccessFlags. This flag indicates that long entry names are supported in this engine.

LibrefCatalogAccessLongEntryDesc
Long entry descriptions are supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexCatalogAccessFlags. This flag indicates that long entry descriptions are supported in this engine.

LibrefMiscOptionBufno
The BUFNO= option is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexMiscOptionFlags. This flag indicates that the BUFNO= option is supported in this engine.

LibrefMiscOptionBufsize
The BUFSIZE= option is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexMiscOptionFlags. This flag indicates that the BUFSIZE= option is supported in this engine.

LibrefMiscOptionCompress
The COMPRESS= option is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexMiscOptionFlags. This flag indicates that the COMPRESS= option is supported in this engine.

LibrefMiscOptionReuse
The REUSE= option is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexMiscOptionFlags. This flag indicates that the REUSE= option is supported in this engine.

LibrefMiscOptionFilefmt
The FILEFMT= option is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexMiscOptionFlags. This flag indicates that the FILEFMT= option is supported in this engine.

LibrefMiscOptionSortedby
The SORTEDBY= option is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexMiscOptionFlags. This flag indicates that the SORTEDBY= option is supported in this engine.

LibrefMiscOptionEncoding
ENCODING= option supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexMiscOptionFlags. This flag indicates that the ENCODING= option is supported in this engine.

LibrefMiscOptionSortseq
SORTSEQ= option supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexMiscOptionFlags. This flag indicates that the SORTSEQ= option is supported in this engine.

LibrefMiscOptionDataTranslation
Data translation is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexMiscOptionFlags. This flag indicates that data translation is supported in this engine.

LibrefMiscOptionAuditTrail
Audit trail is supported.

Description
This constant is a flag value for bit masks returned in the engine attributes column indexed by EngineAttrIndexMiscOptionFlags. This flag indicates that an audit trail is supported in this engine.

LibrefLevelLibraryAttrIsReadOnly
The library is read-only.

Description

LibrefLevelLibraryAttrIsSequential
The library supports only sequential access.

Description

LibrefLevelLibraryAttrIsTemp
The library is temporary.

Description
The library is temporary. Datasets that you create in this library will be deleted when the SAS workspace is closed (Close).


Method DeleteMember_2

Deletes a file.

Description

V2.0 of DeleteMember adds support for returning the following exceptions: NotAuthorized, LibrefNoWrite, and LibrefInUse.

This method deletes a file.

Usage

Parameters

Name Direction Type Description
memberName  in  String  This parameter specifies the member name of the file to delete. The name must identify an existing member for the libref.  
memberType  in  String  This parameter specifies the member type of the file to delete. Any valid member type may be specified. If no member type is specified, the default type of DATA is used.  
alterPassword  in  String  If the file is protected by an alter password, you must specify this password when deleting the file. If you don't need a password, then you can pass an empty (zero-length) string.  

Errors Returned

NoLock

InvalidPassword

NotAuthorized

LibrefOpenMember

LibrefNoMember

LibrefInvalidName

LibrefNoWrite

LibrefInUse

Example

See Also


Method RenameMember_2

Renames a file.

Description

V2.0 of RenameMember adds support for returning the following exceptions: NoLock, InvalidPassword, NotAuthorized, LibrefOpenMember, LibrefNoMember, LibrefInvalidName, LibrefNoWrite, and LibrefInUse.

This method renames a file.

Usage

Parameters

Name Direction Type Description
oldMemberName  in  String  This parameter specifies the original member name of the file that you want to rename. The name must identify an existing member for the libref.  
newMemberName  in  String  This parameter specifies the new member name for the file that you want to rename.  
memberType  in  String  This parameter specifies the member type of the file to rename. Any valid member type may be specified. If no member type is specified, the default type of DATA is used.  
alterPassword  in  String  If the file is protected by an alter password, you must specify this password when deleting the file. If you don't need a password, then you can pass an empty (zero-length) string.  

Errors Returned

NoLock

InvalidPassword

NotAuthorized

LibrefOpenMember

LibrefNoMember

LibrefInvalidName

LibrefNoWrite

LibrefInUse

Example

See Also


Enum LibrefERRORS

LibrefNoWrite
Write access is not allowed.

Description
Write access to specified library is not allowed.

LibrefInUse
Library in use.

Description
Library is in use.


Enum LibrefCONSTANTS

Contents Developing Windows Clients