PERFORM BREAK PROCESSING

#### Search Results

Search

# PERFORM BREAK PROCESSING

`PERFORM BREAK` [`PROCESSING`] [(r)]
`AT BREAK` statement

Dieses Dokument behandelt folgende Themen:

- Funktion

- Syntax-Beschreibung

- Beispiel

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

Verwandte Statements: `ACCEPT/REJECT` | `AT BREAK` | `AT START OF DATA` | `AT END OF DATA` | `BACKOUT TRANSACTION` | `BEFORE BREAK PROCESSING` | `DELETE` | `END TRANSACTION` | `FIND` | `GET` | `GET SAME` | `GET TRANSACTION DATA` | `HISTOGRAM` | `LIMIT` | `PASSW` | `READ` | `RETRY` | `STORE` | `UPDATE`

Gehört zur Funktionsgruppe: Datenbankzugriffe und Datenbankänderungen

## Funktion

Das Statement `PERFORM BREAK PROCESSING` dient dazu, bei Verarbeitungsschleifen, die mit `FOR`, `REPEAT`, `CALL LOOP` oder `CALL FILE` ausgelöst wurden, dort eine Gruppenwechsel-Verarbeitung auszulösen, wo keine automatische Gruppenwechsel-Verarbeitung durchgeführt wird, oder wenn eine Gruppenwechsel-Verarbeitung gewünscht wird.

Im Gegensatz zu einer automatischen Gruppenwechsel-Verarbeitung, die ausgeführt wird, unmittelbar nachdem der Datensatz gelesen wurde, wird ein `PERFORM BREAK PROCESSING`-Statement dann ausgeführt, wenn es im normalen Programmablauf auftaucht.

Das `PERFORM BREAK PROCESSING`-Statement überprüft anhand des Wertes eines Kontrollfeldes, ob eine Gruppenwechsel-Bedingung erfüllt wird, und bewirkt außerdem eine Auswertung der Natural-Systemfunktionen. Diese Prüfung und Auswertung findet jedesmal, wenn das Statement ausgeführt wird, statt. Die Ausführung eines `PERFORM BREAK PROCESSING`-Statements kann an eine mit einem `IF`-Statement angegebene logische Bedingung geknüpft werden.

## Syntax-Beschreibung

Syntax-Element | Beschreibung
--- | ---
`(r)` | Statement-Referenzierung: Normalerweise wird die `PERFORM BREAK PROCESSING`-Verarbeitung zum letztenmal ausgeführt, wenn die Ausführung des Programms/Subprogramms bzw. der Subroutine beendet ist. Durch Verwendung eines Statement-Labels oder Angabe der Sourcecode-Zeilennummer mittels Notation `(r)` kann eine bestimmte Verarbeitungsschleife referenziert werden, auf die sich die abschließende `PERFORM BREAK PROCESSING`-Verarbeitung beziehen soll; in diesem Falle ist sie Teil der schleifenbeendenden Verarbeitung, d.h. die letzte `PERFORM BREAK`-Verarbeitung wird nach der letzten automatischen Gruppenwechsel-Verarbeitung und vor den `AT END OF DATA`-Statements ausgeführt.
`AT BREAK statement...` | Siehe Syntax des `AT BREAK`-Statements.

## Beispiel

    ** Example 'PBPEX1S': PERFORM BREAK PROCESSING  (structured mode)
    ************************************************************************
    DEFINE DATA LOCAL
    1 #INDEX (N2)
    1 #LINE  (N2) INIT <1>
    END-DEFINE
    *
    FOR #INDEX 1 TO 18
      PERFORM BREAK PROCESSING
      /*
      AT BREAK OF #INDEX /1/
        WRITE NOTITLE / 'PLEASE COMPLETE LINES 1-9 ABOVE' /
        RESET INITIAL #LINE
      END-BREAK
      /*
      WRITE NOTITLE '_' (64) '=' #LINE
      ADD 1 TO #LINE
    END-FOR
    *
    END

Ausgabe des Programms `PBPEX1S`:

    ________________________________________________________________ #LINE:   1
    ________________________________________________________________ #LINE:   2
    ________________________________________________________________ #LINE:   3
    ________________________________________________________________ #LINE:   4
    ________________________________________________________________ #LINE:   5
    ________________________________________________________________ #LINE:   6
    ________________________________________________________________ #LINE:   7
    ________________________________________________________________ #LINE:   8
    ________________________________________________________________ #LINE:   9

    PLEASE COMPLETE LINES 1-9 ABOVE

    ________________________________________________________________ #LINE:   1
    ________________________________________________________________ #LINE:   2
    ________________________________________________________________ #LINE:   3
    ________________________________________________________________ #LINE:   4
    ________________________________________________________________ #LINE:   5
    ________________________________________________________________ #LINE:   6
    ________________________________________________________________ #LINE:   7
    ________________________________________________________________ #LINE:   8
    ________________________________________________________________ #LINE:   9

    PLEASE COMPLETE LINES 1-9 ABOVE

Äquivalentes Reporting-Mode-Beispiel: `PBPEX1R`.

### On this page

- Funktion
- Syntax-Beschreibung
- Beispiel