430 lines
12 KiB
Transact-SQL
430 lines
12 KiB
Transact-SQL
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
|