Cause Solution
The macro resolution occurred within a macro
when the macro variable was created with a
CALL SYMPUT routine or the INTO clause.
The macro is being invoked with a CALL
EXECUTE routine.
Place the %NRSTR function around the
macro invocation, for example,
call execute(‘%nrstr(%macro_name
(‘||variable1||’))’);
This delays the resolution.
You have omitted the period delimiter when
adding text to the end of the macro variable.
When text follows a macro variable a period is
needed after the macro variable name, for
example,
%let var=abc;
%put &var.def;
This code resolves to abcdef.
WARNING: Apparent invocation of macro value not resolved.
Cause Solution
You have misspelled the macro name. Verify the spelling of the macro name.
The MAUTOSOURCE system option is
turned off.
If invoking an autocall macro, then the
MAUTOSOURCE system option must be
turned on.
The MAUTOSOURCE system option is on,
but you have specified an incorrect pathname
in the SASAUTOS= system option.
The SASAUTOS= system option must
contain the exact path for the location of the
macro.
You are using the autocall facility but you do
not have permission to the path on the
SASAUTOS= system option.
Ensure that you have Read or Write access to
the directory.
You are using the autocall facility but you
have given different names for the macro
name and the filename.
When using autocall macros, the macro name
must match the filename exactly.
You are using the autocall facility but did not
give the file a .sas extension.
When using autocall macros, the file that
contains the macro must have the .sas
extension.
You are using the autocall facility but the
filename contains mixed case.
When using autocall macros, on UNIX the
filename must be all lowercase letters.
The macro has not been compiled. The definition of a macro must be compiled
before the invocation of a macro.
Warning: Extraneous text on %MEND statement ignored for macro
definition value.
430 Appendix 2 • SAS Macro Facility Error and Warning Messages