Eloquence Report Manual
5 Execution Hierarchy
Three statements, BEGIN REPORT, END REPORT and DETAIL LINE, control the execution of the Eloquence Report Writer. These statements invoke break conditions which in turn trigger special actions.
The Eloquence Report Writer has a specific hierarchical order in which it executes the break conditions:
This hierarchy is shown in the following table.
- Page breaks always have the highest priority. Page trailers are usually processed before page headers. Page breaks are generally triggered by the internal line counter independent of any other break condition.
- Trailers have the second highest priority. They are processed in descending sequence from the highest level to the current break level.
- Headers have the next priority. They are processed in ascending sequence from the current break level to the highest level.
- A detail line has the lowest priority. It is processed after all break conditions have been serviced.
Break Execution Hierarchy
|1st Detail Line ||Detail Line Break ||End Report |
|Report Header||Trailer 9||Trailer 9|
|.||Trailer n||Trailer 1|
|.||Header n||Report Trailer|
|Header 9||.||Page Trailer|
| ||.|| |
| ||.|| |
| ||Header 9|| |
n=current break level
When the first DETAIL LINE statement is executed, the statements in column one are also executed (before the detail line is printed). When following DETAIL LINE statements (with a line not equal to zero) are executed and cause a break to occur, the statements in column two are executed. When the END REPORT statement is executed, the statements in column three are executed.
Between Trailer n and Header n, Eloquence Report Writer does the following for all break levels triggered:
After Header 9 is executed, Eloquence Report Writer does the following for Detail Lines with line greater than zero:
- Resets the value of the control variables.
- Sets the Total On counters to zero.
- Sets the NUMDETAIL counters to zero.
- Increments the break counters.
- Increments the detail line counter.
- Increments totals.
- Checks Print Suppression conditions (also done for line = 0).
- Checks for a Page Break condition (also done for line = 0).
- Prints the Detail Line (if no Print Suppression condition is valid) (also done for line = 0).
Eloquence Report Manual - 19 DEC 2002