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.
(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
.