|SAS/ACCESS Interface to ADABAS Software|
An ADABAS database is a collection of data organized into ADABAS files. Each database has an associated database identifier, which is a numerical value in the range 1 to 255, and a database name, which is a character value with a maximum of 16 characters. Each database can consist of up to 255 ADABAS files.
An ADABAS database consists of three system files: Data Storage, Associator, and Work Storage.
To use the SAS/ACCESS interface to ADABAS, you need to be familiar with three ADABAS components: ADABAS files, NATURAL DDMs, and ADABAS descriptors (which is an ADABAS data field that provides an index of its values). ADABAS files and NATURAL DDMs are the components from which you create SAS/ACCESS access descriptor and view descriptor files. Knowing about ADABAS descriptors can help you minimize ADABAS's processing time for your SAS/ACCESS view descriptors.
Note: To avoid confusion, keep in mind the two usages of the term descriptor throughout this book:
The following sections describe ADABAS files, NATURAL DDMs, and ADABAS descriptors.
An ADABAS file is a collection of logically related data, organized by data fields and logical records. ADABAS permits maximums of 926 data fields and 16,777,215 logical records in each ADABAS file.
Sample ADABAS File illustrates four data fields and seven logical records from an ADABAS file containing data about customers. The data fields are the vertical columns of data. The logical records are the horizontal rows of data.
Sample ADABAS File
CU CI ST CO 14324742 San Jose CA USA 14569877 Memphis TN USA 14898029 Rockville MD USA 24589689 Belgrade Yugoslavia 26422096 La Rochelle France 38763919 Buenos Aires Argentina 46783280 Singapore Singapore
ADABAS files are created with the ADABAS utility ADACMP. (To see the
ADABAS data definition statements that created the ADABAS files used in this book, refer to
you create an ADABAS file, you assign a file number using the FILE= statement of the ADACMP utility. Each database can consist of up to 255
A data field level number is a one-
or two-digit number, from 01 to 07, used in conjunction with data field grouping. (Grouping is discussed in ADABAS Data Fields.) Data fields with a
level of 2 or greater are considered to be a part of the immediately preceding group, which has a lower level number.
ADABAS data fields are identified by a two-character name. Each data field name in an ADABAS file must be unique. The first character must
be alphabetic, and the second character can be either alphabetic or numeric. For example, AA and B4 are valid data field names.
Each logical record within an ADABAS file is assigned an internal sequence number (ISN). An ISN is the logical identifier for each record. ISNs are unique within each ADABAS file.
Note: When you
descriptor files for ADABAS data, the ACCESS procedure creates a SAS variable named ISN. This variable gives you access to the ISNs for all logical records
stored in the ADABAS file.
|NATURAL Data Definition Modules|
ADABAS file and its data fields in NATURAL programs, you must create a NATURAL Data Definition Module (DDM) based on the
ADABAS file. (Note that a DDM is often referred to as an ADABAS file, even though it is really only a view
of an actual ADABAS
file.) A DDM has an assigned name, which references the ADABAS file number that the DDM is based on. Also, more descriptive data field names can be assigned to
a DDM. DDMs are stored in a system file, which is simply another ADABAS file.
The filename for a NATURAL DDM can be a maximum of 32 characters.
In a NATURAL DDM, data fields can be assigned a DDM external name of 3 to 32 characters. For example, in the CUSTOMERS DDM, the DDM data field name CUSTOMER corresponds to the ADABAS file two-character data field name CU.
If you plan to use a data field often in selection criteria, you can designate it as a key field. You designate a key field by specifying the descriptor option in the ADACMP utility data definition statement. When a data field is a descriptor field, ADABAS maintains and stores its values in an inverted list. An inverted list contains the different values of a descriptor data field, along with the count and the ISNs of the logical records that contain each value. ADABAS descriptors can also be defined so that inverted lists contain unique values only.
Specifying ADABAS descriptors speeds up the selection process considerably since ADABAS is able to access key values directly. Also, specifying descriptors controls read sequence when reading ADABAS data in sequential order.
Several descriptor types can be specified for a data field. Each descriptor type is explained below.
Note: In order for you to use SAS variables corresponding to
ADABAS data fields in a SAS BY statement, an SQL ORDER BY clause, or a view SORT clause, the data field must be designated as an
ADABAS descriptor. Regarding a WHERE clause (both view and SAS), there are conditions when you can use a nondescriptor data field and when you must use a
descriptor data field. These conditions are explained
in ACCESS Procedure Reference.
A subdescriptor is an ADABAS descriptor that is derived from a portion of an elementary data field. For example, if ZIPCODE is a data field, a subdescriptor for it could be ZIPLAST2 defined for the last two digits of a zipcode.
You can include a subdescriptor in SAS/ACCESS descriptor files for retrieval and
selection criteria, but you cannot use subdescriptors in SAS System updating procedures.
A superdescriptor is an ADABAS descriptor derived from more than one data field, portions of data fields, or combinations thereof. For example, a superdescriptor named STATE-ZIPLAST2 could be defined for the first two digits from the STATE data field and the last two digits from the ZIPCODE data field.
You can include a superdescriptor
SAS/ACCESS descriptor files for retrieval and selection criteria, but you cannot use superdescriptors in SAS System updating procedures.
A phonetic descriptor is an ADABAS descriptor defined to perform searches based on phonetic values, for example, retrieval by family name.
You can include a phonetic descriptor in SAS/ACCESS descriptor files for retrieval and selection criteria, but you cannot use phonetic descriptors in SAS System updating procedures.
Note that if you use a phonetic descriptor in a SAS WHERE clause, the interface view engine must be able to process the entire SAS WHERE clause.
Note: The hyperdescriptor type is not described because hyperdescriptors are not supported by the SAS/ACCESS interface to
ADABAS. Your ADABAS file can contain hyperdescriptors, but they will be
Top of Page
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.