REPEAT <Anweisungen> UNTIL <Bedingung>;
REPEAT-UNTIL
Mit REPEAT-UNTIL kann eine Reihe von Datensätzen durchlaufen werden.
Hinweise
<Anweisungen> wird wiederholt ausgeführt, bis <Bedingung> TRUE ist.
Die Kontrollstruktur REPEAT-UNTIL ähnelt der WHILE-Kontrollstruktur. Der Unterschied besteht darin, dass die <Anweisungen> immer mindestens einmal ausgeführt werden, unabhängig davon, wie die <Bedingung> ausgewertet wird, da die REPEAT-UNTIL-Anweisung von links nach rechts ausgeführt wird. Im Gegensatz dazu steht die WHILE-Kontrollstruktur, die die Auswertung vor der Ausführung der <Anweisungen> durchführt. Wenn in der WHILE-Kontrollstruktur die erste Auswertung der <Bedingung> FALSE zurückgibt, dann werden keine Anweisungen ausgeführt.
Programmierkonventionen
Setzen Sie REPEAT immer auf eine separate Zeile.
Beispiel
Zunächst werden zwei neue Variable hinterlegt.
Name | Datentyp | Subtyp |
---|---|---|
Customer | Record | Customer |
Idx | Integer |
Anschließend wird folgender C/AL-Code eingefügt.
Customer.RESET; Customer.SETRANGE(Customer."Credit Limit (LCY)",0,1000); IF Customer.FINDSET THEN REPEAT Idx += 1; UNTIL Customer.NEXT = 0; MESSAGE('%1 Kunden haben ein Kreditlimit zwischen 0 und 1000',Idx);
Sobald der Code ausgeführt wird, erscheint das folgende Ergebnis.
Dieser Code verwendet eine REPEAT-UNTIL-Schleife, um die Anzahl der Einträge in der Tabelle „Debitor“ anhand des Kreditlimits zu zählen. Jedes Mal, wenn NEXT aufgerufen wird, wird der nächste Datensatz nach vorn gesetzt. Wenn NEXT gleich 0 ist, gibt es keine Einträge mehr in der Tabelle, die Schleife wird verlassen und eine Meldung zeigt an, wie viele Einträge gefunden wurden.