AT TOP OF PAGE

ストラクチャードモード構文

[ATTOP [OFPAGE [(rep)]
statement ../graphics/dot3.gif
END-TOPPAGE

レポーティングモード構文

[ATTOP [OFPAGE [(rep)]

statement

DO statement ../graphics/dot3.gif DOEND

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

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

関連ステートメント:AT END OF PAGE | CLOSE PRINTER | DEFINE PRINTER | DISPLAY | EJECT | FORMAT | NEWPAGE | PRINT | SKIP | SUSPEND IDENTICAL SUPPRESS | WRITE | WRITE TITLE | WRITE TRAILER

関連機能グループ:出力レポートの作成


関数

AT TOP OF PAGE ステートメントは、新しいページが始まるときの処理を指定します。

プログラミングガイド』の次のセクションも参照してください。

処理

新しいページが始まるのは、内部の行カウンタが Natural セッションパラメータ PS(Natural レポートのページサイズ)で設定されたページサイズを超過したとき、あるいは NEWPAGE ステートメントが実行されたときです。どちらの場合も、AT 条件が真となります。EJECT ステートメントは、新しいページを開始しますが、AT 条件を発生させることはありません。

AT TOP OF PAGE ステートメントブロックは、AT 条件が発生したときに、そのステートメントを含むオブジェクトがアクティブな場合にのみ実行されます。

AT TOP OF PAGE 処理の結果の出力は、タイトル行と 1 行の空行に続いて出力されます。

このステートメントは非手続き型なので、プログラム内の位置ではなくイベントによって実行されます。

制限事項

AT TOP OF PAGE ステートメントは、内部サブルーチン内には指定できません。

構文説明

構文要素 説明
(rep)
レポート指定:
表記 (rep) は、AT TOP OF PAGE ステートメントを適用するレポートの ID を指定するために使用できます。

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

(rep) 指定がない場合、AT TOP OF PAGE ステートメントは最初のレポート(レポート 0)に適用されます。

Natural で作成した出力レポートのフォーマットを制御する方法については、『プログラミングガイド』の「レポートフォーマットおよび制御」を参照してください。

statement ...
AT START OF DATA で実行するステートメント:

ストラクチャードモードでは、状況に応じて、1 つ以上の適切なステートメントを指定する必要があります。ステートメントの例については、下記の「」を参照してください。

END-TOPPAGE
AT TOP OF PAGE ステートメントの終了:

ストラクチャードモードでは、AT TOP OF PAGE ステートメントを終了するには、Natural の予約語 END-TOPPAGE を使用する必要があります。

レポーティングモードでは、状況に応じて、DO ... DOEND ステートメントを使用して 1 つ以上の適切なステートメントを指定し、AT TOP OF PAGE ステートメントを終了します。単一のステートメントのみを指定する場合は、DO ... DOEND ステートメントを省略できます。よいコーディング習慣に則して、これはお勧めしません。

statement ...
DO statement ... DOEND

** Example 'ATPEX1S': AT TOP OF PAGE (structured mode)                  
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPLOY-VIEW VIEW OF EMPLOYEES                                         
  2 NAME                                                                
  2 FIRST-NAME                                                          
  2 CITY                                                                
  2 DEPT                                                                
END-DEFINE                                                              
*                                                                       
FORMAT PS=15                                                            
LIMIT 15                                                                
READ EMPLOY-VIEW BY NAME STARTING FROM 'L'                              
  DISPLAY 2X NAME 4X FIRST-NAME CITY DEPT                               
  WRITE TITLE UNDERLINED 'EMPLOYEE REPORT'                              
  WRITE TRAILER '-' (78)                                                
  /*                                                                    
 AT TOP OF PAGE                                                        
    WRITE 'BEGINNING NAME:' NAME                                        
  END-TOPPAGE
  /*                            
  AT END OF PAGE                
    SKIP 1                      
    WRITE 'ENDING NAME:   ' NAME
  END-ENDPAGE                   
END-READ                        
END

プログラム ATPEX1S の出力:

                                EMPLOYEE REPORT                                
-------------------------------------------------------------------------------
BEGINNING NAME: LAFON                                                          
          NAME                 FIRST-NAME              CITY         DEPARTMENT 
                                                                       CODE    
  --------------------    -------------------- -------------------- ---------- 
                                                                               
  LAFON                   CHRISTIANE           PARIS                VENT18     
  LANDMANN                HARRY                ESCHBORN             MARK29     
  LANE                    JACQUELINE           DERBY                MGMT02     
  LANKATILLEKE            LALITH               FRANKFURT            PROD22     
  LANNON                  BOB                  LINCOLN              SALE20     
  LANNON                  LESLIE               SEATTLE              SALE30     
  LARSEN                  CARL                 FARUM                SYSA01     
  LARSEN                  MOGENS               VEMMELEV             SYSA02     
------------------------------------------------------------------------------ 
                                                                               
ENDING NAME:    LARSEN

レポーティングモードの例については、次のプログラムを参照してください:ATPEX1R