SKIP1 means “add one blank line” in printed reports to improve readability. Use it between logical sections, after headings, or before totals so the page isn’t visually cramped.
Like pressing Enter once in a document editor to leave a blank line between paragraphs.
1WRITE PRINT-REC AFTER ADVANCING 1 LINE
This advances the paper by one line, effectively inserting a blank line before the next printed record.
123MOVE ALL '-' TO PRINT-REC WRITE PRINT-REC *> prints dashes WRITE PRINT-REC AFTER ADVANCING 1 LINE *> SKIP1
12345678FD REPORT-FILE RECORD CONTAINS 132 CHARACTERS LINAGE IS 60 LINES WITH FOOTING AT 58. ... IF LINE-COUNTER > 56 WRITE PRINT-REC AFTER ADVANCING PAGE *> start new page before spacing END-IF WRITE PRINT-REC AFTER ADVANCING 1 LINE *> SKIP1 safely
LINAGE defines page length; LINE-COUNTER tracks where you are. Guarding SKIP1 avoids splitting logical blocks at page end.
If you use Report Writer, place blank lines in PAGE HEADING/FOOTING or define an empty DETAIL group.
1234567REPORT SECTION. RD SALES-RPT. 01 BLANK-LINE TYPE DETAIL. 05 FILLER PIC X. ... GENERATE SALES-RPT *> emits detail lines GENERATE BLANK-LINE *> SKIP1 via blank detail
Mistake | Problem | Fix |
---|---|---|
Unconditional SKIP1 at page end | Orphans a line on next page | Check LINE-COUNTER; advance PAGE first |
Too many blank lines | Sparse, wasteful pages | Adopt spacing guidelines |
Action | Syntax | Example |
---|---|---|
One blank line | WRITE ... AFTER ADVANCING 1 LINE | WRITE PRINT-REC AFTER ADVANCING 1 LINE |
Guard near page end | IF LINE-COUNTER >= limit THEN ADVANCING PAGE | IF LINE-COUNTER > 56 WRITE ... AFTER ADVANCING PAGE |
1. What does SKIP1 represent conceptually?
2. COBOL way to do SKIP1?
3. Which clause governs pagination automatically?