AT TOP OF PAGE

#### Search Results

Search

# AT TOP OF PAGE

#### Structured Mode-Syntax

[`AT`] `TOP` [`OF`] `PAGE` [(rep)]
statement
`END-TOPPAGE`

#### Reporting Mode-Syntax

[`AT`] `TOP` [`OF`] `PAGE` [(rep)]
| statement |
`DO` statement `DOEND`

Dieses Dokument behandelt folgende Themen:

- Funktion

- Einschränkung

- Syntax-Beschreibung

- Beispiel

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:

- Steuern der Ausgabe von Daten

- Report-Spezifikation − (rep) Notation

- Layout einer Ausgabeseite

- AT TOP OF PAGE-Statement

### 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`.

### On this page

- Funktion
- Einschränkung
- Syntax-Beschreibung
- Beispiel