To do this, you have to be able to calculate the number of lines per page. This means that sections have to be the same height or at least predictable multiples of a specific height. If there are fields that wrap, you have to be able to count the number of times they wrap by determining their length and dividing by the number of characters per line. The general theory is to create two formulas, one for the page header:
whileprintingrecords;
numbervar cnt := 0;
And for one to be placed in all visible group and detail sections:
//{@cnt}:
whileprintingrecords;
numbervar cnt := cnt + 1;
Then insert an extra "b" section for each visible section. Let's say that 60 lines display per page before inserting these sections. Then you would format each "b" section to suppress with this:
{@cnt} <> 60
The format each higher order section (above the _a sections) to "New page after":
{@cnt} = 0
You would place a copy of your T and C in each of the _b sections, since any one of the sections could end up being in line 60.
If you are unable to count accurately, you probably should entertain placing the T&C only on the last page of a group, which is simpler to do.
-LB