COBOL Manual for TNS/E Programs (H06.08+, J06.03+)

Figure 7 LINAGE Clause Layout
Restriction
Because the purpose of the LINAGE clause is to control printing of data, it can be used only
with files assigned to line printer devices or spooler processes.
Initial Positioning of First Logical Page
Before printing the first logical page, a standard printer file issues a page eject, positioning
itself at the fourth line of the physical page. The run-time routines cannot determine if a printer
file behaves in the standard way or not; therefore, the run-time routines handle all printer files
as if they do; therefore, when the LINAGE clause applies, the OPEN statement operates:
If the value of top is 3 or more
If the value of top is 3 or more, the run-time routines issue a page eject to establish a
known initial position on the physical page. Because the run-time routines now expect
the printer position to be at the fourth line (that is, 3 lines have already been skipped),
they advance the printer by top - 3 lines.
If the value of top is 2 or less
If the value of top is 2 or less, the preceding strategy does not work, because the run-time
routines cannot backspace the printer. The run-time routines assume that the printer is
positioned at the first line, omit the page eject, and advance the printer by top lines.
Examples:
Lines Skipped
TotalAdditionalPage-Eject Issued?Value of top
00No0
11No1
22No2
30Yes (skips 3)3
41Yes (skips 3)4
170 Data Division