&IF returns "ERROR - Wrong Item Type. Cannot perform operation"

Last Published: April 25, 2020

Solution or Workaround


Why do I get this message?

&IF returns: ERROR - Wrong Item Type. Cannot perform operation.
AML ERROR - Invalid expression on &IF directive

1) &IF must compare values of the same type. These types can be character strings, integer values, real numbers or boolean operators. This message often occurs when quoted strings are compared to numbers or a number is compared to a null variable.

2) An &IF statement cannot compare values that are logical operators (e.g. CN, NE) or logical connectors (AND, OR).


1) Verify the type of input before using &IF with it. You can do this using the [TYPE] function. For example:

&sv number = [RESPONSE 'Enter an integer']
&if [TYPE %number%] ne -1 &then
&return &inform You did not enter an integer

&if %number% ge 10 &then
&ty You entered a number greater than or equal to 10.

2) Quote the string that evaluates to a logical operator/keyword. You can use the [QUOTE] function to quote variables. For example:

&sv i = AND
&if [QUOTE %i%] = 'AND' &then
&ty This Works

&if %i% = 'AND' &then
&ty This does not work

Article ID:000001347

  • ArcMap 8 x
  • Legacy Products

Receive notifications and find solutions for new or common issues

Get summarized answers and video solutions from our new AI chatbot.

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options