A macro language statement instructs the macro processor to perform
an operation. It consists of a string of keywords, SAS names, and special
characters and operators, and it ends in a semicolon. Some macro language
statements are used only in macro definitions, but you can use others anywhere
in a SAS session or job, either inside or outside macro definitions (referred
to as open code). The following table lists macro language statements that
you can use in both macro definitions and open code.
Macro Language Statements Used in Macro Definitions and Open Code
Statement |
Description |
%* comment |
designates comment text. |
%COPY |
copies specified items from a SAS library. |
%DISPLAY |
displays a macro window. |
%GLOBAL |
creates macro variables that are available during the execution of an
entire SAS session. |
%INPUT |
supplies values to macro variables during macro execution. |
%LET |
creates a macro variable and assigns it a value. |
%MACRO |
begins a macro definition. |
%PUT |
writes text or the values of macro variables to the SAS log. |
%SYMDEL |
deletes the indicated macro variable named in the argument. |
%SYSCALL |
invokes a SAS call routine. |
%SYSEXEC |
issues operating system commands. |
%SYSLPUT |
defines a new macro variable or modifies the value of an existing macro
variable on a remote host or server. |
%SYSRPUT |
assigns the value of a macro variable on a remote host to a macro variable
on the local host. |
%WINDOW |
defines customized windows. |
The following table lists macro language
statements that you can use
only in macro definitions.
Macro Language Statements Used in Macro Definitions Only
Statement |
Description |
%ABORT |
stops the macro that is executing along with the current DATA step,
SAS job, or SAS session. |
%DO |
begins a %DO group. |
%DO, Iterative |
executes statements repetitively, based on the value of an index variable. |
%DO %UNTIL |
executes statements repetitively until a condition is true. |
%DO %WHILE |
executes statements repetitively while a condition is true. |
%END |
ends a %DO group. |
%GOTO |
branches macro processing to the specified label. |
%IF-%THEN/%ELSE |
conditionally processes a portion of a macro. |
%label: |
identifies the destination of a %GOTO statement. |
%LOCAL |
creates macro variables that are available only during the execution
of the macro where they are defined. |
%MEND |
ends a macro definition. |
%RETURN |
causes normal termination of the currently executing macro. |
Some
macro statements perform an operation based on an evaluation of an arithmetic
or logical expression. They perform the evaluation by automatically calling
the %EVAL function. If you get an error message about a problem with %EVAL
when a macro does not use %EVAL only, check for one of these statements. The
following macro statements perform automatic evaluation:
|
%DO macro-variable=expression %TO expression <%BY
expression>;
| |
|
|
|
|
|
%IF expression %THEN action;
| |
For details about operands and operators in
expressions, see Macro Expressions.
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.