5 Reasons Why You need Qualified SSAs in IMS DB DL/I Calls

An SSA (segment search arguments) you can use in DLI calls. The SSAs are two types – Qualified and Unqualified. Here are the five reasons to be added qualified SSAs in IMS DB DLI calls.

Qualified SSA in IMS DB

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.

In your search if you mention the value to the key, which is called qualified SSA. If you don’t mention key value, it just goes to particular segment, which is called un-qualified SSA.

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.

OperatorAlternate Form
== or EQ*
>> or GT
<< or LT
>==> or GE
<==< or LE
¬==¬ or NE
&or AND (dependent AND)
|+ or OR (logical OR)

Related Posts

Latest from the Blog

Python Pass by Value Vs. Pass by Reference Simple Example

Here’s an example of how to work with pass-by-value and pass-by-reference in Python.

Author: Srini

Experienced software developer. Skills in Development, Coding, Testing and Debugging. Good Data analytic skills (Data Warehousing and BI). Also skills in Mainframe.