AT TOP OF PAGE

Structured Mode-Syntax

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

Reporting Mode-Syntax

[ATTOP [OFPAGE [(rep)]

statement

DO statement ../graphics/dot3.gif DOEND

Dieses Dokument behandelt folgende Themen:

Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.

Verwandte Statements: AT END OF PAGE | CLOSE PRINTER | DEFINE PRINTER | DISPLAY | EJECT | FORMAT | NEWPAGE | PRINT | SKIP | SUSPEND IDENTICAL SUPPRESS | WRITE | WRITE TITLE | WRITE TRAILER

Gehört zur Funktionsgruppe: Erstellen von Ausgabe-Reports


Funktion

Mit dem AT TOP OF PAGE-Statement können Sie eine Verarbeitung angeben, die ausgeführt werden soll, wenn eine neue Seite beginnt.

Siehe auch folgende Abschnitte im Leitfaden zur Programmierung:

Verarbeitung

Eine neue Seite beginnt, wenn entweder die ausgegebene Zeilenzahl die mit dem Session-Parameter PS gesetzte Seitenlänge überschreitet oder ein NEWPAGE-Statement ausgeführt wird. Ein EJECT-Statement führt ebenfalls zu einem Seitenvorschub, löst aber keine AT TOP OF PAGE-Verarbeitung aus.

Ein AT TOP OF PAGE-Statement-Block wird nur ausgeführt, wenn das Objekt, das den Statement-Block enthält, zu dem Zeitpunkt, zu dem die Top-of-Page-Bedingung auftritt, aktiv ist.

Erzeugt ein AT TOP OF PAGE-Statement eine Ausgabe, so wird diese unter der Seitentitelzeile ausgegeben, wobei zwischen beiden automatisch eine Leerzeile ausgegeben wird.

Dieses Statement ist nicht prozedural (das heißt, seine Ausführung hängt von einem Ereignis ab, nicht davon, wo im Programm es steht).

Einschränkung

Ein AT TOP OF PAGE-Statement darf nicht in einer internen Subroutine stehen.

Syntax-Beschreibung

Syntax-Element-Beschreibung:

Syntax-Element Beschreibung
(rep)
Report-Spezifikation:
Mit der Notation (rep) kann ein bestimmter anderer Report angegeben werden, auf den sich das AT TOP OF PAGE-Statement beziehen soll.

Es kann ein Wert von 0 bis 31 oder ein logischer Name, der mit einem DEFINE PRINTER-Statement zugewiesen wurde, angegeben werden.

Falls (rep) nicht angegeben wird, bezieht sich das AT TOP OF PAGE-Statement auf den ersten Report (Report 0).

Weitere Informationen zur Steuerung des Formats eines mit Natural erzeugten Ausgabe-Reports siehe Steuerung der Ausgabe von Daten im Leitfaden zur Programmierung.

statement ...
Bei Eintreten der Bedingung auszuführende(s) Statement(s):

Im Structured Mode muss anstelle von statement je nach Situation eines oder mehrere passende Statements angeben werden. Siehe Beispiel weiter unten.

END-TOPPAGE
Ende des AT TOP OF PAGE-Statements:

Im Structured Mode muss das für Natural reservierte Schlüsselwort END-TOPPAGE zum Beenden des AT TOP OF PAGE-Statements benutzt werden.

Im Reporting Mode werden die Statements DO ... DOEND benutzt, um je nach Situation eines oder mehrere passende Statements anzugeben, und um das AT TOP OF PAGE-Statement zu beenden. Falls Sie nur ein einziges Statement angeben, können Sie die Statements DO ... DOEND weglassen. Das ist jedoch nicht im Sinne einer guten Kodierpraxis und wird nicht empfohlen.

statement ...
DO statement ... DOEND

Beispiel

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

Ausgabe des Programms 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                                                        

Äquivalentes Reporting-Mode-Beispiel: ATPEX1R.