DOWN statement

Positions the cursor on a new line in a down or multi-line frame.

When the block specifying the down frame iterates, the AVM automatically advances one frame line. Use the DOWN statement if you want to move to a different display line at any time.

For more information on down frames, see the DOWN option of the Frame phrase.

Note: Does not apply to SpeedScript programming.

Syntax

DOWN [ STREAM stream | STREAM-HANDLE handle ] [ expression ]
     { [frame-phrase ] }
STREAM stream
Specifies the name of a stream. If you do not name a stream, the AVM uses the unnamed stream. See the DEFINE STREAM statement reference entry and the "Alternate I/O Sources" chapter in OpenEdge Development: Programming Interfaces for more information on streams.
STREAM-HANDLE handle
Specifies the handle to a stream. If handle it is not a valid handle to a stream, the AVM generates a run-time error. Note that stream handles are not valid for the unnamed streams. See the chapter on alternate I/O sources in OpenEdge Development: Programming Interfaces for more information on streams and stream handles.
expression
The number of occurrences of data in the frame that you want to move down.

DOWN is the same as DOWN 1, except for the following:

  • Nothing happens until a data handling statement affects the screen.
  • Several DOWN statements in a row with no intervening displays are treated as a single DOWN 1.

DOWN 0 does nothing. If n is negative, the result is the same as UP ABS(n).

frame-phrase
Specifies the overall layout and processing properties of a frame. For more information on frame-phrase, see the Frame phrase reference entry.

Example

This procedure prints a Customer report that is sorted by State, with one line after the last Customer in each state:

r-down.p

DEFINE VARIABLE laststate AS CHARACTER NO-UNDO.

FOR EACH Customer NO-LOCK BY Customer.State:
  IF Customer.State <> laststate THEN DO:
    IF laststate <> "" THEN DOWN 1.
    laststate = Customer.State.
  END.
  DISPLAY Customer.CustNum Customer.Name Customer.City Customer.State.
END.

Notes

See also

DEFINE STREAM statement, Frame phrase, SCROLL statement, Stream object handle, UP statement