Hola a todos estoy haciendo un store variable asi com sigue
declare @strsqlp varchar(8000),
@id_empresa varchar(2), @id_sucursal varchar(2),
@fecha_ini datetime, @fecha_fin datetime,
@tipo varchar(1),
@id_linea varchar(2), @id_grupo varchar(2), @id_tipo varchar(2), @id_familia
varchar(2), @id_articulo varchar(2),
@id_tpo_cliente varchar(10), @id_cliente varchar(10), @strsql varchar(8000)
set @strsql = '
select
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_unidades,0)
when "E" then isnull(tot_exportacion_unidades,0)
else isnull(tot_nacional_unidades,0) + isnull(tot_exportacion_unidades,0)
end ) as Unidades,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_local,0)
when "E" then isnull(tot_exportacion_moneda_local,0)
else isnull(tot_nacional_moneda_local,0) +
isnull(tot_exportacion_moneda_local,0) end ) as Soles,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_base,0)
when "E" then isnull(tot_exportacion_moneda_base,0)
else isnull(tot_nacional_moneda_base,0) +
isnull(tot_exportacion_moneda_base,0) end ) as Dolares
from ventas_resumen v, cliente c, articulo a
where c.id_cliente=v.id_cliente and a.id_Articulo=v.id_articulo and
fec_documento between @fecha_ini and @fecha_fin '
if len(@id_linea) =2
begin
set @strsql=@strsql + ' and a.id_linea = "'+@id_empresa+@id_linea +
'" '
end
cuanod o hago que me imprima el valor de la @strsql sale
"select
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_unidades,0)
when "E" then isnull(tot_exportacion_unidades,0)
else isnull(tot_nacional_unidades,0) + isnull(tot_exportacion_unidades,0)
end ) as Unidades,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_local,0)
when "E" then isnull(tot_exportacion_moneda_local,0)
else isnull(tot_nacional_moneda_local,0) +
isnull(tot_exportacion_moneda_local,0) end ) as Soles,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_base,0)
when "E" then isnull(tot_exportacion_moneda_base,0)
else isnull(tot_nacional_moneda_base,0) +
isnull(tot_exportacion_moneda_base,0) end ) as Dolares
from ventas_resumen v, cliente c, articulo a
where c.id_cliente=v.id_cliente and a.id_Articulo="
ose a que la variable no acpeta todo el valor de la sentencia sql, tengo que
agregar unos 10 ifs mas asi que ceo que pasarlo a una variable es la
solucion pero no funciona alguan otra idea??
Saludos,
Jorge
Leer las respuestas