A DL/I call can be qualified or unqualified. A
qualified call is one that specifies one or more SSAs (segment search arguments). An SSA provides
additional information for the DL/I call. The simplest SSA identifies a segment type
for the call to access. Other SSAs not only identify the segment type, but they also
specify a value or a set of values to select a particular
segment occurrence. An
unqualified call does not have any SSAs and therefore does not specify a particular segment or set
of segments.
If an SSA describes only the segment type to be accessed, it is an
unqualified SSA. (The call is still a qualified call, but the SSA itself is unqualified.) In an unqualified
SSA, you can also specify
an optional
command code, which might affect how the call function is performed or it might affect the qualification
of a segment. See
Command Codes for more information.
An unqualified SSA has the form
segment-name <command
code>
where segment-name is an 8-byte field specifying the segment type, followed by a blank. A blank follows
because the minimum SSA length for a DL/I call is 9 bytes. Command codes consist
of an asterisk (*) followed by a letter, such
as *U or *D.
If an SSA provides a field name and specific value for that field, it is a
qualified SSA. A qualified SSA has the form
segment-name <command
code> (field-name
operator value . . .)
where
segment-name is the 8-byte segment type,
field-name is the 8-byte name of a sequence or
search field for that segment as defined in the
DBD, and
operator is a 2-byte field that contains a comparison operator.
Value is a value that is compared to the specified field in the segment. The values for
each of the segment type, field name, operator, and value must be padded to represent
the total number of
bytes used by the particular field in the DBD. IMS requires the padding.
The first segment occurrence that satisfies the qualification or qualifications is
retrieved.
For example, to retrieve a CUSTOMER segment for Hooper J. Walls, the Get (retrieve)
call would be qualified with this qualified SSA:
CUSTOMER(CUSTNAME =WALLS, HOOPER J. )
The comparison operators that IMS uses in a qualified SSA, along with their alternate
forms, are listed in the following table.
Comparison Operators and Their Equivalents
Operator
|
Alternate Form
|
|
= or EQ*
|
|
> or GT
|
|
< or LT
|
>=
|
=> or GE
|
<=
|
=< or LE
|
¬=
|
=¬ or NE
|
&
|
or AND (dependent AND)
|
|
|
+ or OR (logical OR)
|
1Pad the =, >, and <
operators with blanks on the right or left.
|