Posts

Showing posts with the label call routines

CALL SYMPUT vs CALL SYMPUTX

Call Symput: Use CALL SYMPUT is you need to assign a data step value to a macro variable. Syntax: Call Symput (“Macro variable”, character value) The first argument to the Symput routine is the name of the macro variable to be assigned to the value from the second argument. The second argument is the character value that will be assigned to the macro variable. The second argument need to be always a character value or if a numeric value is to be used it should convert first into character variable before assigning it to macro variable. It may lead to problems, if you don’t do the conversion from numeric to character. In this case, SAS automatically converts numeric value of the variable to character value before assigning it to macro variable and prints a message in the LOG saying that conversion happened. See the example: data _null_; count= 1978 ; call symput('count',count); run; %put &count; 19 data _null_; 20 count=1978; 21 call symput('count',count); 22 run; ...