The following statements define the IMS database in an access descriptor.
DATABASE=database-name DBTYPE=database-type;
RECORD=record-name SEGMENT=segment-name
SEGLNG=segment-length;
GROUP=group-name LEVEL=level-number
KEY=Y
| N | U OCCURS=number-of-repeats
SEARCH=search-name;
ITEM=item-name LEVEL=
level-number
DBFORMAT=database-format
FORMAT=SAS-format SEARCH=search-name
KEY=Y
| N | U OCCURS=number-of-repeats
DBCONTENT=database-content;
DELETE item-name | index-number;
INSERT item-name | index-number;
REPLACE item-name | index-number;
The DATABASE=, RECORD=, and ITEM= statements are required to create an access descriptor
with the CREATE statement; the GROUP= statement is optional. The INSERT, DELETE,
and REPLACE statements are used with the UPDATE statement to change an existing access
descriptor. At least one of the GROUP=, RECORD=, or ITEM= statements must be used
with the INSERT, DELETE, and REPLACE statements to change an access descriptor. The
DATABASE= statement cannot be used in an UPDATE statement.
Whether you are creating or changing an access descriptor, the RECORD=, ITEM=, and
GROUP= statements must be used in the same order as they
appear in the database.
Because IMS does not have a dictionary or store descriptive information about the
database, you need to provide the
DBD information. To provide this information, you need to have a COBOL copybook or layout
of the database.
For logical databases, the access descriptor definitions are mapped to the logical
DBD and not to one or more physical DBDs. This enables the IMS engine to build correct
calls and for the SSAs (segmented search arguments) to navigate
the logical structure of the database.