SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 11945: ERROR: Operand missing for # operator in argument to %EVAL function

DetailsHotfixAboutRate It
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

Product FamilyProductSystemSAS Release
ReportedFixed*
SAS SystemBase SASz/OS9.1 TS1M09.1 TS1M0
Microsoft Windows XP Professional9.1 TS1M09.1 TS1M0
Microsoft Windows Server 2003 Standard Edition9.1 TS1M09.1 TS1M0
Microsoft® Windows® for 64-Bit Itanium-based Systems9.1 TS1M09.1 TS1M0
Microsoft Windows NT Workstation9.1 TS1M09.1 TS1M0
Microsoft Windows Server 2003 Enterprise Edition9.1 TS1M09.1 TS1M0
Microsoft Windows 2000 Server9.1 TS1M09.1 TS1M0
Microsoft Windows Server 2003 Datacenter Edition9.1 TS1M09.1 TS1M0
Microsoft Windows 2000 Professional9.1 TS1M09.1 TS1M0
Microsoft Windows 2000 Datacenter Server9.1 TS1M09.1 TS1M0
Microsoft Windows 2000 Advanced Server9.1 TS1M09.1 TS1M0
64-bit Enabled Solaris9.1 TS1M09.1 TS1M0
64-bit Enabled AIX9.1 TS1M09.1 TS1M0
OpenVMS Alpha9.1 TS1M09.1 TS1M0
64-bit Enabled HP-UX9.1 TS1M09.1 TS1M0
HP-UX IPF9.1 TS1M09.1 TS1M0
Linux9.1 TS1M09.1 TS1M0
Tru64 UNIX9.1 TS1M09.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.