Chapter Contents

Previous

Next
SAS Companion for the CMS Environment

The Subcommand Environment

When a SASMACRO receives control, the default subcommand environment is 'SAS'. This causes REXX to pass external commands to SAS. You can use the REXX ADDRESS instruction, followed by the name of an environment, to change to a different default subcommand environment. For example:

address command
address xedit
address sas

A SASMACRO is analogous to an XEDIT macro in its structure and invocation:

From the time a SASMACRO is invoked until it is terminated, the SAS subcommand environment is available. For example, a SASMACRO can invoke a REXX exec that issues the following instruction and submits SAS statements:

address sas

You can use a REXX exec in this way to layer and reuse the code in a SASMACRO.

Although SASMACROs and EXECs can be nested, the SAS subcommand environment itself is not re-entrant; that is, it cannot accept a new SAS statement while a previous statement that is submitted via ADDRESS SAS is still running. The limitation that this imposes is that a SASMACRO cannot use the X statement or the CMS statement to execute a command that, in turn, issues SAS statements via ADDRESS SAS. Instead, use the ADDRESS command or ADDRESS CMS to execute such a command.

Each command string that is submitted to the SAS subcommand environment is limited to a maximum length of 132 characters. This limit is on the final length of the string that results from the completion of all interpretation by REXX.


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.