ADS field descriptor

After the header, the ADS descriptor contains a variable number of field descriptors.

Each field descriptor has the following format:

Offset
Hex
Type
Len
Name
(0)
STRUCTURE
42
ADS-FIELD-DESCRIPTOR
(0)
CHARACTER
32
ADSD-FIELD-NAME
(20)
HALFWORD
2
ADSD-FIELD-NAME-LEN
(22)
HALFWORD
2
ADSD-OCCURS-INDEX
(24)
HALFWORD
2
ADSD-FIELD-OFFSET
(26)
HALFWORD
2
ADSD-FIELD-DATA-LEN
(28)
CHARACTER
1
ADSD-FIELD-JUSTIFY
(29)
CHARACTER
1
ADSD-FIELD-FILL-CHAR
(2A)
CHARACTER
ADSD-NEXT-FIELD
ADSD-FIELD-NAME
The unsuffixed field name padded with blanks on the right.
ADSD-FIELD-NAME-LEN
The number of characters in the field name.
ADSD-OCCURS-INDEX
When OCCURS is specified for a field definition there is a separate field descriptor for each element of the array, and ADSD-OCCURS-INDEX indicates the array index for the particular field. If OCCURS is not specified, then ADSD-OCCURS-INDEX is 0.
ADSD-FIELD-OFFSET
The offset of the field within the ADS. The offset is to the beginning of the (fullword) length field, and you must add 2 (for the length field) + 1 (for the 3270 attribute) + ADSD-ATTRIBUTE-NUMBER to obtain the offset of the data part of the field.
ADSD-FIELD-DATA-LEN
The length of the field in the ADS.
ADSD-FIELD-JUSTIFY
A 1-character field indicating whether the data is to be justified left 'L' or right 'R' if the supplied length is less than the length in the ADS.
ADSD-FIELD-FILL-CHAR
The character (blank or '0') to be used to pad the remainder of the field in the ADS.
ADSD-NEXT-FIELD
The next field descriptor. The address of ADSD-NEXT-FIELD can be used to update a pointer for the field descriptor.