AT clauses can be used in FOR loops only. An AT TOP clause specifies that when a group starts, the statement in the AT TOP clause has to be executed before executing the main code in the FOR loop. An AT BOTTOM clause specifies that an action has to be executed after the last record of a group has been processed and before the first record in the next group. Format AT BOTTOM OF field-name [,...] statement AT TOP OF field-name [,...] statement
1 – Arguments
field-name Is a field from the record definition for the loop's record stream. statement Is a DATATRIEVE statement.
2 – Example
In the following example the first AT BOTTOM clause is ignored because it is contained in an IF statement. DTR> DECLARE VAR PIC 9. ; DTR> READY CDD$TOP.DTR$LIB.DEMO.YACHTS ; DTR> VAR = 0 ; DTR> FOR FIRST 2 YACHTS CON> BEGIN CON> IF VAR EQ 0 THEN CON> BEGIN CON> AT BOTTOM OF MODEL PRINT "Model change"; CON> END ; CON> AT BOTTOM OF BUILDER PRINT "Builder change"; CON> IF VAR GT 0 THEN CON> BEGIN CON> AT TOP OF MODEL PRINT "start model"; CON> END ; CON> PRINT MODEL , BUILDER ; CON> END ; MODEL MANUFACTURER 37 MK II ALBERG Builder change 79 ALBIN Builder change DTR>