When you execute a DISPLAY statement, the SAS System displays the window with all current values of the variables. You can then enter data into the unprotected fields. All the basic editing keys (cursor controls, delete, end, insert, and so forth) work, as well as SAS windowing environment commands to scroll or otherwise manage the window. Control does not return to the IML code until you enter a command on the command line that is not recognized as a SAS windowing environment command. Typically, a SUBMIT command is used since most users define a function key for this command. Before control is returned to you, IML moves all modified field values from the screen back into IML variables by using standard or specified informat routines. If you have specified the CMNDLINE= option in the WINDOW statement, the current command line is passed back to the specified variable.
The window remains visible with the last values entered until the next DISPLAY statement or until the window is closed by a WINDOW statement with the CLOSE= option.
Only one window is active at a time. Every window can be subject to SAS windowing environment commands, but only the window specified in the current DISPLAY statement transfers data to IML.
Each window is composed dynamically every time it is displayed. If you position fields by variables, you can make them move to different parts of the screen simply by programming the values of the variables.
The DISPLAY statement even accepts general expressions in parentheses as positional or field operands. The WINDOW statement only accepts literal constants or variable names as operands. If a field operand is an expression in parentheses, then it is always a protected field. You cannot use the following statement and expect it to return the log function of the data entered:
display w(log(X));
Instead you would need the following code:
lx=log(x); display w(lx);