759 lines
23 KiB
Transact-SQL
759 lines
23 KiB
Transact-SQL
-- FIX parte As400
|
||
set xact_abort on
|
||
go
|
||
|
||
begin transaction
|
||
go
|
||
|
||
set ANSI_NULLS on
|
||
go
|
||
|
||
alter VIEW v_datiPackingList
|
||
AS
|
||
SELECT dbo.ElencoListePrelievo_AS.CodLista, dbo.RigheListePrelievo_AS.IdxRiga, dbo.ElencoCartellini.UDC, dbo.ElencoListePrelievo_AS.Particolare,
|
||
dbo.ElencoCartellini.CodImballo, CAST(RIGHT(dbo.RigheListePrelievo_AS.UDC, 6) AS INT) AS matrUdc,
|
||
CASE WHEN (dbo.ElencoListePrelievo_AS.CodTipoLista = '03-TerWip') THEN 'FO' ELSE 'CL' END AS tipo, dbo.ElencoListePrelievo_AS.Destinatario,
|
||
dbo.ElencoCartellini.Qta, dbo.ElencoCartellini.PesoTot - dbo.ElencoCartellini.Tara AS PesoNetto, dbo.ElencoCartellini.PesoTot, 'B' AS Stato, GETDATE() AS data,
|
||
dbo.ElencoListePrelievo_AS.DataBatch
|
||
FROM dbo.ElencoListePrelievo_AS INNER JOIN
|
||
dbo.RigheListePrelievo_AS ON dbo.ElencoListePrelievo_AS.CodLista = dbo.RigheListePrelievo_AS.CodLista INNER JOIN
|
||
dbo.ElencoCartellini ON dbo.RigheListePrelievo_AS.UDC = dbo.ElencoCartellini.UDC
|
||
WHERE (dbo.ElencoListePrelievo_AS.DataBatch IS NULL)
|
||
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 = "ElencoListePrelievo_AS"
|
||
Begin Extent =
|
||
Top = 6
|
||
Left = 38
|
||
Bottom = 367
|
||
Right = 238
|
||
End
|
||
DisplayFlags = 280
|
||
TopColumn = 0
|
||
End
|
||
Begin Table = "RigheListePrelievo_AS"
|
||
Begin Extent =
|
||
Top = 5
|
||
Left = 353
|
||
Bottom = 200
|
||
Right = 557
|
||
End
|
||
DisplayFlags = 280
|
||
TopColumn = 0
|
||
End
|
||
Begin Table = "ElencoCartellini"
|
||
Begin Extent =
|
||
Top = 14
|
||
Left = 658
|
||
Bottom = 376
|
||
Right = 828
|
||
End
|
||
DisplayFlags = 280
|
||
TopColumn = 0
|
||
End
|
||
End
|
||
End
|
||
Begin SQLPane =
|
||
End
|
||
Begin DataPane =
|
||
Begin ParameterDefaults = ""
|
||
End
|
||
Begin ColumnWidths = 14
|
||
Width = 284
|
||
Width = 1500
|
||
Width = 1500
|
||
Width = 1500
|
||
Width = 1500
|
||
Width = 1500
|
||
Width = 1500
|
||
Width = 1500
|
||
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_datiPackingList'
|
||
go
|
||
|
||
commit
|
||
go
|
||
|
||
|
||
set xact_abort on
|
||
go
|
||
|
||
begin transaction
|
||
go
|
||
|
||
set ANSI_NULLS on
|
||
go
|
||
|
||
/***************************************
|
||
* STORED stp_batch_RapQual_S01
|
||
*
|
||
* Esegue lo step 1 (caricamento dati RAW da AS400) per la tab dei rapporti di qualità
|
||
*
|
||
* Steamware, S.E.L.
|
||
* mod: 2010.09.23
|
||
*
|
||
****************************************/
|
||
alter PROCEDURE BatchQueue.stp_batch_RapQual_S01
|
||
(
|
||
@minData DATETIME
|
||
)
|
||
AS
|
||
SET NOCOUNT ON;
|
||
|
||
-- BOZZA DA TESTARE A CURA MAZZUCCONI!!!
|
||
/*
|
||
XRPQLN AS nRapQual
|
||
XRPQLD AS DataRapQual
|
||
XNRETI AS ProgUDC
|
||
XCDFOR AS CodFor
|
||
XCDTER AS DestTerz
|
||
XCDPAR AS CodLega
|
||
XDTPRO AS DataPrelFus
|
||
XTRPRO AS TurnoPrelFus
|
||
XQTPRO AS Qta
|
||
XDESMT AS DestLega
|
||
XMATSC AS LegaScaric
|
||
XBENQL AS BenesQual
|
||
|
||
WHERE XRPQLN <> 0 -- Se il n. rapporto di qualità è zero non sono cartellini materia prima
|
||
|
||
*/
|
||
|
||
DECLARE @SQL AS NVARCHAR(4000);
|
||
DECLARE @SqlOK AS INT;
|
||
|
||
DECLARE @dataAs400 AS VARCHAR(8)
|
||
|
||
SET @dataAs400 = (SELECT dbo.dateToAsFormat(@minData))
|
||
|
||
BEGIN TRY
|
||
|
||
-- svuoto tab raw attuale
|
||
DELETE FROM RawData.XOGIX00F
|
||
|
||
-- CREO L'ISTRUZIONE SQL DI INSERT PARAMETRICA
|
||
SET @SQL =
|
||
N'INSERT INTO RawData.XOGIX00F
|
||
SELECT XRPQLN
|
||
,XRPQLD
|
||
,XNRETI
|
||
,XCDFOR
|
||
,XCDTER
|
||
,XCDPAR
|
||
,XDTPRO
|
||
,XTRPRO
|
||
,XQTPRO
|
||
,XDESMT
|
||
,XMATSC
|
||
,XBENQL
|
||
FROM OPENQUERY( P65220DC, ''SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN <> 0 AND XRPQLD >= '
|
||
|
||
SET @SQL = @SQL + @dataAs400 + ' '' ) '
|
||
|
||
-- SELECT @SQL
|
||
|
||
-- Eseguo il comando T-SQL verso AS400 e testo se OK
|
||
SET @SqlOK = 0;
|
||
|
||
-- EXEC @SqlOK = sp_executesql @SQL se faccio così non mi valorizza la variabile se da errore
|
||
EXEC dbo.sp_executesql @SQL;
|
||
|
||
END TRY
|
||
BEGIN CATCH
|
||
-- PRINT ERROR_NUMBER()
|
||
SET @SqlOK = ERROR_NUMBER();
|
||
|
||
END CATCH
|
||
|
||
-- Memorizzo il comando per verifica T-SQL e l'esito del comando se 0 è OK
|
||
INSERT INTO RawData.AS400_Comandi
|
||
SELECT GETDATE(), 'stp_consumaMP', @SQL, @SqlOK;
|
||
|
||
-- è possibile sollevare un RAISERROR ??? come si comporta poi il programma?
|
||
|
||
-- NON SI FANNO RAISE ERROR E NON SI RESTITUISCE CODICE!!!!!
|
||
|
||
--RETURN @SqlOK; -- commentato da Sam
|
||
|
||
RETURN
|
||
go
|
||
|
||
commit
|
||
go
|
||
|
||
|
||
set xact_abort on
|
||
go
|
||
|
||
begin transaction
|
||
go
|
||
|
||
set ANSI_NULLS on
|
||
go
|
||
|
||
/***************************************
|
||
* STORED stp_consumaMP
|
||
*
|
||
* Salva il movimento di consumo dell'UDC di MP indicato
|
||
*
|
||
* Steamware, S.E.L.
|
||
* mod: 2010.10.12
|
||
*
|
||
****************************************/
|
||
alter PROCEDURE BatchQueue.stp_consumaMP
|
||
(
|
||
@XRPQLN INT, -- è il num rap qualità
|
||
@XNRETI NVARCHAR(10), -- è il numUdc prog AS400
|
||
@XDTPRO INT, -- data 8 cifre aaaammgg Data Prelievo Fusione
|
||
@XTRPRO NVARCHAR(5), -- turno prelievo ( solo se interno )
|
||
@XDESMT NVARCHAR(3), -- destinatario int/terzista ( F01 / T01 )
|
||
@XCDTER NVARCHAR(6) -- cod terzista ( Anagrafico Depositi )
|
||
)
|
||
AS
|
||
-- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
|
||
-- L'UPDATE FUNZIONA VERSO AS400 DI TEST MAZZT_DTV3 effetiva MAZZ_DATV3
|
||
|
||
/* PER TESTARE
|
||
|
||
DECLARE @XRPQLN INT, -- è il num rap qualità
|
||
@XNRETI NVARCHAR(10), -- è il numUdc prog
|
||
@XDTPRO INT, -- data 8 cifre aaaammgg
|
||
@XTRPRO NVARCHAR(5), -- turno
|
||
@XDESMT NVARCHAR(3), -- destinatario int/terzista
|
||
@XCDTER NVARCHAR(6) -- cod terzista
|
||
|
||
SET @XRPQLN = 905793 -- è il num rap qualità
|
||
SET @XNRETI = 'U100548151' -- è il numUdc prog
|
||
SET @XDTPRO = 20100723 -- data 8 cifre aaaammgg
|
||
SET @XTRPRO = 'S' -- turno
|
||
SET @XDESMT = 'F01' -- destinatario int/terzista
|
||
SET @XCDTER = '' -- cod terzista
|
||
*/
|
||
|
||
DECLARE @SQL AS NVARCHAR(4000);
|
||
DECLARE @SqlOK AS INT;
|
||
|
||
BEGIN TRY
|
||
|
||
-- TEST per generare errore
|
||
-- SET @XDTPRO = 99999920100723 -- data 8 cifre aaaammgg
|
||
|
||
-- Creo l'istruzione SQL e faccio chiamata su AS400
|
||
-- Forse è meglio controllare prima se già aggiornato e preso in carico da ACG???
|
||
|
||
SET @SQL = N'UPDATE OPENQUERY( P65220DC, ''SELECT * FROM MAZZT_DTV3.XOGIX00F '
|
||
|
||
SET @SQL = @SQL + 'WHERE XRPQLN = ' + CAST(@XRPQLN AS NVARCHAR(20)) -- Numero Rapporto Qualita
|
||
SET @SQL = @SQL + ' AND XNRETI = ''''' + @XNRETI + ''''''' ) ' -- Numero UDC AS400
|
||
|
||
SET @SQL = @SQL + 'SET XDTPRO = ' + CAST(@XDTPRO AS NVARCHAR(8))
|
||
SET @SQL = @SQL + ', XTRPRO = ''' + @XTRPRO + ''''
|
||
SET @SQL = @SQL + ', XDESMT = ''' + @XDESMT + ''''
|
||
SET @SQL = @SQL + ', XMATSC = ''S''' -- Flag Lega Scaricata
|
||
SET @SQL = @SQL + ', XCDTER = ''' + @XCDTER + '''';
|
||
|
||
-- SELECT @SQL
|
||
|
||
-- Eseguo il comando T-SQL verso AS400 e testo se OK
|
||
SET @SqlOK = 0;
|
||
|
||
-- EXEC @SqlOK = sp_executesql @SQL se faccio così non mi valorizza la variabile se da errore
|
||
EXEC dbo.sp_executesql @SQL;
|
||
END TRY
|
||
BEGIN CATCH
|
||
-- PRINT ERROR_NUMBER()
|
||
SET @SqlOK = ERROR_NUMBER();
|
||
|
||
-- Uso RAISERROR mandare in errore la procedura e x per tornare le info
|
||
-- sull'errore originale che ha portato l'esecuzione nel blocco CATCH
|
||
--DECLARE @ErrorMessage NVARCHAR(4000);
|
||
--DECLARE @ErrorSeverity INT;
|
||
--DECLARE @ErrorState INT;
|
||
--SELECT @ErrorMessage = ERROR_MESSAGE(),@ErrorSeverity = ERROR_SEVERITY(),@ErrorState = ERROR_STATE();
|
||
--RAISERROR (@ErrorMessage,@ErrorSeverity,@ErrorState); -- Se non uso RAISERROR la procedura non mi da errore es. se schedulata
|
||
END CATCH
|
||
|
||
-- Memorizzo il comando per verifica T-SQL e l'esito del comando se 0 è OK
|
||
INSERT INTO RawData.AS400_Comandi
|
||
SELECT GETDATE(), 'stp_consumaMP', @SQL, @SqlOK;
|
||
|
||
-- è possibile sollevare un RAISERROR ??? come si comporta poi il programma?
|
||
|
||
-- NON SI FANNO RAISE ERROR E NON SI RESTITUISCE CODICE!!!!!
|
||
|
||
--RETURN @SqlOK; -- commentato da Sam
|
||
|
||
|
||
|
||
-- MANCA IL TEST SE HO AGGIORNATO EFFETTIVAMENTE o MENO
|
||
|
||
/*
|
||
SELECT XRPQLN, XNRETI , XDTPRO, XTRPRO, XDESMT, XMATSC, XCDTER
|
||
FROM OPENQUERY( P65220DC, 'SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN = 905793 AND XNRETI = ''U100548151'' ')
|
||
|
||
-- Resetto l'UDC
|
||
UPDATE OPENQUERY( P65220DC, 'SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN = 905793 AND XNRETI = ''U100548151'' ')
|
||
SET XDTPRO = 0 , XTRPRO = '', XDESMT = '', XMATSC = 'N', XCDTER = ''
|
||
|
||
-- Comando OK
|
||
-- UPDATE OPENQUERY( P65220DC, 'SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN = 905793 AND XNRETI = ''U100548151'' ')
|
||
-- SET XDTPRO = 20100723 , XTRPRO = 'S', XDESMT = 'F01', XMATSC = 'N', XCDTER = ''
|
||
*/
|
||
|
||
RETURN
|
||
go
|
||
|
||
commit
|
||
go
|
||
|
||
|
||
set xact_abort on
|
||
go
|
||
|
||
begin transaction
|
||
go
|
||
|
||
set ANSI_NULLS on
|
||
go
|
||
|
||
/*****************************************************
|
||
* STORED sstp_processaCodaMovimMag
|
||
*
|
||
* Processa la coda dei movimenti di magazzino e chiama procedura x salvataggio dato su AS400
|
||
*
|
||
* Steamware, S.E.L.
|
||
* mod: 2010.10.15
|
||
*
|
||
****************************************/
|
||
alter PROCEDURE BatchQueue.stp_processaCodaMovimMag
|
||
AS
|
||
|
||
-- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
|
||
-- campi variabili "globali"
|
||
DECLARE @IdxBatch INT
|
||
DECLARE @CodSoggetto NVARCHAR(17)
|
||
DECLARE @CodMovCarico CHAR(2)
|
||
DECLARE @CodMovScarico CHAR(2)
|
||
-- campi x cursore e valorizzazione riga a riga
|
||
DECLARE @Particolare NVARCHAR(15)
|
||
DECLARE @Causale NVARCHAR(2)
|
||
DECLARE @CodMag NVARCHAR(50)
|
||
DECLARE @Qta INT
|
||
DECLARE @Data NVARCHAR(8)
|
||
DECLARE @RIFFO NVARCHAR(8)
|
||
|
||
-- faccio una query con un cursore x processare tutte le righe da inviare ad AS400..
|
||
DECLARE RigaMovMag CURSOR FOR
|
||
SELECT IdxBatch FROM AS400_BatchMovimenti WHERE DataBatch IS NULL
|
||
|
||
-- setto il codice soggetto da inviare ad AS... VERIFICARE!!!
|
||
SET @CodSoggetto = 'O0000000000099999'
|
||
|
||
-- carico i 2 valori di default di carico e scarico da AS400
|
||
SET @CodMovCarico = (SELECT CauCarico FROM RilPro.AnagCausaliMag)
|
||
SET @CodMovScarico = (SELECT CauScarico FROM RilPro.AnagCausaliMag)
|
||
|
||
-- inizio cursore!
|
||
OPEN RigaMovMag
|
||
FETCH NEXT FROM RigaMovMag
|
||
INTO @IdxBatch
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
-- controllo ci sia la riga
|
||
IF (SELECT COUNT(IdxBatch) FROM AS400_BatchMovimenti WHERE IdxBatch = @IdxBatch) > 0
|
||
BEGIN
|
||
-- carico valori che mi servono
|
||
SELECT @Particolare=bm.Particolare, @Causale=CASE WHEN bm.Quantita>0 THEN @CodMovCarico ELSE @CodMovScarico END,
|
||
@CodMag=bm.CodMagAS, @Qta = ABS(bm.Quantita), @Data=dbo.dateToAsFormat(GETDATE()), @RIFFO=dbo.getUdcComp(bm.UDC,8)
|
||
FROM AS400_BatchMovimenti bm
|
||
WHERE IdxBatch = @IdxBatch
|
||
|
||
-- Eseguo la stored che registra il Packing List ???
|
||
Execute BatchQueue.stp_registraMovMag @CodSoggetto, @Causale, @Particolare, @CodMag, @Qta, @Data, @RIFFO
|
||
|
||
-- registro la data del movimento BATCH
|
||
UPDATE AS400_BatchMovimenti SET DataBatch = GETDATE() WHERE IdxBatch = @IdxBatch
|
||
|
||
FETCH NEXT FROM RigaMovMag INTO @IdxBatch
|
||
END
|
||
END
|
||
CLOSE RigaMovMag
|
||
DEALLOCATE RigaMovMag
|
||
|
||
|
||
RETURN
|
||
go
|
||
|
||
commit
|
||
go
|
||
|
||
set xact_abort on
|
||
go
|
||
|
||
begin transaction
|
||
go
|
||
|
||
set ANSI_NULLS on
|
||
go
|
||
|
||
/*
|
||
* STORED stp_processaCodaMovimPackList
|
||
*
|
||
* Processa la coda delle packing list e chiama procedura x salvataggio dato su AS400
|
||
*
|
||
* Steamware, S.E.L.
|
||
* mod: 2010.10.22
|
||
*
|
||
****************************************/
|
||
create PROCEDURE BatchQueue.stp_processaCodaMovimPackList
|
||
AS
|
||
|
||
-- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
|
||
|
||
-- campi x cursore e valorizzazione riga a riga
|
||
DECLARE @IdxRiga INT
|
||
DECLARE @CodLista NVARCHAR(12)
|
||
DECLARE @CodListaPre NVARCHAR(12)
|
||
DECLARE @CodStab CHAR(2)
|
||
DECLARE @UDC NVARCHAR(15)
|
||
DECLARE @Particolare NVARCHAR(15)
|
||
DECLARE @CodImb NVARCHAR(15)
|
||
DECLARE @Matr INT
|
||
DECLARE @Tipo NVARCHAR(2)
|
||
DECLARE @Dest NVARCHAR(10)
|
||
DECLARE @Qta INT
|
||
DECLARE @PesoNet NUMERIC(7,3)
|
||
DECLARE @PesoLor NUMERIC(7,3)
|
||
DECLARE @Stato CHAR(1)
|
||
DECLARE @Data NVARCHAR(8)
|
||
|
||
-- faccio una query con un cursore x processare tutte le righe da inviare ad AS400..
|
||
DECLARE RigaPackList CURSOR FOR
|
||
SELECT IdxRiga FROM v_datiPackingList ORDER BY CodLista
|
||
|
||
-- setto il codice stabilimento da inviare ad AS... VERIFICARE!!!
|
||
SET @CodStab = '05';
|
||
|
||
-- imposto prima codListaPre a vuoto...
|
||
SET @CodListaPre = '';
|
||
-- inizio cursore!
|
||
OPEN RigaPackList
|
||
FETCH NEXT FROM RigaPackList
|
||
INTO @IdxRiga
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
-- controllo ci sia la riga
|
||
IF (SELECT COUNT(IdxRiga) FROM v_datiPackingList WHERE IdxRiga = @IdxRiga) > 0
|
||
BEGIN
|
||
-- carico valori che mi servono
|
||
SELECT @Particolare=pl.Particolare, @UDC=UDC, @CodImb=pl.CodImballo, @Matr = pl.matrUdc, @Tipo=pl.tipo, @Dest=pl.Destinatario,
|
||
@Qta=ABS(pl.Qta), @PesoNet=pl.PesoNetto, @PesoLor=pl.PesoTot, @Stato=pl.Stato, @Data=dbo.dateToAsFormat(pl.data),
|
||
@CodLista=pl.CodLista
|
||
FROM v_datiPackingList pl
|
||
WHERE IdxRiga = @IdxRiga
|
||
|
||
-- Eseguo la stored che registra il Packing List ???
|
||
Execute BatchQueue.stp_registraPackList @CodStab, @UDC, @Particolare , @CodImb , @Matr , @Tipo , @Dest , @Qta , @PesoNet , @PesoLor , @Stato , @Data
|
||
|
||
FETCH NEXT FROM RigaPackList INTO @IdxRiga
|
||
|
||
-- controllo: se la lissta precedente è diversa dall'attuale la indico come scaricata (precedente)
|
||
IF(@CodListaPre <> @CodLista)
|
||
BEGIN
|
||
UPDATE ElencoListePrelievo_AS SET DataBatch = GETDATE() WHERE CodLista = @CodListaPre
|
||
-- cambio il cod pre da confrontare
|
||
SET @CodListaPre = @CodLista
|
||
END
|
||
END
|
||
-- registro la data del movimento BATCH dell'ultima lista processata
|
||
UPDATE ElencoListePrelievo_AS SET DataBatch = GETDATE() WHERE CodLista = @CodLista
|
||
|
||
END
|
||
CLOSE RigaPackList
|
||
DEALLOCATE RigaPackList
|
||
|
||
RETURN
|
||
go
|
||
|
||
commit
|
||
go
|
||
|
||
|
||
set xact_abort on
|
||
go
|
||
|
||
begin transaction
|
||
go
|
||
|
||
set ANSI_NULLS on
|
||
go
|
||
|
||
/***************************************
|
||
* STORED stp_registraMovMag
|
||
*
|
||
* Salva il movimento di magazzino indicato
|
||
*
|
||
* Steamware, S.E.L.
|
||
* mod: 2010.10.15
|
||
*
|
||
****************************************/
|
||
alter PROCEDURE BatchQueue.stp_registraMovMag
|
||
(
|
||
@NOMUS NVARCHAR(50), -- è il nome utente
|
||
@CDCAU NVARCHAR(2), -- è la causale del movimento
|
||
@CDPAR NVARCHAR(15), -- codice particolare
|
||
@CDMAG NVARCHAR(2), -- codice magazzino
|
||
@QTMOV NUMERIC(9,2), -- quantità movimento
|
||
@DAMOV NVARCHAR(8), -- data 8 cifre aaaammgg Data Movimento
|
||
@RIFFO NVARCHAR(8) -- cod UDC compresso
|
||
)
|
||
AS
|
||
|
||
-- QUESTA FUNZIONA!!! DA VERIFICARE I DATI PASSATI VISTO CHE ATTUALMENTE NON FUNZIONA
|
||
-- LA STORED CHE LA RICHIAMA-POPOLA ?
|
||
|
||
-- Movimentazioni Magazzino
|
||
-- Tabella MWMV200F libreria MAZZT_AZI per test – MAZZ_AZI effettiva
|
||
|
||
/* -- Variabili per test senza Stored
|
||
DECLARE @NOMUS NVARCHAR(50), -- è il nome utente
|
||
@CDCAU NVARCHAR(2), -- è la causale del movimento
|
||
@CDPAR NVARCHAR(15), -- codice particolare
|
||
@CDMAG NVARCHAR(2), -- codice magazzino
|
||
@QTMOV NUMERIC(9,2), -- quantità movimento ATTENZIONE QUESTA E' SBAGLIATA SULLA STORED
|
||
@DAMOV NVARCHAR(8), -- data 8 cifre aaaammgg
|
||
@RIFFO NVARCHAR(8) -- cod UDC compresso
|
||
|
||
-- SETTO LE VARIABILI DI PROVA PER TEST
|
||
SET @NOMUS = N'PIPPO'
|
||
SET @CDCAU = N'01'
|
||
SET @CDPAR = N'P00528503817'
|
||
SET @CDMAG = N'54'
|
||
SET @QTMOV = 1234567.51
|
||
SET @DAMOV = N'20100101'
|
||
SET @RIFFO = N'UDCPROVA'
|
||
*/
|
||
|
||
DECLARE @SqlOK AS INT;
|
||
|
||
-- inizio a dire che è andata bene e salvo in tab comandi
|
||
SET @SqlOk = 1;
|
||
|
||
-- Memorizzo il comando per verifica T-SQL
|
||
INSERT INTO RawData.AS400_Comandi
|
||
SELECT GETDATE(), 'stp_registraMovMag',
|
||
'INSERT INTO OPENQUERY MAZZT_AZI.MWMV200F parametri :'
|
||
+ @NOMUS + ',' + @CDCAU + ',' + @CDPAR + ',' + @CDMAG + ',' + CONVERT(VARCHAR(20) , @QTMOV) + ',' + @DAMOV + ',' + @RIFFO, @SqlOk
|
||
|
||
/*
|
||
INSERT INTO
|
||
OPENQUERY( P65220DC,
|
||
'
|
||
SELECT NOMUS , CDCAU , CDPAR , CDMAG , QTMOV , DAMOV , RIFFO
|
||
FROM MAZZT_AZI.MWMV200F
|
||
' )
|
||
VALUES ( @NOMUS , @CDCAU , @CDPAR , @CDMAG , @QTMOV , @DAMOV , @RIFFO )
|
||
*/
|
||
|
||
|
||
/* TEST e DELETE
|
||
SELECT * FROM OPENQUERY( P65220DC, 'SELECT NOMUS ,CDCAU ,CDPAR ,CDMAG ,QTMOV ,DAMOV ,RIFFO FROM MAZZT_AZI.MWMV200F' )
|
||
|
||
DELETE
|
||
OPENQUERY( P65220DC, 'SELECT * FROM MAZZT_AZI.MWMV200F WHERE NOMUS = ''PIPPO'' ')
|
||
*/
|
||
|
||
RETURN
|
||
go
|
||
|
||
commit
|
||
go
|
||
|
||
|
||
set xact_abort on
|
||
go
|
||
|
||
begin transaction
|
||
go
|
||
|
||
set ANSI_NULLS on
|
||
go
|
||
|
||
/***************************************
|
||
* STORED stp_registraPackList
|
||
*
|
||
* Salva i dati di packing list indicati
|
||
*
|
||
* Steamware, S.E.L.
|
||
* mod: 2010.10.15
|
||
*
|
||
****************************************/
|
||
alter PROCEDURE BatchQueue.stp_registraPackList
|
||
(
|
||
@PLREPA NVARCHAR(2), -- è il codice reparto/stabilimento (05 pressofusione)
|
||
@PLCART NVARCHAR(15), -- UDC
|
||
@PLARTI NVARCHAR(15), -- cod articolo
|
||
@PLCONT NVARCHAR(15), -- cod contenitore
|
||
@PLMATR INT, -- matricola contenitore (solo cifre finali INT)
|
||
@PLTPAN CHAR(2), -- tipo anagrafico CLiente / FOrnitore-terzista
|
||
@PLCDAN NVARCHAR(6), -- cod terzista / cliente
|
||
@PLQTA INT, -- quantità
|
||
@PLPNET NUMERIC(7, 3), -- peso netto
|
||
@PLPLOR NUMERIC(7, 3), -- peso lordo
|
||
@PLSTAT CHAR(1), -- stato "P" predisposto per packing list, "B" bolla stampata
|
||
@PLDTEN INT -- data entrata merce, data di carico dell'UDC 8 cifre aaaammgg
|
||
)
|
||
AS
|
||
-- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
|
||
|
||
--DECLARE @SQL AS NVARCHAR(4000);
|
||
DECLARE @SqlOK AS INT;
|
||
|
||
-- inizio a dire che è andata bene e salvo in tab comandi
|
||
SET @SqlOk = 1;
|
||
|
||
-- Memorizzo il comando per verifica T-SQL
|
||
INSERT INTO RawData.AS400_Comandi
|
||
SELECT GETDATE(), 'stp_registraPackList',
|
||
'INSERT INTO MAZZT_DTV3.PACKL00F parametri :'
|
||
+ @PLREPA + ', ' + @PLCART + ', ' + @PLARTI + ', ' + @PLCONT + ', ' + CAST(@PLMATR AS NVARCHAR(5)) + ', ' + @PLTPAN + ', ' + @PLCDAN + ', ' + CAST(@PLQTA AS NVARCHAR(10)) + ', ' + CAST(@PLPNET AS NVARCHAR(10)) + ', ' + CAST(@PLPLOR AS NVARCHAR(10)) + ', ' + @PLSTAT + ', ' + CAST(@PLDTEN AS NVARCHAR(8)) , @SqlOk
|
||
|
||
/*
|
||
INSERT INTO
|
||
OPENQUERY( P65220DC,
|
||
'
|
||
SELECT PLREPA , PLCART , PLARTI , PLCONT , PLMATR , PLTPAN , PLCDAN , PLQTA , PLPNET , PLPLOR , PLSTAT , PLDTEN
|
||
FROM MAZZT_AZI.MWMV200F
|
||
' )
|
||
VALUES ( @PLREPA , @PLCART , @PLARTI , @PLCONT , CAST(@PLMATR AS NVARCHAR(5)) , @PLTPAN , @PLCDAN , CAST(@PLQTA AS NVARCHAR(10)) , CAST(@PLPNET AS NVARCHAR(10)) , CAST(@PLPLOR AS NVARCHAR(10)) , @PLSTAT , CAST(@PLDTEN AS NVARCHAR(8)) )
|
||
*/
|
||
|
||
|
||
/*
|
||
-- preparo chiamata su AS400
|
||
SET @SQL = N' OPENQUERY( P65220DC, ''INSERT INTO MAZZT_DTV3.PACKL00F VALUES '
|
||
SET @SQL = @SQL + @PLREPA + ', ' + @PLCART + ', ' + @PLARTI + ', ' + @PLCONT + ', '
|
||
SET @SQL = @SQL + CAST(@PLMATR AS NVARCHAR(5)) + ', ' + @PLTPAN + ', ' + @PLCDAN + ', ' + CAST(@PLQTA AS NVARCHAR(10)) + ', '
|
||
SET @SQL = @SQL + CAST(@PLPNET AS NVARCHAR(10)) + ', ' + CAST(@PLPLOR AS NVARCHAR(10)) + ', ' + @PLSTAT + ', '
|
||
SET @SQL = @SQL + CAST(@PLDTEN AS NVARCHAR(8)) + ''' )'
|
||
|
||
EXEC dbo.sp_executesql @SQL
|
||
*/
|
||
|
||
RETURN
|
||
go
|
||
|
||
commit
|
||
go
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
-- registro versione...
|
||
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(288, GETDATE())
|
||
GO
|