You have two levels of break, because you specify FINAL. If you want to keep the FINAL, the you have to test the "level" for your before break procedure.
How are these defned, REC-COUNT, TOTAL-AMOUNT, out of interest? W or S?
Why are you using something called REC-COUNT for printing something which is the number of negotiated checks? Can't you come up with something more meaningful and less confusing? Same for total amount. Doesn't cost you much to type a bit more, but could save someone hours in the future when they are maintaining/supporting your program. Might even be you.
OK. Any fields which you amend in a report procedure I would recommend you define as "S". If you continue to use W's, you will one day cause yourself a problem, more than just including any extra fields on Easytrieve's report file.
I therefore prefix all my datanames with W- or S-, so it is clear. And, as I do everywhere, I make the datanames as meaningful as possible.
As someone put it recently, you are not writing the program for yourself, but for those who end up maintaining/supporting it.
Looking a little more at your code, you are not doing any selection to do your totals. Have a look at the SUM, as you can then probably get away from your own counts/totals anyway, in this instance.
Do you have any Easytrieve macros to help you along? I used to have one called %INC. So, for a count, %INC W-WITH-A-LONG-NAME-THAT-DESCRIBES and it generates the a = a + 1. %INC W-A BY 2, adds two.
Similar with %TOT. %TOT W-A BY W-B.