Oracle - Problemas con parámetro léxico

 
Vista:

Problemas con parámetro léxico

Publicado por Mariela (10 intervenciones) el 21/01/2005 16:12:20
Hola a todos!
Les cuento que estoy usando un parámetro léxico en la consulta de un reporte de la siguiente manera

WHERE COD_PRODUCTO IN (&PCONCEPTOS) and...

El problema se presenta cuando asigna un valor al parámetro en el After Parameter Form en caso de ser nulo
IF :P_CONCEPTOS is NULL THEN
:P_CONCEPTOS := ‘SELECT COD_PRODUCTO FROM PRODUCTOS WHERE TIPO_PRODUCTO = ''C''';
END IF;
return (TRUE);

Lo anterior funciona solamente si NO coloco la parte: WHERE TIPO_PRODUCTO = ''C'', es decir:

IF :P_CONCEPTOS is NULL THEN
:P_CONCEPTOS := ‘SELECT COD_PRODUCTO FROM PRODUCTOS';
END IF;
return (TRUE);

Pero se debe cumplir la condición del WHERE, de lo contrario me traerá productos que no me interesan.
Como puedo hacerlo para que no me de error??
Muchas gracias!
Saludos,
Mariela
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con parámetro léxico

Publicado por Rodrigo (102 intervenciones) el 21/01/2005 20:16:48
La variable C es sin doble Comilla ( 'C' ) no es Vb.

La idea es saber lo que quieres luego usas la variable..

en report se comporta super bien la variable lexica.

select a, b from tb_1 where tipo_producto = todos

select a, b from tb_1 where tipo_producto = todos and :p_variable

:p_variable :=' and cod_producto = 10';

etc..

suerte..



Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar