このドキュメントでは、次のトピックについて説明します。
関連ステートメント: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
関連機能グループ:「出力レポートの作成」
EJECT
ステートメントは、改ページとページ換えの制御に使用します。
このステートメントには、2 つの異なる構造が可能です。
次の構文図で使用されている記号については、「構文記号」を参照してください。
EJECT |
ON |
[(rep)] | ||
OFF |
構文要素の説明:
EJECT ON/OFF (rep) |
レポート指定を含む EJECT ON/OFF - オンラインおよびバッチモード:
|
|
---|---|---|
EJECT OFF (rep) | 指定レポートのページ換え処理を行いません(構文 2 の EJECT ステートメントの指定は除く)。
|
|
EJECT ON (rep) | 指定レポートのページ換え処理を実行します。 | |
EJECT ON/OFF |
レポート指定を含まない EJECT ON/OFF - バッチモードのみ:
レポート指定 |
|
EJECT ON | ソースプログラムリスト、出力レポートおよび実行完了メッセージ "EXECUTION COMPLETED" の間でページ換えを実行します。 これはデフォルト設定です。 | |
EJECT OFF | 上記の各出力間のページ換えを停止します。 EJECT OFF は次の EJECT ON ステートメントが指定されるまで有効です。
|
|
(rep) |
レポート指定:
表記 範囲 0~31 の値、または
Natural で作成される出力レポートの形式を制御する方法については、『プログラミングガイド』の「データ出力制御」を参照してください。 |
この形式の EJECT
ステートメントでは、次のページでタイトルまたはヘッダー行を生成することなく、TOP/END PAGE
処理を行わずに改ページが実行されます。
EJECT |
[( rep )] | IF |
LESS [THAN ] operand1 [LINES ] [LEFT ] |
||||
WHEN |
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | C | S | N | P | I | 可 | 不可 |
構文要素の説明:
(rep) |
レポート指定:
表記 範囲 0~31 の値、または
Natural で作成される出力レポートの形式を制御する方法については、『プログラミングガイド』の「データ出力制御」を参照してください。 |
---|---|
IF LESS THAN operand1 LINES LEFT | 現在の行の位置が、ページサイズから operand1 の値を引いた値よりも大きいときに限り、ページ換えが行われます。 operand1 の値は数値定数または変数で指定できます。 |
EJECT
ステートメントが実行されても、AT TOP OF PAGE
、AT END OF PAGE
、WRITE TITLE
、または WRITE TRAILER
ステートメントが実行されることはありません。 また、DISPLAY GIVE SYSTEM FUNCTIONS
で評価されるシステム関数にも影響しません。
EJECT
では、新規の物理ページの生成だけが行われます。 Natural システム変数 *LINE-COUNT
が 1
に設定されますが、*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 ****************************************************************