Files
Samuele E. Locatelli bdd7b413e8 Riaggiunto GMW_data
2016-11-22 17:58:00 +01:00

284 lines
7.6 KiB
Transact-SQL

/***************************************
* STORED stp_processaCodaConsumoMP
*
* Processa la coda dei consumo di UDC di MP e chiaam procedura x salvataggio dato su AS400
*
* Steamware, S.E.L.
* mod: 2010.10.12
*
****************************************/
ALTER PROCEDURE [BatchQueue].[stp_processaCodaConsumoMP]
(
@ExecBatchInter BIT -- 0 Eseguita in Batch , 1 in Interattivo
)
AS
-- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!! PERCHE'??? NON VA VERSO AS400!!!
-- faccio una query con un cursore x processare tutte le righe da inviare ad AS400..
DECLARE @UDC NVARCHAR(50) -- UDC SQL
DECLARE @XRPQLN INT -- UDC
DECLARE @XNRETI NVARCHAR(10) -- Progr UDC AS400
DECLARE @XDTPRO INT -- DataPrelievo
DECLARE @XTRPRO NVARCHAR(5) -- Turno Prelievo
DECLARE @XDESMT NVARCHAR(3) -- Destinazione Lega
DECLARE @XCDTER NVARCHAR(6) -- Cod. Terzista
-- Dichiaro e carico il cursore
DECLARE UdcMpList CURSOR LOCAL FOR
SELECT UDC FROM AS400_BatchConsumoMP WHERE DataInvioAs IS NULL
OPEN UdcMpList
FETCH NEXT FROM UdcMpList
INTO @UDC
WHILE @@FETCH_STATUS = 0
BEGIN
-- controllo ci sia la riga
IF (SELECT COUNT(UDC) FROM AS400_BatchConsumoMP WHERE UDC=@UDC) > 0
BEGIN
-- carico valori che mi servono
SELECT @XRPQLN=rq.nRapQual, @XNRETI=rq.ProgUDC, @XDTPRO=bcu.DataPrelFus, @XTRPRO=bcu.TurnoPrelFus,
@XDESMT=bcu.DestLega, @XCDTER=bcu.DestTerz
FROM AS400_BatchConsumoMP as bcu
INNER JOIN RilPro.RapQual as rq ON bcu.UDC = rq.UDC
WHERE bcu.UDC=@UDC
-- BEGIN TRAN qui non va messa perchè se verso AS400 le transazioni non sono gestite
-- MANCA IL CONTROLLO SE L'AGGIORNAMENTO E' STATO OK
DECLARE @ScritturaASOK AS INT
EXECUTE @ScritturaASOK = BatchQueue.stp_consumaMP @XRPQLN ,@XNRETI ,@XDTPRO ,@XTRPRO ,@XDESMT ,@XCDTER
-- registro la data del movimento BATCH solo se stp_consumaMP è ritorna OK
-- NON ANDAVA BENE PERCHE' SE SUCCESSIVA ALL' ERRORE LA ESEGUE CMQ
-- Così non aggiorna la tabella MA L'UTENTE NON SI ACCORGE DI NULLA!!!
IF @ScritturaASOK = 0
UPDATE AS400_BatchConsumoMP SET DataInvioAs = GETDATE() WHERE UDC = @UDC
FETCH NEXT FROM UdcMpList INTO @UDC
END
END
CLOSE UdcMpList
DEALLOCATE UdcMpList
-- aggiunta per dare errore se schedulata S.Possidonio!!! GCARLO
IF @ScritturaASOK <> 0 AND @ExecBatchInter = 0
BEGIN
DECLARE @ErrorMessage NVARCHAR(4000);
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;
SELECT
@ErrorMessage = ERROR_MESSAGE()+ ' '+ CONVERT( VARCHAR(10),ERROR_NUMBER()),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
RAISERROR (@ErrorMessage, -- Message text.
16, -- Severity.
@ErrorState -- State.
);
END
RETURN
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
/***************************************
* STORED stp_prtCartMatPrimaByUDC
*
* ottiene il record del Cartellino Materia Prima dato l'UDC richiesto x la sstampa
*
****************************************/
alter PROCEDURE stp_prtCartMatPrimaByUDC
(
@UDC VARCHAR(50)
)
AS
SELECT
RQ.nRapQual,
RQ.DataRapQual,
RQ.ProgUDC,
RQ.CodFor,
RQ.DestTerz,
RQ.CodLega,
RQ.DataPrelFus,
RQ.TurnoPrelFus,
RQ.Qta,
RQ.DestLega,
RQ.LegaScaric,
RQ.BenesQual,
RQ.UDC,
Fo.DescFornitore,
Fo.DescFornitore2,
Le.CodLega AS CodLega2,
Le.DescLega,
Le.DescLega2
FROM RilPro.RapQual AS RQ
LEFT JOIN RilPro.AnagFornitori AS Fo
ON RQ.CodFor = Fo.CodFornitore
LEFT JOIN RilPro.AnagLeghe Le
ON RQ.CodLega = 'L' + Le.CodLega
WHERE RQ.UDC = RTRIM(@UDC) -- 'UB31000000001'
RETURN
go
commit
go
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
/***************************************
* STORED stp_rappQualConsumabili
*
* Ottiene l'elenco dei record di rapp qualità (e quindi degli UDC) di AS non ancora consumati per range di data di approvazione
*
* Steamware, S.E.L.
* mod: 2010.10.05
*
****************************************/
alter PROCEDURE stp_rappQualConsumabili
(
@dataFrom DATETIME,
@dataTo DATETIME
)
AS
-- restituisce le righe richieste
SELECT nRapQual, DataRapQual, ProgUDC, CodFor, DestTerz, CodLega, DataPrelFus, TurnoPrelFus, Qta, DestLega, LegaScaric, BenesQual, UDC
FROM RilPro.RapQual
WHERE ((DataPrelFus IS NULL) OR (DataPrelFus = 0)) AND -- condizione sul NON aver fatto ancora il prelievo
((DataRapQual >= dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))) -- cond data RQ
AND (ISNULL(UDC,'') <>'') -- non nullo UDC, quindi stampati...
RETURN
go
commit
go
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
-- Batch submitted through debugger: GMW_00290.sql|183|0|C:\Users\RottGian\AppData\Local\Temp\2\Temp1_GMW_00290.zip\GMW_00290.sql
/***************************************
* STORED stp_selDestListePrelByConditio
*
* Ottiene i destinatari delle liste di prelievo data la condizione indicata
*
* Steamware, S.E.L.
* mod: 2010.11.02
*
****************************************/
alter PROCEDURE stp_selDestListePrelByConditio
(
@conditio NVARCHAR(20)
)
AS
IF (@conditio='01-PreFus')
BEGIN
SELECT CAST('*' AS NVARCHAR(6)) AS value, CAST('*' AS NVARCHAR(50)) AS label, '01-PreFus' AS conditio
END
ELSE IF (@conditio='02-PreCli')
BEGIN
SELECT CAST(CodCliente AS NVARCHAR(6)) AS value, CAST(CodCliente AS NVARCHAR(6)) +'- ' +CAST(RagSociale AS NVARCHAR(50)) AS label, '02-PreCli' AS conditio
FROM RilPro.AnagClienti
ORDER BY label
END
ELSE
BEGIN
SELECT CAST(CodTerzista AS NVARCHAR(6)) AS value, CAST(CodTerzista AS NVARCHAR(6))+ '- '+CAST(DescTerzista AS NVARCHAR(50)) AS label, '03-TerWip' AS conditio
FROM RilPro.AnagDepositi
ORDER BY label
END
RETURN
go
commit
go
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
-- Batch submitted through debugger: GMW_00290.sql|183|0|C:\Users\RottGian\AppData\Local\Temp\2\Temp1_GMW_00290.zip\GMW_00290.sql
/***************************************
* STORED stp_selDestListePrelByConditio
*
* Ottiene i destinatari delle liste di prelievo data la condizione indicata
*
* Steamware, S.E.L.
* mod: 2010.11.02
*
****************************************/
alter PROCEDURE stp_selDestListePrelByConditio
(
@conditio NVARCHAR(20)
)
AS
IF (@conditio='01-PreFus')
BEGIN
SELECT CAST('*' AS NVARCHAR(6)) AS value, CAST('*' AS NVARCHAR(50)) AS label, '01-PreFus' AS conditio
END
ELSE IF (@conditio='02-PreCli')
BEGIN
SELECT CAST(CodCliente AS NVARCHAR(6)) AS value, CAST(CodCliente AS NVARCHAR(6)) +'- ' +CAST(RagSociale AS NVARCHAR(50)) AS label, '02-PreCli' AS conditio
FROM RilPro.AnagClienti
ORDER BY label
END
ELSE
BEGIN
SELECT CAST(CodTerzista AS NVARCHAR(6)) AS value, CAST(CodTerzista AS NVARCHAR(6))+ '- '+CAST(DescTerzista AS NVARCHAR(50)) AS label, '03-TerWip' AS conditio
FROM RilPro.AnagDepositi
ORDER BY label
END
RETURN
go
commit
go
-- registro versione...
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(345, GETDATE())
GO