[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 einem View 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 Sourcecode- 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