バージョン 4.2.5
 —  ステートメント  —

EJECT

このドキュメントでは、次のトピックについて説明します。

関連ステートメント: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 ステートメントは、改ページとページ換えの制御に使用します。

Top of page

構文説明

このステートメントには、2 つの異なる構造が可能です。

次の構文図で使用されている記号については、「構文記号」を参照してください。

EJECT - 構文 1

EJECT

ON

[(rep)]
OFF

構文要素の説明:

EJECT ON/OFF (rep)
レポート指定を含む EJECT ON/OFF - オンラインおよびバッチモード:
EJECT OFF (rep) 指定レポートのページ換え処理を行いません(構文 2EJECT ステートメントの指定は除く)。
EJECT ON (rep) 指定レポートのページ換え処理を実行します。
EJECT ON/OFF
レポート指定を含まない EJECT ON/OFF - バッチモードのみ:

レポート指定 (rep) のない EJECT ON/OFF では、バッチモードで使用して、プログラムの実行中に作成される出力リスト間のページ換え処理を制御できます。

EJECT ON ソースプログラムリスト、出力レポートおよび実行完了メッセージ "EXECUTION COMPLETED" の間でページ換えを実行します。 これはデフォルト設定です。
EJECT OFF 上記の各出力間のページ換えを停止します。 EJECT OFF は次の EJECT ON ステートメントが指定されるまで有効です。
(rep)
レポート指定:

表記 (rep) は、EJECT ステートメントを適用するレポートの ID を指定するために使用できます。

範囲 0~31 の値、または DEFINE PRINTER ステートメントを使用して割り当てた論理名を指定できます。

(rep) を指定しない場合、EJECT ステートメントは最初のレポート(レポート 0)に適用されます。

Natural で作成される出力レポートの形式を制御する方法については、『プログラミングガイド』の「データ出力制御」を参照してください。

EJECT - 構文 2

この形式の EJECT ステートメントでは、次のページでタイトルまたはヘッダー行を生成することなく、TOP/END PAGE 処理を行わずに改ページが実行されます。

EJECT [( rep )]

IF

LESS [THANoperand1  [LINES] [LEFT]

WHEN

オペランド定義テーブル:

オペランド 構文要素 フォーマット オペランド参照 ダイナミック定義
operand1 C S         N P I                 不可

構文要素の説明:

(rep)
レポート指定:

表記 (rep) は、EJECT ステートメントを適用するレポートの ID を指定するために使用できます。

範囲 0~31 の値、または DEFINE PRINTER ステートメントを使用して割り当てた論理名を指定できます。

(rep) を指定しない場合、EJECT ステートメントは最初のレポート(レポート 0)に適用されます。

Natural で作成される出力レポートの形式を制御する方法については、『プログラミングガイド』の「データ出力制御」を参照してください。

IF LESS THAN operand1 LINES LEFT 現在の行の位置が、ページサイズから operand1 の値を引いた値よりも大きいときに限り、ページ換えが行われます。 operand1 の値は数値定数または変数で指定できます。

Top of page

処理

EJECT ステートメントが実行されても、AT TOP OF PAGEAT END OF PAGEWRITE TITLE、または WRITE TRAILER ステートメントが実行されることはありません。 また、DISPLAY GIVE SYSTEM FUNCTIONS で評価されるシステム関数にも影響しません。

EJECT では、新規の物理ページの生成だけが行われます。 Natural システム変数 *LINE-COUNT1 に設定されますが、*PAGE-NUMBER は影響を受けません。

Top of page

** 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

プログラム EJTEX1 の出力:

  
  
                     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%                    
                     %%                         %%
                     %%   REPORT OF EMPLOYEES   %%
                     %%     SORTED BY CITY      %%
                     %%                         %%
                     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  

 

Enter キーを押した後:

****************************************************************              
AIKEN                SENKO                PROGRAMMER                         2
****************************************************************              
****************************************************************              
AIX EN OTHE          GODEFROY             COMPTABLE                          5
****************************************************************              
****************************************************************              
AJACCIO              CANALE               CONSULTANT                         8
****************************************************************              
****************************************************************              
ALBERTSLUND          PLOUG                KONTORASSISTENT                   11
****************************************************************              
****************************************************************              
ALBUQUERQUE          HAMMOND              SECRETARY                         14
****************************************************************             

Enter キーを押した後:

****************************************************************              
ALBUQUERQUE          ROLLING              MANAGER                            2
****************************************************************              
****************************************************************              
ALBUQUERQUE          FREEMAN              MANAGER                            5
****************************************************************              
****************************************************************              
ALBUQUERQUE          LINCOLN              ANALYST                            8
****************************************************************              
****************************************************************              
ALFRETON             GOLDBERG             JUNIOR                            11
****************************************************************

Top of page