The NOMINOPERATOR argument specifies that the macro processor does not
recognize the mnemonic IN and the special character # as logical operators when
evaluating arithmetic or logical expressions during the execution of the macro.
The setting of this argument overrides the setting of the MINOPERATOR global
system option.
PARMBUFF
assigns the entire list of parameter values in a macro call, including the
parentheses in a name-style invocation, as the value of the automatic macro
variable SYSPBUFF. Using the PARMBUFF option, you can define a macro that
accepts a varying number of parameter values.
If the macro definition includes both a set of parameters and the PARMBUFF
option, the macro invocation causes the parameters to receive values. It also
causes the entire invocation list of values to be assigned to SYSPBUFF.
To invoke a macro defined with the PARMBUFF option in a windowing
environment or interactive line mode session without supplying a value list, enter
an empty set of parentheses or more program statements after the invocation.
This action indicates the absence of a value list, even if the macro definition
contains no parameters.
SECURE | NOSECURE
causes the contents of a macro to be encrypted when stored in a stored compiled
macro library. This feature enables you to write secure macros that will protect
certain intellectual property that is contained in the macros. Use SECURE to
secure whole segments, for example entire DATA and PROC steps. Do not use
SECURE to store code fragments or to store passwords. The macros are secured
using the Encryption Algorithm Manager.
A NOSECURE option has been implemented to aid in the global edit of a source
file or library to turn on security. For example, when you are creating several
macros that will need to be secure. When creating the macros, use the
NOSECURE option. When all macros are completed and ready for production,
you can do a global edit and change NOSECURE to SECURE.
If you use the SECURE and SOURCE options on a macro, no output is produced
when you use the %COPY statement. The following NOTE is written to the SAS
log:
NOTE: The macro %name was compiled with the SECURE
option. No output will be produced for this %COPY
statement.
STMT
specifies that the macro can accept either a name-style invocation or a statement-
style invocation. Macros defined with the STMT option are sometimes called
statement-style macros.
The IMPLMAC system option must be in effect to use statement-style macro
invocations. If IMPLMAC is in effect and you have defined a statement-style
macro in your program, the macro processor scans the first word of every SAS
statement to see whether it is a statement-style macro invocation. When the
NOIMPLMAC option is in effect, the macro processor treats only the words
following the % symbols as potential macro invocations. If the IMPLMAC
option is not in effect, you still can use a name-style invocation for a macro
defined with the STMT option.
%MACRO Statement 327