The below are the 5 reasons why you need qualified SSAs in IMS DB DL/I calls.
Point-1: 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.
Point-2: 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.
Point-3: 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.
Point-4: 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.
Point-5: 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.
|=||= or EQ*|
|>||> or GT|
|<||< or LT|
|>=||=> or GE|
|<=||=< or LE|
|¬=||=¬ or NE|
|&||or AND (dependent AND)|
||||+ or OR (logical OR)|