For each, for first, for next, etc…

zpět

 

LEAVE – přerušení cyklu

DEFINE VARIABLE i AS INTEGER INITIAL 0 NO-UNDO .

dataLoop:
    FOR EACH Table
    NO-LOCK:
      /* nějaký kód */
      i = i + 1 .
      IF i = 10 THEN
      LEAVE dataLoop.
    END.

 

FIRST-OF() – ekvivalent SQL SELECT DISTINCT

Následující ukázky kódu zobrazují, jak implementovat ekvivalent SQL SELECT DISTINCT pro použití v příkazech FOR EACH.

Příklad:

FOR EACH SomeTable
NO-LOCK
WHERE SomeConditions
BREAK
BY SomeField:

   IF FIRST-OF(SomeField) THEN DO:
      /* nějaký kód */
   END.

END.

Příklad:

​FOR EACH SomeTable
NO-LOCK
WHERE SomeConditions
BREAK
BY SomeField1
BY SomeField2:

   IF FIRST-OF(SomeField1) AND FIRST-OF(SomeField2) THEN DO:
     /* nějaký kód */
   END.

END.