alter table StoricoCartellini drop constraint FK_StoricoEventi_AnagTipoEvento , column CodEvento, constraint DF_StoricoEventi_CodTipoDichiaraz , constraint FK_StoricoEventi_AnagTipoDichiaraz , column CodTipoDichiaraz go set xact_abort on go begin transaction go set ANSI_NULLS on go -- ============================================= -- Author: Samuele E. Locatelli -- Create date: 2009-10-27 -- Description: trigger x inserimento valori in archivio storico alla cancellazione/modifica del dato -- ============================================= create TRIGGER trg_storicoUDC ON ElencoCartellini AFTER DELETE,UPDATE AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- metto in storico la posizione attuale dell'UDC (SE esiste) CANCELLATO INSERT INTO StoricoCartellini(DataEv, UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad) ( SELECT GETDATE(), UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad FROM deleted ) END go commit go set xact_abort on go begin transaction go set ANSI_NULLS on go /*************************************** * STORED stp_LP_exportToAs400 * * esporta la lista di prelievo (e le relative righe) verso AS400 andando a copaire nelle relative tabelle _AS * * Steamware, S.E.L. * mod: 2010.07.19 * ****************************************/ alter PROCEDURE stp_LP_exportToAs400 ( @CodLista NVARCHAR(12) ) AS -- copio la lista (intestazione) INSERT INTO ElencoListePrelievo_AS(CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario) SELECT CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario FROM ElencoListePrelievo WHERE (CodLista = @CodLista) -- copio le righe lista di dettaglio INSERT INTO RigheListePrelievo_AS(CodLista, UDC, Qta, Proposto, Prelevato) SELECT CodLista, UDC, Qta, Proposto, Prelevato FROM RigheListePrelievo WHERE (CodLista = @CodLista) AND Prelevato = 1 -- aggiorno le quantità passate ad AS... UPDATE ElencoListePrelievo_AS SET QtaTot = ( SELECT SUM(Qta) AS QtaTot FROM RigheListePrelievo WHERE (CodLista = @CodLista) AND Prelevato = 1 ) WHERE (CodLista = @CodLista) -- IMPORTANTE: in caso siano rimasti riferimenti ad un UDC scaricato in AS in altre liste di prelievo li tolgo in modo da "ripulirle" ed evitare che lo stesso UDC venga prelevato 2 volte... DELETE RLP FROM RigheListePrelievo RLP INNER JOIN ElencoListePrelievo ELP ON RLP.CodLista = ELP.CodLista WHERE ELP.CodStatoLista < 4 AND RLP.CodLista <> @CodLista AND RLP.UDC IN ( SELECT UDC FROM RigheListePrelievo WHERE (CodLista = @CodLista) AND Prelevato = 1 ) RETURN go commit go -- registro versione... INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(289, GETDATE()) GO