INPUT [ STREAM stream | STREAM-HANDLE handle ] THROUGH
{ program-name | VALUE ( expression ) }
[ argument | VALUE ( expression ) ] ...
[ ECHO | NO-ECHO ]
[ MAP protermcap-entry | NO-MAP ]
[ UNBUFFERED ]
[ NO-CONVERT
| { CONVERT
[ TARGET target-codepage ]
[ SOURCE source-codepage ]
}
]
|
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.
If the argument is the literal value echo, no-echo, or unbuffered, enclose it in quotes to prevent the AVM from interpreting that argument as one of the ECHO, NO-ECHO, or UNBUFFERED options for the INPUT THROUGH statement.
MAP protermcap-entry | NO-MAP
The protermcap-entry value is an entry from the PROTERMCAP file. Use MAP to read an input stream that uses a different character translation from the current stream. Typically,
protermcap-entry is a slash-separated combination of a standard device entry and one or more language-specific add-on entries (MAP laserwriter/french or MAP hp2/spanish/italian, for example). The AVM uses the PROTERMCAP entries to build a translation table for the stream. Use NO-MAP to make the AVM bypass character translation altogether. See
OpenEdge Deployment: Managing ABL Applications for more information on PROTERMCAP. See
OpenEdge Development: Internationalizing Applications for more information on national language support.
Allows you to modify the character conversions occurring between the UNIX program and ABL. By default, the INPUT THROUGH statement converts characters from the code page specified with the Stream Code Page (-cpstream) parameter to the code page specified with the Internal Code Page (-cpinternal) parameter. If you specify SOURCE
source-codepage alone, the conversion accepts
source-codepage as the code page name of the UNIX program (instead of -cpstream). If you specify TARGET
target-codepage, the conversion accepts
target-codepage as the internal code page (instead of -cpinternal). If you specify both SOURCE
source-codepage and TARGET
target-codepage, it converts characters from the
source-codepage to
target-codepage (instead of -cpstream to -cpinternal).
This procedure uses as its input source the output of the UNIX echo command. Before the command runs, the UNIX shell substitutes the process-id number for $$ and the current directory search path for $PATH. The results are then echoed and become available as a line of input to ABL. When the IMPORT statement is executed, the line of input from echo is read and the values are assigned to the two variables. Those variables can then be used for any purpose. In this example, the word
echo must be lowercase and the word
$PATH must be uppercase, since they both pass to UNIX:
|
To use the IMPORT, INSERT, PROMPT-FOR, SET, or UPDATE statement, the AVM puts the data in the frame fields referenced in these statements, and if ECHO is in effect, the frame is output to the current output destination. If you use the NO-ECHO option, then the frame is not output. If a subsequent DISPLAY statement causes the frame to display, the input data also displays.
|