Using SAS/IML Software to Generate SAS/IML Statements |
The pushed text is scanned by the macro processor; therefore, the text can contain macro instructions. For example, here is an all-purpose routine that shows what the expansion of any macro is, assuming that it does not have embedded double quotes:
/* function: y = macxpand(x); */
/* macro-processes the text in x */
/* and returns the expanded text in the result. */
/* Do not use double quotes in the argument. */
/* */
start macxpand(x);
call execute('Y="',x,'";');
return(y);
finish;
Consider the following statements:
%macro verify(index);
data _null_;
infile junk&index;
file print;
input;
put _infile_;
run;
%mend;
y = macxpand('%verify(1)');
print y;
The output produced is as follows:
Y
DATA _NULL_; INFILE JUNK1; FILE PRINT; INPUT;
PUT _INFILE_; RUN;
Copyright © SAS Institute, Inc. All Rights Reserved.