A macro definition must
begin with a %MACRO statement and must end with a %MEND statement.
The macro definition can include macro language statements as well
as SAS language statements. When the macro is compiled, macro language
statements are checked for syntax errors. The compiled macro is stored
in a temporary SAS catalog by default.
Correct answer: c
To include positional
parameters in a macro definition, you list the parameters in parentheses
and separate them with commas. When the macro is executed, macro variables
are created in the local symbol table, and they have the same names
as the parameters. You can then use these macro variables within the
macro.
Correct answer: c
To call a macro that
includes positional parameters, you precede the macro name with a
percent sign. You list the values for the macro variables that are
defined by the parameters in parentheses. List values in the same
order in which the parameters are listed, and separate them with commas.
Remember that a macro call is not a SAS language statement and does
not require a semicolon.
Correct answer: d
In a mixed parameter
list, positional parameters must be listed before any keyword parameters.
Both positional and keyword parameters create macro variables in the
local symbol table. To assign a null value to a keyword parameter,
you list the parameter without a value in the macro call.
Correct answer: c
When you submit a macro
definition, the macro is compiled and is stored in a SAS catalog.
Then when you call the macro, the macro is executed. The macro is
available for execution anytime throughout the current SAS session.
Correct answer: d
You can use %IF-%THEN
statements to conditionally process code. Within a %IF-%THEN statement,
you must use %DO and %END statements to enclose multiple statements.
%IF-%THEN statements are similar to IF THEN statements in the DATA
step, but they are part of the macro language.
Correct answer: d
You can use MPRINT and
MLOGIC options for debugging macros along with entering comments in
macro programs. MPRINT displays the SAS statements that are generated
by macro execution. MLOGIC causes the macro processor to trace its
execution and to write the trace information to the SAS log.
Correct answer: c
There are several ways
to create macro variables in the local symbol table. Macro variables
that are created by parameters in a macro definition or by a %LOCAL
statement are always created in the local table. Macro variables that
are created by a %LET statement or by the SYMPUT routine inside a
macro definition might be created in the local table as well.