[CLOSE ] LOOP [(r)]
|
Dieses Dokument behandelt folgende Themen:
Das Statement LOOP
dient dazu, eine
Verarbeitungsschleife zu schließen. Es bewirkt, dass der aktuelle
Schleifendurchlauf beendet wird und die Kontrolle wieder an den Anfang der
Schleife übergeben wird.
Sobald die Verarbeitungsschleife, auf die sich das
LOOP
-Statement bezieht, beendet ist (d.h. sobald alle Datensätze
verarbeitet und alle Schleifendurchläufe ausgeführt sind), wird die
Verarbeitung mit dem auf das LOOP
-Statement folgenden Statement
fortgesetzt.
Neben dem Schließen der Schleife(n) bewirkt das
LOOP
-Statement, dass alle Referenzierungen von Feldern, die in
FIND
-,
FIND FIRST
,
FIND UNIQUE
-,
READ
- und
GET
-Statements innerhalb der
geschlossenen Schleife(n) verwendet werden, eliminiert werden.
Ein Feld, das in einer View (Datenbanksicht) enthalten ist, kann
auch außerhalb einer mit LOOP
geschlossenen Schleife referenziert
werden, und zwar indem bei der Referenzierung der View-Name angegeben wird.
Dieses Statement gilt nur für Reporting Mode.
Ein LOOP
-Statement darf nicht an eine logische
Bedingung wie etwa ein IF
- oder
AT BREAK
-Statement
geknüpft werden.
Syntax-Element-Beschreibung:
Syntax-Element | Beschreibung |
---|---|
LOOP
(r)
|
Statement-Referenzierung:
Sollen mehrere Schleifen geschlossen werden, so kann ein
bestimmtes Statement per Statement-Label oder Quellcode-Zeilennummer
referenziert werden (Notation
|
Anmerkungen:
END
-Statement alle noch aktiven
Verarbeitungsschleifen, die noch nicht explizit durch ein
LOOP
-Statement beendet
wurden, automatisch geschlossen.
LOOP
-Statement weglassen. Das ist
jedoch nicht im Sinne einer guten Kodierpraxis und wird nicht
empfohlen.
0010 FIND ... 0020 READ ... 0030 READ ... 0040 LOOP (0010) /* closes all loops
0010 FIND ... 0020 READ ... 0030 READ ... 0040 LOOP /* closes loop initiated on line 0030 0050 LOOP /* closes loop initiated on line 0020 0060 LOOP /* closes loop initiated on line 0010