This document covers the following topics:
Related Statements: AT END OF
PAGE
| AT TOP OF
PAGE
| CLOSE
PRINTER
| DEFINE
PRINTER
|
DISPLAY
|
FORMAT
|
NEWPAGE
|
PRINT
|
SKIP
|
SUSPEND IDENTICAL SUPPRESS
| WRITE
|
WRITE TITLE
|
WRITE TRAILER
Belongs to Function Group: Creation of Output Reports
The EJECT
statement may be used to control page
advance/page ejection.
Two different structures are possible for this statement.
For explanations of the symbols used in the syntax diagrams below, see Syntax Symbols.
EJECT
|
ON
|
[(rep)] | ||
OFF
|
Syntax Element Description:
Syntax Element | Description | |
---|---|---|
EJECT
ON/OFF (rep) |
With Report Specification - Online and
Batch Modes:
|
|
EJECT OFF
(rep) |
Causes no page advance (except as
specified with Syntax 2 of the
EJECT statement) for the specified report to be executed.
|
|
EJECT ON
(rep) |
Causes page advances for the specified report to be executed. | |
EJECT
ON/OFF |
Without Report Specification - Batch Mode
only:
Without report notation
|
|
EJECT ON |
Causes Natural to generate a page
eject between the source program listing, the output report and the message EXECUTION COMPLETED. This is the default setting. |
|
EJECT
OFF |
Causes Natural to suppress page breaks
between the above output. EJECT OFF remains in effect until
revoked with a subsequent EJECT ON statement.
|
|
(rep) |
Report Specification:
The notation
A value in the range 0 - 31 or a logical name which has
been assigned using the If For information on how to control the format of an output report created with Natural, see Report Format and Control in the Programming Guide. |
This form of the EJECT
statement may be used to cause
a page advance without a title or heading line being generated on the next page
and without TOP/END PAGE
processing.
EJECT
|
[( rep )] |
IF
|
LESS [THAN ]
operand1 [LINES ] [LEFT ]
|
||||
WHEN
|
Operand Definition Table:
Operand | Possible Structure | Possible Formats | Referencing Permitted | Dynamic Definition | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1
|
C | S | N | P | I | yes | no |
Syntax Element Description:
Syntax Element | Description |
---|---|
(rep) |
Report Specification:
The notation
A value in the range 0 - 31 or a logical name which has
been assigned using the If For information on how to control the format of an output report created with Natural, see Report Format and Control in the Programming Guide. |
IF LESS THAN
operand1 LINES LEFT
|
IF LESS THAN ... LINES LEFT
Clause:
A page advance will be performed only when the current
line for the page is greater than the page size minus
|
The execution of an EJECT
statement does not cause any
statements used with an AT TOP OF
PAGE
, AT END OF
PAGE
, WRITE
TITLE
or WRITE
TRAILER
statement to be executed. It does not affect system
functions evaluated by DISPLAY GIVE SYSTEM
FUNCTIONS
.
EJECT
causes a new physical page only. It causes the
Natural system variable *LINE-COUNT
to be set to 1
but has no effect on the setting of the Natural
system variable *PAGE-NUMBER
.
** Example 'EJTEX1': EJECT ************************************************************************ DEFINE DATA LOCAL 1 EMPLOY-VIEW VIEW OF EMPLOYEES 2 CITY 2 NAME 2 JOB-TITLE END-DEFINE * FORMAT PS=15 LIMIT 9 READ EMPLOY-VIEW BY CITY /* AT START OF DATA EJECT WRITE /// 20T '%' (29) / 20T '%%' 47T '%%' / 20T '%%' 3X 'REPORT OF EMPLOYEES' 47T '%%' / 20T '%%' 3X ' SORTED BY CITY ' 47T '%%' / 20T '%%' 47T '%%' / 20T '%' (29) / EJECT END-START EJECT WHEN LESS THAN 3 LINES LEFT /* WRITE '*' (64) DISPLAY NOTITLE NOHDR CITY NAME JOB-TITLE 5X *LINE-COUNT WRITE '*' (64) END-READ END
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% REPORT OF EMPLOYEES %% %% SORTED BY CITY %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
**************************************************************** AIKEN SENKO PROGRAMMER 2 **************************************************************** **************************************************************** AIX EN OTHE GODEFROY COMPTABLE 5 **************************************************************** **************************************************************** AJACCIO CANALE CONSULTANT 8 **************************************************************** **************************************************************** ALBERTSLUND PLOUG KONTORASSISTENT 11 **************************************************************** **************************************************************** ALBUQUERQUE HAMMOND SECRETARY 14 ****************************************************************
**************************************************************** ALBUQUERQUE ROLLING MANAGER 2 **************************************************************** **************************************************************** ALBUQUERQUE FREEMAN MANAGER 5 **************************************************************** **************************************************************** ALBUQUERQUE LINCOLN ANALYST 8 **************************************************************** **************************************************************** ALFRETON GOLDBERG JUNIOR 11 ****************************************************************