The PUSH subroutine pushes character arguments that contain valid SAS statements (usually SAS/IML statements or global statements) to the input command stream. You can specify up to 15 arguments. Any statements in the input command queue are executed when the module is paused (see the PAUSE statement), which happens when one of the following occurs:
An execution error occurs within a module.
An interrupt is issued.
A PAUSE statement executes.
The pushed string is read before any other lines of input. If you call the PUSH subroutine several times, the strings pushed each time are ahead of the less recently pushed strings. If you would rather place the lines after others in the input stream, use the QUEUE call.
The strings you push do not appear on the log.
Caution: Do not push too many statements at one time. Pushing too many statements causes problems that can result in exiting the SAS System.
For more information about the input command stream, see Chapter 19.
An example that uses the PUSH subroutine follows:
start; code='reset pagesize=25;'; call push(code,'resume;'); pause; /* show that pagesize was set to 25 during */ /* a PAUSE state of a module */ show options; finish; run main;
Figure 24.277: Result of a PUSH Statement
Options: noautoname center noclip deflib=WORK (system-specific-pathname) nodetails noflow nofuzz fw=9 imlmlib=SASHELP.IMLMLIB linesize=80 nolog name pagesize=25 noprint noprintall spaces=1 userlib=WORK.IMLSTOR(not open) |