ADABAS Files

When accessing ADABAS, FOCUS uses logical files as the unit of data retrieval. An ADABAS file is identified in one of two ways: by name, which can consist of up to 32 characters, or by the three-digit file number. The filename and number must be unique within each database.

All file and field documentation for the ADABAS database can be stored in the Predict dictionary and the Data Definition Module (DDM). The information about the data structure includes processing uses, file ownership, and field descriptions.


Top of page

Inverted Lists: The ADABAS Key Structure

An ADABAS file is defined with a set of indexes called descriptors. The ADABAS term for these values, which reside in the File Associator Table, is inverted lists. The inverted lists contain the values of the descriptors, a count of the total number of records in which each value appears, and the Internal Sequence Numbers (ISNs), in ascending order, associated with each occurrence.

ADABAS utilities create and maintain an inverted list for each descriptor identified. These lists store data in either ascending (the default) or descending sequence by the value of the key. A single file may have up to 200 inverted lists associated with it.

The descriptors are identified to speed data location and to retrieve specific, frequently required data from ADABAS files. Of the available types of inverted lists, the ADABAS Interface supports the following:

Inverted List

Description

Descriptors

Key values associated with a single field (also called elementary field descriptors).

Subdescriptors

Key values associated with part of a single field.

Superdescriptors

Key values associated with all or part of two to five fields.

In the following text, "descriptor" refers to all three types of descriptors interchangeably, unless otherwise indicated.

Two or more files may be related in these ways:


Top of page

Field Definition Tables

Field description information for ADABAS files is maintained in the FDT, which is part of the ADABAS associator. ADABAS uses this information when accessing files. The FDT includes the following information:

Field Information

Description

Field Level Indicator

Denotes a hierarchical relationship between fields. In an ADABAS record description the levels are 1, 2, 3, and so on.

ADABAS Field Name

Is a two-character name used by ADABAS to identify the field. This name is unique to the file. The first character must be alphabetic, and the second character can be alphabetic or numeric. Field names E0 through E9 are reserved for internal ADABAS use.

Standard Length

Indicates the length of the field in bytes.

Standard Format

Indicates the format of the field. Refer to the table that follows for the acceptable formats and their meanings.

Field Properties

Indicates if the field value is null suppressed (NU), if the field is of fixed or variable length, and the number of field occurrences.

Descriptor Status

Indicates if the field is a descriptor, subdescriptor, superdescriptor, subfield, or superfield.

Field Type

Indicates if a field is a group (G), multi-value (MU), or periodic group (PE). Multi-value fields and periodic groups are examples of multiply occurring fields.

Typically, an ADABAS FDT contains some, but not all, of the field characteristics discussed above. To view the FDT, Software AG provides the ADAREP report. See your Software AG documentation for more information on how to run the ADAREP report.

The external field name is in the DDM (Data Definition Module from the Predict dictionary).

External Field Name

Is a 32-byte name used in a NATURAL program to identify the field. This name is unique to the file.

The following table shows the acceptable standard formats for the ADABAS fields and their meanings:

Format

Meaning

A

Alphanumeric data field with a maximum of 253 bytes (126 for descriptor fields).

U

Zoned decimal data field with a maximum of 29 bytes (unsigned, unpacked data).

P

Signed packed decimal data field with a maximum of 15 bytes.

B

Unsigned binary data field with a maximum of 126 bytes.

F

Single-precision, floating point data field that is always four bytes long.

G

Decimal, double-precision integer field with an eight-byte maximum.

The following column on the left illustrates a partial ADABAS FDT. The bold numbers on the left refer to the numbered annotations that follow:

PAY-FILE
       FIELD DESCRIPTION (from FDT)           FIELD NAME (from DDM)
    1. 01, PS, 08, P, NU, DE                  SSN
2. 01, PW, 04, P HOURLY_WAGE
3. 01, MI, PE MONTHLY_INFO
02, MH, 04, P MONTHLY_HOURS
02, MW, 04, P MONTHLY_WAGES
02, MT, 04, P MONTHLY_TAX
4. 01, PT, 04, P, DE, MU TAX
01, PC, 08, P, DE, MU CHILD_SSN
  1. The first field, SSN, is an elementary-level field. Its internal name is PS, it is eight bytes long, and it is in packed decimal data format. The field is null suppressed, as indicated by the NU, and it is a descriptor (DE).

  1. HOURLY_WAGE is also an elementary-level field. It is called PW internally, is four bytes long, and is also in packed decimal data format.

  2. MONTHLY_HOURS, MONTHLY_WAGES, and MONTHLY_TAX are all subordinate fields of the MONTHLY_INFO periodic group (PE). Internally, they are called MH, MW, and MT, respectively. Each is four bytes long in packed decimal data format.

  3. TAX and CHILD_SSN are elementary-level fields. TAX is called PT internally, is four bytes long in packed decimal data format, and is a multi-value (MU) field with a descriptor (DE) associated with it. CHILD_SSN is called PC internally, is eight bytes long in packed decimal format, and is also a multi-value field with a descriptor associated with it.

For more information about ADABAS periodic groups (PE) and multi-value (MU) fields, see the section entitled ADABAS Files With Variable-length Records and Repeating Fields in ADABAS Record Lengths.


Top of page

Managing Data Storage With Null-suppression

Null-suppression is one of the methods ADABAS employs to manage data storage. Only the fields within a record that contain data are stored. Fields containing blanks for alphabetic characters or zeros for numeric data are not stored. The fields that are not present are also transparent to you. When a FOCUS procedure accesses a record containing a null-suppressed field, ADABAS expands it to its full length and includes the null values of blanks or zeros.

When the null-suppressed field is a descriptor or part of a superdescriptor, no entry is made for the record containing that field in the inverted list. It would not be productive to have the inverted list direct you to records in which the descriptor has no data.

A field with null-suppression appears with the NU attribute in the ADABAS FDT.


Information Builders