


/***************************************
* STORED stp_UDC_updateQty
*
* update qta UDC 
*
* Steamware, S.E.L.
* mod: 2012.05.30
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_updateQty]
(
	@UDC VARCHAR(50),
	@CodSoggetto VARCHAR(17),
	@CodTipoDichiaraz CHAR(1),
	@CodEvento VARCHAR(10),
	@Qta DECIMAL(10,2)
)
AS

SET NOCOUNT ON;

DECLARE @udcInLdpPrel BIT
------------------------------------------------------------------------------------------------------
-- Ciclo principale x edit record
------------------------------------------------------------------------------------------------------
SET XACT_ABORT ON;
BEGIN TRAN

	-- controllo UDC, se faccia parte di LDP che NON permette modifica QTA...
	SET		@udcInLdpPrel = ( SELECT ISNULL(COUNT(rldp.UDC),0)
								FROM	RigheListePrelievo rldp INNER JOIN ElencoListePrelievo ldp 
									ON ldp.CodLista=rldp.CodLista INNER JOIN AnagStatiListe asl
									ON ldp.CodStatoLista = asl.CodStatoLista
								WHERE	asl.canQtaUDC = 0
								AND		rldp.UDC=@UDC )
	
	-- controllo UDC "libero" da LDP (ovvero non faccia parte di LDP in uno stato che NON permette Modifica QTA, nel qual caso NON sposto)
	IF (@udcInLdpPrel = 0)
		-- tutto ok PROCEDO!
		BEGIN
			-- modifico il record UDC
			UPDATE	dbo.ElencoCartellini
			SET		Qta = @Qta
				   ,ModDate = GETDATE()
				   ,CodEvento = @CodEvento
				   ,CodSoggetto = @CodSoggetto
			WHERE	UDC = @UDC

			-- modifico qta anche in RigheListePrelievo se presente
            UPDATE dbo.RigheListePrelievo
            SET Qta = @Qta
            WHERE UDC = @UDC
		END
COMMIT TRAN
------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------
-- restituisco la tab dati con l'udc appena inserito
------------------------------------------------------------------------------------------------------
SELECT * 
FROM ElencoCartellini
WHERE  UDC = @UDC
------------------------------------------------------------------------------------------------------

RETURN


