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

193 lines
4.9 KiB
Transact-SQL

set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
/***************************************
* STORED stp_ComAs_lastComandoByStored
*
* Ottiene il record dell'ultimo comando inviato ad AS400 dato il nome della stored con Test = 0
*
* Steamware, S.E.L.
* mod: 2011.03.30
*
****************************************/
create PROCEDURE stp_ComAs_lastComandoByStored
(
@Stored NVARCHAR(100)
)
AS
-- restituisce le righe richieste
SELECT TOP 1 *
FROM RawData.AS400_Comandi
WHERE (Stored = @Stored) AND Test = 0
ORDER BY DataEsecuzione DESC
RETURN
go
commit
go
drop procedure stp_BORI_caricaDatiNew
go
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
/*****************************************
* STORED stp_BORI_caricaDatiBolla
*
* richiama la stored di caricamento da AS400 x la bolla indicata
*
* Steamware, S.E.L.
* mod: 2011.04.28
*
****************************************/
alter PROCEDURE stp_BORI_caricaDatiBolla
(
@RaggrMagazz NVARCHAR(2) ,
@GruppoBolle NVARCHAR(1) ,
@NumeroBolla NVARCHAR(6) ,
@DataBolla NVARCHAR(8) ,
@Particolare NVARCHAR(15)
)
AS
SET NOCOUNT ON;
--DECLARE @RaggrMagazz AS NVARCHAR(2) = N'SP'
--DECLARE @GruppoBolle AS NVARCHAR(1) = N'0'
--DECLARE @NumeroBolla AS NVARCHAR(6) = N'678'
--DECLARE @DataBolla AS NVARCHAR(8) = N'20110421'
--DECLARE @Particolare AS NVARCHAR(15) = N'P00528536146'
-- Prima cancello i dati della se già presenti bolla poi li carico
DELETE SP_GMW.RawData.BORI202J
WHERE CDMFS = @RaggrMagazz
AND GRBOS = @GruppoBolle
AND NRBOS = @NumeroBolla
AND DTBOS = @DataBolla
AND CDARS = @Particolare
DECLARE @SQL AS NVARCHAR(4000)
DECLARE @SqlOK AS INT;
SET @SqlOK = 0;
-- ATTENZIONE!!! i parametri non devono essere nulli altrimenti la stringa ritornata è nulla
/*
Prima estraggo i dati della bolla dal file in AS400 in una tabella temporanea
Poi va letta la tabella temporanea per creare i dati per la stampa Odette
NON VA BENE, SE ESEGUONO IN DUE LA STAMPA PUO ANDARE IN CONFLITTO
*/
--IF OBJECT_ID(N'tempdb..##TabTemp') IS NOT NULL -- ##TabTemp Tabella temporanea globale altrimenti non riesco ad usarla
-- DROP TABLE ##TabTemp;
-- SET @SQL = 'SELECT * INTO ##TabTemp FROM OPENQUERY(P65220DC,
BEGIN TRY
SET @SQL = 'INSERT INTO SP_GMW.RawData.BORI202J SELECT * FROM OPENQUERY(P65220DC,
''SELECT
CDMFS
,GRBOS
,DTBOS
,NRBOS
,CDARS
,NRRGS
,CDINB
,RA1ND
,RA2ND
,CAPND
,CITND
,RASCL
,INDCL
,CAPCL
,LOCCL
,PROCL
,INEND
,CRAGCL
,TELND
,CCDMOL
,CCDPTR
,EPLAVO
,NRC1B
,ECMM01
,DEPAR
,RCARTC
,PERND
,CCDET1
,ECDNAE
,ECDNA1
,EESPMD
,PELDB
,QTCNS
FROM POSN_AZI.BORI202J
WHERE ATV08 <> ''''A''''
'
-- commemntare le righe successive per estrarre tutto
-- Parametri di selezione della bolla
SET @SQL = @SQL + ' AND CDMFS = ''''' + @RaggrMagazz + ''''' '
SET @SQL = @SQL + ' AND GRBOS = ''''' + @GruppoBolle + ''''' '
SET @SQL = @SQL + ' AND NRBOS = ' + @NumeroBolla + ' '
SET @SQL = @SQL + ' AND DTBOS = ' + @DataBolla + ' '
SET @SQL = @SQL + ' AND CDARS = ''''' + @Particolare + ''''' '
SET @SQL = @SQL + ''' )';
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
-- MANCA IL TEST SE VA IN ERRORE E IL SALVATAGGIO NEL LOG AS400
-- Memorizzo il comando per verifica T-SQL e l'esito del comando se 0 è OK
--INSERT INTO RawData.AS400_Comandi
--SELECT GETDATE(), 'stp_CaricaDatiBolladaAs400', @SQL, @SqlOK;
-- Carico i dati della Temp table nel file di appoggio
-- INSERT INTO SP_GMW.RawData.BORI202J
-- SELECT * FROM ##TabTemp
RETURN
go
commit
go
-- registro versione...
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(361, GETDATE())
GO