Count the lines as you print them. When the line count hits 25, print the headers.
FD ...
01 REPORT-LINE.
03 RL-CARRIAGE-CONTROL PIC 9(01).
03 RL-DATA PIC X(132).
03 AA-LINE-COUNT VALUE +99 PIC S9(02).
88 AA-FULL-PAGE VALUES +25 THRU +99.
03 SA-REPORT-LINE PIC X(133).
9000-WRITE-A-LINE.
IF AA-FULL-PAGE
MOVE REPORT-LINE TO SA-REPORT-LINE
PERFORM 9010-WRITE-HEADERS
THRU 9010-EXIT
MOVE SA-REPORT-LINE TO REPORT-LINE
END-IF.
PERFORM 9020-WRITE
THRU 9020-EXIT.
9000-EXIT.
EXIT.
9010-WRITE-HEADERS.
MOVE header-1 TO RL-DATA.
WRITE REPORT-LINE AFTER ADVANCING PAGE.
MOVE +1 TO AA-LINE-COUNT.
MOVE 2 TO RL-CARRIAGE-CONTROL.
MOVE header-2 TO RL-DATA.
PERFORM 9020-WRITE
THRU 9020-EXIT.
.
.
.
9010-EXIT.
EXIT.
9020-WRITE.
ADD RL-CARRIAGE-CONTROL TO AA-LINE-COUNT.
WRITE REPORT-LINE
AFTER ADVANCING RL-CARRIAGE-CONTROL.
9020-EXIT.
EXIT.
With the initializing of AA-LINE-COUNT to +99, headers automatically get produced when you try to write the first line. You only need one central place to check for headers with this arrangement.