If a report request contains IF or WHERE selection tests against one or more fields that describe the left-most portion of a GROUP descriptor, the ADABAS Interface combines this request into a test that uses the superdescriptor for greater efficiency. If any of the component (or parent) fields of the superdescriptor are defined to ADABAS with null-suppression, be sure to note this information in the Access File to ensure accuracy of reads.
For example, consider the following Master File extract:
GROUP=SUPERD ,ALIAS=SD ,USAGE=A8 ,ACTUAL=A8 ,INDEX=I ,$Figure 6-3. Master File With a Two-field Superdescriptor
FIELD=PART1 ,ALIAS=P1 ,USAGE=A4 ,ACTUAL=A4 ,$
FIELD=PART2 ,ALIAS=P2 ,USAGE=A4 ,ACTUAL=A4 ,$
If, in a report request, you include the following two tests,
WHERE PART1 EQ 'ABCD'
WHERE PART2 EQ 'EFGH'
these two tests are equivalent to the following FOCUS syntax:
WHERE SUPERD EQ 'ABCD/EFGH'
This combination uses the superdescriptor's inverted list and optimizes the ADABAS call. This optimization is performed only if all null-suppressed (NU=YES) superdescriptor components are explicitly referenced in IF or WHERE tests.
Information Builders |