
/***************************************
* STORED stp_UDC_getLast_ByDataTurnoLineaParticolare
*
* elenco cartellini ULTIMI creati su una data bilancia dati data, turno, linea e particolare
*
* Steamware, S.E.L.
* mod: 2010.10.13
*
****************************************/
create PROCEDURE stp_UDC_getLast_ByDataTurnoLineaParticolare
(
	@CodCS VARCHAR(2),
	@Particolare VARCHAR(15),
	@CodImpianto AS VARCHAR(50),
	@DataFus DATETIME,
	@TurnoFus INT
)
AS

-- carico l'elenco dei dati "attivi" x il filtraggio richiesto
WITH cte_contAttivi AS(
	SELECT        CodCS, Particolare, Esponente, CodImpianto,CodStampo, Figura, DataFus, TurnoFus, MAX(NumCont) AS NumCont
	FROM            ElencoCartellini
	GROUP BY CodCS, Particolare, Esponente, CodImpianto, CodStampo, Figura, DataFus, TurnoFus
	HAVING        (CodImpianto = @CodImpianto) AND (DataFus = @DataFus)  AND (TurnoFus= @TurnoFus) AND (Particolare= @Particolare) AND CodCS = @CodCS
)

	-- traduco in tab estesa UDC
	SELECT ec.* FROM ElencoCartellini ec INNER JOIN cte_contAttivi ca
		ON ec.Particolare = ca.Particolare AND ec.Esponente=ca.Esponente AND ec.CodImpianto=ca.CodImpianto 
		AND ec.CodStampo=ca.CodStampo AND ec.Figura=ca.Figura AND ec.DataFus=ca.DataFus AND ec.TurnoFus=ca.TurnoFus 
		AND ec.NumCont=ca.NumCont AND ec.CodCS=ca.CodCS

RETURN
