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.

73 Kunden haben ein Kreditlimit zwischen 0 und 1000

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.