DO var start TO 完成 BY 步驟
此迭代將值從起點更改為結束,可選地按每個步驟的指定值更改。預設更改為 1。
DEFINE VARIABLE i AS INTEGER     NO-UNDO.
DO i = 10 TO 15:
    DISPLAY i WITH FRAME x1 6 DOWN .
    DOWN WITH FRAME x1.
END.
結果:
---------------i
        10
        11
        12
        13
        14
        15
你也可以迭代日期:
DEFINE VARIABLE dat AS INTEGER        NO-UNDO.
DO dat = TODAY TO TODAY + 3:
END.
超過小數。但是你最有可能想要使用 BY - 否則 INTEGER 會做得很好……
DEFINE VARIABLE de AS DECIMAL     NO-UNDO.
DO de = 1.8 TO 2.6 BY 0.2:
    DISPLAY "Value" de.
END.
使用 BY 為負數,你也可以從較高的值變為較低的值:
DEFINE VARIABLE i AS INTEGER     NO-UNDO.
DO i = 5 TO 1 BY -1:
    
END.
表示式將被測試,直到它不再符合。這使得計數器在迴圈結束後更高(如果向上移動)或更低(如果向下移動):
DEFINE VARIABLE i AS INTEGER     NO-UNDO.
DO i = 5 TO 1 BY -1:
    
END.
MESSAGE i. // Will message 0
另一個例子:
DEFINE VARIABLE da AS DATE     NO-UNDO.
DISPLAY TODAY. //17/02/06
DO da = TODAY TO TODAY + 10:
    
END.
DISPLAY da. //17/02/17 (TODAY + 11)