
/***************************************
* STORED stp_scaricaUdc
*
* elimina dalle posizioni correnti un UDC, salvandone la posizione precedente nella tab storica (per scaricamento / spedizione)
*
* Steamware, S.E.L.
* mod: 2012.05.30
*
****************************************/
CREATE PROCEDURE stp_scaricaUdc
(
	@UDC VARCHAR(50),
	@IdxPosizione INT,
	@CodEvento VARCHAR(10),
	@CodSoggetto NVARCHAR(17)
)
AS

BEGIN TRAN

/*  Tolto da GCarlo xche non salvo utente che cancella x adesso
	-- aggiorno utente x la posizione corrente, in modo da poter POI salvare l'utente che scarica UDC
	UPDATE	PosizioneUdcCorrente
	SET		CodSoggetto = @CodSoggetto
	WHERE	UDC = @UDC
*/
    
    -- Tabella del record cancellato ( al momento NON usata ) RIATTIVARE x QUANDO Voglio lo STORICO cancellati
--    DECLARE @MyTableVar table ( IdxCella int, CodCS nchar(2) );

	-- libero la posizione attuale dell'UDC (se c'è...) 
	DELETE
	FROM	dbo.PosizioneUdcCorrente
--	OUTPUT DELETED.IdxCella , DELETED.CodCS INTO @MyTableVar    RIATTIVARE x QUANDO Voglio lo STORICO cancellati
	WHERE	UDC = @UDC;

--   ( al momento NON usata ) RIATTIVARE x QUANDO Voglio lo STORICO cancellati
      -- Inserisco in Storico Posizione il record di chi ha cancellato
--    INSERT dbo.PosizioneUdcStorico ( UDC, IdxCella, DataInizio, DataFine, CodCS, CodSoggetto )
--    SELECT @UDC, IdxCella, GETDATE(), GETDATE(), CodCS, @CodSoggetto FROM @MyTableVar
	
	-- aggiorno l'UDC come posizione finale...
	UPDATE	dbo.ElencoCartellini
	SET		IdxPosizione = @IdxPosizione
		   ,ModDate = GETDATE()
		   ,CodEvento = @CodEvento
		   ,CodSoggetto = @CodSoggetto
	WHERE	UDC = @UDC	
	
COMMIT TRAN

RETURN
