Qualified SSA
More information will be provided along with the segment name is provided by the application program. Additional parameters will be passed always along with segment name. Qualified SSA structure will be like below.
Position | Description |
---|---|
1-8 | Segment name |
9 | Left Parenthesis – ‘(‘ |
10-17 | Key Name from DBD |
18-19 | Relational operator |
20-XX | Value of the key field – always be the length of the key |
XX+1 | Right Parenthesis – ‘)’ |
The declaration of the same structure in COBOL program like below.
01 QUALIFIED-SSA.
05 SEGMENT-NAME PIC X(08).
05 FILLER PIC X(01) VALUE '('.
05 FIELD-NAME PIC X(08).
05 REL-OPERATOR PIC X(02).
05 SEARCH-VALUE PIC X(n).
05 FILLER PIC X(n+1) VALUE ')'.
An Qualified SSA length is variable length. The length depends on the search value. Segment name occupies 8 bytes in the total layout. SEGMENT-NAME in the above layout represents the segment name.
Field name occupies 8 bytes and in the second place of the layout. FIELD-NAME represents the field name field in the above layout. Relational operator is the third field of the layout and of two bytes.
Relational operator used to specify the relational operator to be applied during the search. REL-OPERATOR represents the relational operator in the above layout. Relational operators define the equation for the segment access. The valid operators are as follows.
EQUAL: ‘=‘ or ‘EQ’
GREATER THAN: ‘>‘ or ‘GT’
LESS THAN : ‘< ‘ or ‘LT’
GREATER THAN OR EQUAL TO : ‘=>‘ or ‘GE’
LESS THAN OR EQUAL TO : ‘=<‘ or ‘LE’
NOT EQUAL TO : ‘=/‘ or ‘NE’
Example -
A simple example to search MTH company details.
01 COMPANY-SSA.
03 SEG-NAME PIC X(08) VALUE 'COMPANY '.
03 LEFT-PAREN PIC X(01) VALUE '('.
03 KEY-FIELD PIC X(08) VALUE 'COMPANY#'.
03 FILLER PIC X(02) VALUE 'EQ'.
03 KEY-VALUE PIC X(18) VALUE 'MTH'.
03 FILLER PIC X(01) VALUE ')'.