Hola Cabanyaler, porque mejor no planteas tu procedimiento de esta forma.
Código SQL
[-]CREATE PROCEDURE ADOSP_InventarioArticulos
@TipoInforme int, @Centro_sp varchar(3)
AS
Begin
Select Distinct *
from Artic
where (
((Pvp_art = 0) AND
(Centro_Art = @Centro_sp))
and @TipoInforme = 0
)
or (
((Pvp_art <> 0 ) AND
(Centro_Art = @Centro_sp))
and @TipoInforme = 1
)
or (
(Centro_Art = @Centro_sp and @TipoInforme = 2)
)
end
ahora sobre tu procedure creo esta correcto, puede que sea la anidación de if lo que causa el error, pero segun se ve esta correcto.
salu2.