Progress
Language Reference
DEFINE STREAM Statement
Use the DEFINE STREAM statement when you want to use streams other than the two unnamed streams supplied by Progress. Using other streams let you, in a single procedure, get input from more than one source simultaneously or send output to more than one destination simultaneously.
SYNTAX
NEW SHARED STREAM stream
Defines a stream that can be shared by other procedures. When the procedure using the DEFINE NEW SHARED STREAM statement ends, the stream is no longer available to any procedure. The value you use for the stream option must be a constant.
NEW GLOBAL SHARED STREAM stream
Defines a stream that can be shared by other procedures and that will remain available even after the procedure that contains the DEFINE NEW GLOBAL SHARED STREAM statement ends. The value you use for the stream option must be a constant.
SHARED STREAM stream
Defines a stream that was created by another procedure using the DEFINE NEW SHARED STREAM statement or the DEFINE NEW GLOBAL SHARED STREAM statement. The value you use for the stream option must be a constant.
STREAM stream
Defines a stream that can be used only by the procedure containing the DEFINE STREAM statement. The value you use for the stream option must be a constant.
EXAMPLESThis procedure, in a single pass through the item table, uses the rpt stream to create a report and the exceptions stream to create a list of exceptions.
Include the DISPLAY statement in the
r-dfstr2.p
procedure in ther-dfstr.p
procedure for efficiency. (It is in a separate procedure here to illustrate shared streams.)
NOTES
- You cannot define a SHARED or NEW SHARED stream in a user-defined function, an internal procedure or a persistent procedure. If you do, Progress raises an ERROR on the RUN statement that creates the procedure.
- Progress automatically provides two unnamed streams to each procedure: the input stream and the output stream. These streams give the procedure a way to communicate with an input source and an output destination. For example, the following statement tells Progress to use the unnamed input stream to get input from the file named
testfile
.
- Using the DEFINE STREAM statement creates a stream, but it does not actually open that stream. To open a stream, you must use the STREAM option with the INPUT FROM, INPUT THROUGH, OUTPUT TO, OUTPUT THROUGH, or INPUT-OUTPUT THROUGH statements. You must also use the STREAM option with any data handling statements that move data to and from the stream.
- After you open the stream, you can use the SEEK function to return the offset value of the file pointer, or you can use the SEEK statement to position the file pointer to any location in the file.
- For more information on using streams, see the section on alternate I/O sources in the Progress Programming Handbook .
SEE ALSO
DISPLAY Statement, INPUT CLOSE Statement, INPUT FROM Statement, INPUT THROUGH Statement, INPUT-OUTPUT THROUGH Statement, OUTPUT CLOSE Statement, OUTPUT THROUGH Statement, OUTPUT TO Statement, PROMPT-FOR Statement, RUN Statement, SEEK Function, SEEK Statement, SET Statement
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |