set xact_abort on go begin transaction go set ANSI_NULLS on go alter VIEW v_selUdcByPart AS SELECT UDC AS value, ISNULL(RTRIM(UDC), '-') + ' - ' + ISNULL(RTRIM(Particolare), '...') + ' (' + ISNULL(RTRIM(DescParticolare), '') + ') ' + ISNULL(RTRIM(DisegnoGrezzo), '-') + ' pz. ' + ISNULL(CAST(Qta AS varchar), '0') AS label, Particolare, IdxPosizione, CodCS FROM dbo.ElencoCartellini WHERE (NOT (Particolare IS NULL)) AND (IdxPosizione >= 0) go exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End Begin Tables = Begin Table = "ElencoCartellini" Begin Extent = Top = 6 Left = 38 Bottom = 319 Right = 208 End DisplayFlags = 280 TopColumn = 0 End End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End Begin ColumnWidths = 9 Width = 284 Width = 1500 Width = 8910 Width = 1500 Width = 1500 Width = 1500 Width = 1500 Width = 1500 Width = 1500 End End Begin CriteriaPane = Begin ColumnWidths = 11 Column = 1440 Alias = 900 Table = 1170 Output = 720 Append = 1400 NewValue = 1170 SortType = 1350 SortOrder = 1410 GroupBy = 1350 Filter = 1350 Or = 1350 Or = 1350 Or = 1350 End End End ', 'SCHEMA', 'dbo', 'VIEW', 'v_selUdcByPart' go commit go set xact_abort on go begin transaction go set ANSI_NULLS on go /*************************************** * STORED stp_ParticolariOverviewPerListaPrelievo * * elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe") x una possibile lista di prelievo * * Steamware, S.E.L. * mod: 2010.05.31 * ****************************************/ alter PROCEDURE stp_ParticolariOverviewPerListaPrelievo ( @Particolare VARCHAR(50), @CodCS VARCHAR(2), @Esponente NVARCHAR(6), @Figura NVARCHAR(4), @CodImballo NVARCHAR(15), @CodTipoLista NVARCHAR (10) ) AS SELECT RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare, ISNULL(COUNT(dbo.ElencoCartellini.UDC), 0) AS NumUDC, ISNULL(SUM(dbo.ElencoCartellini.Qta), 0) AS TotQta, ISNULL(COUNT(dbo.PosizioneUdcCorrente.IdxCella), 0) AS NumInMag FROM RilPro.AnagParticolari LEFT OUTER JOIN dbo.ElencoCartellini ON RilPro.AnagParticolari.Particolare = dbo.ElencoCartellini.Particolare LEFT OUTER JOIN dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC WHERE RilPro.AnagParticolari.CodCS = @CodCS AND RilPro.AnagParticolari.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 (dbo.ElencoCartellini.Figura = CASE WHEN @Figura = '*' THEN dbo.ElencoCartellini.Figura ELSE @Figura END) AND (dbo.ElencoCartellini.Esponente = CASE WHEN @Esponente = '*' THEN dbo.ElencoCartellini.Esponente ELSE @Esponente END) AND (dbo.ElencoCartellini.CodImballo = CASE WHEN @CodImballo = '*' THEN dbo.ElencoCartellini.CodImballo ELSE @CodImballo END) /* AND ElencoCartellini.UDC NOT IN ( SELECT DISTINCT UDC FROM RigheListePrelievo INNER JOIN ElencoListePrelievo ON RigheListePrelievo.CodLista = ElencoListePrelievo.CodLista WHERE (CodStatoLista > 1 AND Prelevato = 1) ) */ GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare RETURN go commit go set xact_abort on go begin transaction go set ANSI_NULLS on go /*************************************** * STORED stp_ParticolariOverviewPerListaPrelievo * * elenco degli UDC x lista di prelievo e particolare * * Steamware, S.E.L. * mod: 2010.11.26 * ****************************************/ create PROCEDURE stp_UdcPerParticolareCodLista ( @Particolare VARCHAR(50), @CodCS VARCHAR(2), @CodTipoLista NVARCHAR (10) ) AS SELECT * FROM v_selUdcByPart WHERE (Particolare = @Particolare) AND (CodCS = @CodCS) AND (IdxPosizione IN (SELECT tt.IdxPosizione FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento WHERE (tlp.CodTipoLista = @CodTipoLista))) RETURN go commit go set xact_abort on go begin transaction go alter table TabTranPosizEventi add toAs400 bit constraint DF_TabTranPosizEventi_toAs400 default (1) go update TabTranPosizEventi set toAs400=1 go set ANSI_NULLS on go -- ============================================= -- Author: Samuele E. Locatelli -- Create date: 2009-09-20 -- Description: trigger x inserimento movimenti -- nella coda di trasferimento batch -- verso AS400 x UPDATE UDC -- ============================================= alter TRIGGER trg_updMovAS ON ElencoCartellini AFTER UPDATE AS BEGIN -- setup variabili e verbosità SET NOCOUNT ON; DECLARE @partOk AS BIT DECLARE @IdxPosFrom AS INT DECLARE @IdxPosTo AS INT DECLARE @magFrom AS NVARCHAR(50) DECLARE @magTo AS NVARCHAR(50) DECLARE @qta AS DECIMAL(10,2) DECLARE @qtaOld AS DECIMAL(10,2) DECLARE @IdxPosizioneComp INT DECLARE @toAs400 BIT -- controllo che CI SIA il particolare (altrimenti non eseguo) SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM deleted) IF(@partOk = 1) SET @qta = (SELECT Qta FROM inserted) SET @qtaOld = (SELECT Qta FROM deleted) -- se c'è stata modifica di quantità inizio a rettificare quella IF ((UPDATE(Qta)) AND(@qta <> @qtaOld)) BEGIN -- registro il VERO movimento INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita) ( SELECT GETDATE(), 'UDC_MOD', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta - Qta FROM deleted WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1) ) -- controllo: se il magazzino di destinazione richiede una compensazione registro il 2° movimento di compensazione SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted) SET @IdxPosTo = (SELECT IdxPosizione FROM inserted) -- calcolo il mag di compensazione SET @IdxPosizioneComp = (SELECT CAST(ISNULL(CodMagAS_compensaz,0) AS INT) FROM AS400_MagCont WHERE (Attivo = 1) AND (CodMagAS = CAST(@IdxPosFrom AS NVARCHAR(50)))) IF (@IdxPosizioneComp > 0) BEGIN INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita) ( SELECT GETDATE(), 'UDC_COMP', Particolare, UDC, CAST(@IdxPosizioneComp AS NVARCHAR(50)), Qta - @qta FROM deleted WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1) ) END END -- Prendo le posizioni di magazzino precedente e nuova SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted) SET @IdxPosTo = (SELECT IdxPosizione FROM inserted) -- controllo se devo fare rettifiche quantità... SET @toAs400 = ( SELECT TOP 1 ISNULL(toAs400, 0) as valore FROM TabTranPosizEventi WHERE IdxPosizione = @IdxPosFrom AND IdxPosizioneTo = @IdxPosTo ) -- controllo poi se sia cambiato il magazzino logico (IdxPosizione) e si richieda update verso AS400, altrimenti non lo inserisco IF ((UPDATE(IdxPosizione)) AND @toAs400 = 1) BEGIN -- Le trasformo nelle equivalenti stringhe del codMag SE attive SET @magFrom = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosFrom AS NVARCHAR(50))) SET @magTo = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosTo AS NVARCHAR(50))) -- inserisco un movimento di deposito verso mag nuovo (SE attivo) IF (@magFrom <> '---') BEGIN INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita) ( SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), -@qta FROM deleted WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1) ) END -- inserisco un movimento di prelievo verso mag vecchio (SE attivo) IF (@magTo <> '---') BEGIN INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita) ( SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta FROM inserted WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1) ) END END END go commit go set xact_abort on go begin transaction go INSERT INTO dbo.AnagTipoEvento VALUES (N'UDC_RIEN', N'Rientro UDC da 88') go commit transaction go set xact_abort on go begin transaction go UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'DelWipPost' and IdxPosizione=305 UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'DelWipPre' and IdxPosizione=290 UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'MagPreFin' and IdxPosizione=54 UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'MagPreFus' and IdxPosizione=80 UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'MagPreFus' and IdxPosizione=84 UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'MagPreWip' and IdxPosizione=84 UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'SpeWipTerz' and IdxPosizione=290 UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'SpeWipTerz' and IdxPosizione=295 UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'UDC_CONS' and IdxPosizione=54 UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'UDC_CONS' and IdxPosizione=56 UPDATE dbo.TabTranPosizEventi SET toAs400=0 WHERE CodEvento=N'UDC_CONS' and IdxPosizione=84 INSERT INTO dbo.TabTranPosizEventi VALUES (N'UDC_RIEN', 88, 84, 1) go commit transaction go -- registro versione... INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(327, GETDATE()) GO