PERFORM BREAK [PROCESSING] [(r)]
|
AT BREAK statement
|
Dieses Dokument behandelt folgende Themen:
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
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-Element | Beschreibung |
|---|---|
(r) |
Statement-Referenzierung:
Normalerweise wird die Durch Verwendung eines Statement-Labels oder Angabe der
Sourcecode-Zeilennummer mittels
Notation
|
AT BREAK
statement...
|
Siehe Syntax des |
** 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.