SAS/ACCESS Interface to IMS-DL/I Software |
To invoke the
ACCESS procedure
you use the options described in Options
and certain procedure statements. The options and statements you choose are
defined by your task.
- To create an access descriptor:
PROC ACCESS
DBMS=IMS;
|
CREATE libref.member-name.ACCESS;
|
required
database-description statements;
|
|
optional editing
statements;
|
|
|
- To create an access descriptor and a
view descriptor:
PROC ACCESS DBMS=IMS;
|
CREATE
libref.member-name.ACCESS;
|
required
database-description statements;
|
|
optional editing statements;
|
|
|
CREATE
libref.member-name.VIEW;
|
optional
editing statements;
|
|
|
- To create a view descriptor
from an existing access
descriptor:
PROC ACCESS DBMS=IMS ACCDESC=libref.access-descriptor;
|
CREATE
libref.member-name.VIEW;
|
optional editing
statements;
|
|
|
- To update an access
descriptor:
PROC ACCESS DBMS=IMS;
|
UPDATE
libref.member-name.ACCESS;
|
|
- To update a view
descriptor:
PROC ACCESS DBMS=IMS;
|
UPDATE
libref.member-name.VIEW;
|
|
|
Database-Description Statements |
The following statements define the IMS-DL/I 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
|
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-DL/I 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-DL/I engine to build correct calls and for the SSAs (segmented
search arguments) to navigate the logical structure of the database.
Note: See Tools for Creating Access Descriptors
for tools that SAS Institute supplies to automate the database definition
process.
SAS/ACCESS editing statements enable you to drop or rename items, list items,
reset names, and so on in a descriptor. All of the statements can be used
when you are creating a descriptor. The ASSIGN=, SELECT, RESET, and UNIQUE=
statements cannot be used when you are changing a descriptor.
When creating or changing an access descriptor, place
editing statements after the last database definition statement. All editing
statements are optional.
The following list shows the basic syntax of each editing
statement:
DROP item-name | index-number. . . ;
|
FORMAT item-name |
index-number <=> format. . . ;
|
LIST ALL | VIEW | index-number |
item-name <blanks | DB | DESC>;
|
RENAME
item-name | index-number <=>
SAS-name. .
. ;
|
|
RESET ALL | item-name
| index-number. . . ;
|
|
SELECT ALL | item-name | index-number. . .
;
|
SUBSET selection-criteria;
|
These statements
are described in detail in the following sections.
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.