-- 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