E.1 Error Code Descriptions
 E.2 Obsolete Error Codes

E.1 Error Code Descriptions

An error status value (not equal to SAI__OK) is returned by any HDS routine which detects an error condition. If a program is to perform specific tests on these status values, then the HDS-supplied symbolic names described below should be used rather than explicit numerical values. These symbolic status names are prefixed either with ‘DAT’ (for error codes returned by the DAT_ and HDS_ routines) or ‘CMP’ (for error codes returned by the CMP_ routines) and a double underscore. The appropriate symbol definitions are contained in the include files DAT_ERR (for the DAT__ error codes) and CMP_ERR (for the CMP__ error codes). The symbols defined in these two files are shown in the following tables and described in more detail below.

Symbolic Name Meaning

DAT__ACCON Access conflict
DAT__BOUND Outside bounds of object
DAT__COMEX Component already exists
DAT__CONER Conversion error
DAT__DELIN Deletion invalid
DAT__DIMIN Dimensions invalid
DAT__FATAL Fatal internal error
DAT__FILCK File locking error
DAT__FILCL File close error
DAT__FILCR File create error
DAT__FILIN File invalid
DAT__FILMP File mapping error
DAT__FILND File not deleted
DAT__FILNF File not found
DAT__FILNX File not extended
DAT__FILPR File protected
DAT__FILRD File read error
DAT__FILWR File write error
DAT__GRPIN Group invalid
DAT__INCHK Integrity check
DAT__ISMAP Data currently mapped
DAT__LOCIN Locator invalid
DAT__MODIN Mode invalid
DAT__NAMIN Name invalid
DAT__NOMEM Insufficient memory available
DAT__OBJIN Object invalid
DAT__OBJNF Object not found
DAT__PRMAP Primitive data mapped
DAT__SUBIN Subscripts invalid
DAT__TRUNC Text truncated
DAT__TYPIN Type invalid
DAT__UNSET Primitive data undefined
DAT__VERMM Version mismatch
DAT__WLDIN Wild-card search context invalid

Symbolic Name Meaning

CMP__DIMIN Dimensions invalid
CMP__FATAL Fatal internal error
CMP__ISMAP Data currently mapped
CMP__NOMAP Not mapped
CMP__TYPIN Type invalid

A write operation has been rejected because the container file was originally opened for read-only access.
An array specification is outside the permitted dimension bounds.
An attempt to create a new component of a structure has failed because a component of the same name already exists.
One of the following primitive data conversion errors occurred during a GET, PUT, MAP or UNMAP operation:
The object to be deleted was a non-empty structure.
One of the following conditions occurred:
An unrecoverable error has been detected by HDS. This may indicate an internal programming error within HDS itself, but may also result from the use of a corrupt container file. The associated error report will contain further information about the nature of the error.
An attempt to lock a container file has failed. This is most likely to be because another process currently has the file locked with a conflicting access mode.
An error occurred while closing an HDS file.
An error occurred while creating an HDS file.
An error occurred while mapping data in an HDS file.
An error occurred while deleting an HDS file.
An error occurred while extending the size of an HDS file.
One of the following conditions occurred:
The specified file cannot be found, or the syntax of the file name has been rejected as invalid by the host operating system.
The file is protected from being accessed in the specified mode (or from being deleted).
An error occurred while reading data from an HDS file.
An error occurred while writing data to an HDS file.
The supplied character string does not conform to the syntax of a group specification.
Typically, an attempt to access an object has failed because the object has been deleted or moved through another locator, either in the same program or in another process. This error may also be produced through the use of a corrupt container file.
An object is currently mapped.
One of the following conditions occurred:
The supplied character string is not a valid access mode.
The supplied character string does not conform to the syntax of a name specification.
HDS was unable to dynamically allocate sufficient memory to perform the requested operation.
An input locator points to an object which is not suitable for the type of operation requested. Specifically, when the locator is associated with one of the following:
A request to locate a component of a structure, by name or position, has failed because the object does not exist.
A GET, PUT or MAP operation has been rejected because primitive data are currently mapped to the specified locator.
An attempt to locate a slice or cell of an n-D object has failed because the subscript information references an element which is outside the array bounds of the object (or a lower bound exceeds an upper bound).
A character string has been corrupted through the truncation of significant (non-blank) characters. Typically this indicates that a program has not supplied a character string of sufficient length as an argument to an HDS routine.
The supplied character string does not conform to the syntax of a type specification.
An attempt to read primitive object data has failed because the values are currently undefined.
The HDS file format version number of a container file exceeds the version number recognised by the HDS software. Typically, this signifies that the file has been created or modified by a new version of HDS and cannot be handled by a program linked with an older version.
The wild-card search context identifier supplied has not been generated by a previous successful call to an HDS routine and is not equal to the null value (DAT__NOWLD).

E.2 Obsolete Error Codes

The following error codes are no longer used by HDS, although their values remain defined: