

CREATE PROCEDURE [dbo].[stp_getUDC_UnusedOlder]
(	
	@CodLista VARCHAR(12)
)
AS

	-- variabili locali che mi servono
	DECLARE @Figura AS VARCHAR(4)
	DECLARE @Esponente AS VARCHAR(6)
	DECLARE @CodImballo AS VARCHAR(15)
	DECLARE @Particolare AS VARCHAR (50)
	DECLARE @CodTipoLista AS VARCHAR (10)
	--DECLARE @IdxPosizione AS INT
	SET @Figura			= (SELECT Figura FROM ElencoListePrelievo WHERE CodLista = @CodLista)
	SET @Esponente		= (SELECT Esponente FROM ElencoListePrelievo WHERE CodLista = @CodLista)
	SET @CodImballo		= (SELECT CodImballo FROM ElencoListePrelievo WHERE CodLista = @CodLista)
	SET @Particolare	= (SELECT Particolare FROM ElencoListePrelievo WHERE CodLista = @CodLista) 
	SET @CodTipoLista	= (SELECT CodTipoLista FROM ElencoListePrelievo WHERE CodLista = @CodLista) 
	/*
	SET @IdxPosizione	= (SELECT	tt.IdxPosizione
	                 	   FROM     TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
	                 	   WHERE	(tlp.CodTipoLista = @CodTipoLista))
	*/

	-- effettuo la selezione
	SELECT		*
	FROM        ElencoCartellini
	WHERE       (Particolare = @Particolare) AND (IdxPosizione IN (SELECT	tt.IdxPosizione
	                 	   FROM     TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
	                 	   WHERE	(tlp.CodTipoLista = @CodTipoLista))) AND 
				(Figura		= CASE WHEN @Figura		= '*' THEN Figura		ELSE @Figura	END) AND
				(Esponente	= CASE WHEN @Esponente  = '*' THEN Esponente	ELSE @Esponente END) AND
				(CodImballo	= CASE WHEN @CodImballo	= '*' THEN CodImballo	ELSE @CodImballo END)				
				AND UDC NOT IN (
					SELECT DISTINCT UDC 
					FROM RigheListePrelievo INNER JOIN ElencoListePrelievo
					ON	RigheListePrelievo.CodLista = ElencoListePrelievo.CodLista
					WHERE (ElencoListePrelievo.CodLista = @CodLista) 
					OR (ElencoListePrelievo.CodLista <> @CodLista AND CodStatoLista > 1 AND Prelevato = 1)
					)
				AND ISNULL(Qta,0) > 0
	ORDER BY	ElencoCartellini.DataFus

RETURN




