The SCROLL instruction moves data rows up or down in a screen array.


SCROLL field-list { UP | DOWN } [ BY lines ]
where field-list is:
{ field-name
| table-name.*
| table-name.field-name
| screen-array[line].*
| screen-array[line].field-name
| screen-record.*
| screen-record.field-name
} [,...]
  1. field-name is the identifier of a field of the current form.
  2. table-name is the identifier of a database table of the current form.
  3. screen-record is the identifier of a screen record of the current form.
  4. screen-array is the name of the screen array used of the current form.
  5. line is the line number in the screen array (it is ignored by SCROLL).
  6. lines is an integer expression that specifies how far (in lines) to scroll the display. Passing zero has no effect.


The SCROLL instruction specifies vertical movements of displayed values in all or some of the fields of a screen array within the current form.

The fields to be scrolled can be specified individually or by referencing a screen record or screen array, with the .* notation to specify all fields.

The SCROLL instruction syntax supports a screen-array[line] specification. In this form, the line number will be ignored: With SCROLL, all rows of a screen array are shifted.

The SCROLL instruction is supported for applications running in TUI mode, to scroll screen array rows when no interactive instruction is executing. In a GUI application, use a TABLE container with a DISPLAY ARRAY instruction.

When passing zero as offset in SCROLL ... UP/DOWN BY lines, the instruction does nothing.