Previous Page | Next Page

Functions and CALL Routines

CALL SYMPUTX Routine



Assigns a value to a macro variable, and removes both leading and trailing blanks.
Category: Macro

Syntax
Arguments
Comparisons
Examples
See Also

Syntax

CALL SYMPUTX(macro-variable, value <,symbol-table>);

Arguments

macro-variable

can be one of the following:

  • a character string that is a SAS name, enclosed in quotation marks.

  • the name of a character variable whose values are SAS names.

  • a character expression that produces a macro variable name. This form is useful for creating a series of macro variables.

a character constant, variable, or expression. Leading and trailing blanks are removed from the value of name, and the result is then used as the name of the macro variable.
value

specifies a character or numeric constant, variable, or expression. If value is numeric, SAS converts the value to a character string using the BEST. format and does not issue a note to the SAS log. Leading and trailing blanks are removed, and the resulting character string is assigned to the macro variable.

symbol-table

specifies a character constant, variable, or expression. The value of symbol-table is not case sensitive. The first non-blank character in symbol-table specifies the symbol table in which to store the macro variable. The following values are valid as the first non-blank character in symbol-table:

G

specifies that the macro variable is stored in the global symbol table, even if the local symbol table exists.

L

specifies that the macro variable is stored in the most local symbol table that exists, which will be the global symbol table, if used outside a macro.

F

specifies that if the macro variable exists in any symbol table, CALL SYMPUTX uses the version in the most local symbol table in which it exists. If the macro variable does not exist, CALL SYMPUTX stores the variable in the most local symbol table.

Note:   If you omit symbol-table, or if symbol-table is blank, CALL SYMPUTX stores the macro variable in the same symbol table as does the CALL SYMPUT routine.   [cautionend]


Comparisons

CALL SYMPUTX is similar to CALL SYMPUT except that


Examples

The following example shows the results of using CALL SYMPUTX.

data _null_;
   call symputx('  items  ', '   leading and trailing blanks removed   ',
                'lplace');
   call symputx('  x   ', 123.456);
run;

%put items=!&items!;
%put x=!&x!;

The following lines are written to the SAS log:

   ----+----1----+----2----+----3----+----4----+----5
   items=!leading and trailing blanks removed!
   x=!123.456!


See Also

Functions and CALL Routines:

SYMGET Function

CALL SYMPUT

Previous Page | Next Page | Top of Page