Crystal reports formula if que regrese caracter

Buenos dias

Estoy creando un campo de formula con la condición:

IF {?3_Planta@} = 1 THEN "PLANTA A"
ELSE 
IF {?3_Planta@} = 2 THEN "PLANTA B"
ELSE 
IF {?3_Planta@} = 3 THEN "PLANTA C"
ELSE 
IF {?3_Planta@} = 4 THEN "PLANTA D"

Pero siempre me dice que se espera un valor booleano… espero me puedan ayudar ya que como tal no me deja crear la formula.

ponle comillas simples a los nombres ‘PLANTA_A’ o al numero, trata sin con ese puede darte resultado, el valor de {?_planta@} es numero o alfanumerico?

Yo suelo usar los comando con la estructura del crystal

If {Comando.Campo}=1 then "PLANTA A"

{?_planta@} Es un parámetro numérico ingresado por el usuario

te comento porque si con las comillas dobles he tenido dificultades a veces. lo del numerico ya que es un campo a peticion en donde lo creaste o de donde obtiene el dato es estrictamente numerico?o donde hiciste el registro del parametro de peticion.

if {Comando.ItmsGrpCod}= 302 then 'Descontinuado' else 'Cambiar'

yo uso esta sintaxis en una consulta pero si el 302 es numérico porque así esta definido.

Es de los parametros que creas en crystal cuando solicitas los datos, entonces cuando creo la formula y empiezo a hacer la consulta que mencione en la creación del post, se muestra el error.

parametro

Mira que loco, use el mismo código que tenia desde el principio sin cambiar nada y esta vez si funciono. :sweat_smile:

IF {?3_Planta@} = 1 THEN "PLANTA A"
ELSE 
IF {?3_Planta@} = 2 THEN "PLANTA B"
ELSE 
IF {?3_Planta@} = 3 THEN "PLANTA C"
ELSE 
IF {?3_Planta@} = 4 THEN "PLANTA D"
1 me gusta