Figure 1 shows the specific steps in the
RPG IV overflow
routine. The item numbers in the following descriptions refer to
the numbers in the figure.
- 1
- The RPG IV program determines whether the overflow lines were
written previously using the fetch overflow logic (step 30 in Figure 1). If the overflow lines were written previously,
the program branches to the specified return point; otherwise, processing
continues with step 2.
- 2
- All output lines conditioned with an overflow indicator are
tested and written to the conditioned overflow lines.
The fetch overflow routine
allows you to alter the basic RPG IV overflow logic to prevent printing
over the perforation and to let you use as much of the page as possible.
During the regular program cycle, the RPG IV program checks only
once, immediately after total output, to see if the overflow indicator
is on. When the fetch overflow function is specified, the RPG IV program
checks overflow on each line for which fetch overflow is specified.
Specify fetch overflow with an F in position 18 of the output specifications
on any detail, total, or exception lines for a PRINTER file. The
fetch overflow routine does not automatically cause forms to advance
to the next page.
During output, the conditioning indicators on an output line are
tested to determine whether the line is to be written. If the line
is to be written and an F is specified in position 18, the
RPG IV program
tests to determine whether the overflow indicator is on. If the overflow
indicator is on, the overflow routine is fetched and the following
operations occur:
- Only the overflow lines for the file with the fetch specified
are checked for output.
- All total lines conditioned by the overflow indicator are written.
- Forms advance to a new page when a skip to a line number less
than the line number the printer is currently on is specified in a
line conditioned by an overflow indicator.
- Heading, detail, and exception lines conditioned by the overflow
indicator are written.
- The line that fetched the overflow routine is written.
- Any detail and total lines left to be written for that program
cycle are written.
Position 18 of each OR line must contain an F if the overflow routine
is to be used for each record in the OR relationship. Fetch overflow
cannot be used if an overflow indicator is specified in positions
21 through 29 of the same specification line. If this occurs, the
overflow routine is not fetched.
Use the fetch overflow routine when there is not enough space left
on the page to print the remaining detail, total, exception, and heading
lines conditioned by the overflow indicator. To determine when to
fetch the overflow routine, study all possible overflow situations.
By counting lines and spaces, you can calculate what happens if overflow
occurs on each detail, total, and exception line.