Try OpenEdge Now
skip to main content
ABL Reference
ABL Syntax Reference : OUTPUT CLOSE statement
 

OUTPUT CLOSE statement

Closes the default output destination or the output stream you name with the STREAM keyword in a prior OUTPUT TO statement.

Syntax

OUTPUT [ STREAM stream | STREAM-HANDLE handle ] CLOSE
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 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.

Example

This procedure sends Customer data to a file by using the OUTPUT TO statement. All statements that normally send output to the terminal send output to the file named cust.dat. After all Customer data is written to the file, the OUTPUT CLOSE statement resets the output destination, usually the terminal. The final DISPLAY statement displays "Finished" on the terminal.
r-out.p
OUTPUT TO cust.dat.

FOR EACH Customer NO-LOCK:
  DISPLAY Customer.CustNum Customer.Name Customer.Address Customer.Address2
    Customer.City Customer.State Customer.Country SKIP(2)
    WITH 1 COLUMN SIDE-LABELS.
END.

OUTPUT CLOSE.

DISPLAY "Finished".

Notes

*The default output destination is the destination that was active when the procedure began. The output destination is usually the terminal unless the current procedure was called by another procedure while a different destination was active.
*A form feed (new page) is automatically output when a PAGED output stream is closed.
*If the output destination is the Windows clipboard, this statement writes all buffered output data to the clipboard in CF-TEXT format and clears the buffer.
*For more information on directing output, see OpenEdge Development: Programming Interfaces.

See also

DEFINE STREAM statement, OUTPUT TO statement, Stream object handle