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 chapter on alternate I/O sources 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.
field
Represents the name of the field or variable you want to underline.
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 produces a report of Customer records, categorized by State. When the last Customer for a certain state has been displayed (determined by the LAST-OF function), the UNDERLINE statement underlines the State field.
r-under1.p
FOR EACH Customer NO-LOCK BREAK BY Customer.State WITH USE-TEXT:
DISPLAY Customer.State Customer.CustNum Customer.Name.
IF LAST-OF(Customer.State) THEN UNDERLINE Customer.State.
END.
Notes
Use The UNDERLINE statement to highlight fields or to underline accumulated values that you calculated using functions other than the automatic aggregate functions supplied with ABL.
When determining the position within a DOWN frame, the DOWN statement and the UP statement count the line used by an underline.
Even if the layout of a DOWN frame takes multiple screen lines, the underline takes just one line on the screen.
For a 1 DOWN frame or single frame, the UNDERLINE does not appear. Instead, the AVM clears the frame.