このドキュメントでは、次のトピックについて説明します。
関連ステートメント: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 |
IF LESS THAN ...LINES LEFT 節:
現在の行の位置が、ページサイズから |
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 ****************************************************************