Problem Note 11945: ERROR: Operand missing for # operator in argument to %EVAL function
In SAS 9.1, the macro IN operator is a new binary comparison operator
similar to the IN operator used in the DATA step. The character # is an
alternate operator that can be used in the place of the mnemonic IN.
Because of this, the # now has special meaning, and it must be masked
with one of the macro quoting functions in order for it to be seen as
text. If the # is not masked when comparing values on a %IF, the
following error message will be issued:
ERROR: Operand missing for # operator in argument to %EVAL function.
This can be corrected by using the %QUOTE quoting function.
%macro test;
%let x = #ABC#;
%if %quote(&x) = ABC %then %put Match;
%else %put No Match;
%mend test;
%test
The hotfix referenced at the bottom of this note removes the special
meaning of the #.
After applying this hotfix, the macro IN operator will not be available.
Also, the IN operator will not be available in SAS 9.1.2 and 9.1.3, but
will return in SAS 9.2 where it can be disabled with a system option.
A Technical Support hot fix for SAS 9.1 (TS1M0) for this issue is
available at the following web location.
http://www.sas.com/techsup/download/hotfix/b9_sbcs_prod_list.html#011945
Operating System and Release Information
SAS System | Base SAS | z/OS | 9.1 TS1M0 | 9.1 TS1M0 |
Microsoft Windows XP Professional | 9.1 TS1M0 | 9.1 TS1M0 |
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M0 | 9.1 TS1M0 |
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.1 TS1M0 | 9.1 TS1M0 |
Microsoft Windows NT Workstation | 9.1 TS1M0 | 9.1 TS1M0 |
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M0 | 9.1 TS1M0 |
Microsoft Windows 2000 Server | 9.1 TS1M0 | 9.1 TS1M0 |
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M0 | 9.1 TS1M0 |
Microsoft Windows 2000 Professional | 9.1 TS1M0 | 9.1 TS1M0 |
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M0 | 9.1 TS1M0 |
Microsoft Windows 2000 Advanced Server | 9.1 TS1M0 | 9.1 TS1M0 |
64-bit Enabled Solaris | 9.1 TS1M0 | 9.1 TS1M0 |
64-bit Enabled AIX | 9.1 TS1M0 | 9.1 TS1M0 |
OpenVMS Alpha | 9.1 TS1M0 | 9.1 TS1M0 |
64-bit Enabled HP-UX | 9.1 TS1M0 | 9.1 TS1M0 |
HP-UX IPF | 9.1 TS1M0 | 9.1 TS1M0 |
Linux | 9.1 TS1M0 | 9.1 TS1M0 |
Tru64 UNIX | 9.1 TS1M0 | 9.1 TS1M0 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
Type: | Problem Note |
Priority: | medium |
Topic: | SAS Reference ==> Macro
|
Date Modified: | 2004-06-09 09:26:48 |
Date Created: | 2004-03-10 15:03:51 |