Files
GMW/GMW_DB/bin/Debug/GMW_DB.sql
T
Samuele Locatelli 69be0b13ae versione DB funzionante iniziale
escluso utente gruppomm e sua role memership (db_executor.sql e Role
Membership.sql)
escluse 2 viste su obj esterno verso ProduzionePossidonio (v_trascodificaParticolari / v_trascodificaDatamatrix)
2014-02-20 10:10:23 +01:00

17224 lines
491 KiB
PL/PgSQL

/*
Deployment script for GMW_DB
This code was generated by a tool.
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
*/
GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
SET NUMERIC_ROUNDABORT OFF;
GO
:setvar DatabaseName "GMW_DB"
:setvar DefaultFilePrefix "GMW_DB"
:setvar DefaultDataPath "C:\Users\samuele\AppData\Local\Microsoft\VisualStudio\SSDT\GMW\"
:setvar DefaultLogPath "C:\Users\samuele\AppData\Local\Microsoft\VisualStudio\SSDT\GMW\"
GO
:on error exit
GO
/*
Detect SQLCMD mode and disable script execution if SQLCMD mode is not supported.
To re-enable the script after enabling SQLCMD mode, execute the following:
SET NOEXEC OFF;
*/
:setvar __IsSqlCmdEnabled "True"
GO
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
BEGIN
PRINT N'SQLCMD mode must be enabled to successfully execute this script.';
SET NOEXEC ON;
END
GO
USE [$(DatabaseName)];
GO
PRINT N'Creating [dbo].[getNumDatamatrix]...';
GO
/***************************************
* function getNumDatamatrix
*
* calcola il numero dei datamatrix BUONI presenti in un gitterbox dalla view v_trasfDataMatrix
*
* Steamware, S.E.L.
* mod: 2011.04.29
*
****************************************/
CREATE FUNCTION dbo.getNumDatamatrix
(
@CodGitterbox AS NVARCHAR(50)
)
RETURNS INT
AS
BEGIN
DECLARE @answ AS INT
SET @answ = (SELECT COUNT(*) FROM v_trasfDataMatrix WHERE CodGitterbox = @CodGitterbox)
RETURN @answ
END
GO
PRINT N'Creating [dbo].[v_UdcDetail]...';
GO
CREATE VIEW dbo.v_UdcDetail
AS
SELECT dbo.ElencoCartellini.UDC, ISNULL(dbo.ElencoCartellini.RagSociale, N'') AS RagSociale, ISNULL(dbo.ElencoCartellini.Particolare, N'') AS Particolare, ISNULL(dbo.ElencoCartellini.DescParticolare, N'')
AS DescParticolare, ISNULL(dbo.ElencoCartellini.DisegnoGrezzo, N'') AS DisegnoGrezzo, ISNULL(dbo.ElencoCartellini.Esponente, N'') AS Esponente, ISNULL(dbo.ElencoCartellini.DescImpianto, N'')
AS DescImpianto, ISNULL(dbo.ElencoCartellini.DataFus, N'') AS DataFus, ISNULL(dbo.ElencoCartellini.TurnoFus, 0) AS TurnoFus, dbo.ElencoCartellini.CodImballo, dbo.ElencoCartellini.Qta,
ISNULL(dbo.AnagStatiProdotto.DescStato, N'') AS DescStato, dbo.ElencoCartellini.ModDate, ISNULL(dbo.Blocchi.CodMag, N'') AS CodMag, ISNULL(dbo.Blocchi.CodBlocco, N'') AS CodBlocco,
ISNULL(dbo.Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella, ISNULL(dbo.Celle.X, 0) AS X, ISNULL(dbo.Celle.Y, 0) AS Y, ISNULL(dbo.Celle.Z, 0) AS Z, dbo.ElencoCartellini.IdxPosizione,
dbo.ElencoCartellini.Note, dbo.PosizioneUdcCorrente.DataRif AS lastMov
FROM dbo.AnagStatiProdotto RIGHT OUTER JOIN
dbo.ElencoCartellini ON dbo.AnagStatiProdotto.CodStato = dbo.ElencoCartellini.CodStato AND dbo.AnagStatiProdotto.CodStato = dbo.ElencoCartellini.CodStato LEFT OUTER JOIN
dbo.Celle INNER JOIN
dbo.PosizioneUdcCorrente ON dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella AND dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella AND
dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella INNER JOIN
dbo.Blocchi ON dbo.Celle.IdxBlocco = dbo.Blocchi.IdxBlocco INNER JOIN
dbo.AnagMag ON dbo.Blocchi.CodMag = dbo.AnagMag.CodMag AND dbo.Blocchi.CodCS = dbo.AnagMag.CodCS AND dbo.Blocchi.CodMag = dbo.AnagMag.CodMag AND
dbo.Blocchi.CodCS = dbo.AnagMag.CodCS AND dbo.Blocchi.CodMag = dbo.AnagMag.CodMag AND dbo.Blocchi.CodCS = dbo.AnagMag.CodCS ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
GO
PRINT N'Creating [dbo].[v_vocabolario]...';
GO
CREATE VIEW [dbo].[v_vocabolario]
AS
SELECT Lingua, Lemma, Traduzione
FROM voc.Vocabolario
GO
PRINT N'Creating [dbo].[v_selPeriodiTrad]...';
GO
CREATE VIEW v_selPeriodiTrad
AS
SELECT AnagPeriodi_1.codPeriodo AS value, dbo.v_vocabolario.Traduzione AS label, dbo.v_vocabolario.Lingua AS conditio
FROM dbo.AnagPeriodi AS AnagPeriodi_1 INNER JOIN
dbo.v_vocabolario ON AnagPeriodi_1.lemmaPeriodo = dbo.v_vocabolario.Lemma
GO
PRINT N'Creating [As400].[stp_SelectRappQualita]...';
GO
/***************************************
* STORED stp_SelectRappQualita
*
* Description: Ritorna i cartellini da AS400 partendo nal numero del rapporto di qualità
*
* Steamware, S.E.L.
*
****************************************/
CREATE PROCEDURE [As400].[stp_SelectRappQualita]
-- Add the parameters for the stored procedure here
@NumRappQual nVarChar(1000) = ''
AS
BEGIN
-- Cartellini Rapporti qualità Materia Prima
-- FILE XOGIX00F
-- LIBRERIA TEST MAZZT_DTV3
-- LIBRERIA EFFETTIVA TEKAL TEKA_DATV3
-- LIBRERIA EFFETTIVA POSS. POSN_DATV3
SET NOCOUNT ON;
DECLARE @SQL AS NVARCHAR(4000)
DECLARE @As400File AS NVARCHAR(50) = '';
DECLARE @As400Linked AS NVARCHAR(50) = ''; -- Linked Server AS400
-- DECLARE @PAR1 AS nVarChar(1000)
-- SET @PAR1 = N'903383'
-- In base al nome del DB e della stored recupero il Linked Server e file di AS400
SET @As400Linked = ( SELECT dbo.f_getLikedAS400(DB_NAME()) );
SET @As400File = ( SELECT dbo.f_getLibreriaAS400 ( DB_NAME() , OBJECT_SCHEMA_NAME(@@PROCID) + '.' + OBJECT_NAME(@@PROCID) ) )
-- Se rapporto di qualità è 0 non è un rapporto di qualità
-- Se rapporto di qualità e Blank va in errore quindi lo metto a -1
IF ( @NumRappQual = '' OR @NumRappQual = 0) SET @NumRappQual = '-1'
SET @SQL =
N'
SELECT
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
FROM OPENQUERY(' + @As400Linked
SET @SQL = @SQL + N', ''SELECT * FROM ' + @As400File
SET @SQL = @SQL + ' WHERE XRPQLN = ' + @NumRappQual + ''' )'
EXEC sp_executesql @SQL
-- SELECT * FROM OPENQUERY( AS400, 'SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN = 903383' )
END
GO
PRINT N'Creating [BatchQueue].[stp_batch_RapQual_S01]...';
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
*
****************************************/
CREATE PROCEDURE BatchQueue.stp_batch_RapQual_S01
(
@minData DATETIME
)
AS
SET NOCOUNT ON;
-- BOZZA DA TESTARE A CURA MAZZUCCONI!!!
-- Caricamento Rapporti qualità Materia Prima
-- FILE XOGIX00F
-- LIBRERIA TEST MAZZT_DTV3
-- LIBRERIA EFFETTIVA TEKAL TEKA_DATV3
-- LIBRERIA EFFETTIVA POSS POSN_DATV3
/*
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
L'UPDATE FUNZIONA VERSO AS400
*/
DECLARE @SQL AS NVARCHAR(4000);
DECLARE @SqlOK AS INT;
DECLARE @As400File AS NVARCHAR(50) = '';
DECLARE @As400Linked AS NVARCHAR(50) = ''; -- Linked Server AS400
DECLARE @dataAs400 AS VARCHAR(8);
SET @dataAs400 = (SELECT dbo.dateToAsFormat(@minData));
SET @SqlOK = 0;
-- In base al nome del DB e della stored recupero il Linked Server e file di AS400 27/06/2013
SET @As400Linked = ( SELECT dbo.f_getLikedAS400(DB_NAME()) );
SET @As400File = ( SELECT dbo.f_getLibreriaAS400 ( DB_NAME() , OBJECT_SCHEMA_NAME(@@PROCID) + '.' + OBJECT_NAME(@@PROCID) ) )
BEGIN TRY
-- svuoto tab raw attuale
TRUNCATE TABLE RawData.XOGIX00F;
-- Leggo tutti gli UDC dei rapporti di qualità a partire dalla data richiesta
-- escludendo quelli con Numero Rapporto di qualità a zero ( non sono rapporti di qualità )
-- 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(' + @As400Linked
SET @SQL = @SQL + N', ''SELECT * FROM ' + @As400File
SET @SQL = @SQL + ' WHERE XRPQLN <> 0 AND XRPQLD >= ' + @dataAs400 + ' '' ) '
-- Eseguo il comando T-SQL verso AS400 e testo se OK
-- EXEC @SqlOK = sp_executesql @SQL se faccio così non mi valorizza la variabile se da errore
EXEC sp_executesql @SQL;
END TRY
BEGIN CATCH
-- nel caso di errore ne salvo il numero
SET @SqlOK = ERROR_NUMBER(); -- PRINT 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_batch_RapQual_S01', @SQL, @SqlOK;
-- è possibile sollevare un RAISERROR ??? come si comporta poi il programma?
-- NON SI FANNO RAISE ERROR E NON SI RESTITUISCE CODICE!!!!!
RETURN
GO
PRINT N'Creating [BatchQueue].[stp_batch_RapQual_S02]...';
GO
/***************************************
* STORED stp_batch_RapQual_S02
*
* Esegue lo step 2 (travaso dati RAW in RilPro) per la tab dei rapporti di qualità
*
* Steamware, S.E.L.
* mod: 2011.11.25
*
****************************************/
CREATE PROCEDURE [BatchQueue].[stp_batch_RapQual_S02]
(
@CodMagMpNONacc NVARCHAR(50) = '6666',
@CodMagMpAcc NVARCHAR(50) = '6',
@CodStatoMpNONacc NVARCHAR(50) = 'MP-NA',
@CodStatoMpAcc NVARCHAR(50) = 'MP'
)
AS
SET XACT_ABORT ON;
SET NOCOUNT ON;
-- eseguo UPSERT x tutti i dati disponibili in tab Raw...
BEGIN TRAN;
-- ===============================================================================================
-- PRIMA DI AGGIORNARE VERIFICO SE CI SONO MODIFICHE DI MP ACCETTATA / NON ACCETTATA
-- ===============================================================================================
--DECLARE @CodMagMpNONacc AS VARCHAR(50) = '6666' -- Setto il Magazzino per MP NON ACCETTATA
--DECLARE @CodMagMpAcc AS VARCHAR(50) = '6' -- Setto il Magazzino per MP ACCETTATA
DECLARE @CellaOK AS INT
DECLARE @MagAccOK AS INT
DECLARE @MagNNAccOK AS INT
DECLARE @CodEven AS NVARCHAR(10) = 'UDC_MPRQ';
-- ===============================================================================================
-- SPOSTAMENTO DI MAGAZZINO DELLA MP che da ACCETTATA diventa NON ACCETTATA
-- ===============================================================================================
-- Controllo che il magazzino dest. NON ACCETTATA sia a cella singola( a terra ), attivo
SELECT @MagAccOK = COUNT(*) FROM dbo.Celle AS c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
WHERE b.CodMag = @CodMagMpNONacc AND c.Attiva = 1
IF @MagAccOK = 1 -- Se mag. NON ACCETTATA è OK
BEGIN
-- Vado a leggere la cella corretta
SELECT @CellaOK = c.IdxCella FROM Celle AS c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
WHERE b.CodMag = @CodMagMpNONacc AND c.Attiva = 1
-- Se ci sono cartellini di materia prima che sono passati da accettati a non accettati li sposto
UPDATE dbo.PosizioneUdcCorrente
SET IdxCella = @CellaOK,
DataRif = GETDATE()
FROM dbo.PosizioneUdcCorrente AS po
INNER JOIN RilPro.RapQual rq
ON rq.UDC = po.UDC
INNER JOIN RawData.XOGIX00F u
ON u.XNRETI = rq.ProgUDC
INNER JOIN dbo.ElencoCartellini AS el
ON rq.UDC = el.UDC
INNER JOIN Celle c
ON po.IdxCella=c.IdxCella
INNER JOIN Blocchi b
ON c.IdxBlocco=b.IdxBlocco
WHERE ( rq.BenesQual = 'S' AND u.XBENQL = 'N' ) -- da Accettata a NON accettata
AND XMATSC = 'N' -- solo Lega non ancora Scaricata
AND b.CodMag <> @CodMagMpNONacc -- Che non è in Magazzino NON Accettati
UPDATE dbo.ElencoCartellini
SET CodStato = @CodStatoMpNONacc,
CodEvento= @CodEven,
ModDate = GETDATE()
FROM dbo.ElencoCartellini AS el
INNER JOIN RilPro.RapQual rq
ON rq.UDC = el.UDC
INNER JOIN RawData.XOGIX00F u
ON u.XNRETI = rq.ProgUDC
WHERE ( rq.BenesQual = 'S' AND u.XBENQL = 'N' ) -- da Accettata a NON accettata
AND XMATSC = 'N' -- solo Lega non ancora Scaricata
AND el.CodStato = @CodStatoMpAcc -- Modifico solo UDC in stato 'MP' (accettata)
AND el.IdxPosizione = 6 -- Modifico solo se cartellini non scaricati Mod. 2012-05
END
-- ===============================================================================================
-- SPOSTAMENTO DI MAGAZZINO DELLA MP che da NON ACCETTATA diventa ACCETTATA
-- ===============================================================================================
-- Controllo che il magazzino dest. ACCETTATA sia a cella singola( a terra ), attivo
SELECT @MagNNAccOK = COUNT(*) FROM dbo.Celle AS c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
WHERE b.CodMag = @CodMagMpAcc AND c.Attiva = 1
IF @MagNNAccOK = 1 -- Se mag. ACCETTATA è OK
BEGIN
-- Vado a leggere la cella corretta
SELECT @CellaOK = c.IdxCella FROM Celle AS c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
WHERE b.CodMag = @CodMagMpAcc AND c.Attiva = 1
-- Se ci sono cartellini di materia prima che sono passati da accettati a non accettati li sposto
UPDATE dbo.PosizioneUdcCorrente
SET IdxCella = @CellaOK,
DataRif = GETDATE()
FROM dbo.PosizioneUdcCorrente AS po
INNER JOIN RilPro.RapQual rq
ON rq.UDC = po.UDC
INNER JOIN RawData.XOGIX00F u
ON u.XNRETI = rq.ProgUDC
INNER JOIN dbo.ElencoCartellini AS el
ON rq.UDC = el.UDC
INNER JOIN Celle c
ON po.IdxCella=c.IdxCella
INNER JOIN Blocchi b
ON c.IdxBlocco=b.IdxBlocco
WHERE ( rq.BenesQual = 'N' AND u.XBENQL = 'S' ) -- da NON Accettata ad Accettata
AND XMATSC = 'N' -- solo Lega non ancora Scaricata
AND b.CodMag <> @CodMagMpAcc -- Modifico solo UDC in stato MP non Accettata
UPDATE dbo.ElencoCartellini
SET CodStato = @CodStatoMpAcc,
CodEvento= @CodEven,
ModDate = GETDATE()
FROM dbo.ElencoCartellini AS el
INNER JOIN RilPro.RapQual rq
ON rq.UDC = el.UDC
INNER JOIN RawData.XOGIX00F u
ON u.XNRETI = rq.ProgUDC
WHERE ( rq.BenesQual = 'N' AND u.XBENQL = 'S' ) -- da NON Accettata ad Accettata
AND XMATSC = 'N' -- solo Lega non ancora Scaricata
AND el.CodStato = @CodStatoMpNONacc -- Che ha è in stato MP NON accettata
AND el.IdxPosizione = 6 -- Modifico solo se cartellini non scaricati Mod. 2012-05
END
-- ===============================================================================================
-- ADESSO POSSO FARE UPDATE DI RilPro.RapQual
-- ===============================================================================================
-- se il dato esiste faccio UPDATE!!!
UPDATE RilPro.RapQual
SET CodFor = RTRIM(u.XCDFOR),
DestTerz = RTRIM(u.XCDTER),
CodLega = RTRIM(u.XCDPAR),
-- DataPrelFus = u.XDTPRO,
-- TurnoPrelFus = u.XTRPRO, -- non lo aggiorno perchè in AS400 è blank nel caso di consumo verso terzista e quindi lo perderei
Qta = u.XQTPRO, -- non lo aggiorno x non perdere il mio dato di scaricamento
DestLega = RTRIM(u.XDESMT),
LegaScaric = u.XMATSC,
BenesQual = u.XBENQL
FROM RilPro.RapQual rq
INNER JOIN RawData.XOGIX00F u ON u.XNRETI = rq.ProgUDC; -- AND u.XRPQLN = rq.nRapQual AND u.XRPQLD = rq.DataRapQual; -- se XNRETI è univoco ...
-- verifico che non ci siano cartellini scaricati in AS400 e non sul mio sistema...
UPDATE RilPro.RapQual
SET CodFor = RTRIM(u.XCDFOR),
DestTerz = RTRIM(u.XCDTER),
CodLega = RTRIM(u.XCDPAR),
DataPrelFus = u.XDTPRO,
TurnoPrelFus = RTRIM(u.XTRPRO),
Qta = u.XQTPRO,
DestLega = RTRIM(u.XDESMT),
LegaScaric = u.XMATSC,
BenesQual = u.XBENQL
FROM RilPro.RapQual rq
INNER JOIN RawData.XOGIX00F u ON u.XNRETI = rq.ProgUDC
WHERE rq.DataPrelFus = 0 AND u.XDTPRO > 0;
-- creo tab temporanea x i dati inesistenti...
WITH cteInsert AS
(SELECT x.*
FROM RawData.XOGIX00F x LEFT OUTER JOIN RilPro.RapQual rq
ON x.XNRETI = rq.ProgUDC -- AND u.XRPQLN = rq.nRapQual AND u.XRPQLD = rq.DataRapQual; -- se XNRETI è univoco ...
WHERE rq.ProgUDC IS NULL )
-- se il dato non c'è faccio INSERT!!!
INSERT INTO RilPro.RapQual(nRapQual, DataRapQual, ProgUDC, CodFor, DestTerz, CodLega, DataPrelFus, TurnoPrelFus, Qta, DestLega, LegaScaric, BenesQual)
SELECT XRPQLN AS nRapQual,
XRPQLD AS DataRapQual,
RTRIM(XNRETI) AS ProgUDC,
RTRIM(XCDFOR) AS CodFor,
RTRIM(XCDTER) AS DestTerz,
RTRIM(XCDPAR) AS CodLega,
XDTPRO AS DataPrelFus,
RTRIM(XTRPRO) AS TurnoPrelFus,
XQTPRO AS Qta,
RTRIM(XDESMT) AS DestLega,
XMATSC AS LegaScaric,
XBENQL AS BenesQual
FROM cteInsert
-- ===============================================================================================
-- DOPO UPDATE aggiorno la QTA nei Cartellini GMW se diversi da quelli in RilPro.RapQual ( AS400 )
-- ===============================================================================================
UPDATE e
SET
e.Qta = r.Qta
,e.PesoTot = r.Qta
,CodEvento= @CodEven
,ModDate = GETDATE() -- memorizzo la modifica
-- OUTPUT deleted.* INTO dbo.ElencoCartellini_Copy -- deve essere già presente
FROM RilPro.RapQual AS r
INNER JOIN dbo.ElencoCartellini AS e
ON e.UDC = r.UDC
WHERE ( r.Qta <> e.Qta ) -- Solo se la quantità è diversa
COMMIT TRAN;
RETURN
GO
PRINT N'Creating [BatchQueue].[stp_batch_RapQual_S02_GCarlo]...';
GO
/***************************************
* STORED stp_batch_RapQual_S02
*
* Esegue lo step 2 (travaso dati RAW in RilPro) per la tab dei rapporti di qualità
*
* Steamware, S.E.L.
* mod: 2010.09.23
*
****************************************/
CREATE PROCEDURE [BatchQueue].[stp_batch_RapQual_S02_GCarlo]
AS
-- eseguo UPSERT x tutti i dati disponibili in tab Raw...
-- se il dato esiste faccio UPDATE!!!
-- se su AS400 la lega è scaricata aggiorno tutto
UPDATE RilPro.RapQual
SET CodFor = u.XCDFOR,
DestTerz = u.XCDTER,
CodLega = u.XCDPAR,
DataPrelFus = u.XDTPRO,
-- TurnoPrelFus= u.XTRPRO, non lo aggiorno perchè in AS400 è blank nel caso di consumo verso terzista e quindi lo perderei
Qta = u.XQTPRO,
DestLega = u.XDESMT,
LegaScaric = u.XMATSC,
BenesQual = u.XBENQL
FROM RilPro.RapQual rq
INNER JOIN RawData.XOGIX00F u
ON u.XNRETI = rq.ProgUDC -- AND u.XRPQLN = rq.nRapQual AND u.XRPQLD = rq.DataRapQual; -- se XNRETI è univoco ...
AND u.XMATSC IN ('S','B');
-- se su AS400 la lega non è scaricata la aggiorno solo se anche su GMW non è
-- scaricata ( anche così non va bene perchè non mette la N quando scaricata )
-- ma cosa controlla ???? )
UPDATE RilPro.RapQual
SET CodFor = u.XCDFOR,
DestTerz = u.XCDTER,
CodLega = u.XCDPAR,
DataPrelFus = u.XDTPRO,
-- TurnoPrelFus= u.XTRPRO, non lo aggiorno perchè in AS400 è blank nel caso di consumo verso terzista e quindi lo perderei
Qta = u.XQTPRO,
DestLega = u.XDESMT,
LegaScaric = u.XMATSC,
BenesQual = u.XBENQL
FROM RilPro.RapQual rq
INNER JOIN RawData.XOGIX00F u
ON u.XNRETI = rq.ProgUDC -- AND u.XRPQLN = rq.nRapQual AND u.XRPQLD = rq.DataRapQual; -- se XNRETI è univoco ...
AND u.XMATSC = 'N' AND rq.LegaScaric = 'N';
-- creo tab temporanea x i dati inesistenti..
WITH cteInsert AS
(SELECT x.*
FROM RawData.XOGIX00F x LEFT OUTER JOIN RilPro.RapQual rq
ON x.XNRETI = rq.ProgUDC -- AND u.XRPQLN = rq.nRapQual AND u.XRPQLD = rq.DataRapQual; -- se XNRETI è univoco ...
WHERE rq.ProgUDC IS NULL )
-- se il dato non c'è faccio INSERT!!!
INSERT INTO RilPro.RapQual(nRapQual, DataRapQual, ProgUDC, CodFor, DestTerz, CodLega, DataPrelFus, TurnoPrelFus, Qta, DestLega, LegaScaric, BenesQual)
SELECT 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
FROM cteInsert
RETURN
GO
PRINT N'Creating [BatchQueue].[stp_consumaMP]...';
GO
/***************************************
* STORED stp_consumaMP
*
* Salva il movimento di consumo dell'UDC di MP indicato
*
* Steamware, S.E.L.
* mod: 2010.10.12
*
****************************************/
CREATE 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
-- Salva consumo cartellini Rapporti qualità Materia Prima
-- FILE XOGIX00F
-- LIBRERIA TEST MAZZT_DTV3
-- LIBRERIA EFFETT. TEKAL TEKA_DATV3
-- LIBRERIA EFFETT. SP POSN_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;
DECLARE @As400File AS NVARCHAR(50) = '';
DECLARE @As400Linked AS NVARCHAR(50) = ''; -- Linked Server AS400
SET @SqlOK = 0;
-- In base al nome del DB e della stored recupero il Linked Server e file di AS400 27/06/2013
SET @As400Linked = ( SELECT dbo.f_getLikedAS400(DB_NAME()) );
SET @As400File = ( SELECT dbo.f_getLibreriaAS400 ( DB_NAME() , OBJECT_SCHEMA_NAME(@@PROCID) + '.' + OBJECT_NAME(@@PROCID) ) )
BEGIN TRY
-- TEST per generare errore
-- SET @XDTPRO = 99999920100723 -- data 8 cifre aaaammgg
-- ==============================================================
-- Creo l'istruzione SQL e faccio chiamata su AS400
-- Aggiorno solo se su As400 Legascar è N XMATSC = 'N' mettendo poi S
-- indico su As400 che il cartellino UDC della Lega è stato scaricato
-- ==============================================================
SET @SQL = N'UPDATE OPENQUERY(' + @As400Linked
SET @SQL = @SQL + N', ''SELECT * FROM ' + @As400File
SET @SQL = @SQL + ' WHERE XRPQLN = ' + CAST(@XRPQLN AS NVARCHAR(20)) -- Numero Rapporto Qualita
SET @SQL = @SQL + ' AND XMATSC = ''''N'''' AND XNRETI = ''''' + @XNRETI + ''''''' ) ' -- non ancora scaricato ('N') e Numero UDC AS400
SET @SQL = @SQL + 'SET XDTPRO = ' + CAST(@XDTPRO AS NVARCHAR(8)) -- Data
SET @SQL = @SQL + ', XTRPRO = ''' + @XTRPRO + '''' -- Turno
SET @SQL = @SQL + ', XDESMT = ''' + @XDESMT + '''' -- Destinatario
SET @SQL = @SQL + ', XMATSC = ''S''' -- Flag Lega Scaricata
SET @SQL = @SQL + ', XCDTER = ''' + @XCDTER + ''''; -- Cod Terzista
-- Eseguo il comando T-SQL verso AS400
EXEC sp_executesql @SQL;
-- EXEC @SqlOK = sp_executesql @SQL se faccio così non mi valorizza la variabile se da errore
END TRY
BEGIN CATCH
-- se entro nel CATCH c'è stato un errore quindo lo memorizzo
SET @SqlOK = ERROR_NUMBER();
END CATCH
-- Test di lettura - Modifica 14/06/2011
IF @SqlOK = 0 -- Se sp_executesql è Ok
BEGIN
SET @SqlOK = -1 -- lo rimetto a 0 solo se lettura è OK
-- Controllo che l'UDC sia stato scaricato in modo corretto su AS400
DECLARE @SQL2 AS NVARCHAR(4000);
DECLARE @LettoOk AS INT = 99;
SET @SQL2 = N'SELECT @LettoOk = COUNT(*) FROM OPENQUERY(' + @As400Linked
SET @SQL2 = @SQL2 + N', ''SELECT XRPQLN FROM ' + @As400File
SET @SQL2 = @SQL2 + N' WHERE XRPQLN = ' + CAST(@XRPQLN AS NVARCHAR(20)) -- Numero Rapporto Qualita
SET @SQL2 = @SQL2 + N' AND XNRETI = ''''' + @XNRETI + '''''' -- Numero UDC AS400
SET @SQL2 = @SQL2 + N' AND XMATSC = ''''N''''' -- non ancora scaricato ('N')
SET @SQL2 = @SQL2 + N''' ) '
EXEC sp_executesql @SQL2, N'@LettoOk INT OUTPUT', @LettoOk OUTPUT;
-- Se trovo record UDC non scaricato lo imposto come errore -2 altrimenti tutto OK
IF @LettoOk = 0 SET @SqlOK = 0 ELSE SET @SqlOK = -2
END
-- Fine Modifica - Modifica 14/06/2011
-- 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!!!!!
RETURN @SqlOK;
/* -- sono tutte su DB di test
SELECT XRPQLN, XNRETI , XDTPRO, XTRPRO, XDESMT, XMATSC, XCDTER
FROM OPENQUERY( AS400XXXX, 'SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN = 905793 AND XNRETI = ''U100548151'' ')
-- Resetto l'UDC
UPDATE OPENQUERY( AS400XXXX, 'SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN = 905793 AND XNRETI = ''U100548151'' ')
SET XDTPRO = 0 , XTRPRO = '', XDESMT = '', XMATSC = 'N', XCDTER = ''
-- Comando OK
-- UPDATE OPENQUERY( AS400XXXX, 'SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN = 905793 AND XNRETI = ''U100548151'' ')
-- SET XDTPRO = 20100723 , XTRPRO = 'S', XDESMT = 'F01', XMATSC = 'N', XCDTER = ''
*/
GO
PRINT N'Creating [BatchQueue].[stp_processaCodaConsumoMP]...';
GO
/***************************************
* STORED stp_processaCodaConsumoMP
*
* Processa la coda dei consumo di UDC di MP e chiaam procedura x salvataggio dato su AS400
*
* Steamware
* mod:
*
****************************************/
CREATE PROCEDURE [BatchQueue].[stp_processaCodaConsumoMP]
(
@ExecBatchInter BIT -- 0 Eseguita in Batch , 1 in Interattivo
)
AS
-- 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
DECLARE @ScritturaASOK AS INT = 0;
DECLARE @InteroCicloASOK AS INT = 0; -- memorizzo errore nel ciclo WHILE
-- Dichiaro e carico il cursore
DECLARE UdcMpList CURSOR LOCAL FOR
SELECT UDC FROM dbo.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 dbo.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
EXECUTE @ScritturaASOK = BatchQueue.stp_consumaMP @XRPQLN ,@XNRETI ,@XDTPRO ,@XTRPRO ,@XDESMT ,@XCDTER
-- registro la data del movimento BATCH solo se stp_consumaMP ritorna OK
-- Così non aggiorna la tabella MA L'UTENTE NON SI ACCORGE DI NULLA!!!
IF @ScritturaASOK = 0
UPDATE dbo.AS400_BatchConsumoMP SET DataInvioAs = GETDATE() WHERE UDC = @UDC
ELSE
SET @InteroCicloASOK = @ScritturaASOK
FETCH NEXT FROM UdcMpList INTO @UDC
END
END
CLOSE UdcMpList
DEALLOCATE UdcMpList
-- aggiunta per dare errore se schedulata!!! GCARLO
-- Se la scrittura su AS400 ha dato errore ed è stata eseguita in batch sollevo l'errore
-- così anche il batch da errore
IF @InteroCicloASOK <> 0 AND @ExecBatchInter = 0
BEGIN
DECLARE @ErrorMessage NVARCHAR(4000);
DECLARE @ErrorSeverity INT = 16;
DECLARE @ErrorState INT = 1;
IF @InteroCicloASOK < 0 -- errore nella verifica della scrittura su AS400
SELECT @ErrorMessage = 'Errore nella VERIFICA di scrittura su AS400 in stp_consumaMP'
ELSE
SELECT -- nn so se riesce a leggere i dati dell'errore cmq lo solleva
@ErrorMessage = ERROR_MESSAGE()+ ' '+ CONVERT( VARCHAR(10),ERROR_NUMBER()),
@ErrorSeverity = ISNULL(ERROR_SEVERITY(),16),
@ErrorState = ERROR_STATE();
-- sollevo errore per mandare in errore la procedura schedulata
RAISERROR (@ErrorMessage, -- Message text.
@ErrorSeverity, -- Severity.
@ErrorState -- State.
);
END
RETURN
GO
PRINT N'Creating [BatchQueue].[stp_processaGiornaleMagazzino]...';
GO
/*****************************************
* STORED stp_processaGiornaleMagazzino
*
* processa il giornale del magazzino, in modo da controlalre tutte le righe non processate (o eventualmente solo quelle nuove)
* e spostare nella coda di trasferimento con AS400 SOLO i movimenti che soddisfano i criteri specificati nella tabella
* "TabSyncMovMag"
*
* Steamware, S.E.L.
* mod: 2012.05.25
*
****************************************/
CREATE PROCEDURE [BatchQueue].[stp_processaGiornaleMagazzino]
(
@CodCS NCHAR(2),
@lastInsDate DATETIME = NULL -- data-ora da cui cercare i record, se non viene passata è l'ultimo movimento registrato
)
AS
SET XACT_ABORT ON;
BEGIN TRAN
/**********************************************************************************
*
* PROCEDURA in 4 step:
* - STEP 1: registro rettifiche QUANTITA' in FROM
* - STEP 2: registro prelievi da mag ext "from" (cambio mag)
* - STEP 3: registro depositi a mag ext "to" (cambio mag)
* - STEP 4: registro compensazioni: se from e to corrispondono e mag comp è NON NULLO metto in comp!
* - STEP 5: verifico e creo movimenti di scarico grezzi tramite distinta
**********************************************************************************/
-- in primis: se è nulla la data calcolo l'ultim data di processing...
IF ( @lastInsDate IS NULL )
BEGIN
SET @lastInsDate = ( SELECT ISNULL(MAX(DataOra), '19000101') FROM GiornaleMagazzino WHERE NOT (DataOraProc IS NULL) )
END
-- ATTENZIONE!!! DEVE ESSERCI UN PARTICOLARE NON NULLO e != "n.d."
-- ora prendo tutte le righe che mi interessano e cerco match sulla tab TabSyncMovMag e le inserisco in batch...
-- =====================================================================================
-- STEP 1: rettifico quantità!
-- =====================================================================================
INSERT INTO AS400_BatchMovimenti(DataIns, numOp, CodEvento, Particolare, UDC, CodMagAS, Quantita)
SELECT DataOra, numOp, 'UDC_MOD', gm.Particolare, gm.UDC, tsmm.codMagExtFrom , gm.QtaTo - gm.QtaFrom
FROM GiornaleMagazzino gm
INNER JOIN TabSyncMovMag tsmm ON
tsmm.CodCS = @CodCS AND
gm.CodStatoFrom = tsmm.CodStatoFrom AND
gm.CodStatoTo = tsmm.CodStatoTo AND
gm.IdxPosizioneFrom = tsmm.IdxPosizioneFrom AND
gm.IdxPosizioneTo = tsmm.IdxPosizioneTo
WHERE (gm.DataOra >= @lastInsDate)
AND (gm.DataOraProc IS NULL)
AND (tsmm.toExt = 1) -- Se devo fare movimento su Sistema EXT
AND gm.Particolare <> '' -- particolare deve essere disponibile!!!!
AND (tsmm.codMagExtTo IS NOT NULL AND tsmm.codMagExtFrom IS NOT NULL ) -- le righe con magazzini ext NULLI non sono permessi
AND (tsmm.codMagExtFrom = tsmm.codMagExtTo) -- Solo se NON VARIA MAG ESTERNO...
AND (tsmm.codMagExtTo > 0 AND codMagExtFrom > 0 ) -- e magazzini non 0 ( usato quando non esiste Mag )
-- =====================================================================================
-- STEP 2: genero ora casi con 2 mag ext che cambiano: tolgo da FROM
-- =====================================================================================
INSERT INTO AS400_BatchMovimenti(DataIns, numOp, CodEvento, Particolare, UDC, CodMagAS, Quantita)
SELECT DataOra, numOp, 'UDC_MOV', gm.Particolare, gm.UDC, tsmm.codMagExtFrom , - gm.QtaFrom
FROM GiornaleMagazzino gm
INNER JOIN TabSyncMovMag tsmm ON
tsmm.CodCS = @CodCS AND
gm.CodStatoFrom = tsmm.CodStatoFrom AND
gm.CodStatoTo = tsmm.CodStatoTo AND
gm.IdxPosizioneFrom = tsmm.IdxPosizioneFrom AND
gm.IdxPosizioneTo = tsmm.IdxPosizioneTo
WHERE (gm.DataOra >= @lastInsDate)
AND (gm.DataOraProc IS NULL)
AND (tsmm.toExt = 1)
AND gm.Particolare <> '' -- particolare deve essere disponibile!!!!
AND (tsmm.codMagExtTo IS NOT NULL AND tsmm.codMagExtFrom IS NOT NULL ) -- le righe con magazzini ext NULLI non sono permessi
AND (tsmm.codMagExtFrom <> tsmm.codMagExtTo) -- se VARIA MAG ESTERNO...
AND (tsmm.codMagExtFrom > 0); -- e mag. partenza non 0 ( usato se non esiste Mag di partenza es. NEW UDC )
-- e non Negativo ( consumo ) non carica nessun magazzino
-- =====================================================================================
-- STEP 3: genero ora casi con 2 mag ext che cambiano: metto in TO
-- =====================================================================================
INSERT INTO AS400_BatchMovimenti(DataIns, numOp, CodEvento, Particolare, UDC, CodMagAS, Quantita)
SELECT DataOra, numOp, 'UDC_MOV', gm.Particolare, gm.UDC, tsmm.codMagExtTo , gm.QtaTo
FROM GiornaleMagazzino gm INNER JOIN TabSyncMovMag tsmm ON
tsmm.CodCS = @CodCS AND
gm.CodStatoFrom = tsmm.CodStatoFrom AND
gm.CodStatoTo = tsmm.CodStatoTo AND
gm.IdxPosizioneFrom = tsmm.IdxPosizioneFrom AND
gm.IdxPosizioneTo = tsmm.IdxPosizioneTo
WHERE (gm.DataOra >= @lastInsDate)
AND (gm.DataOraProc IS NULL)
AND (tsmm.toExt = 1)
AND (tsmm.codMagExtTo IS NOT NULL AND tsmm.codMagExtFrom IS NOT NULL ) -- le righe con magazzini ext NULLI non sono permessi
AND gm.Particolare <> '' -- particolare deve essere disponibile!!!!
AND (tsmm.codMagExtFrom <> tsmm.codMagExtTo) -- se VARIA MAG ESTERNO...
AND (tsmm.codMagExtTo > 0); -- e mag. destinazione non 0 ( usato se non esiste Mag di arrivo es. DEL UDC )
-- e non Negativo ( consumo ) non carica nessun magazzino
-- =====================================================================================
-- STEP 4: cerco prima casi con magazzini ext origine = destinazione e compensazioni
-- =====================================================================================
INSERT INTO AS400_BatchMovimenti(DataIns, numOp, CodEvento, Particolare, UDC, CodMagAS, Quantita)
SELECT DataOra, numOp, 'UDC_COMP', gm.Particolare, gm.UDC, tsmm.codMagExtComp, gm.QtaFrom - gm.QtaTo
FROM GiornaleMagazzino gm
INNER JOIN TabSyncMovMag tsmm ON
tsmm.CodCS = @CodCS AND
gm.CodStatoFrom = tsmm.CodStatoFrom AND
gm.CodStatoTo = tsmm.CodStatoTo AND
gm.IdxPosizioneFrom = tsmm.IdxPosizioneFrom AND
gm.IdxPosizioneTo = tsmm.IdxPosizioneTo
WHERE (gm.DataOra >= @lastInsDate)
AND (gm.DataOraProc IS NULL)
AND (tsmm.toExt = 1)
AND gm.Particolare <> '' -- particolare deve essere disponibile!!!!
AND (tsmm.codMagExtTo IS NOT NULL AND tsmm.codMagExtFrom IS NOT NULL ) -- le righe con magazzini ext NULLI non sono permessi
AND (tsmm.codMagExtTo > 0 AND codMagExtFrom > 0 ) -- e magazzini > 0 ( usato quando non esiste Mag )
AND (tsmm.codMagExtComp IS NOT NULL AND tsmm.codMagExtComp <> 0 ) -- HO compensazioni!!!
AND (tsmm.codMagExtFrom = tsmm.codMagExtTo); -- E NON VARIA MAG ESTERNO...
-- =====================================================================================
-- STEP 5: verifico e creo movimenti di scarico grezzi tramite distinta
-- =====================================================================================
-- estraggo i mov. già creati che in base alla TabSyncMovMag devono fare mov. di scarico grezzi
-- tramite distinta base e particolare leggo i relativi grezzi e qta da scaricare
-- oppure, se il particolare è già un grezzo scarico se stesso
WITH ctePartMov AS -- movimenti creati che hanno un ulteriore carico-scarico tramite distinta
(
SELECT mov.DataIns , mov.numOp, mov.CodEvento, mov.Particolare, mov.UDC, mov.CodMagAS, mov.Quantita
,tsmm.codMagExtDist AS CodMagAS_Update
--,*
FROM dbo.AS400_BatchMovimenti AS mov
INNER JOIN dbo.GiornaleMagazzino AS gm
ON mov.numOp = gm.numOp
INNER JOIN dbo.TabSyncMovMag AS tsmm
ON tsmm.CodCS = @CodCS AND
gm.CodStatoFrom = tsmm.CodStatoFrom AND
gm.CodStatoTo = tsmm.CodStatoTo AND
gm.IdxPosizioneFrom = tsmm.IdxPosizioneFrom AND
gm.IdxPosizioneTo = tsmm.IdxPosizioneTo
WHERE gm.DataOraProc IS NULL
AND tsmm.toDistinta = 1 -- movimenti elaborati con compensazione distinta grezzo richiesta toDistinta = 1
AND codMagExtDist > 0 -- e magazzino di compensazione grezzo impostato
),
-- Cte ricorsiva che a fronte dei particolari passati mi ritorna tutto l'albero della distinta
-- per tutti i figli del particolare con il relativo calcolo delle quantità
DistintaCTE ( Particolare , Padre, Figlio, Coeff, QtaDaScar ,Level ) AS
(
SELECT p.Particolare, d.Padre, d.Figlio, d.Coeff , CONVERT( numeric(20,4), d.Coeff ) AS QtaDaScar, 0 AS Level
FROM RilPro.DistintaAS400 AS d
INNER JOIN ctePartMov AS p ON p.Particolare = d.Padre -- prendo i particolari e leggo l'albero partendo da questi
UNION ALL
SELECT Particolare, p.Padre, p.Figlio, p.Coeff, -- select ricorsiva
CONVERT( numeric(20,4),( p.Coeff * QtaDaScar ) ) AS QtaDaScar,
Level + 1
FROM RilPro.DistintaAS400 AS p
INNER JOIN DistintaCTE AS f ON p.Padre = f.Figlio
)
-- estraggo solo le righe distinta con grezzi come figli
,CteGrezzi AS
(
SELECT Particolare, Padre, Figlio, Coeff, QtaDaScar, Level
FROM DistintaCTE
WHERE SUBSTRING( Figlio, 2,3) = 'GRZ' -- solo le righe di scarico grezzi
)
INSERT INTO dbo.AS400_BatchMovimenti(DataIns, numOp, CodEvento, Particolare, UDC, CodMagAS, Quantita)
SELECT DataIns
, numOp
, 'UDC_GRZ' AS CodEvento
, g.Figlio AS PartGrezzo
, UDC
, CodMagAS_Update
, -( ISNULL( g.QtaDaScar, 1) * p.Quantita ) AS QtaGrezzo -- quantità grezzi da scaricare secondo la dist. base
FROM ctePartMov AS p
INNER JOIN CteGrezzi AS g ON p.Particolare = g.Particolare
UNION
-- i movimenti di scarico dei grezzi stessi li inserisco direttamente con qta 1=1
SELECT DataIns, numOp, 'UDC_GRZ' AS CodEvento, Particolare AS PartGrezzo, UDC, CodMagAS_Update, -(Quantita) AS QtaGrezzo
FROM ctePartMov
WHERE SUBSTRING( Particolare, 2,3) = 'GRZ'
OPTION (MAXRECURSION 50); -- max n. sottolivelli
-- =====================================================================================
-- ora aggiorno le stesse righe di giornale riportate indicando la data ora di processing...
-- =====================================================================================
UPDATE gm
SET DataOraProc = GETDATE()
FROM GiornaleMagazzino gm
INNER JOIN AS400_BatchMovimenti abm
ON gm.numOp = abm.numOp
WHERE (gm.DataOra >= @lastInsDate)
AND (gm.DataOraProc IS NULL)
COMMIT TRAN
RETURN
GO
PRINT N'Creating [BatchQueue].[stp_registraMovMag]...';
GO
/***************************************
* STORED stp_registraMovMag
*
* Salva il movimento di magazzino indicato
*
* Steamware, S.E.L.
* mod: 2010.10.15
*
****************************************/
CREATE 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
-- Movimentazioni Magazzino di Massa
-- FILE TEKAL MWMV260F ( MWMV230F x TEST )
-- FILE POSS ???..... ( MWMV230F x TEST )
-- LIBR. TEST MAZZT_DTV3
-- LIBR. EFFETTIVA TEKAL TEKA_DATV3
-- LIBR. EFFETTIVA POSS ????
/* -- 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 @SQL AS NVARCHAR(4000);
DECLARE @SqlOK AS INT;
DECLARE @As400File AS NVARCHAR(50) = '';
DECLARE @As400Linked AS NVARCHAR(50) = ''; -- Linked Server AS400
SET @SqlOk = 0; -- variabile test se in errore
-- Verificare prima se è già stato inserito? usare in RIFFO idxBatch?
-- allineo il CDMAG a destra con zeri a SX mod. 07/09/2012
SET @CDMAG = RIGHT('00' + LTRIM(RTRIM(@CDMAG)), 2);
-- metto il particolare in Maiuscolo altrimenti ACG lo scarta
SET @CDPAR = UPPER(@CDPAR);
-- In base al nome del DB e della stored recupero il Linked Server e file di AS400
SET @As400Linked = ( SELECT dbo.f_getLikedAS400(DB_NAME()) );
SET @As400File = ( SELECT dbo.f_getLibreriaAS400 ( DB_NAME() , OBJECT_SCHEMA_NAME(@@PROCID) + '.' + OBJECT_NAME(@@PROCID) ) )
-- SET @As400File = ( SELECT dbo.f_getLibreriaAS400 ( DB_NAME(), 'stp_registraMovMag' ) );
-- Eseguo l'istruzione inserimento movimento verso AS400 con controllo errori
BEGIN TRY
-- TEST per generare errore
-- SET @XDTPRO = 99999920100723 -- data 8 cifre aaaammgg
-- ==============================================================
-- Creo l'istruzione SQL e faccio chiamata su AS400
-- ==============================================================
SET @SQL = N'INSERT INTO OPENQUERY(' + @As400Linked
SET @SQL = @SQL + N', ''SELECT NOMUS, CDCAU, CDPAR, CDMAG, QTMOV, DAMOV, RIFFO'
SET @SQL = @SQL + ' FROM ' + @As400File + ''') '
SET @SQL = @SQL + 'VALUES ( @NOMUS , @CDCAU , @CDPAR , @CDMAG , @QTMOV , @DAMOV , @RIFFO )'
-- Eseguo il comando T-SQL verso AS400
EXEC sp_executesql @SQL, N'@NOMUS NVARCHAR(50)
,@CDCAU NVARCHAR(2)
,@CDPAR NVARCHAR(15)
,@CDMAG NVARCHAR(2)
,@QTMOV NUMERIC(9,2)
,@DAMOV NVARCHAR(8)
,@RIFFO NVARCHAR(8)' -- Definizione Parametri
,@NOMUS , @CDCAU , @CDPAR , @CDMAG , @QTMOV , @DAMOV , @RIFFO
-- EXEC @SqlOK = sp_executesql @SQL se faccio così non mi valorizza la variabile se da errore
/* --VECCHIA INSERT
INSERT INTO OPENQUERY( AS400XXX,
'SELECT NOMUS , CDCAU , CDPAR , CDMAG , QTMOV , DAMOV , RIFFO
FROM MAZZT_DTV3.MWMV230F' )
VALUES ( @NOMUS , @CDCAU , @CDPAR , @CDMAG , @QTMOV , @DAMOV , @RIFFO )
*/
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
-- Test di lettura - Modifica 06/09/2012
IF @SqlOK = 0
BEGIN
SET @SqlOK = -1; -- lo rimetto a 0 solo se lettura è OK
-- Controllo che il record sia stato inserito in modo corretto su AS400
DECLARE @SQL2 AS NVARCHAR(4000);
DECLARE @LettoOk AS INT;
SET @SQL2 = N'SELECT @LettoOk = COUNT(*) FROM OPENQUERY(' + @As400Linked
SET @SQL2 = @SQL2 + N', ''SELECT RIFFO FROM ' + @As400File
SET @SQL2 = @SQL2 + ' WHERE '
SET @SQL2 = @SQL2 + ' NOMUS = ''''' + @NOMUS + '''''' -- Utente
SET @SQL2 = @SQL2 + ' AND CDCAU = ''''' + @CDCAU + '''''' -- Causale
SET @SQL2 = @SQL2 + ' AND CDPAR = ''''' + @CDPAR + '''''' -- Particolare
SET @SQL2 = @SQL2 + ' AND CDMAG = ''''' + @CDMAG + '''''' -- Magazzino
SET @SQL2 = @SQL2 + ' AND QTMOV = ' + CAST(@QTMOV AS NVARCHAR(15)) -- Qta
SET @SQL2 = @SQL2 + ' AND DAMOV = ' + @DAMOV + '' -- Data
SET @SQL2 = @SQL2 + ' AND RIFFO = ''''' + @RIFFO + '''''' -- Riferimento ( UDC )
SET @SQL2 = @SQL2 + ''' ) '
EXEC sp_executesql @SQL2, N'@LettoOk INT OUTPUT', @LettoOk OUTPUT;
-- Se non trovo record Movimento UDC lo imposto come errore -2 altrimenti tutto OK
IF @LettoOk = 0 SET @SqlOK = -2; ELSE SET @SqlOK = 0;
END
-- Fine Modifica - Modifica 06/09/2012
-- Memorizzo il comando per verifica T-SQL e l'esito del comando se 0 è OK
INSERT INTO RawData.AS400_Comandi
SELECT GETDATE(), 'stp_registraMovMag',
@SQL + ' parametri :'
+ @NOMUS + ',' + @CDCAU + ',' + @CDPAR + ',' + @CDMAG + ',' + CONVERT(VARCHAR(20) , @QTMOV) + ',' + @DAMOV + ',' + @RIFFO, @SqlOk
RETURN @SqlOK;
/* TEST e DELETE
SELECT * FROM OPENQUERY( AS400XXX, 'SELECT NOMUS ,CDCAU ,CDPAR ,CDMAG ,QTMOV ,DAMOV ,RIFFO FROM MAZZ_DATV3.MWMV230F' )
DELETE
OPENQUERY( AS400XXX, 'SELECT * FROM MAZZT_DTV3.MWMV230F WHERE NOMUS = ''PIPPO'' ')
DELETE AS400XXX.A60220DC.MAZZT_DTV3.MWMV230F WHERE NOMUS_CANCELLA = 'UTENTEGMW1'
*/
GO
PRINT N'Creating [BatchQueue].[stp_registraPackList]...';
GO
/***************************************
* STORED stp_registraPackList
*
* Salva i dati di packing list indicati
*
* Steamware, S.E.L.
* mod: 2010.10.15
*
****************************************/
CREATE 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à Attenzione è Numeric(5, 0)
@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 NUMERIC(8,0) -- data entrata merce, data di carico dell'UDC 8 cifre aaaammgg
)
AS
-- BOZZA DA VERIFICARE A CURA MAZZUCCONI!!!
-- AMBIENTE EFFETTIVO
-- Carica i dati dei packing list in AS400
-- FILE PACKL00F
-- LIBRERIA TEST SMEDATVETS
-- LIBRERIA EFFETTIVA ???
DECLARE @SqlOK AS INT;
SET @SqlOk = 0; -- variabile test se in errore
-- Modifica Temporanea per problema spedizione a RONO che attualmente non può essere fatta tramite
-- lista prelievo terzista che preleva solo UDC in stato 84 mentre in RONO vanno quelli in 54
-- Per RONO prelevo con lista Prelievo cliente e poi prima di mandare ad AS400 cambio il Codice Fornitore e
-- il tipo anagrafico a FO
IF @PLCDAN = '00232' -- Codice Cliente RONO
BEGIN
SET @PLCDAN = '02345'; -- Codice Fornitore RONO
SET @PLTPAN = 'FO';
END
-- Fine Modifica
/* ======== L'INVIO PACKING NON E' MAI STATO IMPLEMENTATO
-- Eseguo l'istruzione verso AS400 con controllo errori
-- Se inserisco un UDC già esistente mi da errore 7343 perchè su AS400 è univoco
BEGIN TRY
INSERT INTO
OPENQUERY( AS400XXXX,
'
SELECT PLREPA , PLCART , PLARTI , PLCONT , PLMATR , PLTPAN , PLCDAN , PLQTA , PLPNET , PLPLOR , PLSTAT , PLDTEN
FROM SMEDATVETS.PACKL00F
' )
VALUES ( @PLREPA , @PLCART , @PLARTI , @PLCONT , @PLMATR , @PLTPAN , @PLCDAN , @PLQTA , @PLPNET , @PLPLOR, @PLSTAT, @PLDTEN )
END TRY
BEGIN CATCH
-- PRINT ERROR_NUMBER()
SET @SqlOK = ERROR_NUMBER();
-- Posso usare RAISERROR x 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_registraPackList',
'INSERT INTO SMEDATVETS.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
========================*/
/*
SELECT * FROM OPENQUERY( AS400XXXX,
'
SELECT PLREPA , PLCART , PLARTI , PLCONT , PLMATR , PLTPAN , PLCDAN , PLQTA , PLPNET , PLPLOR , PLSTAT , PLDTEN
FROM SMEDATVE.PACKL00F WHERE PLDTEN >= 20100601
' )
*/
/*
-- preparo chiamata su AS400
SET @SQL = N' OPENQUERY( AS400XXXX, ''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 sp_executesql @SQL
*/
RETURN @SqlOK;
GO
PRINT N'Creating [dbo].[stp_accodaConsumoUdcMP]...';
GO
/***************************************
* STORED stp_accodaConsumoUdcMP
*
* Accoda alla tab Batch il consumo di un UDC
*
* Steamware, S.E.L.
* mod: 2010.10.10
*
****************************************/
CREATE PROCEDURE [dbo].[stp_accodaConsumoUdcMP]
(
@UDC NVARCHAR(50),
@DataPrelFus DATETIME,
@TurnoPrelFus NVARCHAR(5),
@DestLega NVARCHAR(3),
@DestTerz NVARCHAR(6)
)
AS
BEGIN TRAN
-- registro movimento da riconciliare
INSERT INTO AS400_BatchConsumoMP(ProgUDC, UDC, DataPrelFus, TurnoPrelFus, DestLega, DestTerz)
SELECT ProgUdc, UDC, dbo.dateToAsFormat(@DataPrelFus)
,CASE -- Se Consumo MP verso terzista non devo inserire il turno verso AS400
WHEN ( @DestLega = 'T01' ) THEN ''
ELSE LTRIM(RTRIM(@TurnoPrelFus))
END
,LTRIM(RTRIM(@DestLega))
,LTRIM(RTRIM(@DestTerz))
FROM RilPro.RapQual WHERE UDC = @UDC
-- aggiorno con data e turno di prelievo su tab RilPro (locale)
UPDATE RilPro.RapQual
SET DataPrelFus = dbo.dateToAsFormat(@DataPrelFus), TurnoPrelFus = LTRIM(RTRIM(@TurnoPrelFus))
WHERE UDC = @UDC
COMMIT TRAN
RETURN
GO
PRINT N'Creating [dbo].[stp_AL_getByKey]...';
GO
/***************************************
* STORED stp_AL_getByKey
*
* recupera linea da CodLinea
*
* Steamware, S.E.L.
* mod: 2014.01.14
*
************************************/
create PROCEDURE [dbo].[stp_AL_getByKey]
(
@CodLinea NVARCHAR(5)
)
AS
SELECT *
FROM AnagLinee
WHERE CodLinea = @CodLinea
RETURN
GO
PRINT N'Creating [dbo].[stp_AL_resetPost]...';
GO
/***************************************
* STORED stp_AL_resetPost
*
* update linea: RESETTA l'uso della postazione indicata (la toglie dagli elenchi d'uso a prima apertura...
*
* Steamware, S.E.L.
* mod: 2014.02.10
*
************************************/
create PROCEDURE [dbo].[stp_AL_resetPost]
(
@codPostazione NVARCHAR(250)
)
AS
UPDATE AnagLinee
SET codPostazione = '',
dtAccess = GETDATE()
WHERE codPostazione = @codPostazione
RETURN
GO
PRINT N'Creating [dbo].[stp_AL_updatePost]...';
GO
/***************************************
* STORED stp_AL_updatePost
*
* update linea: da quale postazione viene occupata la linea
*
* Steamware, S.E.L.
* mod: 2014.02.10
*
************************************/
create PROCEDURE [dbo].[stp_AL_updatePost]
(
@CodLinea NVARCHAR(5),
@codPostazione NVARCHAR(250)
)
AS
UPDATE AnagLinee
SET codPostazione = @codPostazione,
dtAccess = GETDATE()
WHERE CodLinea = @CodLinea
RETURN
GO
PRINT N'Creating [dbo].[stp_anagFullParticolare]...';
GO
/***************************************
* STORED stp_anagFullParticolare
*
* ottiene il dettaglio delle specifiche di un particolare dato il suo codice A PARTIRE DALL'ANAGRAFICA COMPLETA
*
* Steamware, S.E.L.
* mod: 2010.11.17
*
****************************************/
CREATE PROCEDURE [dbo].[stp_anagFullParticolare]
(
@Particolare NVARCHAR(15)
)
AS
SELECT *
FROM dbo.v_AnagDatiParticolari
WHERE Particolare=@Particolare
RETURN
GO
PRINT N'Creating [dbo].[stp_anagOperatoriGetByCodSogg]...';
GO
/***************************************
* STORED stp_anagOperatoriGetByCodSogg
*
* ottiene l'elenco degli operatori da CodSoggetto
*
* Steamware, S.E.L.
* mod: 2010.06.12
*
****************************************/
create PROCEDURE stp_anagOperatoriGetByCodSogg
(
@CodSoggetto VARCHAR(17)
)
AS
SELECT *
FROM RilPro.AnagOperatori
WHERE (CodSoggetto = @CodSoggetto)
RETURN
GO
PRINT N'Creating [dbo].[stp_ArtiInProd_ByImpData]...';
GO
/***************************************
* STORED stp_ArtiInProd_ByImpData
*
* ottiene l'elenco dei particolari in lavorazione in una certa data/ora (già trasformato data+turno in dataora) su un impianto
* --> con dettaglio su articoli (da anagrafica)
*
* Steamware, S.E.L.
* mod: 2010.04.29
*
****************************************/
CREATE PROCEDURE [dbo].[stp_ArtiInProd_ByImpData]
(
@CodImpianto VARCHAR(50)
,@DataRif DATETIME
)
AS -- iniziamo definendo le varie viste accessorie
WITH cteUltStampo
AS (
SELECT CodStampo
,InizioValidita
,ProgFigure
,FineValidita
,NumCommessa
,NumFigure
,CodCliente
,CodArticolo
,Particolare
FROM RilPro.StampoArticolo AS A
WHERE (
@DataRif >= InizioValidita
AND @DataRif <= ISNULL(FineValidita, DATEADD(year, 2, GETDATE()))
)
),
cteEspAttivi
AS (
SELECT s.CodStampo
,s.Esponente
,s.EspAttivo
,s.DataInserim
,s.DataValidita
FROM RilPro.StampoEsponente AS s
INNER JOIN (
SELECT CodStampo
,MAX(DataValidita) AS DataValidita
FROM RilPro.StampoEsponente
WHERE ( DataValidita <= @DataRif )
AND ( EspAttivo = 'S' )
GROUP BY CodStampo
) AS s2
ON s.CodStampo = s2.CodStampo
AND s.DataValidita = s2.DataValidita
),
cteLineeAttive
AS (
SELECT CodImpianto
,CodStampo
,NumStampate
,CONVERT(DATETIME, DataInizio) AS DataInizio
,DataFine
,TurnoInizio
,TurnoFine
FROM RilPro.LineaStampi
WHERE ( @DataRif BETWEEN DataInizio AND ISNULL(DataFine, DATEADD(year, 2, GETDATE())) )
AND CodImpianto = @CodImpianto
)
-- faccio la select principale
SELECT l.CodImpianto
,l.CodStampo
,l.NumStampate
,l.DataInizio
,l.TurnoInizio
,g.InizioValidita
,g.FineValidita
,g.NumFigure
,dbo.f_padLeft(CAST(g.CodCliente AS varchar(50)), 5, '0') AS CodCliente
,ISNULL(cl.RagSociale, '-') AS RagSociale
,CAST(g.CodArticolo AS varchar(50)) AS CodArticolo
,g.Particolare
,pa.DescParticolare
,pa.DisegnoGrezzo
,pa.CodFamiglia
,fa.DescFamiglia
,fi.Figura
,es.Esponente
FROM cteLineeAttive AS l
INNER JOIN cteUltStampo AS g
ON l.CodStampo = g.CodStampo
LEFT OUTER JOIN RilPro.StampoFigure AS fi
ON l.CodStampo = fi.CodStampo
LEFT OUTER JOIN cteEspAttivi AS es
ON g.CodStampo = es.CodStampo
LEFT OUTER JOIN RilPro.AnagParticolari AS pa
ON g.Particolare = pa.Particolare
LEFT OUTER JOIN RilPro.AnagFamiglie AS fa
ON pa.CodFamiglia = fa.CodFamiglia
LEFT OUTER JOIN RilPro.AnagClienti AS cl
ON g.CodCliente = cl.CodCliente
ORDER BY l.CodImpianto
RETURN
GO
PRINT N'Creating [dbo].[stp_ATD_getByKey]...';
GO
/***************************************
* STORED stp_ATD_getByKey
*
* recupera Tipo Delibera da chiave
*
* Steamware, S.E.L.
* mod: 2012.05.30
*
************************************/
create PROCEDURE [dbo].[stp_ATD_getByKey]
(
@CodTipoDelibera NVARCHAR(50)
)
AS
SELECT *
FROM AnagTipoDelibere
WHERE CodTipoDelibera = @CodTipoDelibera
RETURN
GO
PRINT N'Creating [dbo].[stp_Blocchi_Insert]...';
GO
/***************************************
* STORED stp_Blocchi_Insert
*
* crea nuovo record blocchi magazzino
*
* Steamware, S.E.L.
* mod: 2012.05.21
*
****************************************/
CREATE PROCEDURE [dbo].[stp_Blocchi_Insert]
(
@CodMag NVARCHAR(50),
@CodCS NVARCHAR(2),
@CodBlocco NVARCHAR(3),
@DescBlocco NVARCHAR(50),
@NumX INT,
@NumY INT,
@NumZ INT
)
AS
BEGIN TRAN
-- inizio calcolando il primo blocco libero x chiave (non è + autoincrement)...
DECLARE @idxBlocco INT
SET @idxBlocco = ( SELECT ISNULL(MAX(idxBlocco),0)+1 AS nextIdxBlocco FROM Blocchi )
INSERT INTO Blocchi (idxBlocco, CodMag, CodCS, CodBlocco, DescBlocco, NumX, NumY, NumZ)
VALUES (@idxBlocco, @CodMag, @CodCS, @CodBlocco, @DescBlocco, @NumX, @NumY, @NumZ)
COMMIT TRAN
RETURN
GO
PRINT N'Creating [dbo].[stp_BlocchiGetByCodBlocco]...';
GO
/***************************************
* STORED stp_BlocchiGetByCodBlocco
*
* ottiene l'elenco dei blocchi di magazzino dal codBlocco richiesto
*
* Steamware, S.E.L.
* mod: 2010.07.27
*
****************************************/
create PROCEDURE [dbo].[stp_BlocchiGetByCodBlocco]
(
@CodBlocco VARCHAR(3)
)
AS
SELECT *
FROM Blocchi
WHERE CodBlocco = @CodBlocco
RETURN
GO
PRINT N'Creating [dbo].[stp_BlocchiGetByCodMag]...';
GO
/***************************************
* STORED stp_BlocchiGetByCodMag
*
* ottiene l'elenco dei blocchi di magazzino dal codice Company/Sito + codice magazzino richiesti
*
* Steamware, S.E.L.
* mod: 2010.05.17
*
****************************************/
create PROCEDURE [dbo].[stp_BlocchiGetByCodMag]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50)
)
AS
SELECT *
FROM Blocchi
WHERE CodCS = @CodCS
AND CodMag = @CodMag
RETURN
GO
PRINT N'Creating [dbo].[stp_BlocchiGetByIdx]...';
GO
/***************************************
* STORED stp_BlocchiGetByIdx
*
* ottiene l'elenco dei blocchi di magazzino dall'Idx richiesto
*
* Steamware, S.E.L.
* mod: 2010.05.18
*
****************************************/
create PROCEDURE [dbo].[stp_BlocchiGetByIdx]
(
@IdxBlocco INT
)
AS
SELECT *
FROM Blocchi
WHERE IdxBlocco = @IdxBlocco
RETURN
GO
PRINT N'Creating [dbo].[stp_BORI_caricaDatiBolla]...';
GO
/*****************************************
* STORED stp_BORI_caricaDatiBolla
*
* richiama la stored di caricamento da AS400 x la bolla indicata
*
* Steamware, S.E.L.
* mod: 2013.04.15
*
****************************************/
CREATE PROCEDURE [dbo].[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' oppure = N'TK'
--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'
-- ATTENZIONE!!! i parametri non devono essere nulli altrimenti la stringa ritornata è nulla
-- Prima cancello i dati della se già presenti bolla poi li carico
DELETE 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;
DECLARE @As400File AS NVARCHAR(50) = ''; -- Libreria e File AS400
DECLARE @As400Linked AS NVARCHAR(50) = ''; -- Linked Server AS400
SET @SqlOK = 0;
/*
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(AS400XXXX,
*/
-- In base al nome del DB allora setto Linked Server e file di AS400
SET @As400Linked = ( SELECT dbo.f_getLikedAS400(DB_NAME()) );
-- SET @As400File = ( SELECT dbo.f_getLibreriaAS400 ( DB_NAME() , OBJECT_SCHEMA_NAME(@@PROCID) + '.' + OBJECT_NAME(@@PROCID) ) )
SET @As400File = ( SELECT dbo.f_getLibreriaAS400 ( DB_NAME(), 'dbo.stp_BORI_caricaDatiBolla' ) );
BEGIN TRY
SET @SQL = 'INSERT INTO RawData.BORI202J SELECT * FROM OPENQUERY(' -- OPENQUERY(AS400XXXX,'SELECT ...
SET @SQL = @SQL + @As400Linked + ',
''SELECT DISTINCT
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
,ECLAQP
,EPNETT
,FCDI01
,'''''''' AS OCDODM
,CCFOE1
FROM ' + @As400File
SET @SQL = @SQL + ' WHERE ATV08 <> ''''A''''' -- escludo bolle annullate
-- 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 + ''' ) OPTION (RECOMPILE)';
EXEC sp_executesql @SQL -- commentare per test
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_BORI_caricaDatiBolla', REPLACE(@SQL,' ',' '), @SqlOK;
/* NEW 2013/05/01
Aggiorno il change index in base alla data validità e data bolla
leggo dalla tabella RawData.ANODM00F aggiornata da import AS400 ( potrei aggiornarla anche qui )
*/
IF @SqlOK = 0 -- se import Bolle è OK
BEGIN
;WITH cte AS -- cte con inizio e fine validità
(
SELECT OCDPAR,
OCDODM,
ODTVAL,
ISNULL(( SELECT MIN(ODTVAL)
FROM RawData.ANODM00F AS T2
WHERE T2.OCDPAR = v.OCDPAR AND T2.ODTVAL > v.ODTVAL )
,'20993112') AS ODTVALEND
FROM RawData.ANODM00F AS v
)
UPDATE b
SET OCDODM = c.OCDODM
FROM RawData.BORI202J AS b
INNER JOIN cte AS c
ON b.CDARS = c.OCDPAR AND b.DTBOS >= c.ODTVAL AND b.DTBOS < c.ODTVALEND
WHERE CDMFS = @RaggrMagazz -- aggiorno solo la bolla corretta
AND GRBOS = @GruppoBolle
AND NRBOS = @NumeroBolla
AND DTBOS = @DataBolla
AND CDARS = @Particolare
/* query di test
;WITH cte AS
(
SELECT OCDPAR,
OCDODM,
ODTVAL,
ISNULL(( SELECT MIN(ODTVAL) FROM RawData.ANODM00F AS T2
WHERE T2.OCDPAR = v.OCDPAR AND T2.ODTVAL > v.ODTVAL )
,'20993112') AS ODTVALEND
FROM RawData.ANODM00F AS v
)
SELECT b.*, c.OCDODM FROM RawData.BORI202J AS b
LEFT JOIN cte AS c
ON b.CDARS = c.OCDPAR AND b.DTBOS >= c.ODTVAL AND b.DTBOS < c.ODTVALEND
*/
END
-- Carico i dati della Temp table nel file di appoggio
-- INSERT INTO RawData.BORI202J
-- SELECT * FROM ##TabTemp
RETURN
GO
PRINT N'Creating [dbo].[stp_BORI_getByBolla]...';
GO
/*****************************************
* STORED stp_BORI_getByBolla
*
* Cerca la bolla richiesta x chiave
*
* Steamware, S.E.L.
* mod: 2011.05.05
*
****************************************/
CREATE PROCEDURE [dbo].[stp_BORI_getByBolla]
(
@RaggrMagazz NVARCHAR(2),
@GruppoBolle NVARCHAR(1),
@NumeroBolla NUMERIC(6,0),
@DataBolla NUMERIC(8,0),
@Particolare NVARCHAR(15)
)
AS
SELECT *
FROM RawData.BORI202J
WHERE CDMFS = @RaggrMagazz
AND GRBOS = @GruppoBolle
AND NRBOS = @NumeroBolla
AND DTBOS = @DataBolla
AND CDARS = @Particolare
RETURN
GO
PRINT N'Creating [dbo].[stp_BORI_getByBollaFull]...';
GO
/*****************************************
* STORED stp_BORI_getByBollaFull
*
* Cerca la bolla richiesta x chiave completa
*
* Steamware, S.E.L.
* mod: 2011.05.05
*
****************************************/
create PROCEDURE stp_BORI_getByBollaFull
(
@RaggrMagazz NVARCHAR(2),
@GruppoBolle NVARCHAR(1),
@NumeroBolla NUMERIC(6,0),
@DataBolla NUMERIC(8,0),
@Particolare NVARCHAR(15)
)
AS
SELECT *
FROM RawData.BORI202J
WHERE CDMFS = @RaggrMagazz
AND GRBOS = @GruppoBolle
AND NRBOS = @NumeroBolla
AND DTBOS = @DataBolla
AND CDARS = @Particolare
RETURN
GO
PRINT N'Creating [dbo].[stp_BORI_getByBollaPart]...';
GO
/*****************************************
* STORED stp_BORI_getByBollaPart
*
* Cerca la bolla richiesta x chiave parziale (no particolare)
*
* Steamware, S.E.L.
* mod: 2011.05.05
*
****************************************/
create PROCEDURE stp_BORI_getByBollaPart
(
@RaggrMagazz NVARCHAR(2),
@GruppoBolle NVARCHAR(1),
@NumeroBolla NUMERIC(6,0),
@DataBolla NUMERIC(8,0)
)
AS
SELECT *
FROM RawData.BORI202J
WHERE CDMFS = @RaggrMagazz
AND GRBOS = @GruppoBolle
AND NRBOS = @NumeroBolla
AND DTBOS = @DataBolla
RETURN
GO
PRINT N'Creating [dbo].[stp_cellaGetByCodCella]...';
GO
/***************************************
* STORED stp_cellaGetByCodCella
*
* ottiene l'elenco delle celle (1...) dato codice cella varchar
*
* Steamware, S.E.L.
* mod: 2010.06.12
*
****************************************/
create PROCEDURE [dbo].[stp_cellaGetByCodCella]
(
@CodCella VARCHAR(50)
)
AS
SELECT *
FROM Celle
WHERE CodCella = @CodCella
RETURN
GO
PRINT N'Creating [dbo].[stp_cellaGetByCodCellaLike]...';
GO
/***************************************
* STORED stp_cellaGetByCodCellaLike
*
* ottiene l'elenco delle celle (1...) dato codice parziale (LIKE search)
*
* Steamware, S.E.L.
* mod: 2010.07.23
*
****************************************/
CREATE PROCEDURE [dbo].[stp_cellaGetByCodCellaLike]
(
@CodCella VARCHAR(50),
@CodCS VARCHAR(2)
)
AS
SELECT *
FROM Celle
WHERE (CodCS = @CodCS) AND (CodCella LIKE '%' + @CodCella + '%')
RETURN
GO
PRINT N'Creating [dbo].[stp_cellaGetByCodMag]...';
GO
/***************************************
* STORED stp_celleMagGetByCodMagCS
*
* ottiene l'elenco delle celle dato codice dei magazzini e Company/Sito richiesti
*
* Steamware, S.E.L.
* mod: 2010.05.12
*
****************************************/
create PROCEDURE [dbo].[stp_cellaGetByCodMag]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50)
)
AS
SELECT Celle.*
FROM Blocchi INNER JOIN
Celle ON Blocchi.IdxBlocco = Celle.IdxBlocco
WHERE (Blocchi.CodCS = @CodCS) AND (Blocchi.CodMag = @CodMag)
RETURN
GO
PRINT N'Creating [dbo].[stp_cellaGetByIdxBlocco]...';
GO
/***************************************
* STORED stp_cellaGetByIdxBlocco
*
* ottiene l'elenco delle celle dato codice del blocco di appartenenza
*
* Steamware, S.E.L.
* mod: 2010.05.17
*
****************************************/
create PROCEDURE [dbo].[stp_cellaGetByIdxBlocco]
(
@IdxBlocco INT
)
AS
SELECT *
FROM Celle
WHERE IdxBlocco = @IdxBlocco
RETURN
GO
PRINT N'Creating [dbo].[stp_cellaGetByIdxCella]...';
GO
/***************************************
* STORED stp_cellaGetByIdxCella
*
* ottiene l'elenco delle celle (1...) dato IdxCella INT
*
* Steamware, S.E.L.
* mod: 2010.06.12
*
****************************************/
create PROCEDURE [dbo].[stp_cellaGetByIdxCella]
(
@IdxCella INT
)
AS
SELECT *
FROM Celle
WHERE IdxCella = @IdxCella
RETURN
GO
PRINT N'Creating [dbo].[stp_cellaGetByTipoCella]...';
GO
/***************************************
* STORED stp_cellaGetByTipoCella
*
* ottiene l'elenco delle celle dato codice del tipo cella
*
* Steamware, S.E.L.
* mod: 2010.05.17
*
****************************************/
create PROCEDURE [dbo].[stp_cellaGetByTipoCella]
(
@IdxTipoCella INT
)
AS
SELECT *
FROM Celle
WHERE IdxTipoCella = @IdxTipoCella
RETURN
GO
PRINT N'Creating [dbo].[stp_cellaGetFirstByPosizione]...';
GO
/***************************************
* STORED stp_cellaGetFirstByPosizione
*
* ottiene la prima cella data la posizione indicata
*
* Steamware, S.E.L.
* mod: 2011.05.20
*
****************************************/
create PROCEDURE stp_cellaGetFirstByPosizione
(
@posizione NVARCHAR(50)
)
AS
SELECT *
FROM Celle
WHERE IdxCella = dbo.f_getCellaByPos(@posizione)
RETURN
GO
PRINT N'Creating [dbo].[stp_celle_deleteQuery]...';
GO
/***************************************
* STORED stp_celle_deleteQuery
*
* cancella cella indicata
*
* Steamware, S.E.L.
* mod: 2010.07.16
*
****************************************/
CREATE PROCEDURE [dbo].[stp_celle_deleteQuery]
(
@Original_IdxCella INT
)
AS
DELETE FROM Celle
WHERE ([IdxCella] = @Original_IdxCella)
RETURN
GO
PRINT N'Creating [dbo].[stp_celle_updateQuery]...';
GO
/***************************************
* STORED stp_celle_updateQuery
*
* aggiorna cella indicata
*
* Steamware, S.E.L.
* mod: 2010.07.16
*
****************************************/
create PROCEDURE [dbo].[stp_celle_updateQuery]
(
@Original_IdxCella INT,
@CodCS VARCHAR(2),
@CodCella VARCHAR(50),
@IdxTipoCella INT,
@Descrizione VARCHAR(50),
@Attiva BIT,
@Piena BIT,
@IdxBlocco INT,
@X INT,
@Y INT,
@Z INT
)
AS
UPDATE Celle
SET [CodCS] = @CodCS, [CodCella] = @CodCella, [IdxTipoCella] = @IdxTipoCella, [Descrizione] = @Descrizione,
[Attiva] = @Attiva, [Piena] = @Piena, [IdxBlocco] = @IdxBlocco, [X] = @X, [Y] = @Y, [Z] = @Z
WHERE ([IdxCella] = @Original_IdxCella)
RETURN
GO
PRINT N'Creating [dbo].[stp_celle_updAttiva]...';
GO
/***************************************
* STORED stp_celle_updAttiva
*
* aggiorna cella indicata riguardo allo stato ATTIVA
*
* Steamware, S.E.L.
* mod: 2010.07.20
*
****************************************/
create PROCEDURE [dbo].[stp_celle_updAttiva]
(
@IdxCella INT,
@Attiva BIT
)
AS
UPDATE Celle
SET [Attiva] = @Attiva
WHERE ([IdxCella] = @IdxCella)
RETURN
GO
PRINT N'Creating [dbo].[stp_celle_updPiena]...';
GO
/***************************************
* STORED stp_celle_updPiena
*
* aggiorna cella indicata riguardo allo stato PIENA
*
* Steamware, S.E.L.
* mod: 2010.07.20
*
****************************************/
create PROCEDURE [dbo].[stp_celle_updPiena]
(
@IdxCella INT,
@Piena BIT
)
AS
UPDATE Celle
SET [Piena] = @Piena
WHERE ([IdxCella] = @IdxCella)
RETURN
GO
PRINT N'Creating [dbo].[stp_celleCreaMancantiBlocco]...';
GO
/***************************************
* STORED stp_celleCreaMancantiBlocco
*
* crea il numero di celle richeiste e le assegna al blocco con valori default
*
* Steamware, S.E.L.
* mod: 2010.05.18
*
****************************************/
CREATE PROCEDURE stp_celleCreaMancantiBlocco
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@IdxBlocco INT,
@IdxTipoCellaNew INT
)
AS
---------------------------------------------------------------------
-- setup iniziale valori XYZ del blocco
---------------------------------------------------------------------
DECLARE @CodBlocco VARCHAR(3);
SET @CodBlocco = (SELECT CodBlocco FROM Blocchi WHERE IdxBlocco = @IdxBlocco)
DECLARE @NumX INT;
DECLARE @NumY INT;
DECLARE @NumZ INT;
SET @NumX = (SELECT NumX FROM Blocchi WHERE IdxBlocco = @IdxBlocco) ;
SET @NumY = (SELECT NumY FROM Blocchi WHERE IdxBlocco = @IdxBlocco) ;
SET @NumZ = (SELECT NumZ FROM Blocchi WHERE IdxBlocco = @IdxBlocco) ;
DECLARE @Index INT ;
DECLARE @IdxTipoCella INT;
---------------------------------------------------------------------
-- creazione temp table x numeri delle dimensioni XYZ del blocco
---------------------------------------------------------------------
DECLARE @DimTable TABLE
(
dimensione VARCHAR(1),
valore INT
)
-- inserisco X
SET @Index = 1 ;
WHILE @Index <= @NumX
BEGIN
INSERT @DimTable(dimensione, valore)
VALUES ('X', @Index)
SET @Index = @Index + 1 ;
END
-- inserisco Y
SET @Index = 1 ;
WHILE @Index <= @NumY
BEGIN
INSERT @DimTable(dimensione, valore)
VALUES ('Y', @Index)
SET @Index = @Index + 1 ;
END
-- inserisco Z
SET @Index = 1 ;
WHILE @Index <= @NumZ
BEGIN
INSERT @DimTable(dimensione, valore)
VALUES ('Z', @Index)
SET @Index = @Index + 1 ;
END
---------------------------------------------------------------------
-- creazione temp table x schema COMPLETO posizioni blocco
---------------------------------------------------------------------
DECLARE @SchemaBlocco TABLE
(
X INT,
Y INT,
Z INT
)
INSERT INTO @SchemaBlocco
SELECT X_val.valore, Y_val.valore, Z_val.valore
FROM (SELECT * FROM @DimTable WHERE dimensione='X') AS X_val,
(SELECT * FROM @DimTable WHERE dimensione='Y') AS Y_val,
(SELECT * FROM @DimTable WHERE dimensione='Z') AS Z_val
----------------------------------------------------------------------------------
-- cerco primo tipo di celle per il mag indicato SE non ce ne è una specificata
----------------------------------------------------------------------------------
IF @IdxTipoCellaNew > 0
BEGIN
SET @IdxTipoCella = @IdxTipoCellaNew
END
ELSE
BEGIN
SET @IdxTipoCella = (SELECT TOP (1) ISNULL(IdxTipoCella, 0) AS IdxTipoCella
FROM TipoCella
WHERE (CodCS = @CodCS) AND (CodMag = @CodMag))
END
---------------------------------------------------------------------
-- inserisco le celle nelle posizioni LIBERE del blocco
---------------------------------------------------------------------
INSERT INTO Celle(CodCS, CodCella, IdxTipoCella, Descrizione, Attiva, Piena, IdxBlocco,X,Y,Z)
SELECT @CodCS, @CodBlocco + dbo.f_padLeft(CAST(sb.X AS VARCHAR),2,'0') + dbo.f_padLeft(CAST(sb.Y AS VARCHAR),2,'0') + dbo.f_padLeft(CAST(sb.Z AS VARCHAR),2,'0'), @IdxTipoCella, '-', 1, 0, @IdxBlocco, sb.X, sb.Y, sb.Z
FROM @SchemaBlocco sb LEFT OUTER JOIN (SELECT *
FROM Celle
WHERE IdxBlocco = @IdxBlocco) c
ON sb.X = c.X AND sb.Y = c.Y AND sb.Z = c.Z
WHERE c.IdxCella IS NULL
ORDER BY sb.X,sb.Y,sb.Z ASC
RETURN
GO
PRINT N'Creating [dbo].[stp_celleLibereGetByIdxBlocco]...';
GO
/***************************************
* STORED stp_celleLibereGetByIdxBlocco
*
* ottiene l'elenco delle posizioni LIBERE associate ad un dato blocco
*
* Steamware, S.E.L.
* mod: 2010.06.02
*
****************************************/
CREATE PROCEDURE [dbo].[stp_celleLibereGetByIdxBlocco]
(
@IdxBlocco INT
)
AS
SELECT *
FROM Celle
WHERE (IdxBlocco = @IdxBlocco) AND (Attiva = 1) AND (Piena = 0)
RETURN
GO
PRINT N'Creating [dbo].[stp_celleNonAttiveByIdxBlocco]...';
GO
/***************************************
* STORED stp_celleNonAttiveByIdxBlocco
*
* ottiene l'elenco delle posizioni NON ATTIVE associate ad un dato blocco
*
* Steamware, S.E.L.
* mod: 2010.06.03
*
****************************************/
CREATE PROCEDURE [dbo].[stp_celleNonAttiveByIdxBlocco]
(
@IdxBlocco INT
)
AS
SELECT *
FROM Celle
WHERE (IdxBlocco = @IdxBlocco) AND (Attiva = 0)
RETURN
GO
PRINT N'Creating [dbo].[stp_ComAs_lastComandoByStored]...';
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 dbo.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
PRINT N'Creating [dbo].[stp_ContaCelle4Blocchi]...';
GO
/***************************************
* STORED stp_ContaCelle4Blocchi
*
* effettua conteggio celle dai blocchi assegnati dato codice magazzino
*
* Steamware, S.E.L.
* mod: 2010.05.17
*
****************************************/
create PROCEDURE [dbo].[stp_ContaCelle4Blocchi]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@TotCelle INT OUTPUT
)
AS
SET @TotCelle = (SELECT SUM(NumX * NumY * numz) AS Totale
FROM Blocchi
WHERE (CodCS = @CodCS) AND (CodMag = @CodMag))
RETURN @TotCelle
GO
PRINT N'Creating [dbo].[stp_ContaCelle4Tipo]...';
GO
/***************************************
* STORED stp_ContaCelle4Tipo
*
* effettua conteggio celle dai tipi assegnati dato codice magazzino
*
* Steamware, S.E.L.
* mod: 2010.05.17
*
****************************************/
create PROCEDURE [dbo].[stp_ContaCelle4Tipo]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@TotCelle INT OUTPUT
)
AS
SET @TotCelle = (SELECT SUM(Quantita) AS Totale
FROM TipoCella
WHERE (CodCS = @CodCS) AND (CodMag = @CodMag))
RETURN @TotCelle
GO
PRINT N'Creating [dbo].[stp_ContaCelleBlocco]...';
GO
/***************************************
* STORED stp_ContaCelle4Tipo
*
* effettua conteggio celle x blocco, dato filtro su attive (si/no) e su posizioen assegnata (0 = non assegnata, 1 = assegnata)
*
* Steamware, S.E.L.
* mod: 2010.05.18
*
****************************************/
create PROCEDURE [dbo].[stp_ContaCelleBlocco]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@FiltAttive BIT,
@PosAssegnata BIT,
@TotCelle INT OUTPUT
)
AS
SET @TotCelle = (SELECT Count(IdxCella) AS Totale
FROM Celle
WHERE (IdxBlocco IN (SELECT IdxBlocco FROM Blocchi WHERE (CodCS = @CodCS) AND (CodMag = @CodMag))) -- cerco i blocchi
AND (Attiva = @FiltAttive) -- cerco attive/non attive
AND ((ISNULL(X,0)+ISNULL(Y,0)+ISNULL(Z,0)) = (CASE @PosAssegnata WHEN 0 THEN 0 ELSE (ISNULL(X,0)+ISNULL(Y,0)+ISNULL(Z,0)) END))
AND ((ISNULL(X,0)+ISNULL(Y,0)+ISNULL(Z,0)) > (CASE @PosAssegnata WHEN 0 THEN (ISNULL(X,0)+ISNULL(Y,0)+ISNULL(Z,0)) - 1 ELSE 0 END))
)
RETURN @TotCelle
GO
PRINT N'Creating [dbo].[stp_ContaCelleCapa]...';
GO
/***************************************
* STORED stp_ContaCelleCapa
*
* effettua conteggio CAPACITA' TOTALE celle dai tipi assegnati dato codice magazzino
*
* Steamware, S.E.L.
* mod: 2010.07.22
*
****************************************/
create PROCEDURE [dbo].[stp_ContaCelleCapa]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@TotCelle INT OUTPUT
)
AS
SET @TotCelle = (SELECT SUM(Quantita * Capienza) AS Totale
FROM TipoCella
WHERE (CodCS = @CodCS) AND (CodMag = @CodMag))
RETURN @TotCelle
GO
PRINT N'Creating [dbo].[stp_ContaCelleCreate]...';
GO
/***************************************
* STORED stp_ContaCelleCreate
*
* effettua conteggio celle create nei blocchi del magazzino
*
* Steamware, S.E.L.
* mod: 2010.05.18
*
****************************************/
create PROCEDURE [dbo].[stp_ContaCelleCreate]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@TotCelle INT OUTPUT
)
AS
SET @TotCelle = (SELECT Count(IdxCella) AS Totale
FROM Celle
WHERE (IdxBlocco IN (SELECT IdxBlocco FROM Blocchi WHERE (CodCS = @CodCS) AND (CodMag = @CodMag)))
)
RETURN @TotCelle
GO
PRINT N'Creating [dbo].[stp_ContaDeltaCelleBlocco]...';
GO
/***************************************
* STORED stp_ContaDeltaCelleBlocco
*
* effettua conteggio celle x blocco, restituisce la differenza tra le celle necessarie al blocco e quelle già create (0 = tutto ok)
*
* Steamware, S.E.L.
* mod: 2010.05.18
*
****************************************/
create PROCEDURE [dbo].[stp_ContaDeltaCelleBlocco]
(
@IdxBlocco INT,
@DeltaCelle INT OUTPUT
)
AS
-- calcolo quanto richiesto dai blocchi
DECLARE @NumInBlocco INT
SET @NumInBlocco = (SELECT SUM(NumX * NumY * numz) AS Totale
FROM Blocchi
WHERE IdxBlocco = @IdxBlocco)
-- calcolo quante celle create
DECLARE @NumCelle INT
SET @NumCelle = (SELECT COUNT(IdxCella) AS Totale
FROM Celle
WHERE IdxBlocco = @IdxBlocco)
SET @DeltaCelle = @NumInBlocco - @NumCelle
RETURN @DeltaCelle
GO
PRINT N'Creating [dbo].[stp_creaListaPrelievo]...';
GO
/***************************************
* STORED stp_creaListaPrelievo
*
* crea un nuovo record nella ElencoListePrelievo e restituisce il codice ID appena creato
*
* Steamware, S.E.L. 8 (FROM Stintino)
* mod: 2010.07.30
*
************************************/
CREATE PROCEDURE [dbo].[stp_creaListaPrelievo]
(
@Anno NVARCHAR(2),
@Mese NVARCHAR(2),
@CodTipoLista NVARCHAR(10),
@CodCS NCHAR(2),
@CodCliente NVARCHAR(6),
@RagSociale NVARCHAR(35),
@CodSoggetto NCHAR(17),
@Particolare NVARCHAR(15),
@DescParticolare NVARCHAR(30),
@DisegnoGrezzo NVARCHAR(30),
@Esponente NVARCHAR(6),
@Figura NVARCHAR(4),
@CodImballo NVARCHAR(15),
@QtaTot DECIMAL(10,2),
@Destinatario NVARCHAR(50),
@DestinatarioDescrizione NVARCHAR(50)
)
AS
-- Dichiarazioni iniziali
DECLARE @CodLista AS NVARCHAR(12)
DECLARE @numLista AS INT
DECLARE @temp AS INT
DECLARE @ora AS DATETIME
------------------------------------------------------------------------------------------------------
-- codice lista di prelievo KAAMM00000 - K = start char, AA = anno, MM = mese, 00000 = progressivo
------------------------------------------------------------------------------------------------------
-- controllo se ci sia già una lista di prelievo per company / flusso anno
BEGIN TRAN
-- cerco nella tab contatori liste prelievo l'ultimo valido
SET @numLista = (
SELECT COUNT(*)
FROM ContatoriListePrelievo
WHERE CodCS = @CodCS
AND Anno = @Anno
AND Mese = @Mese
)
-- controllo se record c'è...
IF(@numLista > 0)
BEGIN
-- se c'è incremento di 1 in tab
UPDATE ContatoriListePrelievo
SET LastIdx = LastIdx + 1
WHERE CodCS = @CodCS
AND Anno = @Anno
AND Mese = @Mese
END
ELSE
BEGIN
-- lo creo!
INSERT INTO ContatoriListePrelievo(CodCS, Anno, Mese, LastIdx)
VALUES (@CodCS, @Anno, @Mese, 1)
END
-- aggiorno numero lista prelievo
SET @numLista = (
SELECT LastIdx
FROM ContatoriListePrelievo
WHERE CodCS = @CodCS
AND Anno = @Anno
AND Mese = @Mese
)
COMMIT TRAN
------------------------------------------------------------------------------------------------------
BEGIN TRAN
------------------------------------------------------------------------------------------------------
-- Ciclo principale x inserimento nuovo record
------------------------------------------------------------------------------------------------------
-- ottengo il nuovo codice lista di prelievo completo
SET @CodLista = 'K' + @CodCS + @Anno + dbo.f_padLeft(CAST(@Mese AS NVARCHAR(2)), 2, '0') + + dbo.f_padLeft(CAST(@numLista AS NVARCHAR(5)), 5, '0')
INSERT INTO ElencoListePrelievo
(CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario, DestinatarioDescrizione, DataModStato)
VALUES (@CodLista, @CodTipoLista, @CodCS, GETDATE(), @CodCliente, @RagSociale, @CodSoggetto, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente,@Figura, @CodImballo, @QtaTot, 0, @Destinatario, @DestinatarioDescrizione, GETDATE() )
COMMIT TRAN
SELECT CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario, DestinatarioDescrizione
FROM V_elencoListePrelievo WHERE CodLista = @CodLista;
RETURN
GO
PRINT N'Creating [dbo].[stp_DtMtrx_import]...';
GO
/*****************************************
* STORED stp_DtMtrx_import
*
* Recupera dati Gitterbox/DataMatrix partendo leggendo dati successivi all'ultimo import e importanto in tab GMW
*
* Steamware, S.E.L.
* mod: 2011.04.29
*
****************************************/
CREATE PROCEDURE [dbo].[stp_DtMtrx_import]
(
@CodCS VARCHAR(2),
@IdxPosizione INT,
@CodSoggetto VARCHAR(17)
)
AS
SET XACT_ABORT ON;
SET NOCOUNT ON;
/**** NON PRESENTE IN TEKAL
------------------------------------------------------------------------------------------------------
-- leggo data ultimo import (o creo record...)
------------------------------------------------------------------------------------------------------
DECLARE @nomeFlusso AS NVARCHAR(50)
DECLARE @lastImport AS DATETIME
DECLARE @trovati AS INT
-- imposto valori
SET @nomeFlusso = 'DataMatrix'
SET @lastImport = DATEADD(yy,-10,GETDATE()) -- inizializzo a -10 anni ...
-- sistemo tab registrazione import...
BEGIN TRAN
-- cerco nella tab log ultima data caricamento
SET @trovati = (
SELECT COUNT(*)
FROM logImportFlussi
WHERE NomeFlusso = @nomeFlusso
)
-- controllo se record c'è...
IF(@trovati > 0)
BEGIN
SET @lastImport = ( SELECT LastImport FROM LogImportFlussi WHERE NomeFlusso = @nomeFlusso )
END
ELSE
BEGIN
-- lo creo!
INSERT INTO LogImportFlussi(NomeFlusso, LastImport)
VALUES (@nomeFlusso, @lastImport)
END
COMMIT TRAN
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- ora gestisco il vero caricamento...
------------------------------------------------------------------------------------------------------
-- filtro e salvo in tabella... gitterbox validi SOLO se iniziano per "U"
-- verifico già se esite già l'UDC/Gitterbox in ElencoCartellini
DECLARE @newData TABLE
(
RowNumber int,
CodDataMatrix numeric(23, 0) ,
CodGitterbox varchar(10) ,
NumConchiglia int ,
NumDisegno numeric(7, 0) ,
EsponenteDisegno tinyint ,
CodDifettoScarto varchar(5) ,
InizioPreparazione smalldatetime ,
FinePreparazione smalldatetime ,
InizioIniezione smalldatetime ,
FineIniezione smalldatetime ,
MagDestinazione varchar(2) ,
DataImport smalldatetime ,
UDC varchar(50)
)
INSERT INTO @newData
SELECT
ROW_NUMBER() OVER(PARTITION BY CodGitterbox ORDER BY InizioIniezione ASC),
dm.CodDataMatrix, LTRIM(RTRIM(dm.CodGitterbox)), dm.NumConchiglia, dm.NumDisegno, dm.EsponenteDisegno,dm.CodDifettoScarto, dm.InizioPreparazione, dm.FinePreparazione, dm.InizioIniezione, dm.FineIniezione, dm.MagDestinazione, dm.DataImport,
ec.UDC
FROM dbo.v_trasfDataMatrix AS dm
LEFT JOIN dbo.ElencoCartellini AS ec
ON dm.CodGitterbox = ec.UDC
WHERE DataImport > @lastImport AND LEFT(CodGitterbox, 1) = 'U'
AND CodDifettoScarto = '00' -- non importa gli scarti!!!
/* INIZIO MODIFICA
Note GCarlo :
Se il Gitterbox è già stato trasferito e/o cmq già presente non viene caricato, al
limite vengono caricati i Datamatrix non ancora presenti ma con Gitterbox = EmptyGBox
Se non trovo il Particolare in dbo.v_transcParticolari i datamatrix non vengono importati
Posso reimportarli spostando la data di import indietro in LogImportFlussi
ATTENZIONE! Si presuppone che i DataMatrix siano coerenti ovvero stesso Particolare ecc. ecc.
*/
BEGIN TRAN;
-- creo UDC da gitterbox nuovi ( Se UDC già presenti non li carico )
-- GCARLO messo un RowCount prima e prendo solo il primo DataMatrix
INSERT INTO ElencoCartellini(UDC,CodCS, Particolare, DescParticolare, DisegnoGrezzo, Esponente, DataFus, Qta,
CodSoggetto, CodStato, IdxPosizione,CreateDate, ModDate, Figura, CodImballo, Tara, PesoTot, PesoCad, NumCont, TurnoFus, CodEvento )
SELECT DISTINCT nd.CodGitterbox, @CodCS, tp.Particolare, an.DescParticolare, an.DisegnoGrezzo, an.EsponenteModifica
,InizioIniezione, dbo.getNumDatamatrix(nd.CodGitterbox), @CodSoggetto As CodSoggetto, 'FinGBox' AS CodStato
,@IdxPosizione, GETDATE(), GETDATE()
,'' AS Figura, '' AS CodImballo,0 AS Tara,0 AS PesoTot,0 AS PesoCad,1 AS NumCont,0 AS TurnoFus, 'UDC_GBOX' AS CodEvento
FROM @newData nd
INNER JOIN dbo.v_transcParticolari tp -- solo se PArticolare è presente in Trascodifica
ON nd.NumDisegno = tp.NumDisegno AND nd.EsponenteDisegno = tp.EsponenteDisegno
LEFT JOIN RilPro.AnagParticolari an -- Leggo il disegno in anagrafica
ON tp.Particolare = an.Particolare
WHERE nd.RowNumber = 1 -- Prendo solo i dati del First DataMatrix ( data iniezione )
AND nd.UDC IS NULL -- solo Gitterbox Nuovi
DECLARE @udc NVARCHAR(50)
DECLARE @Particolare NVARCHAR(50)
DECLARE @NumDisegno NVARCHAR(50)
DECLARE @EsponenteDisegno NVARCHAR(50)
DECLARE @IdxCellaTo INT
DECLARE @adesso DATETIME
DECLARE @posTrovate INT
SET @adesso = GETDATE()
SET @posTrovate = 0
-- indico cella UDC corrente... calcolo la prima cella della nuova posizione...
SET @IdxCellaTo = ( SELECT dbo.f_getCellaByPos(CAST(@IdxPosizione AS NVARCHAR(50))) )
DECLARE cursoreImport CURSOR FOR
SELECT DISTINCT CodGitterbox
FROM @newData
WHERE UDC IS NULL -- solo x Gitterbox Nuovi
OPEN cursoreImport
FETCH NEXT FROM cursoreImport INTO @udc
WHILE @@FETCH_STATUS = 0
BEGIN
-- controllo se posizione non ancora creata...
SET @posTrovate = ( SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE UDC = @udc )
IF( @posTrovate = 0)
BEGIN
INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif, CodSoggetto)
VALUES(@udc, @IdxCellaTo, @CodCS, @adesso, @CodSoggetto)
END
FETCH NEXT FROM cursoreImport INTO @udc
END
CLOSE cursoreImport
DEALLOCATE cursoreImport
-- CARICAMENTO DATAMATRIX --
-- Carico i datamatrix se UDC/Gitterbox nuovi
INSERT INTO dbo.ElencoDataMatrix
SELECT nw.CodDataMatrix
,nw.CodGitterbox
,nw.NumConchiglia
,nw.NumDisegno
,nw.EsponenteDisegno
,nw.CodDifettoScarto
,nw.InizioPreparazione
,nw.FinePreparazione
,nw.InizioIniezione
,nw.FineIniezione
,nw.MagDestinazione
,nw.DataImport
FROM @newData AS nw
LEFT JOIN dbo.ElencoDataMatrix AS el
ON nw.CodDataMatrix = el.CodDataMatrix
WHERE el.CodDataMatrix IS NULL -- Nuovi Datamatrix
AND nw.UDC IS NULL -- Solo per Gitterbox nuovi
-- Se esistono Datamatrix di UDC già caricati in precedenza li inserisco ma senza
-- assegnare l'UDC ma lo metto a EmptyGBox perchè potrebbero essere UDC già spediti o
-- movimentati e dovrei anche aggiornare la giacenza in ElencoCartellini
INSERT INTO dbo.ElencoDataMatrix
SELECT nw.CodDataMatrix
,'EmptyGBox' AS CodGitterbox
,nw.NumConchiglia
,nw.NumDisegno
,nw.EsponenteDisegno
,nw.CodDifettoScarto
,nw.InizioPreparazione
,nw.FinePreparazione
,nw.InizioIniezione
,nw.FineIniezione
,nw.MagDestinazione
,nw.DataImport
FROM @newData AS nw
LEFT JOIN dbo.ElencoDataMatrix AS el
ON nw.CodDataMatrix = el.CodDataMatrix
WHERE el.CodDataMatrix IS NULL
AND nw.UDC IS NOT NULL
-- aggiorno dati ultimo caricamento
SET @lastImport = ISNULL( ( SELECT MAX(DataImport)FROM @newData ),@lastImport )
UPDATE LogImportFlussi
SET LastImport = @lastImport
WHERE NomeFlusso = @nomeFlusso
COMMIT TRAN;
*/
RETURN
GO
PRINT N'Creating [dbo].[stp_DtMtx_getOrig]...';
GO
/*****************************************
* STORED stp_DtMtx_getOrig
*
* Cerca la bolla richiesta x chiave
*
* Steamware, S.E.L.
* mod: 2011.05.19
*
****************************************/
create PROCEDURE stp_DtMtx_getOrig
(
@CodDataMatrix NVARCHAR(50)
)
AS
SELECT *
FROM v_trasfDataMatrix
WHERE CodDataMatrix = @CodDataMatrix
RETURN
GO
PRINT N'Creating [dbo].[stp_dummy]...';
GO
/***************************************
* STORED stp_dummy
*
* stored dummy per poter settare stringhe di connessione alle stored operative associate allos tesso oggetto del dataset
*
* Steamware, S.E.L.
* mod: 2010.05.18
*
****************************************/
CREATE PROCEDURE [dbo].[stp_dummy]
AS
SELECT * FROM LogUpdateDb
RETURN
GO
PRINT N'Creating [dbo].[stp_EDM_getByCode]...';
GO
/*****************************************
* STORED stp_EDM_getByCode
*
* Recupera datamatrix da codice
*
* Steamware, S.E.L.
* mod: 2011.05.05
*
****************************************/
create PROCEDURE stp_EDM_getByCode
(
@CodDataMatrix NUMERIC(23)
)
AS
SELECT *
FROM ElencoDataMatrix
WHERE CodDataMatrix = @CodDataMatrix
RETURN
GO
PRINT N'Creating [dbo].[stp_EDM_getByGitterBox]...';
GO
/*****************************************
* STORED stp_EDM_getByGitterBox
*
* Recupera datamatrix da codice gitterbox
*
* Steamware, S.E.L.
* mod: 2011.05.06
*
****************************************/
create PROCEDURE [dbo].[stp_EDM_getByGitterBox]
(
@CodGitterbox NVARCHAR(10)
)
AS
SELECT *
FROM ElencoDataMatrix
WHERE CodGitterbox = @CodGitterbox
RETURN
GO
PRINT N'Creating [dbo].[stp_EDM_spostaDataMtx]...';
GO
/*****************************************
* STORED stp_EDM_spostaDataMtx
*
* Sposta un datamatrix in un nuovo gitterbox
*
* Steamware, S.E.L.
* mod: 2011.05.05
*
****************************************/
CREATE PROCEDURE [dbo].[stp_EDM_spostaDataMtx]
(
@CodDataMatrix NUMERIC(23),
@CodGitterbox NVARCHAR(10),
@CodSoggetto VARCHAR(17)
)
AS
DECLARE @CodEvento VARCHAR(10)
SET @CodEvento = 'SpostaDMtx'
-- salvo codice gitterbox di partenza
DECLARE @CodGitterboxFrom AS NVARCHAR(10)
SET @CodGitterboxFrom = ( SELECT CodGitterbox FROM ElencoDataMatrix WHERE CodDataMatrix = @CodDataMatrix )
UPDATE ElencoDataMatrix
SET CodGitterbox = @CodGitterbox
WHERE CodDataMatrix = @CodDataMatrix
-- aggiorno valori QTA gitterbox di partenza...
UPDATE ElencoCartellini
SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterboxFrom )
,ModDate=GETDATE()
,CodEvento = @CodEvento
,CodSoggetto = @CodSoggetto
WHERE UDC = @CodGitterboxFrom
-- aggiorno valoti QTA gitterbox destinazione e modificatore...
UPDATE ElencoCartellini
SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
,ModDate=GETDATE()
,CodEvento = @CodEvento
,CodSoggetto = @CodSoggetto
WHERE UDC = @CodGitterbox
-- aggiorno righe liste di prelievo...
UPDATE RigheListePrelievo
SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterboxFrom )
WHERE UDC = @CodGitterboxFrom
-- aggiorno valoti QTA gitterbox destinazione...
UPDATE RigheListePrelievo
SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
WHERE UDC = @CodGitterbox
-- select finale!
SELECT *
FROM ElencoDataMatrix
WHERE CodDataMatrix = @CodDataMatrix
RETURN
GO
PRINT N'Creating [dbo].[stp_EDM_svuotaGitterbox]...';
GO
/*****************************************
* STORED stp_EDM_svuotaGitterbox
*
* Elimina il codice gitterbox dai datamatrix associati (svuotandolo...)
*
* Steamware, S.E.L.
* mod: 2011.05.06
*
****************************************/
CREATE PROCEDURE [dbo].[stp_EDM_svuotaGitterbox]
(
@CodGitterbox NVARCHAR(10),
@CodSoggetto VARCHAR(17)
)
AS
DECLARE @CodEvento VARCHAR(10)
SET @CodEvento = 'SvuotaGbox'
UPDATE ElencoDataMatrix
SET CodGitterbox = 'EmptyGBox'
WHERE CodGitterbox = @CodGitterbox
-- aggiorno valoti QTA gitterbox originale...
UPDATE ElencoCartellini
SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
,ModDate=GETDATE()
,CodEvento = @CodEvento
,CodSoggetto = @CodSoggetto
WHERE UDC = @CodGitterbox
-- aggiorno valoti QTA gitterbox 'EmptyGBox
UPDATE ElencoCartellini
SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = 'EmptyGBox' )
,ModDate = GETDATE()
,CodEvento = @CodEvento
,CodSoggetto = @CodSoggetto
WHERE UDC = 'EmptyGBox'
-- aggiorno righe liste di prelievo...
UPDATE RigheListePrelievo
SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
WHERE UDC = @CodGitterbox
RETURN
GO
PRINT N'Creating [dbo].[stp_elencoListePrelievoByCodLista]...';
GO
/***************************************
* STORED stp_elencoListePrelievoByCodLista
*
* Steamware, E.N.
* mod: 2010.06.25
*
************************************/
create PROCEDURE [dbo].[stp_elencoListePrelievoByCodLista]
(
@CodLista NVARCHAR(12)
)
AS
SELECT *
FROM V_elencoListePrelievo
WHERE (CodLista = @CodLista)
GO
PRINT N'Creating [dbo].[stp_elencoListePrelievoFilt]...';
GO
/***************************************
* STORED stp_elencoListePrelievoFilt
*
* restituisce l'elenco delle liste di prelievo secondo criteri di filtraggio
*
* Steamware, S.E.L.
* mod: 2010.07.06
*
****************************************/
CREATE PROCEDURE stp_elencoListePrelievoFilt
(
@DataFrom DATETIME,
@DataTo DATETIME,
@classifArticolo NCHAR(1) = '*'
)
AS
-- utilizza la vista righe lista prelievo e quindi solo le prelevate ...
SELECT velp.*
FROM V_elencoListePrelievo velp INNER JOIN RilPro.AnagParticolari ap ON velp.Particolare = ap.Particolare
WHERE (velp.DataCreaz BETWEEN @DataFrom AND @DataTo)
AND ap.classifArticolo = CASE WHEN ISNULL(@classifArticolo,'*') = '*' THEN ap.classifArticolo ELSE @classifArticolo END
ORDER BY velp.DataCreaz DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_elencoListePrelievoUpdateStato]...';
GO
/***************************************
* STORED stp_elencoListePrelievoUpdateStato
*
* aggiorna la lista di prelievo indicando lo stato richiesto
*
* Steamware, S.E.L.
* mod: 2010.07.06
*
************************************/
CREATE PROCEDURE [dbo].[stp_elencoListePrelievoUpdateStato]
(
@NewCodSoggetto NCHAR(17),
@CodListaAttuale AS varchar(12),
@CodStatoLista INT
)
AS
UPDATE ElencoListePrelievo
SET CodSoggetto = @NewCodSoggetto
,CodStatoLista = @CodStatoLista
,DataModStato = GETDATE()
WHERE (CodLista = @CodListaAttuale)
SELECT CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario, DestinatarioDescrizione
FROM V_elencoListePrelievo WHERE (CodLista = @CodListaAttuale)
GO
PRINT N'Creating [dbo].[stp_elencoLP_attiveByCodSoggetto]...';
GO
/***************************************
* STORED stp_elencoListePrelievoByCodLista
*
* elenco liste di prelievo ATTIVE da codice soggetto
*
* Steamware, S.E.L
* mod: 2010.08.25
*
************************************/
create PROCEDURE stp_elencoLP_attiveByCodSoggetto
(
@CodSoggetto NVARCHAR(17)
)
AS
SELECT *
FROM V_elencoListePrelievo
WHERE CodStatoLista = 2 AND (CodSoggetto = @CodSoggetto)
GO
PRINT N'Creating [dbo].[stp_elencoPostaziont_getByCod]...';
GO
/***************************************
* STORED stp_elencoPostaziont_getByCod
*
* ottiene il una postazione dato il codice
*
* Steamware, S.E.L.
* mod: 2010.11.17
*
****************************************/
create PROCEDURE [dbo].[stp_elencoPostaziont_getByCod]
(
@codPostazione NVARCHAR(250)
)
AS
SELECT *
FROM ElencoPostazioni
WHERE codPostazione = @codPostazione
RETURN
GO
PRINT N'Creating [dbo].[stp_EP_delete]...';
GO
/***************************************
* STORED stp_EP_delete
*
* elimina una postazione + stampante
* Steamware, S.E.L.
* mod: 2012.10.02
*
****************************************/
CREATE PROCEDURE stp_EP_delete
(
@Original_codPostazione NVARCHAR(250)
)
AS
DELETE
FROM ElencoPostazioni
WHERE codPostazione = @Original_codPostazione
RETURN
GO
PRINT N'Creating [dbo].[stp_EP_update]...';
GO
/***************************************
* STORED stp_EP_update
*
* update di una postazione + stampante
* Steamware, S.E.L.
* mod: 2012.10.02
*
****************************************/
CREATE PROCEDURE stp_EP_update
(
@Original_codPostazione NVARCHAR(250),
@codPostazione NVARCHAR(250),
@stampante NVARCHAR(250),
@note NVARCHAR(250)
)
AS
UPDATE ElencoPostazioni
SET codPostazione = @codPostazione,
stampante = @stampante,
note = @note
WHERE codPostazione = @Original_codPostazione
RETURN
GO
PRINT N'Creating [dbo].[stp_getBilanceByCodBilancia]...';
GO
/***************************************
* STORED stp_getBilanceByCodBilancia
*
* ottiene il record di una bilancia dato CodBilancia
*
* Steamware, S.E.L.
* mod: 2010.04.28
*
****************************************/
create PROCEDURE [dbo].[stp_getBilanceByCodBilancia]
(
@CodBilancia VARCHAR(50)
)
AS
SELECT * FROM AnagBilance
WHERE CodBilancia = @CodBilancia
RETURN
GO
PRINT N'Creating [dbo].[stp_getBilanceByCodCS]...';
GO
/***************************************
* STORED stp_getBilanceByCodCS
*
* ottiene l'elenco delle bilance dato codice company/sito
*
* Steamware, S.E.L.
* mod: 2010.04.28
*
****************************************/
create PROCEDURE [dbo].[stp_getBilanceByCodCS]
(
@CodCS VARCHAR(2)
)
AS
SELECT * FROM AnagBilance
WHERE CodCS = @CodCS
RETURN
GO
PRINT N'Creating [dbo].[stp_getCartellinoByUdc]...';
GO
/***************************************
* STORED stp_getCartellinoByUdc
*
* ottiene il record del Cartellino dato l'UDC richiesto
*
* Steamware, S.E.L.
* mod: 2010.04.28
*
****************************************/
create PROCEDURE [dbo].[stp_getCartellinoByUdc]
(
@UDC VARCHAR(50)
)
AS
SELECT UDC, CodCS, ISNULL(CodCliente, '') AS CodCliente, ISNULL(RagSociale, '') AS RagSociale, ISNULL(Particolare, '') AS Particolare,
ISNULL(DescParticolare,'') AS DescParticolare, ISNULL(DisegnoGrezzo,'') AS DisegnoGrezzo, ISNULL(Esponente,'') AS Esponente,
ISNULL(CodImpianto,'') AS CodImpianto, ISNULL(DescImpianto,'') AS DescImpianto, ISNULL(CodStampo,'') AS CodStampo,
ISNULL(Figura,'') AS Figura, ISNULL(DataFus,'') AS DataFus, ISNULL(TurnoFus,'') AS TurnoFus, ISNULL(CodImballo,'') AS CodImballo,
ISNULL(CodSoggetto,'') AS CodSoggetto, ISNULL(NumCont,'') AS NumCont, ISNULL(Tara,'') AS Tara, ISNULL(Qta,'')AS Qta,
ISNULL(CodStato,'') AS CodStato, ISNULL(IdxPosizione,'') AS IdxPosizione, ISNULL(PesoTot,'') AS PesoTot, ISNULL(PesoCad,'') AS PesoCad,
CreateDate, ModDate
FROM ElencoCartellini
WHERE (UDC = @UDC)
RETURN
GO
PRINT N'Creating [dbo].[stp_getDestListePrelLike]...';
GO
/***************************************
* STORED stp_getDestListePrelLike
*
* ottiene l'elenco dei destinatari liste di prelievo data la substring di ricerca
*
* Steamware, S.E.L.
* mod: 2010.07.30
*
****************************************/
CREATE PROCEDURE [dbo].[stp_getDestListePrelLike]
(
@cerca VARCHAR(2)
)
AS
SELECT * FROM v_selDestinatariListePrelievo
WHERE conditio LIKE '%'+ @cerca + '%'
RETURN
GO
PRINT N'Creating [dbo].[stp_getDetailsUdcByUdc]...';
GO
/***************************************
* STORED stp_getDetailsUdcByUdc
*
* Steamware, E.N.
* mod: 2010.06.28
*
************************************/
create PROCEDURE [dbo].[stp_getDetailsUdcByUdc]
(
@UDC NVARCHAR(50)
)
AS
SELECT *
FROM ElencoCartellini
WHERE (UDC = @UDC)
GO
PRINT N'Creating [dbo].[stp_getImballoByCod]...';
GO
/***************************************
* STORED stp_getImballoByCod
*
* carica la riga imballo dal codice (non restituisce nulla se non c'è)
*
* Steamware, S.E.L.
* mod: 2010.04.28
*
****************************************/
CREATE PROCEDURE [dbo].[stp_getImballoByCod]
(
@CodImballo VARCHAR(50)
)
AS
SELECT CodImballo, ClasseArticolo, DescImballo
FROM RilPro.AnagImballi
WHERE (CodImballo = @CodImballo)
RETURN
GO
PRINT N'Creating [dbo].[stp_getImballoLikeSearch]...';
GO
/***************************************
* STORED stp_getImballoLikeSearch
*
* carica le righe imballo da ricerca like
*
* Steamware, S.E.L.
* mod: 2010.05.28
*
****************************************/
CREATE PROCEDURE [dbo].[stp_getImballoLikeSearch]
(
@searchVal VARCHAR(50)
)
AS
SELECT CodImballo, ClasseArticolo, DescImballo
FROM RilPro.AnagImballi
WHERE (CodImballo LIKE '%' + @searchVal + '%')
OR (DescImballo LIKE '%' + @searchVal + '%')
RETURN
GO
PRINT N'Creating [dbo].[stp_getImpiantiByCodCS]...';
GO
/***************************************
* STORED stp_getImpiantiByCodCS
*
* ottiene l'elenco degli impianti dato codice company/sito
*
* Steamware, S.E.L.
* mod: 2010.04.28
*
****************************************/
create PROCEDURE [dbo].[stp_getImpiantiByCodCS]
(
@CodCS VARCHAR(2)
)
AS
SELECT * FROM AnagImpianti
WHERE CodCS = @CodCS
RETURN
GO
PRINT N'Creating [dbo].[stp_getPosizioneByUdc]...';
GO
/***************************************
* STORED stp_getPosizioneByUdc
*
* Steamware, E.N.
* mod: 2010.06.25
*
************************************/
create PROCEDURE [dbo].[stp_getPosizioneByUdc]
(
@UDC NVARCHAR(50)
)
AS
SELECT *
FROM PosizioneUdcCorrente
where UDC = @UDC
GO
PRINT N'Creating [dbo].[stp_getPosizioneByUdcCodMag]...';
GO
/***************************************
* STORED stp_getPosizioneByUdcIdxPosizione
*
* restituisce la posizione dell'udc dato codice udc e CodMag desiderato
*
* Steamware, S.E.L
* mod: 2010.11.19
*
************************************/
CREATE PROCEDURE [dbo].[stp_getPosizioneByUdcCodMag]
(
@UDC NVARCHAR(50),
@CodMag NVARCHAR(50)
)
AS
SELECT puc.*
FROM PosizioneUdcCorrente puc INNER JOIN Celle c ON puc.IdxCella=c.IdxCella INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
where puc.UDC = @UDC AND b.CodMag = @CodMag
GO
PRINT N'Creating [dbo].[stp_getRagioneSocialeByCodCliente]...';
GO
/***************************************
* STORED stp_getRagioneSocialeByCodCliente
*
* Steamware, E.N.
* mod: 2010.06.25
*
************************************/
CREATE PROCEDURE [dbo].[stp_getRagioneSocialeByCodCliente]
(
@CodCliente NVARCHAR(6)
)
AS
SELECT *
FROM RilPro.AnagClienti
WHERE (CodCliente = @CodCliente)
GO
PRINT N'Creating [dbo].[stp_getRigaPrelievoByCodLista]...';
GO
/***************************************
* STORED stp_getRigaPrelievoByCodLista
*
* Steamware, E.N.
* mod: 2010.06.25
*
************************************/
create PROCEDURE [dbo].[stp_getRigaPrelievoByCodLista]
(
@CodLista NVARCHAR(12)
)
AS
SELECT *
FROM RigheListePrelievo
WHERE (CodLista = @CodLista)
GO
PRINT N'Creating [dbo].[stp_getRigaPrelievoByCodListaPrelevate]...';
GO
/***************************************
* STORED stp_getRigaPrelievoByCodListaPrelevate
* restituisce elenco delle SOLE righe prelevate (UDC)
*
* Steamware, S.E.L.
* mod: 2010.12.10
*
************************************/
create PROCEDURE stp_getRigaPrelievoByCodListaPrelevate
(
@CodLista NVARCHAR(12)
)
AS
SELECT *
FROM RigheListePrelievo
WHERE (CodLista = @CodLista) AND Prelevato = 1
GO
PRINT N'Creating [dbo].[stp_getRigaPrelievoPosizioneByCodLista]...';
GO
/***************************************
* STORED stp_getRigaPrelievoPosizioneByCodLista
*
* Steamware, S.E.L.
* mod: 2010.07.07
*
************************************/
create PROCEDURE [dbo].[stp_getRigaPrelievoPosizioneByCodLista]
(
@CodLista NVARCHAR(12)
)
AS
SELECT *
FROM v_RigheListePrelievoPosizione
WHERE (CodLista = @CodLista)
GO
PRINT N'Creating [dbo].[stp_getUDC_Child]...';
GO
/***************************************
* STORED stp_getUDC_Child
*
* ottiene l'elenco degli UDC child di quello richiesto
*
* Steamware, S.E.L.
* mod: 2010.04.28
*
****************************************/
CREATE PROCEDURE [dbo].[stp_getUDC_Child]
(
@UDC VARCHAR(50)
)
AS
SELECT *
FROM RelazUDC
WHERE (UDC_parent = @UDC)
RETURN
GO
PRINT N'Creating [dbo].[stp_getUDC_Older]...';
GO
/***************************************
* STORED stp_getUDC_Older
*
* ottiene l'elenco degli UDC più vecchi in ordine asc TRA QUELLI in una data posizione
*
* Steamware, S.E.L.
* mod: 2010.07.06
*
****************************************/
create PROCEDURE [dbo].[stp_getUDC_Older]
(
@Esponente VARCHAR(50),
@Particolare VARCHAR (50),
@IdxPosizione INT
)
AS
SELECT *
FROM ElencoCartellini
WHERE (Esponente = @Esponente) AND (Particolare = @Particolare) AND (IdxPosizione = @IdxPosizione)
ORDER BY DataFus
RETURN
GO
PRINT N'Creating [dbo].[stp_getUDC_Parent]...';
GO
/***************************************
* STORED stp_getUDC_Parent
*
* ottiene l'elenco degli UDC parent di quello richiesto
*
* Steamware, S.E.L.
* mod: 2010.04.28
*
****************************************/
CREATE PROCEDURE [dbo].[stp_getUDC_Parent]
(
@UDC VARCHAR(50)
)
AS
SELECT *
FROM RelazUDC
WHERE (UDC_child = @UDC)
RETURN
GO
PRINT N'Creating [dbo].[stp_getUDC_UnusedOlder]...';
GO
CREATE PROCEDURE [dbo].[stp_getUDC_UnusedOlder]
(
@CodLista VARCHAR(12)
)
AS
-- variabili locali che mi servono
DECLARE @Figura AS VARCHAR(4)
DECLARE @Esponente AS VARCHAR(6)
DECLARE @CodImballo AS VARCHAR(15)
DECLARE @Particolare AS VARCHAR (50)
DECLARE @CodTipoLista AS VARCHAR (10)
--DECLARE @IdxPosizione AS INT
SET @Figura = (SELECT Figura FROM ElencoListePrelievo WHERE CodLista = @CodLista)
SET @Esponente = (SELECT Esponente FROM ElencoListePrelievo WHERE CodLista = @CodLista)
SET @CodImballo = (SELECT CodImballo FROM ElencoListePrelievo WHERE CodLista = @CodLista)
SET @Particolare = (SELECT Particolare FROM ElencoListePrelievo WHERE CodLista = @CodLista)
SET @CodTipoLista = (SELECT CodTipoLista FROM ElencoListePrelievo WHERE CodLista = @CodLista)
/*
SET @IdxPosizione = (SELECT tt.IdxPosizione
FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
WHERE (tlp.CodTipoLista = @CodTipoLista))
*/
-- effettuo la selezione
SELECT *
FROM ElencoCartellini
WHERE (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
(Figura = CASE WHEN @Figura = '*' THEN Figura ELSE @Figura END) AND
(Esponente = CASE WHEN @Esponente = '*' THEN Esponente ELSE @Esponente END) AND
(CodImballo = CASE WHEN @CodImballo = '*' THEN CodImballo ELSE @CodImballo END)
AND UDC NOT IN (
SELECT DISTINCT UDC
FROM RigheListePrelievo INNER JOIN ElencoListePrelievo
ON RigheListePrelievo.CodLista = ElencoListePrelievo.CodLista
WHERE (ElencoListePrelievo.CodLista = @CodLista)
OR (ElencoListePrelievo.CodLista <> @CodLista AND CodStatoLista > 1 AND Prelevato = 1)
)
AND ISNULL(Qta,0) > 0
ORDER BY ElencoCartellini.DataFus
RETURN
GO
PRINT N'Creating [dbo].[stp_getUdcDetailFullCode]...';
GO
/***************************************
* STORED stp_getUdcDetailFullCode
*
* ottiene l'elenco degli UDC con i dati significativi partendo da un codice UDC COMPLETO
*
* Steamware, S.E.L.
* mod: 2010.05.24
*
****************************************/
CREATE PROCEDURE [dbo].[stp_getUdcDetailFullCode]
(
@UDC VARCHAR(50),
@CodCS VARCHAR(2)
)
AS
SELECT ec.UDC, ISNULL(ec.RagSociale, N'nd') AS RagSociale, ISNULL(ec.Particolare, N'nd') AS Particolare,
ISNULL(ec.DescParticolare, N'nd') AS DescParticolare, ISNULL(ec.DisegnoGrezzo, N'nd') AS DisegnoGrezzo,
ISNULL(ec.Esponente, N'nd') AS Esponente, ISNULL(ec.DescImpianto, N'nd') AS DescImpianto,
ISNULL(ec.DataFus, N'') AS DataFus, ISNULL(ec.TurnoFus, 0) AS TurnoFus, ec.CodImballo,
ec.Qta, ISNULL(AnagStatiProdotto.DescStato, N'nd') AS DescStato, ec.ModDate,
CASE WHEN(ec.IdxPosizione < 0) THEN 'Consum' ELSE ISNULL(Blocchi.CodMag, N'nd') END AS CodMag,
ISNULL(Blocchi.CodBlocco, N'nd') AS CodBlocco, ISNULL(Celle.CodCella, N'nd') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ec.IdxPosizione, ISNULL(ec.Note,'') AS Note,
dbo.PosizioneUdcCorrente.DataRif AS lastMov
FROM AnagStatiProdotto RIGHT OUTER JOIN
ElencoCartellini ec ON AnagStatiProdotto.CodStato = ec.CodStato AND AnagStatiProdotto.CodStato = ec.CodStato
LEFT OUTER JOIN Celle INNER JOIN PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella
INNER JOIN Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN AnagMag ON Blocchi.CodMag = AnagMag.CodMag
AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag
AND Blocchi.CodCS = AnagMag.CodCS ON ec.UDC = PosizioneUdcCorrente.UDC
WHERE (ec.UDC = @UDC) AND (ec.CodCS = @CodCS)
RETURN
GO
PRINT N'Creating [dbo].[stp_getUdcDetailFullCode_storico]...';
GO
/***************************************
* STORED stp_getUdcDetailFullCode_storico
*
* ottiene ULTIM dati UDC DA STORICO con i dati significativi partendo da un codice UDC COMPLETO
*
* Steamware, S.E.L.
* mod: 2012.10.01
*
****************************************/
CREATE PROCEDURE stp_getUdcDetailFullCode_storico
(
@DataOraFrom DATETIME,
@DataOraTo DATETIME,
@UDC NVARCHAR(50),
@CodCS NVARCHAR(2)
)
AS
WITH myCTE AS
(
SELECT TOP 1 *
FROM StoricoCartellini
WHERE DataEv BETWEEN @DataOraFrom AND @DataOraTo
AND UDC = @UDC
ORDER BY DataEv DESC
)
SELECT stc.UDC, ISNULL(stc.RagSociale, N'nd') AS RagSociale, ISNULL(stc.Particolare, N'nd') AS Particolare,
ISNULL(stc.DescParticolare, N'nd') AS DescParticolare, ISNULL(stc.DisegnoGrezzo, N'nd') AS DisegnoGrezzo,
ISNULL(stc.Esponente, N'nd') AS Esponente, ISNULL(stc.DescImpianto, N'nd') AS DescImpianto,
ISNULL(stc.DataFus, N'') AS DataFus, ISNULL(stc.TurnoFus, 0) AS TurnoFus, stc.CodImballo,
stc.Qta, ISNULL(AnagStatiProdotto.DescStato, N'nd') AS DescStato, stc.ModDate,
CASE WHEN(stc.IdxPosizione < 0) THEN 'Consum' ELSE ISNULL(Blocchi.CodMag, N'nd') END AS CodMag,
ISNULL(Blocchi.CodBlocco, N'nd') AS CodBlocco, ISNULL(Celle.CodCella, N'nd') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, stc.IdxPosizione, ISNULL(stc.Note,'') AS Note,
dbo.PosizioneUdcCorrente.DataRif AS lastMov
FROM AnagStatiProdotto RIGHT OUTER JOIN
myCTE stc ON AnagStatiProdotto.CodStato = stc.CodStato AND AnagStatiProdotto.CodStato = stc.CodStato
LEFT OUTER JOIN Celle INNER JOIN PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella
INNER JOIN Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN AnagMag ON Blocchi.CodMag = AnagMag.CodMag
AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag
AND Blocchi.CodCS = AnagMag.CodCS ON stc.UDC = PosizioneUdcCorrente.UDC
WHERE (stc.UDC = @UDC) AND (stc.CodCS = @CodCS)
RETURN
GO
PRINT N'Creating [dbo].[stp_getUdcDetailLikeSearch]...';
GO
/***************************************
* STORED stp_getUdcDetailFullCode
*
* ottiene l'elenco degli UDC con i dati significativi partendo da un valore da cercare come LIKE in
* - UDC
* - Particolare
*
* Steamware, S.E.L.
* mod: 2010.05.24
*
****************************************/
CREATE PROCEDURE [dbo].[stp_getUdcDetailLikeSearch]
(
@searchVal VARCHAR(50),
@CodCS VARCHAR(2)
)
AS
SELECT ElencoCartellini.UDC, ISNULL(ElencoCartellini.RagSociale, N'') AS RagSociale, ISNULL(ElencoCartellini.Particolare, N'') AS Particolare,
ISNULL(ElencoCartellini.DescParticolare, N'') AS DescParticolare, ISNULL(ElencoCartellini.DisegnoGrezzo, N'') AS DisegnoGrezzo,
ISNULL(ElencoCartellini.Esponente, N'') AS Esponente, ISNULL(ElencoCartellini.DescImpianto, N'') AS DescImpianto,
ISNULL(ElencoCartellini.DataFus, N'') AS DataFus, ISNULL(ElencoCartellini.TurnoFus, 0) AS TurnoFus, ElencoCartellini.CodImballo,
ElencoCartellini.Qta, ISNULL(AnagStatiProdotto.DescStato, N'') AS DescStato, ElencoCartellini.ModDate,
ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco, ISNULL(Celle.CodCella, N'') AS CodCella,
ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella, ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione,
ISNULL(ElencoCartellini.Note, '') AS Note,
dbo.PosizioneUdcCorrente.DataRif AS lastMov
FROM AnagStatiProdotto RIGHT OUTER JOIN ElencoCartellini
ON AnagStatiProdotto.CodStato = ElencoCartellini.CodStato AND AnagStatiProdotto.CodStato = ElencoCartellini.CodStato
LEFT OUTER JOIN Celle INNER JOIN PosizioneUdcCorrente
ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS ON
ElencoCartellini.UDC = PosizioneUdcCorrente.UDC
WHERE (ElencoCartellini.CodCS = @CodCS) AND
((ElencoCartellini.UDC like '%'+ @searchVal+'%') OR (ElencoCartellini.Particolare like '%'+ @searchVal+'%') OR
(ElencoCartellini.RagSociale like '%'+ @searchVal+'%'))
RETURN
GO
PRINT N'Creating [dbo].[stp_LP_deleteQuery]...';
GO
/***************************************
* STORED stp_LP_deleteQuery
*
* elimina lista di prelievo (e righe lista associate) della list aindicata
*
* Steamware, S.E.L. 8 (from Stintino)
* mod: 2010.07.15
*
************************************/
create PROCEDURE [dbo].[stp_LP_deleteQuery]
(
@Original_CodLista varchar(12)
)
AS
-- cancello righe lista
DELETE FROM RigheListePrelievo
WHERE CodLista = @Original_CodLista
-- cancello record lista
DELETE FROM ElencoListePrelievo
WHERE CodLista = @Original_CodLista
RETURN
GO
PRINT N'Creating [dbo].[stp_LP_exportToAs400]...';
GO
/***************************************
* STORED stp_LP_exportToAs400
*
* esporta la lista di prelievo (e le relative righe) verso AS400 andando a copaire nelle relative tabelle _AS
*
* Steamware, S.E.L.
* mod: 2010.07.19
*
****************************************/
CREATE PROCEDURE stp_LP_exportToAs400
(
@CodLista NVARCHAR(12)
)
AS
BEGIN TRAN
-- inizio con un controllo se devo processare verso AS400 la lista di prelievo...
DECLARE @toAs400 BIT
SET @toAs400 = (SELECT ISNULL(tlp.toAs400, 0) as valore
FROM TipoListaPrelievo AS tlp INNER JOIN ElencoListePrelievo AS elp ON tlp.CodTipoLista = elp.CodTipoLista
WHERE (elp.CodLista = @CodLista)
)
IF(@toAs400 > 0)
BEGIN
-- copio la lista (intestazione)
INSERT INTO ElencoListePrelievo_AS(CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare,
DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario)
SELECT CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare,
DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario
FROM ElencoListePrelievo
WHERE (CodLista = @CodLista)
-- copio le righe lista di dettaglio
INSERT INTO RigheListePrelievo_AS(CodLista, UDC, Qta, Proposto, Prelevato)
SELECT CodLista, UDC, Qta, Proposto, Prelevato
FROM RigheListePrelievo
WHERE (CodLista = @CodLista) AND Prelevato = 1
-- aggiorno le quantità passate ad AS...
UPDATE ElencoListePrelievo_AS
SET QtaTot = ( SELECT SUM(Qta) AS QtaTot FROM RigheListePrelievo WHERE (CodLista = @CodLista) AND Prelevato = 1 )
WHERE (CodLista = @CodLista)
END
COMMIT TRAN
-- IMPORTANTE: in caso siano rimasti riferimenti ad un UDC scaricato in AS in altre liste di prelievo li tolgo in modo da "ripulirle" ed evitare che lo stesso UDC venga prelevato 2 volte...
DELETE RLP
FROM RigheListePrelievo RLP
INNER JOIN ElencoListePrelievo ELP
ON RLP.CodLista = ELP.CodLista
WHERE ELP.CodStatoLista < 4 AND RLP.CodLista <> @CodLista AND RLP.UDC IN (
SELECT UDC
FROM RigheListePrelievo
WHERE (CodLista = @CodLista) AND Prelevato = 1
)
RETURN
GO
PRINT N'Creating [dbo].[stp_LP_getOpenByUserTipo]...';
GO
/***************************************
* STORED stp_LP_getOpenByUserTipo
*
* ottiene LP aperte da soggetto e tipo
*
* Steamware, S.E.L.
* mod: 2012.03.01
*
****************************************/
create PROCEDURE [dbo].[stp_LP_getOpenByUserTipo]
(
@CodSoggetto NVARCHAR(17),
@CodTipoLista NVARCHAR(10)
)
AS
SELECT *
FROM V_elencoListePrelievo
WHERE (CodSoggetto = @CodSoggetto) AND (CodTipoLista = @CodTipoLista)
AND CodStatoLista < 3
RETURN
GO
PRINT N'Creating [dbo].[stp_LP_getOpenByUserTipoPart]...';
GO
/***************************************
* STORED stp_LP_getOpenByUserTipoPart
*
* ottiene LP aperte da soggetto, tipo e particolare
*
* Steamware, S.E.L.
* mod: 2012.03.01
*
****************************************/
CREATE PROCEDURE [dbo].[stp_LP_getOpenByUserTipoPart]
(
@CodSoggetto NVARCHAR(17),
@CodTipoLista NVARCHAR(10),
@Particolare VARCHAR(15)
)
AS
SELECT *
FROM V_elencoListePrelievo
WHERE (CodSoggetto = @CodSoggetto) AND (CodTipoLista = @CodTipoLista) AND (Particolare = @Particolare)
AND CodStatoLista < 3
RETURN
GO
PRINT N'Creating [dbo].[stp_LP_updateDestTipo]...';
GO
/***************************************
* STORED stp_LP_updateDestTipo
*
* aggiorna destinatario e tipo per una lista di prelievo
*
* Steamware, S.E.L.
* mod: 2012.03.06
*
************************************/
CREATE PROCEDURE [dbo].[stp_LP_updateDestTipo]
(
@Original_CodLista NVARCHAR(12),
@CodTipoLista VARCHAR(10),
@CodCliente NVARCHAR(6),
@RagSociale NVARCHAR(50),
@CodSoggetto VARCHAR(17),
@DataMod DATETIME
)
AS
-- aggiorno lista prelievo con nuovo UDC
UPDATE dbo.ElencoListePrelievo
SET CodTipoLista = @CodTipoLista,
Destinatario = @CodCliente,
DestinatarioDescrizione = @RagSociale,
CodSoggetto = @CodSoggetto,
DataModStato = @DataMod
WHERE CodLista = @Original_CodLista
AND CodStatoLista = 3
/* 18-06-2013 messo blocco anche qui dopo aver trovati liste di prelievo già scaricate con tipo e destinatario
modificati
UPDATE ElencoListePrelievo
SET CodTipoLista = @CodTipoLista,
Destinatario = @CodCliente,
DestinatarioDescrizione = @RagSociale
WHERE CodLista = @Original_CodLista
*/
RETURN
GO
PRINT N'Creating [dbo].[stp_LP_updateUDC]...';
GO
/***************************************
* STORED stp_LP_updateUDC
*
* modifica l'UDC in una riga di lista prelievo
*
* Steamware, S.E.L. 8 (from Stintino)
* mod: 2010.07.15
*
************************************/
CREATE PROCEDURE [dbo].[stp_LP_updateUDC]
(
@Original_CodLista VARCHAR(12),
@Original_UDC VARCHAR(50),
@UDC VARCHAR(50)
)
AS
SET @UDC = UPPER(@UDC) -- metto ad Upper nel caso venga passato in minuscolo
-- aggiorno lista prelievo con nuovo UDC
UPDATE RigheListePrelievo
SET UDC = @UDC, QTA = (SELECT Qta FROM ElencoCartellini WHERE UDC = @UDC)
WHERE CodLista = @Original_CodLista AND UDC = @Original_UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_magazzinoLogicoOverview]...';
GO
/***************************************
* STORED stp_ParticolariOverview
*
* elenco di overview sullo stato dei magazzini LOGICI (dettaglio a "maglie larghe")
*
* Steamware, S.E.L.
* mod: 2010.09.15
*
****************************************/
CREATE PROCEDURE stp_magazzinoLogicoOverview
(
@CodCS VARCHAR(2)
)
AS
SELECT ElencoCartellini.CodCS, AnagPosizioni.IdxPosizione AS CodMagLogico, AnagPosizioni.DescPosizione AS DescMagLogico, Blocchi.IdxBlocco, AnagMag.CodMag,
Blocchi.CodBlocco, COUNT(ElencoCartellini.UDC) AS CelleOccupate, ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest,
ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest
FROM Celle INNER JOIN
Blocchi INNER JOIN
AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
ElencoCartellini INNER JOIN
PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC INNER JOIN
AnagPosizioni ON ElencoCartellini.IdxPosizione = AnagPosizioni.IdxPosizione ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
WHERE (ElencoCartellini.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0)
GROUP BY ElencoCartellini.CodCS, AnagPosizioni.IdxPosizione, AnagPosizioni.DescPosizione, Blocchi.IdxBlocco, Blocchi.CodBlocco, AnagMag.CodMag
ORDER BY CodMagLogico, Blocchi.CodBlocco
RETURN
GO
PRINT N'Creating [dbo].[stp_magazzinoOverview]...';
GO
/***************************************
* STORED stp_ParticolariOverview
*
* elenco di overview sullo stato dei magazzini (dettaglio a "maglie larghe")
*
* Steamware, S.E.L.
* mod: 2013.06.17 x Cella Terra Bloccata non visibile
* procedura vecchia in fondo
****************************************/
CREATE PROCEDURE stp_magazzinoOverview
(
@CodCS VARCHAR(2),
@particolare NVARCHAR(15) = ''
)
AS
-- controllo se particolare vuoto o '*' mostro tutto...
IF(@particolare = '' OR @particolare='*' OR @particolare IS NULL)
BEGIN
SELECT
AnagMag.CodCS ,
AnagMag.CodMag ,
AnagMag.DescMag ,
Blocchi.IdxBlocco ,
Blocchi.CodBlocco ,
Blocchi.DescBlocco ,
TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle,
TipoCella.Capienza * COUNT( DISTINCT ( CASE WHEN Celle.Attiva = 1 THEN Celle.IdxCella
ELSE NULL END ) ) AS CelleAttive,
COUNT( PosizioneUdcCorrente.UDC )AS CelleOccupate,
-- COUNT( CASE WHEN Celle.Attiva = 1 THEN PosizioneUdcCorrente.UDC ELSE NULL END ) AS CelleAttiveOccupate,
-- CelleLibere = CelleAttive - CelleOccupate ( solo se attive )
( TipoCella.Capienza * COUNT( DISTINCT ( CASE WHEN Celle.Attiva = 1
THEN Celle.IdxCella ELSE NULL END )) )
- ( COUNT( CASE WHEN Celle.Attiva = 1 THEN PosizioneUdcCorrente.UDC ELSE NULL END ) ) AS CelleLibere,
ISNULL( MIN( PosizioneUdcCorrente.DataRif ) , GETDATE( ))AS Oldest ,
ISNULL( MAX( PosizioneUdcCorrente.DataRif ) , GETDATE( ))AS Newest
FROM AnagMag
INNER JOIN Blocchi
ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS
INNER JOIN TipoCella
ON AnagMag.CodMag = TipoCella.CodMag AND AnagMag.CodCS = TipoCella.CodCS
INNER JOIN Celle
ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco
LEFT OUTER JOIN PosizioneUdcCorrente
ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
WHERE AnagMag.CodCS = @CodCS AND ISNULL( AnagMag.Nascosto , 0 ) = 0 -- escludo mag. nascosti
GROUP BY AnagMag.CodCS ,
AnagMag.CodMag ,
AnagMag.DescMag ,
Blocchi.IdxBlocco ,
Blocchi.CodBlocco ,
Blocchi.DescBlocco ,
Blocchi.NumX ,
Blocchi.NumY ,
Blocchi.NumZ ,
TipoCella.Capienza
ORDER BY AnagMag.CodMag , Blocchi.CodBlocco;
END
ELSE
BEGIN
SELECT
AnagMag.CodCS ,
AnagMag.CodMag ,
AnagMag.DescMag ,
Blocchi.IdxBlocco ,
Blocchi.CodBlocco ,
Blocchi.DescBlocco ,
TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle,
-- CelleLibere e CelleAttive = 0 altrimenti grafico videata non corretto con selezione particolare
CONVERT(INT, 0 ) AS CelleAttive,
COUNT( CASE WHEN ec.particolare = @particolare THEN PosizioneUdcCorrente.UDC ELSE NULL END ) AS CelleOccupate,
CONVERT(INT, 0 ) AS CelleLibere,
-- Calcoli normali x CelleLibere e CelleAttive ( verificare grafico videata - calcoli corretti )
--TipoCella.Capienza * COUNT( DISTINCT ( CASE WHEN Celle.Attiva = 1 THEN Celle.IdxCella
-- ELSE NULL END ) ) AS CelleAttive,
--COUNT( CASE WHEN ec.particolare = @particolare THEN PosizioneUdcCorrente.UDC ELSE NULL END ) AS CelleOccupate,
--( TipoCella.Capienza * COUNT( DISTINCT ( CASE WHEN Celle.Attiva = 1 THEN Celle.IdxCella ELSE NULL END )) )
-- - ( COUNT( CASE WHEN Celle.Attiva = 1 THEN PosizioneUdcCorrente.UDC ELSE NULL END ) ) AS CelleLibere,
ISNULL( MIN( CASE WHEN ec.particolare = @particolare THEN PosizioneUdcCorrente.DataRif ELSE NULL END ) , GETDATE( ))AS Oldest ,
ISNULL( MAX( CASE WHEN ec.particolare = @particolare THEN PosizioneUdcCorrente.DataRif ELSE NULL END ) , GETDATE( ))AS Newest
FROM AnagMag
INNER JOIN Blocchi
ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS
INNER JOIN TipoCella
ON AnagMag.CodMag = TipoCella.CodMag AND AnagMag.CodCS = TipoCella.CodCS
INNER JOIN Celle
ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco
LEFT OUTER JOIN PosizioneUdcCorrente
ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
LEFT OUTER JOIN ElencoCartellini ec ON PosizioneUdcCorrente.UDC = ec.UDC
WHERE AnagMag.CodCS = @CodCS AND ISNULL( AnagMag.Nascosto , 0 ) = 0 -- escludo mag. nascosti
GROUP BY AnagMag.CodCS ,
AnagMag.CodMag ,
AnagMag.DescMag ,
Blocchi.IdxBlocco ,
Blocchi.CodBlocco ,
Blocchi.DescBlocco ,
Blocchi.NumX ,
Blocchi.NumY ,
Blocchi.NumZ ,
TipoCella.Capienza
-- filtro solo i magazzini con il particolare richiesto
HAVING COUNT( CASE WHEN ec.particolare = @particolare THEN PosizioneUdcCorrente.UDC ELSE NULL END ) > 0
ORDER BY AnagMag.CodMag , Blocchi.CodBlocco;
END
/* OLD 17/06/2013 Problema della cella terra bloccata non più visibile e delle celle bloccate piene
SELECT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco,
TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle,
TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) AS CelleAttive,
COUNT(PosizioneUdcCorrente.UDC) AS CelleOccupate,
TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) - COUNT(PosizioneUdcCorrente.UDC) AS CelleLibere,
ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest
FROM TipoCella INNER JOIN
AnagMag INNER JOIN
Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS ON TipoCella.CodMag = AnagMag.CodMag AND
TipoCella.CodCS = AnagMag.CodCS LEFT OUTER JOIN
Celle ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco LEFT OUTER JOIN
PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0)
GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco,
Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ,
TipoCella.Capienza
ORDER BY AnagMag.CodMag, Blocchi.CodBlocco
END
ELSE
BEGIN
SELECT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco,
TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle,
TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) AS CelleAttive,
COUNT(PosizioneUdcCorrente.UDC) AS CelleOccupate,
TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) - COUNT(PosizioneUdcCorrente.UDC) AS CelleLibere,
ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest
FROM TipoCella INNER JOIN
AnagMag INNER JOIN
Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS ON TipoCella.CodMag = AnagMag.CodMag AND
TipoCella.CodCS = AnagMag.CodCS LEFT OUTER JOIN
Celle ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco LEFT OUTER JOIN
PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
INNER JOIN ElencoCartellini ec ON PosizioneUdcCorrente.UDC = ec.UDC
WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0) AND ec.particolare = @particolare
GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco,
Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ,
TipoCella.Capienza
ORDER BY AnagMag.CodMag, Blocchi.CodBlocco
END
*/
RETURN
GO
PRINT N'Creating [dbo].[stp_magazzinoOverview_maxCelle]...';
GO
/***************************************
* STORED stp_ParticolariOverview
*
* restituisce solo la riga con il num max di celle
*
* Steamware, S.E.L.
* mod: 2010.06.02
*
****************************************/
CREATE PROCEDURE [dbo].[stp_magazzinoOverview_maxCelle]
(
@CodCS VARCHAR(2)
)
AS
WITH cte_celle AS(
SELECT b.CodBlocco, c.IdxTipoCella, COUNT(c.IdxCella) * t.Capienza AS numCelle
FROM Celle AS c INNER JOIN
Blocchi AS b ON c.IdxBlocco = b.IdxBlocco INNER JOIN
TipoCella AS t ON c.IdxTipoCella = t.IdxTipoCella
WHERE (b.CodCS = @CodCS)
GROUP BY b.CodBlocco, c.IdxTipoCella, t.Capienza
)
SELECT TOP (1) AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, b.IdxBlocco, b.CodBlocco, b.DescBlocco,
ISNULL(c.numCelle,ISNULL(b.NumX * b.NumY * b.NumZ,1)) AS TotCelle,
0 AS CelleAttive, 0 AS CelleOccupate, 0 AS CelleLibere, GETDATE() AS Oldest, GETDATE() AS Newest
FROM AnagMag INNER JOIN Blocchi b ON AnagMag.CodMag = b.CodMag AND AnagMag.CodCS = b.CodCS INNER JOIN cte_celle c ON c.CodBlocco = b.CodBlocco
WHERE (AnagMag.CodCS = @CodCS)
ORDER BY TotCelle DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_magazzinoOverviewByMag_maxCelle]...';
GO
/***************************************
* STORED stp_ParticolariOverview
*
* restituisce solo la riga con il num max di celle DI UN DATO magazzino
*
* Steamware, S.E.L.
* mod: 2010.06.02
*
****************************************/
CREATE PROCEDURE [dbo].[stp_magazzinoOverviewByMag_maxCelle]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50)
)
AS
WITH cte_celle AS(
SELECT b.CodBlocco, c.IdxTipoCella, COUNT(c.IdxCella) * t.Capienza AS numCelle
FROM Celle AS c INNER JOIN
Blocchi AS b ON c.IdxBlocco = b.IdxBlocco INNER JOIN
TipoCella AS t ON c.IdxTipoCella = t.IdxTipoCella
WHERE (b.CodCS = @CodCS) AND (b.CodMag = @CodMag)
GROUP BY b.CodBlocco, c.IdxTipoCella, t.Capienza
)
SELECT TOP (1) AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, b.IdxBlocco, b.CodBlocco, b.DescBlocco,
ISNULL(c.numCelle,ISNULL(b.NumX * b.NumY * b.NumZ,1)) AS TotCelle,
0 AS CelleAttive, 0 AS CelleOccupate, 0 AS CelleLibere, GETDATE() AS Oldest, GETDATE() AS Newest
FROM AnagMag INNER JOIN Blocchi b ON AnagMag.CodMag = b.CodMag AND AnagMag.CodCS = b.CodCS INNER JOIN cte_celle c ON c.CodBlocco = b.CodBlocco
WHERE (AnagMag.CodCS = @CodCS) AND AnagMag.CodMag = @CodMag
ORDER BY TotCelle DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_MagFifoByParticolare]...';
GO
/***************************************
* STORED stp_MagFifoByParticolare
*
* restituisce elenco giacenze a magazzino in logica FIFO per un dato particolare
*
* Steamware, S.E.L.
* mod: 2012.10.01
*
****************************************/
CREATE PROCEDURE [dbo].[stp_MagFifoByParticolare]
(
@CodCS VARCHAR(2),
@Particolare VARCHAR(20)
)
AS
SELECT b.IdxBlocco, b.CodBlocco, b.DescBlocco, ec.Particolare
, COUNT(puc.UDC) AS NumUDC
, ISNULL(MIN(puc.DataRif) , GETDATE()) AS Oldest
, ISNULL(MAX(puc.DataRif) , GETDATE()) AS Newest
, SUM(ec.Qta) AS QtaTotPz
FROM AnagMag am
INNER JOIN Blocchi b ON am.CodMag = b.CodMag AND am.CodCS = b.CodCS
INNER JOIN Celle c
INNER JOIN ElencoCartellini ec
LEFT OUTER JOIN PosizioneUdcCorrente puc ON ec.UDC = puc.UDC ON c.IdxCella = puc.IdxCella ON b.IdxBlocco = c.IdxBlocco
INNER JOIN AnagStatiProdotto asp ON ec.CodStato = asp.CodStato
WHERE (c.Attiva = 1)
AND b.CodMag <> 'VMLP'
AND (am.CodCS = @CodCS)
AND (ec.Particolare = @Particolare)
GROUP BY b.IdxBlocco, b.CodBlocco, b.DescBlocco, ec.Particolare
ORDER BY Oldest ASC
RETURN
GO
PRINT N'Creating [dbo].[stp_magGetByCodMag]...';
GO
/***************************************
* STORED stp_magGetByCodMag
*
* ottiene l'elenco dei magazzini dal codice Company/Sito + codice magazzino richiesti
*
* Steamware, S.E.L.
* mod: 2010.05.12
*
****************************************/
CREATE PROCEDURE [dbo].[stp_magGetByCodMag]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50)
)
AS
SELECT *
FROM AnagMag
WHERE CodCS = @CodCS
AND CodMag = @CodMag
RETURN
GO
PRINT N'Creating [dbo].[stp_magGetByCS]...';
GO
/***************************************
* STORED stp_magGetByCS
*
* ottiene l'elenco dei magazzini dal codice Company/Sito richiesto
*
* Steamware, S.E.L.
* mod: 2010.05.12
*
****************************************/
CREATE PROCEDURE [dbo].[stp_magGetByCS]
(
@CodCS VARCHAR(2)
)
AS
SELECT *
FROM AnagMag
WHERE CodCS = @CodCS
RETURN
GO
PRINT N'Creating [dbo].[stp_ODETTE_delete]...';
GO
/*****************************************
* STORED stp_ODETTE_delete
*
* Elimina una riga etichetta odette
*
* Steamware, S.E.L.
* mod: 2011.05.10
*
****************************************/
create PROCEDURE stp_ODETTE_delete
(
@Original_CampoUDC NVARCHAR(50)
)
AS
DELETE
FROM Odette
WHERE CampoUDC = @Original_CampoUDC
RETURN
GO
PRINT N'Creating [dbo].[stp_ODETTE_deleteByLDP]...';
GO
/*****************************************
* STORED stp_ODETTE_deleteByLDP
*
* Elimina una riga etichetta odette
*
* Steamware, S.E.L.
* mod: 2011.05.23
*
****************************************/
create PROCEDURE stp_ODETTE_deleteByLDP
(
@CodLista NVARCHAR(12)
)
AS
DELETE
FROM Odette
WHERE CodLista = @CodLista
RETURN
GO
PRINT N'Creating [dbo].[stp_ODETTE_getByBolla]...';
GO
/*****************************************
* STORED stp_ODETTE_getByBolla
*
* Recupera etichette odette associate ad una bolla CON STATO OK
*
* Steamware, S.E.L.
* mod: 2011.05.23
*
****************************************/
create PROCEDURE stp_ODETTE_getByBolla
(
@CodMag NVARCHAR(2),
@GrpBolla NVARCHAR(1),
@NumBolla NUMERIC(6,0),
@DataBolla NUMERIC(8,0),
@Particolare NVARCHAR(15)
)
AS
SELECT *
FROM Odette
WHERE CodMag = @CodMag
AND GrpBolla = @GrpBolla
AND NumBolla = @NumBolla
AND DataBolla = @DataBolla
AND Particolare = @Particolare
AND StatoOk = 1
RETURN
GO
PRINT N'Creating [dbo].[stp_ODETTE_getByListaPrelievo]...';
GO
/*****************************************
* STORED stp_ODETTE_getByListaPrelievo
*
* Recupera etichette odette associate ad una lista di prelievo CON STATO OK
*
* Steamware, S.E.L.
* mod: 2011.04.29
*
****************************************/
create PROCEDURE stp_ODETTE_getByListaPrelievo
(
@CodLista NVARCHAR(12)
)
AS
/*
SELECT o.*
FROM Odette o INNER JOIN RigheListePrelievo rlp ON o.CampoUDC = rlp.UDC
WHERE (rlp.CodLista = @CodLista) AND (o.StatoOk = 1)
*/
SELECT *
FROM Odette
WHERE (CodLista = @CodLista) AND (StatoOk = 1)
RETURN
GO
PRINT N'Creating [dbo].[stp_ODETTE_getByUDC]...';
GO
/*****************************************
* STORED stp_ODETTE_getByUDC
*
* Recupera etichette odette da stampare (dato un codice UDC)
*
* Steamware, S.E.L.
* mod: 2011.12.19
*
****************************************/
CREATE PROCEDURE [dbo].[stp_ODETTE_getByUDC]
(
@UDC NVARCHAR(50)
)
AS
/* calcolo il codice di raggrupp bolla da passare x generazione cartellino al report partendo da CodCS */
SELECT Od.CampoUDC
,Od.Campo1_1
,Od.Campo1_2
,Od.Campo1_3
,Od.Campo1_4
,Od.Campo1_5
,Od.Campo2_1
,Od.Campo2_2
,Od.Campo2_3
,Od.Campo2_4
,Od.Campo2_5
,Od.Campo3_1
-- Formatto il numero bolla in base alla tabella di decodifica
, dbo.f_padLeft( ISNULL(dec.NumRaggrMag,''), 2, '0' )
+ dbo.f_padLeft( ISNULL(Od.GrpBolla ,''), 1, '0' )
+ dbo.f_padLeft( ISNULL(Od.Campo3_2 ,''), 6, '0' ) AS Campo3_2
,Od.Campo3_3
,Od.Campo3_4
,Od.Campo3_5
,Od.Campo4_1
,Od.Campo4_2
,Od.Campo4_3
,Od.Campo4_4
,Od.Campo4_5
,Od.Campo5_1
,Od.Campo5_2
,Od.Campo5_3
,Od.Campo5_4
,Od.Campo5_5
,Od.Campo6_1
,Od.Campo6_2
,Od.Campo6_3
,Od.Campo6_4
,Od.Campo6_5
,Od.Campo7_1
,Od.Campo7_2
,Od.Campo7_3
,Od.Campo7_4
,Od.Campo7_5
,Od.Campo8_1
,Od.Campo8_2
,Od.Campo8_3
,Od.Campo8_4
,Od.Campo8_5
,Od.Campo9_1
,Od.Campo9_2
,Od.Campo9_3
,Od.Campo9_4
,Od.Campo9_5
,Od.Campo10_1
,Od.Campo10_2
,Od.Campo10_3
,Od.Campo10_4
,Od.Campo10_5
,Od.Campo11_1_1
,Od.Campo11_1_2
,Od.Campo11_1_3
,Od.Campo11_1_4
,Od.Campo11_1_5
,Od.Campo11_2_1
,Od.Campo11_2_2
,Od.Campo11_2_3
,Od.Campo11_2_4
,Od.Campo11_2_5
,Od.Campo12_1
,Od.Campo12_2
,Od.Campo12_3
,Od.Campo12_4
,Od.Campo12_5
,Od.Campo13_1
,Od.Campo13_2
,Od.Campo13_3
,Od.Campo13_4
,Od.Campo13_5
,Od.Campo14_1
,Od.Campo14_2
,Od.Campo14_3
,Od.Campo14_4
,Od.Campo14_5
,Od.Campo15_1
,Od.Campo15_2
,Od.Campo15_3
,Od.Campo15_4
,Od.Campo15_5
,Od.Campo16_1
,Od.Campo16_2
,Od.Campo16_3
,Od.Campo16_4
,Od.Campo16_5
,Od.StatoOk
,Od.CodCS
,Od.CodMag
,Od.GrpBolla
,Od.DataBolla
,Od.NumBolla
,Od.Particolare
,Od.CodLista
FROM Odette AS Od
INNER JOIN RilPro.TabDecodBolla AS dec
ON Od.CodMag = dec.CodRaggrMag
WHERE ( Od.CampoUDC = @UDC )
RETURN
GO
PRINT N'Creating [dbo].[stp_ODETTE_setStato]...';
GO
/*****************************************
* STORED stp_ODETTE_setStato
*
* aggiorna stato etichetta Odette
*
* Steamware, S.E.L.
* mod: 2011.04.29
*
****************************************/
CREATE PROCEDURE [dbo].[stp_ODETTE_setStato]
(
@UDC NVARCHAR(50),
@StatoOk BIT
)
AS
-- update valori (sovrascrivo...)
UPDATE Odette
SET StatoOk = @StatoOk
WHERE CampoUDC = @UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_ODETTE_updateLingua]...';
GO
/*****************************************
* STORED stp_ODETTE_updateLingua
*
* Salva nell'etichetta ODETTE indicata le stringhe della lingua desiderata
*
* Steamware, S.E.L.
* mod: 2010.10.22
*
****************************************/
CREATE PROCEDURE [dbo].[stp_ODETTE_updateLingua]
(
@UDC NVARCHAR(50),
@Campo1_1 NVARCHAR(50),
@Campo2_1 NVARCHAR(50),
@Campo3_1 NVARCHAR(50),
@Campo4_1 NVARCHAR(50),
@Campo5_1 NVARCHAR(50),
@Campo6_1 NVARCHAR(50),
@Campo7_1 NVARCHAR(50),
@Campo8_1 NVARCHAR(50),
@Campo9_1 NVARCHAR(50),
@Campo10_1 NVARCHAR(50),
@Campo11_1_1 NVARCHAR(50),
@Campo11_2_1 NVARCHAR(50),
@Campo12_1 NVARCHAR(50),
@Campo13_1 NVARCHAR(50),
@Campo14_1 NVARCHAR(50),
@Campo15_1 NVARCHAR(50),
@Campo16_1 NVARCHAR(50)
)
AS
UPDATE Odette
SET Campo1_1 = @Campo1_1,
Campo2_1 = @Campo2_1,
Campo3_1 = @Campo3_1,
Campo4_1 = @Campo4_1,
Campo5_1 = @Campo5_1,
Campo6_1 = @Campo6_1,
Campo7_1 = @Campo7_1,
Campo8_1 = @Campo8_1,
Campo9_1 = @Campo9_1,
Campo10_1 = @Campo10_1,
Campo11_1_1 = @Campo11_1_1,
Campo11_2_1 = @Campo11_2_1,
Campo12_1 = @Campo12_1,
Campo13_1 = @Campo13_1,
Campo14_1 = @Campo14_1,
Campo15_1 = @Campo15_1,
Campo16_1 = @Campo16_1
WHERE CampoUDC = @UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_ODETTE_updateVal]...';
GO
/*****************************************
* STORED stp_ODETTE_updateVal
*
* effettua aggiornamento valori etichetta Odette
*
* Steamware, S.E.L.
* mod: 2011.04.28
*
****************************************/
CREATE PROCEDURE stp_ODETTE_updateVal
(
@UDC NVARCHAR(50),
@ragSocCli NVARCHAR(50),
@indirCli NVARCHAR(50),
@capCittCli NVARCHAR(50),
@ragSocDest NVARCHAR(50),
@indirDest NVARCHAR(50),
@capCittDest NVARCHAR(50),
@pesoNetto NVARCHAR(50),
@pesoLordo NVARCHAR(50),
@numColli NVARCHAR(50),
@disPart NVARCHAR(50),
@descPart NVARCHAR(50),
@codPart NVARCHAR(50),
@codImb NVARCHAR(50),
@codMaz NVARCHAR(50),
@codNael NVARCHAR(50),
@codAQP NVARCHAR(50)
)
AS
-- COMMIT TRAN
-- update valori (sovrascrivo...)
UPDATE Odette
SET Campo1_2 = @ragSocCli,
Campo1_3 = @indirCli,
Campo1_4 = @capCittCli,
Campo2_2 = @ragSocDest,
Campo2_3 = @indirDest,
Campo2_4 = @capCittDest,
Campo5_2 = @pesoNetto,
Campo6_2 = @pesoLordo,
Campo7_2 = @numColli,
Campo8_2 = @disPart,
Campo8_3 = @disPart,
Campo10_2 = @descPart,
Campo11_1_2 = @codPart,
Campo11_1_3 = @codPart,
Campo11_2_2 = @codImb,
Campo11_2_3 = @codImb,
Campo12_2 = @codMaz,
Campo12_3 = @codMaz,
Campo14_2 = @codNael,
Campo16_5 = ISNULL(@codAQP,'')
WHERE CampoUDC = @UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_ODETTE_upsertUdc]...';
GO
/*****************************************
* STORED stp_ODETTE_upsertUdc
*
* effettua upsert x l'UDC (ovver crea nuovo solo se non c'è...)
*
* Steamware, S.E.L.
* mod: 2011.04.28
*
****************************************/
CREATE PROCEDURE stp_ODETTE_upsertUdc
(
@UDC NVARCHAR(50),
@CodCS VARCHAR(2),
@numBolla NVARCHAR(6),
@dataBolla NVARCHAR(8),
@CodMag NVARCHAR(2),
@GrpBolla NVARCHAR(1),
@Particolare NVARCHAR(15),
@CodLista NVARCHAR(12),
@IndStabFrom NVARCHAR(50),
@qtaCont NVARCHAR(50)
)
AS
-- DECLARE iniziali x gestione contatori odette
DECLARE @Flusso AS VARCHAR(2)
DECLARE @Anno AS VARCHAR(2)
DECLARE @numOdette AS INT
DECLARE @nextOdette AS INT
------------------------------------------------------------------------------------------------------
-- Fix flusso ed anno x 'OD' e '00' (contatore non spezzato su anno...
------------------------------------------------------------------------------------------------------
SET @Flusso = 'OD'
SET @Anno = '00'
------------------------------------------------------------------------------------------------------
-- Contatore Odette
------------------------------------------------------------------------------------------------------
-- controllo se ci sia già un odette per company / flusso / anno
BEGIN TRAN
-- cerco nella tab contatori UDC l'ultimo valido
/*
SET @numOdette = (
SELECT COUNT(*)
FROM Odette
WHERE CodCS = @CodCS
)
*/
-- controllo se record c'è...
IF EXISTS(
SELECT *
FROM ContatoriUdc
WHERE CodCS = @CodCS
AND Flusso = @Flusso
AND Anno = @Anno
)
BEGIN
-- se c'è incremento di 1 in tab
UPDATE ContatoriUdc
SET LastIdx = LastIdx + 1
WHERE CodCS = @CodCS
AND Flusso = @Flusso
AND Anno = @Anno
END
ELSE
BEGIN
-- lo creo!
INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
VALUES (@CodCS, @Flusso, @Anno, 1)
END
-- aggiorno numero UDC
SET @numOdette = (
SELECT LastIdx
FROM ContatoriUdc
WHERE CodCS = @CodCS
AND Flusso = @Flusso
AND Anno = @Anno
)
COMMIT TRAN
-- cerco se ci sia già la riga Odette
DECLARE @udcTrovati AS INT
SET @udcTrovati = ( SELECT COUNT(*) FROM Odette WHERE CampoUDC = @UDC )
-- controllo se esista già... se non c'è creo
IF (@udcTrovati = 0)
BEGIN
INSERT INTO Odette(CampoUDC, StatoOk, CodCS)
VALUES(@UDC, 0, @CodCS)
END
-- calcolo valori x update
DECLARE @DataB AS NVARCHAR(7)
SET @DataB = ( SELECT 'D'+ SUBSTRING(@dataBolla, 3, 6) )
DECLARE @udcShort NVARCHAR(10)
SET @udcShort = dbo.f_onlyNumbers(@UDC)
-- update valori (sovrascrivo...)
UPDATE Odette
SET Campo3_2 = @numBolla,
Campo3_3 = @numBolla,
Campo4_2 = @IndStabFrom,
Campo9_2 = @qtaCont,
Campo9_3 = @qtaCont,
Campo13_2 = @DataB,
Campo15_2 = @numOdette,
Campo15_3 = @numOdette,
Campo16_2 = @udcShort, --@UDC, -- DA VERICARE, mettere UDC da anno in poi?!? @udcShort calcolato sopra? magari è sbagliato...
CodMag = @CodMag,
GrpBolla = @GrpBolla,
DataBolla = CAST(@dataBolla AS NUMERIC(8,0)),
NumBolla = CAST(@numBolla AS NUMERIC(6,0)),
Particolare = @Particolare,
CodLista = @CodLista
WHERE CampoUDC = @UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_OdetteStatoCreate]...';
GO
-- =================================================================================================
/*****************************************
* STORED stp_OdetteStatoCreate
*
* Restituisce il numero di odette create e da creare per una PackList
*
* Steamware, S.E.L.
* mod: 2011.05.04
*
****************************************/
CREATE PROCEDURE [dbo].[stp_OdetteStatoCreate]
(
@CodLista NVARCHAR(50)
)
AS
DECLARE @OdetteCreate INT
DECLARE @OdetteDaCreare INT
SET @OdetteCreate = (SELECT COUNT(o.CampoUDC)
FROM ODETTE o INNER JOIN RigheListePrelievo rlp ON o.CampoUDC=rlp.UDC
WHERE rlp.CodLista = @CodLista)
SET @OdetteDaCreare = (SELECT COUNT(UDC)
FROM RigheListePrelievo
WHERE CodLista = @CodLista)
SELECT ISNULL(@OdetteCreate,0) AS OdetteCreate, ISNULL(@OdetteDaCreare,0) AS OdetteDaCreare
RETURN
GO
PRINT N'Creating [dbo].[stp_paretoDettMagByParticolare]...';
GO
/***************************************
* STORED stp_paretoDettMagByParticolare
*
* restituisce elenco giacenze a magazzino in logica pareto (quantità) per un dato particolare
*
* Steamware, S.E.L.
* mod: 2010.06.04
*
****************************************/
CREATE PROCEDURE [dbo].[stp_paretoDettMagByParticolare]
(
@CodCS VARCHAR(2),
@Particolare VARCHAR(20)
)
AS
SELECT TOP (100) PERCENT am.CodCS, am.CodMag, am.DescMag, b.IdxBlocco, b.CodBlocco, ec.Particolare,
ec.Esponente, COUNT(puc.UDC) AS NumUDC, ISNULL(MIN(puc.DataRif),
GETDATE()) AS Oldest, ISNULL(MAX(puc.DataRif), GETDATE()) AS Newest, SUM(ec.Qta) AS QtaTotPz,
asp.DescStato, ec.IdxPosizione AS CodMagLog
FROM AnagMag am INNER JOIN
Blocchi b ON am.CodMag = b.CodMag AND am.CodCS = b.CodCS INNER JOIN
Celle c INNER JOIN
ElencoCartellini ec LEFT OUTER JOIN
PosizioneUdcCorrente puc ON ec.UDC = puc.UDC ON c.IdxCella = puc.IdxCella ON
b.IdxBlocco = c.IdxBlocco INNER JOIN
AnagStatiProdotto asp ON ec.CodStato = asp.CodStato
WHERE (c.Attiva = 1) AND (am.CodCS = @CodCS) AND (ec.Particolare = @Particolare)
GROUP BY am.CodCS, am.CodMag, am.DescMag, b.IdxBlocco, b.CodBlocco, b.NumX, b.NumY, b.NumZ,
ec.Particolare, ec.Esponente, ec.IdxPosizione, asp.DescStato
ORDER BY QtaTotPz DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_paretoDettPartByFullSpec]...';
GO
/***************************************
* STORED stp_paretoDettPartByFullSpec
*
* restituisce elenco particolari in logica pareto (quantità) per un dato blocco di magazzino e il particolare
*
* Steamware, S.E.L.
* mod: 2010.06.04
*
****************************************/
create PROCEDURE [dbo].[stp_paretoDettPartByFullSpec]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@IdxBlocco INT,
@Particolare VARCHAR(20)
)
AS
SELECT TOP (100) PERCENT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, ElencoCartellini.Particolare,
ElencoCartellini.Esponente, COUNT(PosizioneUdcCorrente.UDC) AS NumUDC, ISNULL(MIN(PosizioneUdcCorrente.DataRif),
GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest, SUM(ElencoCartellini.Qta) AS QtaTotPz,
AnagStatiProdotto.DescStato
FROM AnagMag INNER JOIN
Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS INNER JOIN
Celle INNER JOIN
ElencoCartellini INNER JOIN
PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella ON
Blocchi.IdxBlocco = Celle.IdxBlocco INNER JOIN
AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (AnagMag.CodMag = @CodMag) AND (Blocchi.IdxBlocco = @IdxBlocco) AND
(ElencoCartellini.Particolare = @Particolare)
GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ,
ElencoCartellini.Particolare, ElencoCartellini.Esponente, AnagStatiProdotto.DescStato
ORDER BY QtaTotPz DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_paretoDettPartByFullSpecMagLog]...';
GO
/***************************************
* STORED stp_paretoDettPartByFullSpecMagLog
*
* restituisce elenco particolari in logica pareto (quantità) per un dato blocco di magazzino e il particolare ed il magazzino logico!!!
*
* Steamware, S.E.L.
* mod: 2010.09.15
*
****************************************/
create PROCEDURE stp_paretoDettPartByFullSpecMagLog
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@IdxBlocco INT,
@Particolare VARCHAR(20),
@CodMagLog INT
)
AS
SELECT TOP (100) PERCENT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, ElencoCartellini.Particolare,
ElencoCartellini.Esponente, COUNT(PosizioneUdcCorrente.UDC) AS NumUDC, ISNULL(MIN(PosizioneUdcCorrente.DataRif),
GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest, SUM(ElencoCartellini.Qta) AS QtaTotPz,
AnagStatiProdotto.DescStato
FROM AnagMag INNER JOIN
Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS INNER JOIN
Celle INNER JOIN
ElencoCartellini INNER JOIN
PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella ON
Blocchi.IdxBlocco = Celle.IdxBlocco INNER JOIN
AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (AnagMag.CodMag = @CodMag) AND (Blocchi.IdxBlocco = @IdxBlocco) AND
(ElencoCartellini.Particolare = @Particolare) AND ElencoCartellini.IdxPosizione = @CodMagLog
GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ,
ElencoCartellini.Particolare, ElencoCartellini.Esponente, AnagStatiProdotto.DescStato
ORDER BY QtaTotPz DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_paretoPartByMagBlocco]...';
GO
/***************************************
* STORED stp_paretoPartByMagBlocco
*
* restituisce elenco particolari in logica pareto (quantità) per un dato blocco di magazzino, aggregati (no stato)
*
* Steamware, S.E.L.
* mod: 2010.06.03
*
****************************************/
CREATE PROCEDURE [dbo].[stp_paretoPartByMagBlocco]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@IdxBlocco INT
)
AS
SELECT
dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco,
dbo.ElencoCartellini.Particolare, '' as Esponente, COUNT(dbo.PosizioneUdcCorrente.UDC) AS NumUDC, ISNULL(MIN(dbo.PosizioneUdcCorrente.DataRif),
GETDATE()) AS Oldest, ISNULL(MAX(dbo.PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest, SUM(dbo.ElencoCartellini.Qta) AS QtaTotPz,
'' AS DescStato
FROM dbo.AnagMag INNER JOIN
dbo.Blocchi ON dbo.AnagMag.CodMag = dbo.Blocchi.CodMag AND dbo.AnagMag.CodCS = dbo.Blocchi.CodCS INNER JOIN
dbo.Celle INNER JOIN
dbo.ElencoCartellini INNER JOIN
dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
ON dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella
ON dbo.Blocchi.IdxBlocco = dbo.Celle.IdxBlocco INNER JOIN
dbo.AnagStatiProdotto ON dbo.ElencoCartellini.CodStato = dbo.AnagStatiProdotto.CodStato
WHERE --(dbo.Celle.Attiva = 1) AND -- disattivata Redmine #46
(AnagMag.CodCS = @CodCS) AND AnagMag.CodMag = @CodMag AND Blocchi.IdxBlocco = @IdxBlocco
GROUP BY dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco,
dbo.Blocchi.NumX, dbo.Blocchi.NumY, dbo.Blocchi.NumZ, dbo.ElencoCartellini.Particolare
ORDER BY QtaTotPz DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_paretoPartByMagBloccoCodMagLog]...';
GO
/***************************************
* STORED stp_paretoPartByMagBloccoCodMagLog
*
* restituisce elenco particolari in logica pareto (quantità) per un dato blocco di magazzino ed un dato magazzino logico, aggregati (no stato)
*
* Steamware, S.E.L.
* mod: 2010.09.15
*
****************************************/
CREATE PROCEDURE [dbo].[stp_paretoPartByMagBloccoCodMagLog]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50),
@IdxBlocco INT,
@CodMagLog INT
)
AS
SELECT
dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco,
dbo.ElencoCartellini.Particolare, '' as Esponente, COUNT(dbo.PosizioneUdcCorrente.UDC) AS NumUDC, ISNULL(MIN(dbo.PosizioneUdcCorrente.DataRif),
GETDATE()) AS Oldest, ISNULL(MAX(dbo.PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest, SUM(dbo.ElencoCartellini.Qta) AS QtaTotPz,
'' AS DescStato
FROM dbo.AnagMag INNER JOIN
dbo.Blocchi ON dbo.AnagMag.CodMag = dbo.Blocchi.CodMag AND dbo.AnagMag.CodCS = dbo.Blocchi.CodCS INNER JOIN
dbo.Celle INNER JOIN
dbo.ElencoCartellini INNER JOIN
dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
ON dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella
ON dbo.Blocchi.IdxBlocco = dbo.Celle.IdxBlocco INNER JOIN
dbo.AnagStatiProdotto ON dbo.ElencoCartellini.CodStato = dbo.AnagStatiProdotto.CodStato
WHERE --(dbo.Celle.Attiva = 1) AND -- disattivata Redmine #46
(AnagMag.CodCS = @CodCS) AND AnagMag.CodMag = @CodMag AND Blocchi.IdxBlocco = @IdxBlocco
AND ElencoCartellini.IdxPosizione = @CodMagLog
GROUP BY dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco,
dbo.Blocchi.NumX, dbo.Blocchi.NumY, dbo.Blocchi.NumZ, dbo.ElencoCartellini.Particolare
ORDER BY QtaTotPz DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_ParticolareInOutOk]...';
GO
/***************************************
* STORED stp_getParticolareOutputOk
*
* Ritorna se il particolare IN ( UDC in Ingresso ) sia presente nella distinta del
* particolare OUT ( UDC in Uscita / creazione )
*
* Steamware, G.A.R.
* mod: 2014.02.12
*
* EXECUTE dbo.stp_ParticolareInOutOk '1LVT00380000', '1GRZ00370000' , TRUE
* EXECUTE dbo.stp_ParticolareInOutOk '1LVT00380000', '1LVT00380000' , FALSE
*
****************************************/
CREATE PROCEDURE dbo.stp_ParticolareInOutOk
(
@ParticolareOUT AS NVARCHAR(50) = '',
@ParticolareIN AS NVARCHAR(50) = '',
@FlgPartSame AS BIT = 1 -- se true due particolari uguali è OK
)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Return AS INT;
-- se il particolare in ingresso è uguale
IF @ParticolareOUT = @ParticolareIN AND @FlgPartSame = 1
BEGIN SELECT 1 AS Trovati;
RETURN; -- esco
END
-- Cte ricorsiva che a fronte del particolare passati mi ritorna tutto l'albero della distinta
;WITH DistintaCTE ( Particolare , Padre, Figlio, Level ) AS
(
SELECT @ParticolareOUT, d.Padre, d.Figlio, 0 AS Level
FROM RilPro.DistintaAS400 AS d
WHERE d.Padre = @ParticolareOUT
UNION ALL
SELECT Particolare, p.Padre, p.Figlio, Level + 1 -- select ricorsiva
FROM RilPro.DistintaAS400 AS p
INNER JOIN DistintaCTE AS f ON p.Padre = f.Figlio
)
--SELECT Particolare, * FROM DistintaCTE
SELECT @Return = COUNT(*) FROM DistintaCTE
WHERE Figlio = @ParticolareIN
OPTION (MAXRECURSION 1000); -- max n. sottolivelli
SELECT @Return AS Trovati;
END
GO
PRINT N'Creating [dbo].[stp_particolariByConditio]...';
GO
/*****************************************
* STORED stp_particolariByConditio
*
* Recupera elenco particolari data la condizione
*
* Steamware, S.E.L.
* mod: 2012.03.16
*
****************************************/
create PROCEDURE [dbo].[stp_particolariByConditio]
(
@conditio NVARCHAR(50)
)
AS
SELECT *
FROM v_selParticolari
WHERE conditio = @conditio
RETURN
GO
PRINT N'Creating [dbo].[stp_particolariByConditioLikePref]...';
GO
/*****************************************
* STORED stp_particolariByConditioLikePref
*
* Recupera elenco particolari data la condizione e l'inizio del campo value (ricerca like)
*
* Steamware, S.E.L.
* mod: 2012.03.16
*
****************************************/
CREATE PROCEDURE [dbo].[stp_particolariByConditioLikePref]
(
@conditio NVARCHAR(50),
@prefText NVARCHAR(50)
)
AS
-- se conditio ( A-nime P-Prod ) è nulla o '' visualizzo tutti i particolari
IF ( @conditio IS NOT NULL AND @conditio <> '' )
SELECT *
FROM v_selParticolari
WHERE conditio = @conditio
AND value LIKE @prefText + '%';
ELSE
SELECT *
FROM v_selParticolari
WHERE value LIKE @prefText + '%';
RETURN
GO
PRINT N'Creating [dbo].[stp_particolariByConditioValue]...';
GO
/*****************************************
* STORED stp_particolariByConditioValue
*
* Cerca particolari x conditio (tipo particolare) e valore (codice particolare)
*
* Steamware, S.E.L.
* mod: 2013.11.25
*
****************************************/
create PROCEDURE stp_particolariByConditioValue
(
@value NVARCHAR(50),
@conditio NVARCHAR(50) = '*' -- tipo particolare, se '*' = TUTTI altrimenti A/P
)
AS
IF ( @conditio IS NOT NULL AND @conditio <> '*' )
SELECT *
FROM v_selParticolari
WHERE conditio = @conditio
AND value = @value;
ELSE
SELECT *
FROM v_selParticolari
WHERE value = @value;
RETURN
GO
PRINT N'Creating [dbo].[stp_ParticolariEspByParticolare]...';
GO
/*(
* STORED stp_ParticolariEspByParticolare
*
* elenco distinct particolari/esponente da particoalre
*
* Steamware, S.E.L.
* mod: 2010.07.07
*
****************************************/
create PROCEDURE [dbo].[stp_ParticolariEspByParticolare]
(
@Particolare VARCHAR(50)
)
AS
SELECT DISTINCT Particolare, DescParticolare, Esponente, Figura, CodImballo
FROM (
SELECT TOP (1) @Particolare AS Particolare, '' AS DescParticolare, '*' AS Esponente, '' AS Figura, '' AS CodImballo
FROM v_particolariEsponenteFigura
WHERE (Particolare = @Particolare)
UNION
SELECT DISTINCT Particolare, '' AS DescParticolare, Esponente, '' AS Figura, '' AS CodImballo
FROM v_particolariEsponenteFigura
WHERE Particolare = @Particolare
) AS derivTab
RETURN
GO
PRINT N'Creating [dbo].[stp_ParticolariFiguraByParticolare]...';
GO
/*(
* STORED stp_ParticolariFiguraByParticolare
*
* elenco distinct particolari/figure da particoalre
*
* Steamware, S.E.L.
* mod: 2010.07.07
*
****************************************/
create PROCEDURE [dbo].[stp_ParticolariFiguraByParticolare]
(
@Particolare VARCHAR(50)
)
AS
SELECT DISTINCT Particolare, DescParticolare, Esponente, Figura, CodImballo
FROM (
SELECT TOP (1) @Particolare AS Particolare, '' AS DescParticolare, '' AS Esponente, '*' AS Figura, '' AS CodImballo
FROM v_particolariEsponenteFigura
WHERE (Particolare = @Particolare)
UNION
SELECT DISTINCT Particolare, '' AS DescParticolare, '' AS Esponente, Figura, '' AS CodImballo
FROM v_particolariEsponenteFigura
WHERE Particolare = @Particolare
) AS derivTab
RETURN
GO
PRINT N'Creating [dbo].[stp_ParticolariGetLike]...';
GO
/*(
* STORED stp_ParticolariGetLike
*
* elenco dei particolari con ricerca LIKE
*
* Steamware, S.E.L.
* mod: 2010.07.07
*
****************************************/
create PROCEDURE stp_ParticolariGetLike
(
@searchVal VARCHAR(50),
@CodCS VARCHAR(2)
)
AS
SELECT RilPro.AnagParticolari.*
FROM RilPro.AnagParticolari
WHERE (RilPro.AnagParticolari.CodCS = @CodCS) AND (RilPro.AnagParticolari.Particolare LIKE '%' + @searchVal + '%')
RETURN
GO
PRINT N'Creating [dbo].[stp_ParticolariImballoByParticolare]...';
GO
/*(
* STORED stp_ParticolariImballoByParticolare
*
* elenco distinct particolari/imballo da particoalre
*
* Steamware, S.E.L.
* mod: 2010.07.07
*
****************************************/
create PROCEDURE [dbo].[stp_ParticolariImballoByParticolare]
(
@Particolare VARCHAR(50)
)
AS
SELECT DISTINCT Particolare, DescParticolare, Esponente, Figura, CodImballo
FROM (
SELECT TOP (1) @Particolare AS Particolare, '' AS DescParticolare, '' AS Esponente, '' AS Figura, '*' AS CodImballo
FROM v_particolariEsponenteFigura
WHERE (Particolare = @Particolare)
UNION
SELECT DISTINCT Particolare, '' AS DescParticolare, '' AS Esponente, '' AS Figura, CodImballo
FROM v_particolariEsponenteFigura AS v_particolariEsponenteFigura_1
WHERE (Particolare = @Particolare)
) AS derivTab
RETURN
GO
PRINT N'Creating [dbo].[stp_ParticolariOverview]...';
GO
/***************************************
* STORED stp_ParticolariOverview
*
* elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe")
*
* Steamware, S.E.L.
* mod: 2010.05.31
*
****************************************/
CREATE PROCEDURE [dbo].[stp_ParticolariOverview]
(
@searchVal VARCHAR(50),
@CodCS VARCHAR(2)
)
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 = @searchVal
AND ElencoCartellini.IdxPosizione >= 0 -- vincolo posizioni mag attive
GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare
RETURN
GO
PRINT N'Creating [dbo].[stp_ParticolariOverviewLike]...';
GO
/***************************************
* STORED stp_ParticolariOverviewLike
*
* elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe") - modalità LIKE
*
* Steamware, S.E.L.
* mod: 2010.05.31
*
****************************************/
CREATE PROCEDURE [dbo].[stp_ParticolariOverviewLike]
(
@searchVal VARCHAR(50),
@CodCS VARCHAR(2)
)
AS
SELECT RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare, ISNULL(COUNT(ElencoCartellini.UDC), 0) AS NumUDC,
SUM(ISNULL(ElencoCartellini.Qta, 0)) AS TotQta, ISNULL(COUNT(PosizioneUdcCorrente.IdxCella), 0) AS NumInMag
FROM RilPro.AnagParticolari LEFT OUTER JOIN
ElencoCartellini ON RilPro.AnagParticolari.Particolare = ElencoCartellini.Particolare LEFT OUTER JOIN
PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC
WHERE (RilPro.AnagParticolari.CodCS = @CodCS)
AND ((RilPro.AnagParticolari.Particolare LIKE '%' + @searchVal + '%') OR (RilPro.AnagParticolari.DescParticolare LIKE '%' + @searchVal + '%'))
AND ElencoCartellini.IdxPosizione >= 0 -- vincolo posizioni mag attive
GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare
RETURN
GO
PRINT N'Creating [dbo].[stp_ParticolariOverviewLikePrefix]...';
GO
/***************************************
* STORED stp_ParticolariOverviewLike
*
* elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe") - modalità LIKE con testo CHE INIZIA per searchVal
*
* Steamware, S.E.L.
* mod: 2010.07.07
*
****************************************/
CREATE PROCEDURE [dbo].[stp_ParticolariOverviewLikePrefix]
(
@searchVal VARCHAR(50),
@CodCS VARCHAR(2)
)
AS
SELECT RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare, ISNULL(COUNT(ElencoCartellini.UDC), 0) AS NumUDC,
SUM(ISNULL(ElencoCartellini.Qta, 0)) AS TotQta, ISNULL(COUNT(PosizioneUdcCorrente.IdxCella), 0) AS NumInMag
FROM RilPro.AnagParticolari LEFT OUTER JOIN
ElencoCartellini ON RilPro.AnagParticolari.Particolare = ElencoCartellini.Particolare LEFT OUTER JOIN
PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC
WHERE (RilPro.AnagParticolari.CodCS = @CodCS) AND (RilPro.AnagParticolari.Particolare LIKE '%' + @searchVal + '%')
GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare
RETURN
GO
PRINT N'Creating [dbo].[stp_ParticolariOverviewPerListaPrelievo]...';
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
*
****************************************/
CREATE PROCEDURE [dbo].[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
PRINT N'Creating [dbo].[stp_PJQ_chiudiZoombie]...';
GO
/***************************************
* STORED stp_PJQ_chiudiZombie
*
* aggiorna la tabella indicando come zoombie processi che abbiano dtLastTry antecedente a @dtLastTryMax e stato=0
*
* Steamware, S.E.L.
* mod: 2013.10.03
*
****************************************/
CREATE PROCEDURE stp_PJQ_chiudiZoombie
(
@dtLastTryMax DATETIME
)
AS
UPDATE PrintJobQueue
SET stato = -1
WHERE stato = 0 AND dtLastTry < @dtLastTryMax
GO
PRINT N'Creating [dbo].[stp_PJQ_getNext]...';
GO
/***************************************
* STORED stp_PJQ_getNext
*
* restituisce riga del primo job da processare dalla tabella gestione coda
*
* Steamware, S.E.L.
* mod: 2013.07.23
*
****************************************/
create PROCEDURE stp_PJQ_getNext
AS
SELECT TOP 1 *
FROM PrintJobQueue
WHERE stato = 0
ORDER BY IdxPrintJob ASC
GO
PRINT N'Creating [dbo].[stp_PJQ_insert]...';
GO
/***************************************
* STORED stp_PJQ_insert
*
* inserisce un job di stampa in tabella gestioen coda
*
* Steamware, S.E.L.
* mod: 2013.07.23
*
****************************************/
CREATE PROCEDURE stp_PJQ_insert
(
@TipoCart VARCHAR(250),
@UDC VARCHAR(50),
@prtName VARCHAR(500)
)
AS
INSERT INTO PrintJobQueue(TipoCart, UDC, prtName, dtStart, dtLastTry, stato)
VALUES (@TipoCart, @UDC, @prtName, GETDATE(), GETDATE(), 0)
GO
PRINT N'Creating [dbo].[stp_PJQ_updateLastTry]...';
GO
/***************************************
* STORED stp_PJQ_updateStato
*
* aggiorna stato di un job di stampa in tabella gestione coda (stato = 0) x un dato UDC
* indicando che ho tentato di stamparlo (x sapere che non è un processo zombie)
*
* Steamware, S.E.L.
* mod: 2013.10.03
*
****************************************/
CREATE PROCEDURE stp_PJQ_updateLastTry
(
@UDC VARCHAR(50)
)
AS
UPDATE PrintJobQueue
SET dtLastTry = GETDATE()
WHERE stato = 0 AND UDC = @UDC
GO
PRINT N'Creating [dbo].[stp_PJQ_updateStato]...';
GO
/***************************************
* STORED stp_PJQ_updateStato
*
* aggiorna stato di un job di stampa in tabella gestione coda
*
* Steamware, S.E.L.
* mod: 2013.07.23
*
****************************************/
create PROCEDURE stp_PJQ_updateStato
(
@IdxPrintJob INT,
@stato INT
)
AS
UPDATE PrintJobQueue
SET stato = @stato,
dtEnd = GETDATE()
WHERE IdxPrintJob = @IdxPrintJob
GO
PRINT N'Creating [dbo].[stp_posizioniGetByIdxBlocco]...';
GO
/***************************************
* STORED stp_posizioniGetByIdxBlocco
*
* ottiene l'elenco delle posizioni UDC associate ad un dato blocco
*
* Steamware, S.E.L.
* mod: 2010.06.02
*
****************************************/
create PROCEDURE [dbo].[stp_posizioniGetByIdxBlocco]
(
@IdxBlocco INT
)
AS
SELECT PosizioneUdcCorrente.UDC, PosizioneUdcCorrente.IdxCella, PosizioneUdcCorrente.CodCS, PosizioneUdcCorrente.DataRif
FROM Celle INNER JOIN
PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
WHERE (Celle.IdxBlocco = @IdxBlocco)
RETURN
GO
PRINT N'Creating [dbo].[stp_posizioniGetByIdxCella]...';
GO
/***************************************
* STORED stp_posizioniGetByIdxCella
*
* ottiene una singola posizione data la cella richiesta
*
* Steamware, S.E.L.
* mod: 2010.06.03
*
****************************************/
create PROCEDURE [dbo].[stp_posizioniGetByIdxCella]
(
@IdxCella INT
)
AS
SELECT UDC, IdxCella, CodCS, DataRif
FROM PosizioneUdcCorrente
WHERE (IdxCella = @IdxCella)
RETURN
GO
PRINT N'Creating [dbo].[stp_posizioniGetByIdxCellaUdc]...';
GO
/***************************************
* STORED stp_posizioniGetByIdxCellaUdc
*
* ottiene una singola posizione data la cella richiesta e l'UDC (e quindi verifica se sono associate...)
*
* Steamware, S.E.L.
* mod: 2010.06.12
*
****************************************/
create PROCEDURE [dbo].[stp_posizioniGetByIdxCellaUdc]
(
@UDC VARCHAR(50),
@IdxCella INT
)
AS
SELECT UDC, IdxCella, CodCS, DataRif
FROM PosizioneUdcCorrente
WHERE (IdxCella = @IdxCella) AND (UDC = @UDC)
RETURN
GO
PRINT N'Creating [dbo].[stp_processaSpedizTerz]...';
GO
/***************************************
* STORED stp_processaSpedizTerz
*
* effettua la spedizione verso i terzisti, se deliberati è ok così, se non deliberati restano in posizione 305 da deliberare
*
* Steamware, S.E.L.
* mod: 2012.05.30
*
****************************************/
CREATE PROCEDURE [dbo].[stp_processaSpedizTerz]
(
@CodSoggetto NVARCHAR(17)
)
AS
-- UDC x cursore
DECLARE @UDC NVARCHAR(50) -- UDC SQL
-- evento da usare
DECLARE @CodEvento AS NVARCHAR(10)
SET @CodEvento = 'SpeWipTerz'
-- Dichiaro e carico il cursore
DECLARE Udc4Ter CURSOR LOCAL FOR
SELECT UDC FROM ElencoCartellini WHERE IdxPosizione IN (SELECT IdxPosizione FROM TabTranPosizEventi WHERE CodEvento = @CodEvento)
OPEN Udc4Ter
FETCH NEXT FROM Udc4Ter
INTO @UDC
WHILE @@FETCH_STATUS = 0
BEGIN
-- processo gli UDC...
UPDATE ElencoCartellini
SET IdxPosizione = ttpe.IdxPosizioneTo
,ModDate=GETDATE()
,CodEvento = @CodEvento
,CodSoggetto = @CodSoggetto
FROM ElencoCartellini ec INNER JOIN TabTranPosizEventi ttpe ON ec.IdxPosizione=ttpe.IdxPosizione
WHERE ec.UDC = @UDC AND ttpe.CodEvento = @CodEvento
FETCH NEXT FROM Udc4Ter INTO @UDC
END
CLOSE Udc4Ter
DEALLOCATE Udc4Ter
RETURN
GO
PRINT N'Creating [dbo].[stp_prtCartAnimeByUDC]...';
GO
/***************************************
* STORED stp_prtCartAnimeByUDC
*
* ottiene il record del Cartellino ANIME dato l'UDC richiesto x la stampa
*
* Steamware, G.A.R.
* mod: 2012.02.27
*
****************************************/
CREATE PROCEDURE [dbo].[stp_prtCartAnimeByUDC]
(
@UDC NVARCHAR(50)
)
AS
-- estraggo i trattamenti nelle note ( x max 10 trattamenti )
-- NON SERVE PER I CARTELLINI ANIME MA TENGO DATASET IDENTICO
DECLARE @tmp NVARCHAR(500)
DECLARE @NoteTratt NVARCHAR(500)
SET @NoteTratt = ''
-- SET @NoteTratt = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp)))
-- ora seleziono i dati veri e propri
SELECT
ElencoCartellini.UDC, ElencoCartellini.CodCS, ISNULL(ElencoCartellini.CodCliente, N'') AS codcliente,
ISNULL(ElencoCartellini.RagSociale, N'') AS ragsociale, ISNULL(ElencoCartellini.Particolare, N'') AS particolare,
ISNULL(ElencoCartellini.DescParticolare, N'') AS descparticolare, ISNULL(ElencoCartellini.DisegnoGrezzo, N'') AS disegnogrezzo,
ISNULL(ElencoCartellini.Esponente, N'') AS esponente, ISNULL(ElencoCartellini.CodImpianto, N'') AS codimpianto,
ISNULL(ElencoCartellini.DescImpianto, N'') AS descimpianto, ISNULL(ElencoCartellini.CodStampo, N'') AS codstampo,
ISNULL(ElencoCartellini.Figura, N'') AS figura, ISNULL(ElencoCartellini.DataFus, N'') AS datafus,
ISNULL(ElencoCartellini.TurnoFus, N'') AS turnofus, ISNULL(ElencoCartellini.CodImballo, N'') AS codimballo,
ISNULL(ElencoCartellini.CodSoggetto, N'') AS codsoggetto, ISNULL(ElencoCartellini.NumCont, N'') AS numcont,
ISNULL(ElencoCartellini.Tara, N'') AS tara, ISNULL(ElencoCartellini.Qta, N'') AS qta, ISNULL(ElencoCartellini.CodStato, N'') AS codstato,
ISNULL(ElencoCartellini.IdxPosizione, N'') AS idxposizione,
ISNULL(ElencoCartellini.PesoTot, N'') AS pesotot, ISNULL(ElencoCartellini.PesoCad, N'') AS pesocad, ElencoCartellini.CreateDate,
ElencoCartellini.ModDate, ISNULL(RilPro.AnagOperatori.Cognome, N'') AS cognome,
ISNULL(RilPro.AnagOperatori.Nome, N'') AS nome, ISNULL(AnagStatiProdotto.DescStato, N'') AS descstato,
ISNULL(RilPro.AnagImballi.DescImballo, N'') AS descimballo, RilPro.AnagParticolari.CodFamiglia, RilPro.AnagFamiglie.DescFamiglia,
ISNULL(ElencoCartellini.Note, N'') AS Note, @NoteTratt AS NoteTratt
FROM
RilPro.AnagParticolari
LEFT OUTER JOIN
RilPro.AnagFamiglie
ON
RilPro.AnagParticolari.CodFamiglia = RilPro.AnagFamiglie.CodFamiglia
RIGHT OUTER JOIN
ElencoCartellini
ON
RilPro.AnagParticolari.Particolare = ElencoCartellini.Particolare
LEFT OUTER JOIN
AnagStatiProdotto
ON
ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
LEFT OUTER JOIN
RilPro.AnagOperatori
ON
ElencoCartellini.CodSoggetto = RilPro.AnagOperatori.CodSoggetto
LEFT OUTER JOIN
RilPro.AnagImballi
ON
ElencoCartellini.CodImballo = RilPro.AnagImballi.CodImballo
WHERE
(ElencoCartellini.UDC = @UDC)
RETURN
GO
PRINT N'Creating [dbo].[stp_prtCartByUDC]...';
GO
/***************************************
* STORED stp_prtCartByUDC
*
* ottiene il record del Cartellino dato l'UDC richiesto x la stampa
*
* Steamware, S.E.L.
* mod: 2011.12.19
*
****************************************/
CREATE PROCEDURE [dbo].[stp_prtCartByUDC]
(
@UDC VARCHAR(50)
)
AS
SELECT
ElencoCartellini.UDC, ElencoCartellini.CodCS, ISNULL(ElencoCartellini.CodCliente, N'') AS codcliente,
ISNULL(ElencoCartellini.RagSociale, N'') AS ragsociale, ISNULL(ElencoCartellini.Particolare, N'') AS particolare,
ISNULL(ElencoCartellini.DescParticolare, N'') AS descparticolare, ISNULL(ElencoCartellini.DisegnoGrezzo, N'') AS disegnogrezzo,
ISNULL(ElencoCartellini.Esponente, N'') AS esponente, ISNULL(ElencoCartellini.CodImpianto, N'') AS codimpianto,
ISNULL(ElencoCartellini.DescImpianto, N'') AS descimpianto, ISNULL(ElencoCartellini.CodStampo, N'') AS codstampo,
ISNULL(ElencoCartellini.Figura, N'') AS figura, ISNULL(ElencoCartellini.DataFus, N'') AS datafus,
ISNULL(ElencoCartellini.TurnoFus, N'') AS turnofus, ISNULL(ElencoCartellini.CodImballo, N'') AS codimballo,
ISNULL(ElencoCartellini.CodSoggetto, N'') AS codsoggetto, ISNULL(ElencoCartellini.NumCont, N'') AS numcont,
ISNULL(ElencoCartellini.Tara, N'') AS tara, ISNULL(ElencoCartellini.Qta, N'') AS qta, ISNULL(ElencoCartellini.CodStato, N'') AS codstato,
ISNULL(ElencoCartellini.IdxPosizione, N'') AS idxposizione,
ISNULL(ElencoCartellini.PesoTot, N'') AS pesotot, ISNULL(ElencoCartellini.PesoCad, N'') AS pesocad, ElencoCartellini.CreateDate,
ElencoCartellini.ModDate, ISNULL(RilPro.AnagOperatori.Cognome, N'') AS cognome,
ISNULL(RilPro.AnagOperatori.Nome, N'') AS nome, ISNULL(AnagStatiProdotto.DescStato, N'') AS descstato,
ISNULL(RilPro.AnagImballi.DescImballo, N'') AS descimballo, RilPro.AnagParticolari.CodFamiglia, RilPro.AnagFamiglie.DescFamiglia,
ISNULL(ElencoCartellini.Note, N'') AS Note
FROM
RilPro.AnagParticolari
LEFT OUTER JOIN
RilPro.AnagFamiglie
ON
RilPro.AnagParticolari.CodFamiglia = RilPro.AnagFamiglie.CodFamiglia
RIGHT OUTER JOIN
ElencoCartellini
ON
RilPro.AnagParticolari.Particolare = ElencoCartellini.Particolare
LEFT OUTER JOIN
AnagStatiProdotto
ON
ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
LEFT OUTER JOIN
RilPro.AnagOperatori
ON
ElencoCartellini.CodSoggetto = RilPro.AnagOperatori.CodSoggetto
LEFT OUTER JOIN
RilPro.AnagImballi
ON
ElencoCartellini.CodImballo = RilPro.AnagImballi.CodImballo
WHERE
(ElencoCartellini.UDC = @UDC)
RETURN
GO
PRINT N'Creating [dbo].[stp_prtCartFinitiByUDC]...';
GO
/***************************************
* STORED stp_prtCartFinitiByUDC
*
* ottiene il record del Cartellino FINITI dato l'UDC richiesto x la stampa
*
* Steamware, S.E.L.
* mod: 2013.02.11
*
****************************************/
CREATE PROCEDURE [dbo].[stp_prtCartFinitiByUDC]
(
@UDC NVARCHAR(50)
)
AS
-- estraggo UDC collegati nelle note ( x max 10 )
DECLARE @tmp NVARCHAR(500)
DECLARE @NoteTratt NVARCHAR(500)
SET @tmp = ''
-- estraggo gli UDC parent di quello passato ( x max 10 ) per poi stamparlo nel campo NoteTratt
-- prendo solo la parte necessaria dell' UDC per usare meno spazio possibile
SELECT TOP 10 @tmp = @tmp + RIGHT(UDC_PARENT,10) + ' - ' FROM RelazUDC AS r
INNER JOIN dbo.ElencoCartellini AS e ON r.UDC_parent = e.UDC -- il parent deve esistere ( escludo i cancellati )
WHERE r.UDC_child = @UDC
ORDER BY r.UDC_parent
SET @NoteTratt = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp))) -- tolgo ultimo trattino
-- ora seleziono i dati veri e propri
SELECT
e.UDC,
e.CodCS,
ISNULL( e.CodCliente,N'' )AS codcliente,
ISNULL( e.RagSociale,N'' )AS ragsociale,
ISNULL( e.Particolare,N'' )AS particolare,
ISNULL( e.DescParticolare,N'' )AS descparticolare,
ISNULL( e.DisegnoGrezzo,N'' )AS disegnogrezzo,
ISNULL( e.Esponente,N'' )AS esponente,
ISNULL( e.CodImpianto,N'' )AS codimpianto,
ISNULL( e.DescImpianto,N'' )AS descimpianto,
ISNULL( e.CodStampo,N'' )AS codstampo,
ISNULL( e.Figura,N'' )AS figura,
ISNULL( e.DataFus,N'' )AS datafus,
ISNULL( e.TurnoFus,N'' )AS turnofus,
ISNULL( e.CodImballo,N'' )AS codimballo,
ISNULL( e.CodSoggetto,N'' )AS codsoggetto,
ISNULL( e.NumCont,N'' )AS numcont,
ISNULL( e.Tara,N'' )AS tara,
ISNULL( e.Qta,N'' )AS qta,
ISNULL( e.CodStato,N'' )AS codstato,
ISNULL( e.IdxPosizione,N'' )AS idxposizione,
ISNULL( e.PesoTot,N'' )AS pesotot,
ISNULL( e.PesoCad,N'' )AS pesocad,
e.CreateDate,
e.ModDate,
ISNULL( o.Cognome,N'' )AS cognome,
ISNULL( o.Nome,N'' )AS nome,
ISNULL( sp.DescStato,N'' )AS descstato,
ISNULL( i.DescImballo,N'' )AS descimballo,
p.CodFamiglia,
f.DescFamiglia,
ISNULL( e.Note,N'' )AS Note,
@NoteTratt AS NoteTratt
FROM RilPro.AnagParticolari AS p
LEFT OUTER JOIN RilPro.AnagFamiglie AS f
ON p.CodFamiglia = f.CodFamiglia
RIGHT OUTER JOIN ElencoCartellini AS e
ON p.Particolare = e.Particolare
LEFT OUTER JOIN AnagStatiProdotto AS sp
ON e.CodStato = sp.CodStato
LEFT OUTER JOIN RilPro.AnagOperatori AS o
ON e.CodSoggetto = o.CodSoggetto
LEFT OUTER JOIN RilPro.AnagImballi AS i
ON e.CodImballo = i.CodImballo
WHERE e.UDC = @UDC;
RETURN
GO
PRINT N'Creating [dbo].[stp_prtCartFusiByUDC]...';
GO
/***************************************
* STORED stp_prtCartFusiByUDC
*
* ottiene il record del Cartellino FUSI dato l'UDC richiesto x la stampa
*
* Steamware, G.A.R.
* mod: 2012.02.27
*
****************************************/
CREATE PROCEDURE stp_prtCartFusiByUDC
(
@UDC NVARCHAR(50)
)
AS
-- estraggo i trattamenti nelle note ( x max 10 trattamenti )
DECLARE @tmp NVARCHAR(500)
DECLARE @NoteTratt NVARCHAR(500)
SET @NoteTratt = ''
-- SET @NoteTratt = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp)))
-- ora seleziono i dati veri e propri
SELECT
e.UDC,
e.CodCS,
ISNULL( e.CodCliente,N'' )AS codcliente,
ISNULL( e.RagSociale,N'' )AS ragsociale,
ISNULL( e.Particolare,N'' )AS particolare,
ISNULL( e.DescParticolare,N'' )AS descparticolare,
ISNULL( e.DisegnoGrezzo,N'' )AS disegnogrezzo,
ISNULL( e.Esponente,N'' )AS esponente,
ISNULL( e.CodImpianto,N'' )AS codimpianto,
ISNULL( e.DescImpianto,N'' )AS descimpianto,
ISNULL( e.CodStampo,N'' )AS codstampo,
ISNULL( e.Figura,N'' )AS figura,
ISNULL( e.DataFus,N'' )AS datafus,
ISNULL( e.TurnoFus,N'' )AS turnofus,
ISNULL( e.CodImballo,N'' )AS codimballo,
ISNULL( e.CodSoggetto,N'' )AS codsoggetto,
ISNULL( e.NumCont,N'' )AS numcont,
ISNULL( e.Tara,N'' )AS tara,
ISNULL( e.Qta,N'' )AS qta,
ISNULL( e.CodStato,N'' )AS codstato,
ISNULL( e.IdxPosizione,N'' )AS idxposizione,
ISNULL( e.PesoTot,N'' )AS pesotot,
ISNULL( e.PesoCad,N'' )AS pesocad,
e.CreateDate,
e.ModDate,
ISNULL( RilPro.AnagOperatori.Cognome,N'' )AS cognome,
ISNULL( RilPro.AnagOperatori.Nome,N'' )AS nome,
ISNULL( sp.DescStato,N'' )AS descstato,
ISNULL( i.DescImballo,N'' )AS descimballo,
a.CodFamiglia,
f.DescFamiglia,
ISNULL( e.Note,N'' )AS Note,
@NoteTratt AS NoteTratt
FROM RilPro.AnagParticolari AS a
LEFT OUTER JOIN RilPro.AnagFamiglie AS f
ON a.CodFamiglia = f.CodFamiglia
RIGHT OUTER JOIN ElencoCartellini AS e
ON a.Particolare = e.Particolare
LEFT OUTER JOIN AnagStatiProdotto AS sp
ON e.CodStato = sp.CodStato
LEFT OUTER JOIN RilPro.AnagOperatori
ON e.CodSoggetto = RilPro.AnagOperatori.CodSoggetto
LEFT OUTER JOIN RilPro.AnagImballi AS i
ON e.CodImballo = i.CodImballo
WHERE e.UDC = @UDC;
RETURN
GO
PRINT N'Creating [dbo].[stp_prtCartLiquidi_F10ByUDC]...';
GO
/***************************************
* STORED stp_prtCartLiquidi_F10ByUDC
*
* ottiene il record del Cartellino Liquidi dato l'UDC richiesto x la stampa
*
* Steamware, S.E.L.
* mod: 2011.12.19
*
****************************************/
CREATE PROCEDURE [dbo].[stp_prtCartLiquidi_F10ByUDC]
(
@UDC NVARCHAR(50)
)
AS
-- estraggo i trattamenti nelle note ( x max 10 trattamenti )
DECLARE @tmp NVARCHAR(500)
DECLARE @NoteTratt NVARCHAR(500)
SET @tmp = ''
SELECT TOP 10 @tmp = @tmp + RIGHT(UDC_PARENT,8) + ' - ' from RelazUDC WHERE UDC_child = @UDC
ORDER BY UDC_parent
SET @NoteTratt = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp)))
-- ora seleziono i dati veri e propri
SELECT
ISNULL(ElencoCartellini.UDC, N'0000') AS UDC, ISNULL(ElencoCartellini.CodCS, N'') AS CodCS, ISNULL(ElencoCartellini.CodCliente, N'') AS codcliente,
ISNULL(ElencoCartellini.RagSociale, N'') AS ragsociale, ISNULL(ElencoCartellini.Particolare, N'') AS particolare,
ISNULL(ElencoCartellini.DescParticolare, N'') AS descparticolare, ISNULL(ElencoCartellini.DisegnoGrezzo, N'') AS disegnogrezzo,
ISNULL(ElencoCartellini.Esponente, N'') AS esponente, ISNULL(ElencoCartellini.CodImpianto, N'') AS codimpianto,
ISNULL(ElencoCartellini.DescImpianto, N'') AS descimpianto, ISNULL(ElencoCartellini.CodStampo, N'') AS codstampo,
ISNULL(ElencoCartellini.Figura, N'') AS figura, ISNULL(ElencoCartellini.DataFus, N'') AS datafus,
ISNULL(ElencoCartellini.TurnoFus, N'') AS turnofus, ISNULL(ElencoCartellini.CodImballo, N'') AS codimballo,
ISNULL(ElencoCartellini.CodSoggetto, N'') AS codsoggetto, ISNULL(ElencoCartellini.NumCont, N'') AS numcont,
ISNULL(ElencoCartellini.Tara, N'') AS tara, ISNULL(ElencoCartellini.Qta, N'') AS qta, ISNULL(ElencoCartellini.CodStato, N'') AS codstato,
ISNULL(ElencoCartellini.IdxPosizione, N'') AS idxposizione,
ISNULL(ElencoCartellini.PesoTot, N'') AS pesotot, ISNULL(ElencoCartellini.PesoCad, N'') AS pesocad, ElencoCartellini.CreateDate,
ElencoCartellini.ModDate, ISNULL(RilPro.AnagOperatori.Cognome, N'') AS cognome,
ISNULL(RilPro.AnagOperatori.Nome, N'') AS nome, ISNULL(AnagStatiProdotto.DescStato, N'') AS descstato,
ISNULL(RilPro.AnagImballi.DescImballo, N'') AS descimballo, RilPro.AnagParticolari.CodFamiglia, RilPro.AnagFamiglie.DescFamiglia,
ISNULL(ElencoCartellini.Note, N'') AS Note, ISNULL(@NoteTratt, N'') AS NoteTratt
FROM
RilPro.AnagParticolari
LEFT OUTER JOIN
RilPro.AnagFamiglie
ON
RilPro.AnagParticolari.CodFamiglia = RilPro.AnagFamiglie.CodFamiglia
RIGHT OUTER JOIN
ElencoCartellini
ON
RilPro.AnagParticolari.Particolare = ElencoCartellini.Particolare
LEFT OUTER JOIN
AnagStatiProdotto
ON
ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
LEFT OUTER JOIN
RilPro.AnagOperatori
ON
ElencoCartellini.CodSoggetto = RilPro.AnagOperatori.CodSoggetto
LEFT OUTER JOIN
RilPro.AnagImballi
ON
ElencoCartellini.CodImballo = RilPro.AnagImballi.CodImballo
WHERE
(ElencoCartellini.UDC = @UDC)
RETURN
GO
PRINT N'Creating [dbo].[stp_prtCartLiquidi_F18ByUDC]...';
GO
/***************************************
* STORED stp_prtCartLiquidi_F18ByUDC
*
* ottiene il record del Cartellino Liquidi dato l'UDC richiesto x la stampa
*
* Steamware, S.E.L.
* mod: 2011.12.19
*
****************************************/
CREATE PROCEDURE [dbo].[stp_prtCartLiquidi_F18ByUDC]
(
@UDC NVARCHAR(50)
)
AS
-- estraggo gli UDC parent di quello passato ( x max 10 ) per poi stamparlo nel campo
-- NoteTratt che era utilizzato per stampare i trattamenti nel cartellino F10
DECLARE @tmp NVARCHAR(500)
DECLARE @NoteTratt NVARCHAR(500) -- usato per memorizzare gli UDC F10 parent associati
SET @tmp = ''
SELECT TOP 10 @tmp = @tmp + RTRIM(UDC_PARENT) + ' - ' FROM RelazUDC AS r
INNER JOIN dbo.ElencoCartellini AS e ON r.UDC_parent = e.UDC -- il parent deve esistere ( escludo i cancellati )
WHERE r.UDC_child = @UDC
ORDER BY r.UDC_parent
SET @NoteTratt = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp)))
-- ora seleziono i dati veri e propri
SELECT
ISNULL( ElencoCartellini.UDC,N'' )AS UDC,
ISNULL( ElencoCartellini.CodCS,N'' )AS CodCS,
ISNULL( ElencoCartellini.CodCliente,N'' )AS codcliente,
ISNULL( ElencoCartellini.RagSociale,N'' )AS ragsociale,
ISNULL( ElencoCartellini.Particolare,N'' )AS particolare,
ISNULL( ElencoCartellini.DescParticolare,N'' )AS descparticolare,
ISNULL( ElencoCartellini.DisegnoGrezzo,N'' )AS disegnogrezzo,
ISNULL( ElencoCartellini.Esponente,N'' )AS esponente,
ISNULL( ElencoCartellini.CodImpianto,N'' )AS codimpianto,
ISNULL( ElencoCartellini.DescImpianto,N'' )AS descimpianto,
ISNULL( ElencoCartellini.CodStampo,N'' )AS codstampo,
ISNULL( ElencoCartellini.Figura,N'' )AS figura,
ISNULL( ElencoCartellini.DataFus,N'' )AS datafus,
ISNULL( ElencoCartellini.TurnoFus,N'' )AS turnofus,
ISNULL( ElencoCartellini.CodImballo,N'' )AS codimballo,
ISNULL( ElencoCartellini.CodSoggetto,N'' )AS codsoggetto,
ISNULL( ElencoCartellini.NumCont,N'' )AS numcont,
ISNULL( ElencoCartellini.Tara,N'' )AS tara,
ISNULL( ElencoCartellini.Qta,N'' )AS qta,
ISNULL( ElencoCartellini.CodStato,N'' )AS codstato,
ISNULL( ElencoCartellini.IdxPosizione,N'' )AS idxposizione,
ISNULL( ElencoCartellini.PesoTot,N'' )AS pesotot,
ISNULL( ElencoCartellini.PesoCad,N'' )AS pesocad,
ElencoCartellini.CreateDate,
ElencoCartellini.ModDate,
ISNULL( RilPro.AnagOperatori.Cognome,N'' )AS cognome,
ISNULL( RilPro.AnagOperatori.Nome,N'' )AS nome,
ISNULL( AnagStatiProdotto.DescStato,N'' )AS descstato,
ISNULL( RilPro.AnagImballi.DescImballo,N'' )AS descimballo,
ISNULL( RilPro.AnagParticolari.CodFamiglia,N'' )AS CodFamiglia,
ISNULL( RilPro.AnagFamiglie.DescFamiglia,N'' )AS DescFamiglia,
ISNULL( ElencoCartellini.Note,N'' )AS Note,
ISNULL( @NoteTratt,N'' )AS NoteTratt
FROM RilPro.AnagParticolari
LEFT OUTER JOIN RilPro.AnagFamiglie
ON RilPro.AnagParticolari.CodFamiglia = RilPro.AnagFamiglie.CodFamiglia
RIGHT OUTER JOIN ElencoCartellini
ON RilPro.AnagParticolari.Particolare = ElencoCartellini.Particolare
LEFT OUTER JOIN AnagStatiProdotto
ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
LEFT OUTER JOIN RilPro.AnagOperatori
ON ElencoCartellini.CodSoggetto = RilPro.AnagOperatori.CodSoggetto
LEFT OUTER JOIN RilPro.AnagImballi
ON ElencoCartellini.CodImballo = RilPro.AnagImballi.CodImballo
WHERE ElencoCartellini.UDC = @UDC;
RETURN
GO
PRINT N'Creating [dbo].[stp_prtCartMatPrimaByUDC]...';
GO
-- =================================================================================================
-- =================================================================================================
/***************************************
* STORED stp_prtCartMatPrimaByUDC
*
* ottiene il record del Cartellino Materia Prima dato l'UDC richiesto x la stampa
*
****************************************/
CREATE PROCEDURE [dbo].[stp_prtCartMatPrimaByUDC]
(
@UDC VARCHAR(50)
)
AS
SELECT
RQ.nRapQual,
RQ.DataRapQual,
RQ.ProgUDC,
RQ.CodFor,
RQ.DestTerz,
ec.Particolare AS CodLega,
RQ.DataPrelFus,
RQ.TurnoPrelFus,
ec.Qta,
RQ.DestLega,
RQ.LegaScaric,
RQ.BenesQual,
ec.UDC,
Fo.DescFornitore,
Fo.DescFornitore2,
Le.CodLega AS CodLega2,
Le.DescLega,
Le.DescLega2,
ISNULL(ec.Note,'') AS Note
FROM ElencoCartellini ec
LEFT JOIN RilPro.RapQual AS RQ
ON ec.UDC = RQ.UDC
LEFT JOIN RilPro.AnagFornitori AS Fo
ON RQ.CodFor = Fo.CodFornitore
LEFT JOIN RilPro.AnagLeghe Le
ON RQ.CodLega = 'L' + Le.CodLega
WHERE ec.UDC = RTRIM(@UDC) -- 'UB31000000001'
RETURN
GO
PRINT N'Creating [dbo].[stp_prtCartSterratiByUDC]...';
GO
/***************************************
* STORED stp_prtCartSterratiByUDC
*
* ottiene il record del Cartellino Sterrati dato l'UDC richiesto x la stampa
*
* Steamware, S.E.L. - G.A.R.
* mod: 2014.01.23
*
****************************************/
CREATE PROCEDURE [dbo].[stp_prtCartSterratiByUDC]
(
@UDC NVARCHAR(50)
)
AS
-- estraggo UDC collegati nelle note cmq ( x max 10 )
DECLARE @tmp NVARCHAR(500)
DECLARE @NoteTratt NVARCHAR(500)
SET @tmp = ''
-- estraggo gli UDC parent di quello passato ( x max 10 ) per poi stamparlo nel campo
-- NoteTratt che era utilizzato per stampare i trattamenti
-- prendo solo la parte necessaria dell' UDC per usare meno spazio possibile
SELECT TOP 10 @tmp = @tmp + RIGHT(UDC_PARENT,10) + ' - ' FROM RelazUDC AS r
INNER JOIN dbo.ElencoCartellini AS e ON r.UDC_parent = e.UDC -- il parent deve esistere ( escludo i cancellati )
WHERE r.UDC_child = @UDC
ORDER BY r.UDC_parent
SET @NoteTratt = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp))) -- tolgo ultimo trattino
-- ora seleziono i dati veri e propri
SELECT
e.UDC,
e.CodCS,
ISNULL( e.CodCliente,N'' )AS codcliente,
ISNULL( e.RagSociale,N'' )AS ragsociale,
ISNULL( e.Particolare,N'' )AS particolare,
ISNULL( e.DescParticolare,N'' )AS descparticolare,
ISNULL( e.DisegnoGrezzo,N'' )AS disegnogrezzo,
ISNULL( e.Esponente,N'' )AS esponente,
ISNULL( e.CodImpianto,N'' )AS codimpianto,
ISNULL( e.DescImpianto,N'' )AS descimpianto,
ISNULL( e.CodStampo,N'' )AS codstampo,
ISNULL( e.Figura,N'' )AS figura,
ISNULL( e.DataFus,N'' )AS datafus,
ISNULL( e.TurnoFus,N'' )AS turnofus,
ISNULL( e.CodImballo,N'' )AS codimballo,
ISNULL( e.CodSoggetto,N'' )AS codsoggetto,
ISNULL( e.NumCont,N'' )AS numcont,
ISNULL( e.Tara,N'' )AS tara,
ISNULL( e.Qta,N'' )AS qta,
ISNULL( e.CodStato,N'' )AS codstato,
ISNULL( e.IdxPosizione,N'' )AS idxposizione,
ISNULL( e.PesoTot,N'' )AS pesotot,
ISNULL( e.PesoCad,N'' )AS pesocad,
e.CreateDate,
e.ModDate,
ISNULL( o.Cognome,N'' )AS cognome,
ISNULL( o.Nome,N'' )AS nome,
ISNULL( sp.DescStato,N'' )AS descstato,
ISNULL( i.DescImballo,N'' )AS descimballo,
a.CodFamiglia,
f.DescFamiglia,
ISNULL( e.Note,N'' )AS Note,
@NoteTratt AS NoteTratt
FROM ElencoCartellini AS e
LEFT OUTER JOIN RilPro.AnagParticolari AS a
ON e.Particolare = a.Particolare
LEFT OUTER JOIN RilPro.AnagFamiglie AS f
ON a.CodFamiglia = f.CodFamiglia
LEFT OUTER JOIN AnagStatiProdotto AS sp
ON e.CodStato = sp.CodStato
LEFT OUTER JOIN RilPro.AnagOperatori AS o
ON e.CodSoggetto = o.CodSoggetto
LEFT OUTER JOIN RilPro.AnagImballi AS i
ON e.CodImballo = i.CodImballo
WHERE e.UDC = @UDC;
RETURN
GO
PRINT N'Creating [dbo].[stp_prtCartTrattatiByUDC]...';
GO
/***************************************
* STORED stp_prtCartTrattatiByUDC
*
* ottiene il record del Cartellino Trattati dato l'UDC richiesto x la stampa
*
* Steamware, S.E.L. - G.A.R.
* mod: 2014.02.04
*
****************************************/
CREATE PROCEDURE [dbo].[stp_prtCartTrattatiByUDC]
(
@UDC NVARCHAR(50)
)
AS
-- estraggo i UDC con Relazione nelle note cmq ( x max 10 )
DECLARE @tmp NVARCHAR(500)
DECLARE @NoteTratt NVARCHAR(500)
SET @tmp = ''
-- estraggo gli UDC parent di quello passato ( x max 10 ) per poi stamparlo nel campo NoteTratt
-- prendo solo la parte necessaria dell' UDC per usare meno spazio possibile
-- Prima estraggo i numero trattamenti e li accodo
--SELECT TOP 3 @tmp = @tmp + RIGHT(UDC_PARENT,8) + ' - ' FROM RelazUDC AS r
-- --INNER JOIN dbo.ElencoCartellini AS e ON r.UDC_parent = e.UDC -- il parent deve esistere ( escludo UDC cancellati )
-- WHERE r.UDC_child = @UDC AND LEFT(UDC_parent,5) = 'UTKTR' -- prendo solo i trattamenti
-- ORDER BY r.UDC_parent
SELECT TOP 5 @tmp = @tmp + RIGHT(tr.ValAttr,10) + ' - '
FROM dbo.Attr2UDC AS tr
WHERE tr.UDC = @UDC AND tr.CodAttr = 'NT' -- prendo attributo trattamento
SET @tmp = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp))) + char(10) + char(13) -- tolgo ultimo trattino + a capo
-- sistemo intestazione nel caso non ci siano trattamenti
SET @tmp = CASE @tmp WHEN '' THEN 'UDC : ' ELSE 'Trattamento : ' + @tmp + ' UDC : ' END ;
SELECT TOP 5 @tmp = @tmp + RIGHT(UDC_PARENT,10) + ' - ' FROM RelazUDC AS r
INNER JOIN dbo.ElencoCartellini AS e ON r.UDC_parent = e.UDC -- il parent deve esistere ( escludo i cancellati )
WHERE r.UDC_child = @UDC
ORDER BY r.UDC_parent
SET @NoteTratt = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp))) -- tolgo ultimo trattino
-- ora seleziono i dati veri e propri
SELECT
e.UDC,
e.CodCS,
ISNULL( e.CodCliente,N'' )AS codcliente,
ISNULL( e.RagSociale,N'' )AS ragsociale,
ISNULL( e.Particolare,N'' )AS particolare,
ISNULL( e.DescParticolare,N'' )AS descparticolare,
ISNULL( e.DisegnoGrezzo,N'' )AS disegnogrezzo,
ISNULL( e.Esponente,N'' )AS esponente,
ISNULL( e.CodImpianto,N'' )AS codimpianto,
ISNULL( e.DescImpianto,N'' )AS descimpianto,
ISNULL( e.CodStampo,N'' )AS codstampo,
ISNULL( e.Figura,N'' )AS figura,
ISNULL( e.DataFus,N'' )AS datafus,
ISNULL( e.TurnoFus,N'' )AS turnofus,
ISNULL( e.CodImballo,N'' )AS codimballo,
ISNULL( e.CodSoggetto,N'' )AS codsoggetto,
ISNULL( e.NumCont,N'' )AS numcont,
ISNULL( e.Tara,N'' )AS tara,
ISNULL( e.Qta,N'' )AS qta,
ISNULL( e.CodStato,N'' )AS codstato,
ISNULL( e.IdxPosizione,N'' )AS idxposizione,
ISNULL( e.PesoTot,N'' )AS pesotot,
ISNULL( e.PesoCad,N'' )AS pesocad,
e.CreateDate,
e.ModDate,
ISNULL( o.Cognome,N'' )AS cognome,
ISNULL( o.Nome,N'' )AS nome,
ISNULL( sp.DescStato,N'' )AS descstato,
ISNULL( i.DescImballo,N'' )AS descimballo,
a.CodFamiglia,
f.DescFamiglia,
ISNULL( e.Note,N'' )AS Note,
@NoteTratt AS NoteTratt
FROM ElencoCartellini AS e
LEFT OUTER JOIN RilPro.AnagParticolari AS a
ON e.Particolare = a.Particolare
LEFT OUTER JOIN RilPro.AnagFamiglie AS f
ON a.CodFamiglia = f.CodFamiglia
LEFT OUTER JOIN AnagStatiProdotto AS sp
ON e.CodStato = sp.CodStato
LEFT OUTER JOIN RilPro.AnagOperatori AS o
ON e.CodSoggetto = o.CodSoggetto
LEFT OUTER JOIN RilPro.AnagImballi AS i
ON e.CodImballo = i.CodImballo
WHERE e.UDC = @UDC;
RETURN
GO
PRINT N'Creating [dbo].[stp_rappQualAssociaUdc]...';
GO
/***************************************
* STORED stp_rappQualAssociaUdc
*
* Associa l'UDC (creato) ad un rapp qualità di AS esistente SOLO SE UDC è NULL
*
* Steamware, S.E.L.
* mod: 2010.09.23
*
****************************************/
CREATE PROCEDURE [dbo].[stp_rappQualAssociaUdc]
(
@ProgUDC NVARCHAR(10),
@UDC NVARCHAR(50)
)
AS
SET @UDC = UPPER(@UDC) -- nel caso sia passato in minuscolo
UPDATE RilPro.RapQual
SET UDC = @UDC
WHERE (ProgUDC = @ProgUDC) AND (UDC IS NULL)
-- restituisce la riga aggiornata
SELECT *
FROM RilPro.RapQual
WHERE ProgUDC = @ProgUDC
RETURN
GO
PRINT N'Creating [dbo].[stp_rappQualConsumabili]...';
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
*
****************************************/
CREATE PROCEDURE [dbo].[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
PRINT N'Creating [dbo].[stp_rappQualGetByNumRapQual]...';
GO
/***************************************
* STORED stp_rappQualGetByNumRapQual
*
* Ottiene l'elenco dei record di rapp qualità di AS dato il numero del rapporto di qualità
*
* Steamware, S.E.L.
* mod: 2010.09.23
*
****************************************/
CREATE PROCEDURE [dbo].[stp_rappQualGetByNumRapQual] (
@nRapQual INT
)
AS
-- restituisce le righe richieste
SELECT *
FROM RilPro.RapQual
WHERE (nRapQual = @nRapQual)
AND LegaScaric = 'N'
RETURN
GO
PRINT N'Creating [dbo].[stp_rappQualGetByNumRapQualSenzaUdc]...';
GO
/***************************************
* STORED stp_rappQualGetByNumRapQualSenzaUdc
*
* Ottiene l'elenco dei record di rapp qualità di AS dato il numero del rapporto di qualità che NON HANNO UDC
*
* Steamware, S.E.L.
* mod: 2011.05.06
*
****************************************/
create PROCEDURE [dbo].[stp_rappQualGetByNumRapQualSenzaUdc]
(
@nRapQual INT
)
AS
-- restituisce le righe richieste
SELECT *
FROM RilPro.RapQual
WHERE (nRapQual = @nRapQual) AND (UDC IS NULL)
AND LegaScaric = 'N'
RETURN
GO
PRINT N'Creating [dbo].[stp_rappQualGetByUDC]...';
GO
/***************************************
* STORED stp_rappQualGetByUDC
*
* Ottiene l'elenco dei record di rapp qualità di AS dato UDC
*
* Steamware, S.E.L.
* mod: 2011.03.30
*
****************************************/
CREATE PROCEDURE [dbo].[stp_rappQualGetByUDC]
(
@UDC NVARCHAR(50)
)
AS
-- restituisce le righe richieste
SELECT *
FROM RilPro.RapQual
WHERE (UDC = @UDC)
RETURN
GO
PRINT N'Creating [dbo].[stp_rappQualSuntoGetByDataRange]...';
GO
/***************************************
* STORED stp_rappQualSuntoGetByDataRange
*
* Ottiene l'elenco dei record di rapp qualità di AS dato il range delle date
*
* Steamware, S.E.L.
* mod: 2010.09.29
*
****************************************/
CREATE PROCEDURE dbo.stp_rappQualSuntoGetByDataRange
(
@dataFrom DATETIME,
@dataTo DATETIME
)
AS
-- restituisce le righe richieste
SELECT *
FROM v_RapQualSunto
WHERE (DataRapQual >= dbo.dateToAsFormat(@dataFrom)) AND
(DataRapQual < dbo.dateToAsFormat(@dataTo))
ORDER BY nRapQual
RETURN
GO
PRINT N'Creating [dbo].[stp_rappQualSuntoGetByNumRap]...';
GO
/***************************************
* STORED stp_rappQualSuntoGetByNumRap
*
* Ottiene il record di rapp qualità di AS dato il numero del rapporto di qualità
*
* Steamware, S.E.L.
* mod: 2010.09.29
*
****************************************/
CREATE PROCEDURE stp_rappQualSuntoGetByNumRap
(
@nRapQual NVARCHAR(20)
)
AS
-- restituisce le righe richieste
SELECT *
FROM v_RapQualSunto
WHERE (nRapQual = @nRapQual)
RETURN
GO
PRINT N'Creating [dbo].[stp_riattivaUdc]...';
GO
/***************************************
* STORED stp_riattivaUdc
*
* riattiva un dato UDC (da mag consumato negativo a corrispettivo positivo) --> se era positivo NON FA NULLA!!! (perchè uso ABS e controllo sia < 0)
*
* Steamware, S.E.L.
* mod: 2012.05.30
*
****************************************/
CREATE PROCEDURE stp_riattivaUdc
(
@UDC VARCHAR(50),
@CodSoggetto NVARCHAR(17)
)
AS
DECLARE @CodEvento VARCHAR(10)
DECLARE @CodTipoDichiaraz VARCHAR(1)
DECLARE @IdxCella INT
DECLARE @CodCs NVARCHAR(2)
SET @UDC = UPPER(@UDC) -- metto ad Upper nel caso venga passato in minuscolo ( es. da terminalino )
SET @CodEvento = 'UDC_RIA'
SET @CodTipoDichiaraz = 'U'
BEGIN TRAN
-- faccio update posizione
UPDATE ElencoCartellini
SET IdxPosizione = ABS(IdxPosizione)
,ModDate=GETDATE()
,CodEvento = @CodEvento
,CodSoggetto = @CodSoggetto
WHERE UDC = @UDC AND IdxPosizione IN (SELECT IdxPosizione FROM AnagPosizioni WHERE (IsRiattivaEnabled = 1)
)
-- lo elimino da eventuali precedenti liste di prelievo sennò poi non potrei + prelevarlo
DELETE FROM RigheListePrelievo
WHERE UDC = @UDC
-- imposto posizione CELLA corrente x l'udc nella prima libera
SET @IdxCella = (SELECT c.IdxCella FROM Celle c inner join Blocchi b ON c.IdxBlocco=b.IdxBlocco INNER JOIN ElencoCartellini e ON b.CodMag = CAST(e.IdxPosizione AS NVARCHAR(50)) WHERE e.UDC = @UDC)
SET @CodCs = (SELECT CodCs FROM ElencoCartellini WHERE UDC = @UDC)
INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif, CodSoggetto)
VALUES(@Udc, @IdxCella, @CodCs, GETDATE(), @CodSoggetto)
COMMIT TRAN
RETURN
GO
PRINT N'Creating [dbo].[stp_ricercaFullTerminalino]...';
GO
/***************************************
* STORED stp_ricercaFullTerminalino
*
* effettua una ricerca full text da terminalino x codice UDC (su cartellini), x nome particolare (AnagParticolari) o posizione (Celle)
*
* Steamware, S.E.L.
* mod: 2010.09.10
*
****************************************/
create PROCEDURE stp_ricercaFullTerminalino
(
@txtSearch VARCHAR(50)
)
AS
SELECT 'UDC' AS Tipo, UDC AS label, UDC AS valore
FROM dbo.ElencoCartellini
WHERE UDC LIKE '%'+@txtSearch+'%'
UNION
SELECT 'Particolare' AS Tipo, Particolare AS label, Particolare AS valore
FROM RilPro.AnagParticolari
WHERE Particolare LIKE '%'+@txtSearch+'%'
UNION
SELECT 'Cella' AS Tipo, CodCella AS label, CAST(IdxCella AS NVARCHAR)AS valore
FROM dbo.Celle
WHERE CodCella LIKE '%'+@txtSearch+'%'
RETURN
GO
PRINT N'Creating [dbo].[stp_RigheListePrelievo_eliminaNonPrelevate]...';
GO
/***************************************
* STORED stp_RigheListePrelievo_eliminaNonPrelevate
*
* aggiorna la lista di prelievo ELIMINANDO le righe non ancora prelevate (per poi rigenerare l'elenco)
*
* Steamware, S.E.L.
* mod: 2010.07.06
*
************************************/
create PROCEDURE [dbo].[stp_RigheListePrelievo_eliminaNonPrelevate]
(
@CodLista AS varchar(12)
)
AS
DELETE FROM RigheListePrelievo
WHERE CodLista = @CodLista AND Prelevato = 0
RETURN
GO
PRINT N'Creating [dbo].[stp_righePrelevateByUdc]...';
GO
/***************************************
* STORED stp_righePrelevateByUdc
*
* restituisce l'elenco delle righe delle liste di prelievo PRELEVATE dato un UDC
*
* Steamware, S.E.L.
* mod: 2010.07.06
*
****************************************/
create PROCEDURE [dbo].[stp_righePrelevateByUdc]
(
@UDC VARCHAR(50)
)
AS
SELECT *
FROM RigheListePrelievo
WHERE (UDC = @UDC) AND Prelevato = 1
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_delete]...';
GO
/***************************************
* STORED stp_RLP_delete
*
* cancella riga x un UDC non prelevato
*
* Steamware, S.E.L.
* mod: 2010.09.03
*
****************************************/
create PROCEDURE stp_RLP_delete
(
@Original_CodLista AS varchar(12),
@Original_UDC NVARCHAR(50)
)
AS
-- cancello
DELETE FROM RigheListePrelievo
WHERE CodLista = @Original_CodLista
AND UDC = @Original_UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_deleteFromCodLista]...';
GO
/***************************************
* STORED stp_RLP_deleteFromCodLista
*
* cancella righe UDC dato cod lista
*
* Steamware, S.E.L.
* mod: 2012.02.29
*
****************************************/
CREATE PROCEDURE [dbo].[stp_RLP_deleteFromCodLista]
(
@Original_CodLista AS varchar(12)
)
AS
-- cancello
DELETE FROM RigheListePrelievo
WHERE CodLista = @Original_CodLista
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_eliminaNonPrelevate]...';
GO
/***************************************
* STORED stp_RLP_eliminaNonPrelevate
*
* elimina eventuali righe non prelevate
*
* Steamware, S.E.L.
* mod: 2010.08.31
*
****************************************/
create PROCEDURE [dbo].[stp_RLP_eliminaNonPrelevate] (
@CodLista NVARCHAR(12)
)
AS
DELETE FROM RigheListePrelievo
WHERE CodLista = @CodLista
AND Prelevato = 0
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_eliminaUdc]...';
GO
/***************************************
* STORED stp_RLP_eliminaUdc
*
* elimina eventuali righe dato cod UDC (x scarico diretto)
*
* Steamware, S.E.L.
* mod: 2013.05.07
*
****************************************/
create PROCEDURE stp_RLP_eliminaUdc
(
@UDC NVARCHAR(50)
)
AS
DELETE FROM RigheListePrelievo
WHERE UDC = @UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_getBloccateMovByUdc]...';
GO
/***************************************
* STORED stp_RLP_getBloccateMovByUdc
*
* ottiene ELENCO RLP bloccati x movimentazione dato UDC
*
* Steamware, S.E.L.
* mod: 2012.07.11
*
****************************************/
create PROCEDURE stp_RLP_getBloccateMovByUdc
(
@UDC VARCHAR(50)
)
AS
SELECT rldp.*
FROM RigheListePrelievo rldp INNER JOIN ElencoListePrelievo ldp
ON ldp.CodLista=rldp.CodLista INNER JOIN AnagStatiListe asl
ON ldp.CodStatoLista = asl.CodStatoLista
WHERE asl.canMovUDC = 0
AND rldp.UDC=@UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_getBloccateQtaByUdc]...';
GO
/***************************************
* STORED stp_RLP_getBloccateQtaByUdc
*
* ottiene ELENCO RLP bloccati x rettifica qta dato UDC
*
* Steamware, S.E.L.
* mod: 2012.07.11
*
****************************************/
create PROCEDURE stp_RLP_getBloccateQtaByUdc
(
@UDC VARCHAR(50)
)
AS
SELECT rldp.*
FROM RigheListePrelievo rldp INNER JOIN ElencoListePrelievo ldp
ON ldp.CodLista=rldp.CodLista INNER JOIN AnagStatiListe asl
ON ldp.CodStatoLista = asl.CodStatoLista
WHERE asl.canQtaUDC = 0
AND rldp.UDC=@UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_getByUdc]...';
GO
/***************************************
* STORED stp_RLP_getByUdc
*
* ottiene RLP da UDC
*
* Steamware, S.E.L.
* mod: 2012.02.29
*
****************************************/
create PROCEDURE [dbo].[stp_RLP_getByUdc]
(
@UDC VARCHAR(50)
)
AS
SELECT *
FROM RigheListePrelievo
WHERE (UDC = @UDC)
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_getOpenByUserTipo]...';
GO
/***************************************
* STORED stp_RLP_getOpenByUserTipo
*
* ottiene RLP aperte da soggetto e tipo
*
* Steamware, S.E.L.
* mod: 2012.03.01
*
****************************************/
create PROCEDURE [dbo].[stp_RLP_getOpenByUserTipo]
(
@CodSoggetto NVARCHAR(17),
@CodTipoLista NVARCHAR(10)
)
AS
SELECT RLP.*
FROM V_elencoListePrelievo LP INNER JOIN RigheListePrelievo RLP ON LP.CodLista = RLP.CodLista
WHERE (LP.CodSoggetto = @CodSoggetto) AND (LP.CodTipoLista = @CodTipoLista)
AND LP.CodStatoLista < 3
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_resetPrelevate]...';
GO
/***************************************
* STORED stp_RLP_resetPrelevate
*
* sblocca righe liste di prelievo come NON PRELEVATE
*
* Steamware, S.E.L.
* mod: 2011.05.20
*
****************************************/
create PROCEDURE stp_RLP_resetPrelevate
(
@CodLista NVARCHAR(12)
)
AS
-- effettua "sblocco" delle righe liste prelievo
UPDATE RigheListePrelievo
SET Prelevato = 0
WHERE CodLista = @CodLista
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_sbloccaNonPrelevate]...';
GO
/***************************************
* STORED stp_RLP_sbloccaNonPrelevate
*
* sblocca righe liste di prelievo ATTIVE x UDC non prelevati
*
* Steamware, S.E.L.
* mod: 2010.08.31
*
****************************************/
CREATE PROCEDURE stp_RLP_sbloccaNonPrelevate
(
@CodLista NVARCHAR(12),
@UDC NVARCHAR(50)
)
AS
-- creo una CTE x le righe liste prelievo ATTIVE (escludo bozze e liste scaricate) - candidate per sblocco che NON fanno aprte della lista di prelievo attuale
WITH cteUdcRigheAttive AS (
SELECT RLP.CodLista, RLP.UDC, RLP.Prelevato
FROM RigheListePrelievo AS RLP INNER JOIN ElencoListePrelievo AS ELP
ON RLP.CodLista = ELP.CodLista
WHERE (ELP.CodStatoLista BETWEEN 1 AND 3) AND RLP.Prelevato = 1 AND ELP.CodLista <> @CodLista
)
-- effettua "sblocco" delle righe liste prelievo che danno UDC prelevati ma che NON risultano
UPDATE cteUdcRigheAttive
SET Prelevato = 0
WHERE UDC = @UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_RLP_updateQty]...';
GO
/***************************************
* STORED stp_RLP_updateQty
*
* aggiorna qta dato un UDC
*
* Steamware, S.E.L.
* mod: 2010.07.06
*
****************************************/
create PROCEDURE stp_RLP_updateQty
(
@UDC VARCHAR(50),
@Qta DECIMAL
)
AS
update RigheListePrelievo
SET Qta = @Qta
WHERE (UDC = @UDC)
RETURN
GO
PRINT N'Creating [dbo].[stp_RQN_getByRQ]...';
GO
/*****************************************
* STORED stp_RQN_getByRQ
*
* Recupera dati Rapporto Qualità + note da cod rapporto qualità
*
* Steamware, S.E.L.
* mod: 2012.02.14
*
****************************************/
create PROCEDURE [dbo].[stp_RQN_getByRQ]
(
@nRapQual NUMERIC(6,0)
)
AS
SELECT nRapQual, DataRapQual, ProgUDC, CodFor, DestTerz, CodLega, DataPrelFus, TurnoPrelFus, Qta, DestLega, LegaScaric, BenesQual, UDC, Note
FROM v_RapQualNote
WHERE (nRapQual = @nRapQual)
RETURN
GO
PRINT N'Creating [dbo].[stp_S2U_getByCodSogg]...';
GO
/***************************************
* STORED stp_S2U_getByCodSogg
*
* ottiene dati utente2soggetto da CodSoggetto
*
* Steamware, S.E.L.
* mod: 2010.07.29
*
****************************************/
create PROCEDURE [dbo].[stp_S2U_getByCodSogg]
(
@CodSoggetto VARCHAR(17)
)
AS
SELECT *
FROM Soggetti2Utente
WHERE CodSoggetto = @CodSoggetto
RETURN
GO
PRINT N'Creating [dbo].[stp_S2U_getByUtente]...';
GO
CREATE PROCEDURE [dbo].[stp_S2U_getByUtente]
(
@USER_NAME VARCHAR(50),
@DOMINIO VARCHAR(30)
)
AS
SELECT *
FROM Soggetti2Utente
WHERE [USER_NAME] = @USER_NAME AND DOMINIO = @DOMINIO
RETURN
GO
PRINT N'Creating [dbo].[stp_SAO_getByIdxEv]...';
GO
/*stp_SAO_getByIdxEv
* STORED stp_SAO_getBySearch
*
* cerca riga in Storico Azioni Operatore
* Steamware, S.E.L.
* mod: 2012.09.25
*
****************************************/
create PROCEDURE stp_SAO_getByIdxEv
(
@idxEvento INT=0
)
AS
SELECT *
FROM StoricoAzioniOperatore
WHERE idxEvento = @idxEvento
RETURN
GO
PRINT N'Creating [dbo].[stp_SAO_getBySearch]...';
GO
/***************************************
* STORED stp_SAO_getBySearch
*
* effettua ricerca nello Storico Azioni Operatore
* Steamware, S.E.L.
* mod: 2012.09.25
*
****************************************/
CREATE PROCEDURE [dbo].[stp_SAO_getBySearch]
(
@DataOraFrom DATETIME,
@DataOraTo DATETIME,
@CodSoggetto NVARCHAR(17)='*',
@codPostazione NVARCHAR(250)='*',
@UDC NVARCHAR(50),
@Particolare NVARCHAR(15),
@codAzione NVARCHAR(10)='*'
)
AS
SELECT *
FROM StoricoAzioniOperatore
WHERE DataOra BETWEEN @DataOraFrom AND @DataOraTo
AND codPostazione = CASE WHEN ISNULL(@codPostazione,'*') = '*' THEN codPostazione ELSE @codPostazione END -- NON VA!!!
AND CodSoggetto = CASE WHEN ISNULL(@CodSoggetto,'*') = '*' THEN CodSoggetto ELSE @CodSoggetto END
AND codAzione = CASE WHEN ISNULL(@codAzione,'*') = '*' THEN codAzione ELSE @codAzione END
AND UDC = CASE WHEN ISNULL(@UDC,'*') = '*' THEN UDC ELSE @UDC END
AND Particolare = CASE WHEN ISNULL(@Particolare,'*') = '*' THEN Particolare ELSE @Particolare END
ORDER BY IdxEvento DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_SAO_getLastPostazione]...';
GO
/***************************************
* STORED stp_SAO_getLastPostazione
*
* ultimi record SAO x postazione
* Steamware, S.E.L.
* mod: 2012.09.25
*
****************************************/
create PROCEDURE stp_SAO_getLastPostazione
(
@DataOraFrom DATETIME,
@DataOraTo DATETIME,
@codPostazione NVARCHAR(250)=''
)
AS
SELECT *
FROM StoricoAzioniOperatore
WHERE DataOra BETWEEN @DataOraFrom AND @DataOraTo
AND codPostazione = @codPostazione
ORDER BY DataOra DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_SAO_insert]...';
GO
/***************************************
* STORED stp_SAO_insert
*
* inserisce nuova riga nello Storico Azioni Operatore
*
* Steamware, S.E.L.
* mod: 2012.09.25
*
****************************************/
CREATE PROCEDURE stp_SAO_insert
(
@DataOra DATETIME,
@CodSoggetto NVARCHAR(17),
@codPostazione NVARCHAR(250),
@clientIp NVARCHAR(250)='',
@UDC NVARCHAR(50),
@Particolare NVARCHAR(15),
@codAzione NVARCHAR(10),
@descrizione NVARCHAR(500)
)
AS
BEGIN tran
-- inserisco nuovo record storico azioni operatore
INSERT INTO StoricoAzioniOperatore(DataOra, CodSoggetto, codPostazione, clientIp, UDC, Particolare, codAzione, descrizione)
VALUES (@DataOra, @CodSoggetto, @codPostazione, @clientIp, @UDC, @Particolare, @codAzione, @descrizione)
COMMIT tran
RETURN
GO
PRINT N'Creating [dbo].[stp_sbloccaUdc]...';
GO
/***************************************
* STORED stp_sbloccaUdc
*
* sblocca un dato UDC per modifica
*
* Steamware, S.E.L.
* mod: 2012.05.30
*
****************************************/
CREATE PROCEDURE [dbo].[stp_sbloccaUdc]
(
@UDC VARCHAR(50),
@CodSoggetto NVARCHAR(17)
)
AS
DECLARE @CodEvento VARCHAR(10)
DECLARE @CodTipoDichiaraz VARCHAR(1)
SET @CodEvento = 'UDC_SBL'
SET @CodTipoDichiaraz = 'U'
BEGIN TRAN
-- faccio update
UPDATE ElencoCartellini
SET ModDate = GETDATE()
,CodEvento = @CodEvento
,CodSoggetto = @CodSoggetto
WHERE UDC = @UDC
COMMIT TRAN
RETURN
GO
PRINT N'Creating [dbo].[stp_scaricaUdc]...';
GO
/***************************************
* STORED stp_scaricaUdc
*
* elimina dalle posizioni correnti un UDC, salvandone la posizione precedente nella tab storica (per scaricamento / spedizione)
*
* Steamware, S.E.L.
* mod: 2012.05.30
*
****************************************/
CREATE PROCEDURE stp_scaricaUdc
(
@UDC VARCHAR(50),
@IdxPosizione INT,
@CodEvento VARCHAR(10),
@CodSoggetto NVARCHAR(17)
)
AS
BEGIN TRAN
/* Tolto da GCarlo xche non salvo utente che cancella x adesso
-- aggiorno utente x la posizione corrente, in modo da poter POI salvare l'utente che scarica UDC
UPDATE PosizioneUdcCorrente
SET CodSoggetto = @CodSoggetto
WHERE UDC = @UDC
*/
-- Tabella del record cancellato ( al momento NON usata ) RIATTIVARE x QUANDO Voglio lo STORICO cancellati
-- DECLARE @MyTableVar table ( IdxCella int, CodCS nchar(2) );
-- libero la posizione attuale dell'UDC (se c'è...)
DELETE
FROM dbo.PosizioneUdcCorrente
-- OUTPUT DELETED.IdxCella , DELETED.CodCS INTO @MyTableVar RIATTIVARE x QUANDO Voglio lo STORICO cancellati
WHERE UDC = @UDC;
-- ( al momento NON usata ) RIATTIVARE x QUANDO Voglio lo STORICO cancellati
-- Inserisco in Storico Posizione il record di chi ha cancellato
-- INSERT dbo.PosizioneUdcStorico ( UDC, IdxCella, DataInizio, DataFine, CodCS, CodSoggetto )
-- SELECT @UDC, IdxCella, GETDATE(), GETDATE(), CodCS, @CodSoggetto FROM @MyTableVar
-- aggiorno l'UDC come posizione finale...
UPDATE dbo.ElencoCartellini
SET IdxPosizione = @IdxPosizione
,ModDate = GETDATE()
,CodEvento = @CodEvento
,CodSoggetto = @CodSoggetto
WHERE UDC = @UDC
COMMIT TRAN
RETURN
GO
PRINT N'Creating [dbo].[stp_selDestListePrelByConditio]...';
GO
/***************************************
* STORED stp_selDestListePrelByConditio
*
* Ottiene i destinatari delle liste di prelievo data la condizione indicata
*
* Steamware, S.E.L.
* mod: 2010.11.02
*
****************************************/
CREATE 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='01-PreAnim')
BEGIN
SELECT CAST(CodCliente AS NVARCHAR(6)) AS value, CAST(CodCliente AS NVARCHAR(6)) +'- ' +CAST(RagSociale AS NVARCHAR(50)) AS label, '01-PreAnim' AS conditio
FROM RilPro.AnagClienti
ORDER BY label
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 IF (@conditio='04-Odette')
BEGIN
SELECT CAST(CodCliente AS NVARCHAR(6)) AS value, CAST(CodCliente AS NVARCHAR(6)) +'- ' +CAST(RagSociale AS NVARCHAR(50)) AS label, '04-Odette' AS conditio
FROM RilPro.AnagClienti
ORDER BY label
END
ELSE IF (@conditio='05-TerAn')
BEGIN
SELECT CAST(CodTerzista AS NVARCHAR(6)) AS value, CAST(CodTerzista AS NVARCHAR(6))+ '- '+CAST(DescTerzista AS NVARCHAR(50)) AS label, '05-TerAn' AS conditio
FROM RilPro.AnagDepositi
ORDER BY label
END
ELSE IF (@conditio='03-TerWip')
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
ELSE -- Se non configurata prendo elenco destinatari esterni
BEGIN
SELECT '-99999' AS value, 'STORED [stp_selDestListePrelByConditio] da configurare!!!' AS label, '999-ND' AS conditio
FROM RilPro.AnagDepositi
ORDER BY label
END
RETURN
GO
PRINT N'Creating [dbo].[stp_selMagByConditio]...';
GO
/***************************************
* STORED stp_selMagByConditio
*
* Steamware, S.E.L.
* mod: 2012.10.08
*
************************************/
create PROCEDURE stp_selMagByConditio
(
@conditio NVARCHAR(2)
)
AS
SELECT value, label, conditio
FROM v_selMag
WHERE (conditio = @conditio)
ORDER BY label
RETURN
GO
PRINT N'Creating [dbo].[stp_selMagLogicoByConditio]...';
GO
/***************************************
* STORED stp_selMagLogicoByConditio
*
* Steamware, S.E.L.
* mod: 2012.10.08
*
************************************/
create PROCEDURE stp_selMagLogicoByConditio
(
@conditio NVARCHAR(2)
)
AS
SELECT value, label, conditio
FROM v_selMagLogico
WHERE (conditio = @conditio)
ORDER BY label
RETURN
GO
PRINT N'Creating [dbo].[stp_selTipoLista_getByIdx]...';
GO
/***************************************
* STORED stp_selTipoLista_getByIdx
*
* Steamware, S.E.L.
* mod: 2012.04.27
*
************************************/
create PROCEDURE [dbo].[stp_selTipoLista_getByIdx]
(
@value NVARCHAR(50)
)
AS
SELECT *
FROM v_selTipoLista
WHERE value = @value
RETURN
GO
PRINT N'Creating [dbo].[stp_setAnnullaUdcPrelevato]...';
GO
/***************************************
* STORED stp_setAnnullaUdcPrelevato
*
* Steamware, E.N.
* mod: 2010.06.25
*
************************************/
create PROCEDURE [dbo].[stp_setAnnullaUdcPrelevato]
(
@CodLista NVARCHAR(12),
@UDC NVARCHAR(50)
)
AS
UPDATE RigheListePrelievo
SET Prelevato=0
WHERE (CodLista = @CodLista) AND (UDC = @UDC)
SELECT *
FROM RigheListePrelievo
WHERE (CodLista = @CodLista) AND (UDC = @UDC)
GO
PRINT N'Creating [dbo].[stp_SpecParticolare]...';
GO
/***************************************
* STORED stp_SpecParticolare
*
* ottiene il dettaglio delle specifiche di un particolare dato il suo codice
*
* Steamware, S.E.L.
* mod: 2010.10.29
*
****************************************/
create PROCEDURE stp_SpecParticolare
(
@Particolare NVARCHAR(15)
)
AS
SELECT *
FROM v_specParticolari
WHERE Particolare=@Particolare
RETURN
GO
PRINT N'Creating [dbo].[stp_spostaUdc]...';
GO
/***************************************
* STORED stp_spostaUdc
*
* sposta un UDC, salvandone la posizione precedente (se esiste) nella tab storica
*
* Steamware, S.E.L.
* mod: 2010.06.11
*
****************************************/
CREATE PROCEDURE stp_spostaUdc
(
@CodCS VARCHAR(2),
@UDC VARCHAR(50),
@IdxCellaTo INT,
@resetRLP BIT,
@CodSoggetto VARCHAR(17)
)
AS
SET @UDC = UPPER(@UDC) -- metto ad Upper nel caso venga passato in minuscolo ( es. smart LDP da terminalino )
BEGIN TRAN
-- DICHIARAZIONI iniziali variabili
DECLARE @IdxCellaFrom INT
DECLARE @capienza INT
DECLARE @numUdc INT
DECLARE @udcInLdpPrel BIT
-- controllo cella di partenza
SET @IdxCellaFrom = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
SET @IdxCellaFrom = ISNULL(@IdxCellaFrom,0) -- controllo x cella null...
-- controllo UDC, se faccia parte di LDP che NON permette MOV...
SET @udcInLdpPrel = ( SELECT ISNULL(COUNT(rldp.UDC),0)
FROM RigheListePrelievo rldp INNER JOIN ElencoListePrelievo ldp
ON ldp.CodLista=rldp.CodLista INNER JOIN AnagStatiListe asl
ON ldp.CodStatoLista = asl.CodStatoLista
WHERE asl.canMovUDC = 0
AND rldp.UDC=@UDC )
-- controllo se cella di destinazione e di partenza coincidono NON FACCIO NULLA... altrimenti procedo
IF (@IdxCellaTo <> @IdxCellaFrom)
BEGIN
-- controllo UDC "libero" da LDP (ovvero non faccia parte di LDP in uno stato che NON permette MOV, nel qual caso NON sposto)
IF (@udcInLdpPrel = 0)
-- tutto ok PROCEDO!
BEGIN
-- controllo se la cella di partenza vada indicata come piena o meno
SET @capienza = (
SELECT tc.Capienza
FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
WHERE c.IdxCella = @IdxCellaFrom
)
SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaFrom)
-- se capienza cella di partenza NON raggiunta aggiorno NON Piena
IF(@numUdc -1 < @capienza)
BEGIN
EXEC stp_celle_updPiena @IdxCellaFrom, 0
END
---- aggiorno utente x la posizione corrente, in modo da poter POI salvare l'utente che scarica UDC
--UPDATE PosizioneUdcCorrente
--SET CodSoggetto = @CodSoggetto
--WHERE UDC = @UDC
---- cancello posizione occupata ( non serve più faccio UPDATE )
--DELETE
--FROM PosizioneUdcCorrente
--WHERE UDC = @UDC
-- SE RICHIESTO cancello eventuali righe liste di prelievo FUSI per l'UDC
IF(@resetRLP = 1)
BEGIN
DELETE FROM RigheListePrelievo
WHERE UDC = @UDC AND CodLista IN (
SELECT CodLista FROM ElencoListePrelievo
--WHERE CodTipoLista='01-PreFus'
WHERE CodStatoLista < 4
)
END
-- modifico la posizione per l'UDC se esiste altrimenti la inserisco
IF @IdxCellaFrom <> 0
UPDATE PosizioneUdcCorrente
SET IdxCella = @IdxCellaTo,
DataRif = GETDATE(),
CodSoggetto = @CodSoggetto
FROM PosizioneUdcCorrente WHERE UDC = @UDC AND CodCS = @CodCS AND IdxCella = @IdxCellaFrom
ELSE
INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif, CodSoggetto)
VALUES(@UDC, @IdxCellaTo, @CodCS, GETDATE(), @CodSoggetto);
SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaTo)
-- controllo se la cella di dest vada indicata come piena, altrimenti NON la indicherò (mai) come piena...
SET @capienza = (
SELECT CASE CheckPiena WHEN 1 THEN tc.Capienza ELSE @numUdc + 1 END
FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
WHERE c.IdxCella = @IdxCellaTo
)
-- se capienza raggiunta aggiorno...
IF(@numUdc >= @capienza)
BEGIN
EXEC stp_celle_updPiena @IdxCellaTo, 1
END
END -- cellaFrom e cellaTo non coincidono...
END -- UDC NON appartiene a LDP già prelevate...
COMMIT TRAN
RETURN
GO
PRINT N'Creating [dbo].[stp_StatoCelleByCodCella]...';
GO
/***************************************
* STORED stp_StatoCelleByCodCella
*
* stato cella filtrato x CodCella
*
* Steamware, S.E.L.
* mod: 2010.08.03
*
****************************************/
create PROCEDURE stp_StatoCelleByCodCella
(
@CodCella VARCHAR(50)
)
AS
SELECT *
FROM V_statoCelleCapienzaAssegnati
WHERE (CodCella= @CodCella)
RETURN
GO
PRINT N'Creating [dbo].[stp_StatoCelleByIdxCella]...';
GO
/***************************************
* STORED stp_StatoCelleByIdxCella
*
* stato cella filtrato x idxCella
*
* Steamware, S.E.L.
* mod: 2010.08.03
*
****************************************/
create PROCEDURE stp_StatoCelleByIdxCella
(
@IdxCella INT
)
AS
SELECT *
FROM V_statoCelleCapienzaAssegnati
WHERE (IdxCella= @IdxCella)
RETURN
GO
PRINT N'Creating [dbo].[stp_StatoCelleOverbooked]...';
GO
/***************************************
* STORED stp_StatoCelleOverbooked
*
* elenco delle celle con overbookinbg (UDC assegnati >= capienza)
*
* Steamware, S.E.L.
* mod: 2010.08.03
*
****************************************/
create PROCEDURE stp_StatoCelleOverbooked
AS
SELECT *
FROM V_statoCelleCapienzaAssegnati
WHERE (UdcAssegnati >= Capienza)
RETURN
GO
PRINT N'Creating [dbo].[stp_TipoCella_deleteQuery]...';
GO
/***************************************
* STORED stp_TipoCella_deleteQuery
*
* elimina tipo cella
*
* Steamware, S.E.L.
* mod: 2010.07.16
*
****************************************/
CREATE PROCEDURE stp_TipoCella_deleteQuery
(
@Original_IdxTipoCella INT
)
AS
DELETE FROM TipoCella
WHERE (IdxTipoCella = @Original_IdxTipoCella)
RETURN
GO
PRINT N'Creating [dbo].[stp_TipoCella_updateQuery]...';
GO
/***************************************
* STORED stp_TipoCella_updateQuery
*
* aggiorna tipo cella
*
* Steamware, S.E.L.
* mod: 2010.07.16
*
****************************************/
CREATE PROCEDURE stp_TipoCella_updateQuery
(
@Original_IdxTipoCella INT,
@CodMag VARCHAR(50),
@CodCS VARCHAR(2),
@Quantita INT,
@Capienza INT,
@Max_X FLOAT,
@Max_Y FLOAT,
@Max_Z FLOAT,
@Max_Kg FLOAT,
@CheckPiena BIT,
@SetMag BIT
)
AS
UPDATE TipoCella
SET CodMag = @CodMag, CodCS = @CodCS, Quantita = @Quantita, Capienza = @Capienza, Max_X = @Max_X, Max_Y = @Max_Y, Max_Z = @Max_Z,
Max_Kg = @Max_Kg, CheckPiena = @CheckPiena, SetMag = @SetMag
WHERE (IdxTipoCella = @Original_IdxTipoCella)
RETURN
GO
PRINT N'Creating [dbo].[stp_TipoCellaGetByCodMag]...';
GO
/***************************************
* STORED stp_TipoCellaGetByCodMag
*
* ottiene l'elenco dei tipi di celle dal codice Company/Sito + codice magazzino richiesti
*
* Steamware, S.E.L.
* mod: 2010.05.17
*
****************************************/
create PROCEDURE [dbo].[stp_TipoCellaGetByCodMag]
(
@CodCS VARCHAR(2),
@CodMag VARCHAR(50)
)
AS
SELECT *
FROM TipoCella
WHERE CodCS = @CodCS
AND CodMag = @CodMag
RETURN
GO
PRINT N'Creating [dbo].[stp_TipoCellaGetByIdx]...';
GO
/***************************************
* STORED stp_TipoCellaGetByIdx
*
* ottiene l'elenco dei tipi di celle dal codice Idx
*
* Steamware, S.E.L.
* mod: 2010.05.19
*
****************************************/
create PROCEDURE [dbo].[stp_TipoCellaGetByIdx]
(
@IdxTipoCella INT
)
AS
SELECT *
FROM TipoCella
WHERE IdxTipoCella = @IdxTipoCella
RETURN
GO
PRINT N'Creating [dbo].[stp_TL_getByCodTipoLista]...';
GO
/***************************************
* STORED stp_TL_getByCodTipoLista
*
* Steamware, E.N.
* mod: 2010.06.25
*
************************************/
create PROCEDURE [dbo].[stp_TL_getByCodTipoLista]
(
@CodTipoLista NVARCHAR(10)
)
AS
SELECT *
FROM TipoListaPrelievo
where CodTipoLista = @CodTipoLista
GO
PRINT N'Creating [dbo].[stp_TTPE_getByCodEvento]...';
GO
/***************************************
* STORED stp_TTPE_getByCodEvento
*
* ottiene una riga della tab di transizione eventi dato evento
*
* Steamware, S.E.L.
* mod: 2011.05.20
*
************************************/
create PROCEDURE stp_TTPE_getByCodEvento
(
@CodEvento NVARCHAR(10)
)
AS
SELECT *
FROM TabTranPosizEventi
where CodEvento = @CodEvento
GO
PRINT N'Creating [dbo].[stp_TTPE_getByCodEventoPosizione]...';
GO
/***************************************
* STORED stp_TTPE_getByCodEventoPosizione
*
* ottiene una riga della tab di transizione eventi dato evento e posizione
*
* Steamware, S.E.L.
* mod: 2010.07.30
*
************************************/
create PROCEDURE [dbo].[stp_TTPE_getByCodEventoPosizione]
(
@CodEvento NVARCHAR(10),
@IdxPosizione INT
)
AS
SELECT *
FROM TabTranPosizEventi
where CodEvento = @CodEvento AND IdxPosizione = @IdxPosizione
GO
PRINT N'Creating [dbo].[stp_UDC_associaParent]...';
GO
/***************************************
* STORED stp_UDC_associaParent
*
* crea un nuovo record nella di associazione UDC/parent
*
* Steamware, S.E.L.
* mod: 2011.12.06
*
****************************************/
CREATE PROCEDURE stp_UDC_associaParent
(
@UDC NVARCHAR(50),
@UDC_parent NVARCHAR(50)
)
AS
SET @UDC = UPPER(@UDC) -- metto ad Upper nel caso venga passato in minuscolo ( es. smart LDP da terminalino )
SET @UDC_parent = UPPER(@UDC_parent) -- metto ad Upper nel caso venga passato in minuscolo ( es. smart LDP da terminalino )
BEGIN TRAN
-- elimino partent vuoti...
DELETE
FROM RelazUDC
WHERE ISNULL(UDC_parent,'') = ''
-- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa)
INSERT INTO RelazUDC(UDC_parent, UDC_child)
VALUES (@UDC_parent, @UDC)
COMMIT
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_delete]...';
GO
/***************************************
* STORED stp_UDC_delete
*
* elimina un dato UDC
*
* Steamware, S.E.L.
* mod: 2012.09.25
*
****************************************/
create PROCEDURE stp_UDC_delete
(
@UDC NVARCHAR(50)
)
AS
BEGIN tran
-- annullo cella piena
UPDATE dbo.Celle
SET Piena = 0
FROM PosizioneUdcCorrente p
INNER JOIN dbo.Celle c ON p.IdxCella = c.IdxCella
WHERE c.Piena = 1 AND p.UDC = @UDC
-- cancello posizione
DELETE
FROM PosizioneUdcCorrente
WHERE UDC = @UDC
-- cancello UDC
DELETE
FROM ElencoCartellini
WHERE UDC = @UDC
COMMIT tran
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_delete_byRdQ]...';
GO
/*****************************************
* STORED stp_UDC_delete_byRdQ
*
* Elimina gli UDC associati ad un rapporto di qualità dato rapporto qualità
*
* Steamware, S.E.L.
* mod: 2012.02.14
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_delete_byRdQ]
(
@nRapQual NUMERIC(6,0),
@ExecBatchInter BIT = 0 -- 0 Eseguita in Batch , 1 in Interattivo
)
AS
-- Attenzione!!! Cancella tutti i cartellini degli UDC materia prima del rapporto qualità anche se sono scaricati
-- comunque sono presenti nello StoricoCartellini
SET NOCOUNT ON;
SET ANSI_NULLS OFF;
SET XACT_ABORT ON; -- Se c'è un errore fa il rollback di tutta la transazione e non solo quella in errore
SET LOCK_TIMEOUT 600000; -- 10 min - Setto il tempo massimo di attesa del lock della tabella che è valido solo per la durata
-- della connessione e di default è settato a -1 (infinito). ATTENZIONE che se viene dato un errore
-- di lock deve essere controllato
IF @ExecBatchInter = 1 -- Se interattiva diminuisco il tempo di lock massimo a 15 sec
SET LOCK_TIMEOUT 15000;
-- Se per il rapporto qualità esiste almeno un cartellino UDC ( se nullo non lo conta )
IF ( SELECT COUNT(UDC) FROM RilPro.RapQual WHERE nRapQual = @nRapQual ) > 0
BEGIN
BEGIN TRY;
BEGIN TRANSACTION;
-- =========================================================
-- Cancella tutti gli UDC Materia Prima di un Rapp. Qualità
-- =========================================================
SELECT ROW_NUMBER() OVER (ORDER BY UDC) AS Riga,UDC
INTO #Temp
FROM RilPro.RapQual
WHERE nRapQual = @nRapQual AND UDC IS NOT NULL; -- Rapporto di qualità da cancellare
DECLARE @Riga AS INT = 1
,@Fine AS INT = 0
,@UDC nVarchar(50);
SELECT @Fine = MAX(Riga) FROM #Temp;
WHILE @Riga <= @Fine
BEGIN
-- Leggo UDC da cancellare uno alla volta
SELECT @UDC = UDC FROM #Temp WHERE Riga = @Riga;
-- ======================================================
-- Cancella i dati del singolo UDC
-- =======================================================
-- Attenzione che sulle tabelle ci sono dei trigger
DELETE dbo.PosizioneUdcCorrente WHERE UDC = @UDC
-- DELETE dbo.RelazUDC WHERE UDC_child = @UDC -- mod. 2012-03-02 per mantenere la storia UDC AS400-GMW
-- DELETE dbo.RelazUDC WHERE UDC_parent = @UDC
DELETE dbo.ElencoCartellini WHERE UDC = @UDC
-- sgancio il cartellino AS400 da quello GMW ( cancellato )
UPDATE RilPro.RapQual SET UDC = NULL WHERE UDC = @UDC
--SELECT * FROM dbo.PosizioneUdcCorrente WHERE UDC = @UDC
--SELECT * FROM dbo.RelazUDC WHERE UDC_child = @UDC
--SELECT * FROM dbo.ElencoCartellini WHERE UDC = @UDC
--SELECT * FROM RilPro.RapQual WHERE UDC = @UDC
SET @Riga = @Riga + 1 -- Incremento contatore x UDC in tabella Temp
END
-- Se esiste la tabella #Temp la cancello
IF OBJECT_ID(N'tempdb..#Temp') IS NOT NULL
DROP TABLE #Temp;
COMMIT TRANSACTION;
END TRY
BEGIN CATCH;
--IF (ERROR_NUMBER() = 1222) -- se vi è un lock per troppo tempo posso controllarlo x rieseguire
-- BEGIN; PRINT 'Tabella Bloccata'; -- Segnalo l'errore specifico di lock
-- END;
--ELSE PRINT 'Errore Generico'; -- se l'errore non è un deadlock esco dal WHILE
IF XACT_STATE() <> 0 -- solo se vi sono transazioni aperte faccio il rollback ( da verificare nel caso sia richiamato
ROLLBACK TRANSACTION -- all'interno di un'altra transazione )
-- Cancello La Tabella TEMP se esiste ( messo x per sicurezza )
IF OBJECT_ID(N'tempdb..#Temp') IS NOT NULL
DROP TABLE #Temp;
-- 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 @ErrorNumber INT;
DECLARE @ErrorMessage NVARCHAR(4000);
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;
SELECT @ErrorMessage = ERROR_MESSAGE(),@ErrorSeverity = ERROR_SEVERITY(),@ErrorState = ERROR_STATE(), @ErrorNumber = ERROR_NUMBER();
IF @ExecBatchInter = 0 -- Sollevo errore solo se richiesto dai parametri ( es. esecuzione da un Job Batch )
RAISERROR (@ErrorMessage,@ErrorSeverity,@ErrorState); -- Se non uso RAISERROR la procedura non mi da errore es. se schedulata
END CATCH;
END
/*---------------------------------------
- Query x eliminazione UDC e tab
- collegate dato un Rapp di Qualità
---------------------------------------*/
/* NON FUNZIONA A CAUSA DEI TRIGGER
WITH cte AS -- Tutti i cartellini su AS400 annullati che hanno un cartellino in RilPro
(
SELECT r.UDC
FROM RilPro.RapQual AS r
INNER JOIN dbo.ElencoCartellini AS e
ON r.UDC = e.UDC
WHERE r.BenesQual = 'A'
)
-- Cancello la posizione degli UDC a magazzino
DELETE dbo.PosizioneUdcCorrente
FROM dbo.PosizioneUdcCorrente AS P
INNER JOIN RilPro.RapQual AS r
ON p.UDC = r.UDC
WHERE r.nRapQual = @nRapQual
-- SELECT * FROM dbo.PosizioneUdcCorrente WHERE r.nRapQual = @nRapQual
-- Se non sono ancora scaricati cancello il record movimento di scarico materia prima
DELETE dbo.AS400_BatchConsumoMP
FROM dbo.AS400_BatchConsumoMP AS b
INNER JOIN RilPro.RapQual AS r
ON b.UDC = r.UDC
WHERE r.nRapQual = @nRapQual AND b.DataInvioAs IS NULL
SELECT * FROM dbo.AS400_BatchConsumoMP
-- Cancellazione Cartellini Materia Prima di un Rapporto qualità
SELECT * FROM dbo.ElencoCartellini
*/
GO
PRINT N'Creating [dbo].[stp_UDC_delete_byRdQ_NEW]...';
GO
/*****************************************
* STORED stp_UDC_delete_byRdQ
*
* Elimina gli UDC associati ad un rapporto di qualità dato rapporto qualità
*
* Steamware, S.E.L.
* mod: 2012.02.14
*
****************************************/
create PROCEDURE [dbo].[stp_UDC_delete_byRdQ_NEW]
(
@nRapQual NUMERIC(6,0),
@ExecBatchInter BIT = 0 -- 0 Eseguita in Batch , 1 in Interattivo
)
AS
-- NON USATA ****
-- NUOVA VERSIONE X VERIFICARE NEL CASO SIA ESEGUITA IN UNA TRANSAZIONE PRECEDENTE --- NON USATA
-- Attenzione!!! Cancella tutti i cartellini degli UDC materia prima del rapporto qualità anche se sono scaricati
-- comunque sono presenti nello StoricoCartellini ( perdo però a che RapportoQualità facevano riferimento, mettere riferimento nelle note? )
/*---------------------------------------
- Query x eliminazione UDC e tab
- collegate dato un Rapp di Qualità
---------------------------------------*/
/* NON FUNZIONA A CAUSA DEI TRIGGER
WITH cte AS -- Tutti i cartellini su AS400 annullati che hanno un cartellino in RilPro
(
SELECT r.UDC
FROM RilPro.RapQual AS r
INNER JOIN dbo.ElencoCartellini AS e
ON r.UDC = e.UDC
WHERE r.BenesQual = 'A'
)
-- Cancello la posizione degli UDC a magazzino
DELETE dbo.PosizioneUdcCorrente
FROM dbo.PosizioneUdcCorrente AS P
INNER JOIN RilPro.RapQual AS r
ON p.UDC = r.UDC
WHERE r.nRapQual = @nRapQual
-- SELECT * FROM dbo.PosizioneUdcCorrente WHERE r.nRapQual = @nRapQual
-- Se non sono ancora scaricati cancello il record movimento di scarico materia prima
DELETE dbo.AS400_BatchConsumoMP
FROM dbo.AS400_BatchConsumoMP AS b
INNER JOIN RilPro.RapQual AS r
ON b.UDC = r.UDC
WHERE r.nRapQual = @nRapQual AND b.DataInvioAs IS NULL
SELECT * FROM dbo.AS400_BatchConsumoMP
-- Cancellazione Cartellini Materia Prima di un Rapporto qualità
SELECT * FROM dbo.ElencoCartellini
*/
SET NOCOUNT ON;
SET ANSI_NULLS OFF;
SET XACT_ABORT ON; -- Se c'è un errore fa il rollback di tutta la transazione e non solo quella in errore
SET LOCK_TIMEOUT 600000; -- 10 min - Setto il tempo massimo di attesa del lock della tabella che è valido solo per la durata
-- della connessione e di default è settato a -1 (infinito). ATTENZIONE che se viene dato un errore
-- di lock deve essere controllato
IF @ExecBatchInter = 1 -- Se interattiva diminuisco il tempo di lock massimo a 15 sec
SET LOCK_TIMEOUT 15000;
DECLARE @TRAN AS INT, @State AS INT ;
SET @TRAN = @@TRANCOUNT; SET @State = XACT_STATE();
-- Se per il rapporto qualità esiste almeno un cartellino UDC
IF ( SELECT COUNT(UDC) FROM RilPro.RapQual WHERE nRapQual = @nRapQual ) > 0
BEGIN
BEGIN TRY;
BEGIN TRANSACTION;
-- =====================================================
-- Cancella tutti gli UDC di un RQ
-- =====================================================
SELECT ROW_NUMBER() OVER (ORDER BY UDC) AS Riga,UDC
INTO #Temp
FROM RilPro.RapQual
WHERE nRapQual = @nRapQual; -- Rapporto di qualità da cancellare
DECLARE @Riga AS INT = 1
,@Fine AS INT = 0
,@UDC nVarchar(50);
SELECT @Fine = MAX(Riga) FROM #Temp;
WHILE @Riga <= @Fine
BEGIN
-- Leggo UDC da cancellare uno alla volta
SELECT @UDC = UDC FROM #Temp WHERE Riga = @Riga;
-- ======================================================
-- Cancella i dati del singolo UDC
-- =======================================================
-- Attenzione che sulle cartelle ci sono dei trigger
DELETE dbo.PosizioneUdcCorrente WHERE UDC = @UDC
DELETE dbo.RelazUDC WHERE UDC_child = @UDC
DELETE dbo.RelazUDC WHERE UDC_parent = @UDC
DELETE dbo.ElencoCartellini WHERE UDC = @UDC
-- sgancio il cartellino AS400 da quello GMW ( cancellato )
UPDATE RilPro.RapQual SET UDC = NULL WHERE UDC = @UDC
--SELECT * FROM dbo.PosizioneUdcCorrente WHERE UDC = @UDC
--SELECT * FROM dbo.RelazUDC WHERE UDC_child = @UDC
--SELECT * FROM dbo.ElencoCartellini WHERE UDC = @UDC
--SELECT * FROM RilPro.RapQual WHERE UDC = @UDC
-- IF @nRapQual = 20 Select 1/0
-- Select 1/0
SET @Riga = @Riga + 1 -- Incremento contatore x UDC in tabella Temp
-- SELECT @UDC
END
-- Se esiste la tabella #Temp la cancello
IF OBJECT_ID(N'tempdb..#Temp') IS NOT NULL
DROP TABLE #Temp;
COMMIT TRANSACTION;
END TRY
BEGIN CATCH;
--IF (ERROR_NUMBER() = 1222) -- se vi è un lock per troppo tempo posso controllarlo x rieseguire
-- BEGIN; PRINT 'Tabella Bloccata'; -- Segnalo l'errore specifico di lock
-- END;
--ELSE PRINT 'Errore Generico'; -- se l'errore non è un deadlock esco dal WHILE
IF XACT_STATE() <> 0 AND @TRAN = 0 -- solo se vi sono transazioni aperte faccio il rollback ( da verificare nel caso sia richiamato
ROLLBACK TRANSACTION -- all'interno di un'altra transazione )
-- Cancello La Tabella TEMP se esiste ( messo x per sicurezza )
-- EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='#Temp')
-- *** QUI HO IL PROBLEMA SE XACT_STATE() = -1 perchè da errore
IF OBJECT_ID(N'tempdb..#Temp') IS NOT NULL
DROP TABLE #Temp;
-- 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 @ErrorNumber INT;
DECLARE @ErrorMessage NVARCHAR(4000);
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;
SELECT @ErrorMessage = ERROR_MESSAGE(),@ErrorSeverity = ERROR_SEVERITY(),@ErrorState = ERROR_STATE(), @ErrorNumber = ERROR_NUMBER();
IF @ExecBatchInter = 0 -- Sollevo errore solo se richiesto dai parametri ( es. esecuzione da un Job Batch )
RAISERROR (@ErrorMessage,@ErrorSeverity,@ErrorState); -- Se non uso RAISERROR la procedura non mi da errore es. se schedulata
END CATCH;
END
GO
PRINT N'Creating [dbo].[stp_UDC_delibera]...';
GO
/***************************************
* STORED stp_UDC_delibera
*
* fa la delibera dell'UDC andando a processare la state machien e quindi eventualmente cambiando la sua posizione
*
* Steamware, S.E.L.
* mod: 2012.05.30
*
************************************/
CREATE PROCEDURE [dbo].[stp_UDC_delibera]
(
@CodTipoDelibera NVARCHAR(50),
@UDC NVARCHAR(50),
@CodEvento VARCHAR(10),
@CodSoggetto NVARCHAR(17),
@CodCS VARCHAR(2)
)
AS
SET @UDC = UPPER(@UDC) -- metto ad Upper nel caso venga passato in minuscolo ( es. smart LDP da terminalino )
BEGIN TRAN
DECLARE @IdxPosizioneTo AS INT
DECLARE @IdxPosizioneFrom AS INT
DECLARE @IdxPosizionePre AS NVARCHAR(50)
DECLARE @IdxCellaPre AS INT
DECLARE @IdxCellaTo AS INT
-- ricavo cella ATTUALE
SET @IdxCellaPre = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
-- ricavo posizione ATTUALE
SET @IdxPosizionePre = (SELECT TOP 1 b.CodMag FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco WHERE c.IdxCella = @IdxCellaPre)
-- registro delibera
INSERT INTO DELIBERE
VALUES (@CodTipoDelibera, @UDC, GETDATE(), @CodSoggetto)
-- ricavo nuova posizione
SET @IdxPosizioneTo = (SELECT tt.IdxPosizioneTo
FROM TabTranPosizEventi tt INNER JOIN AnagTipoDelibere atd ON tt.CodEvento = atd.CodEvento
WHERE (atd.CodTipoDelibera = @CodTipoDelibera))
-- ricavo posizione TEORICA VECCHIA
SET @IdxPosizioneFrom = (SELECT tt.IdxPosizione
FROM TabTranPosizEventi tt INNER JOIN AnagTipoDelibere atd ON tt.CodEvento = atd.CodEvento
WHERE (atd.CodTipoDelibera = @CodTipoDelibera))
-- calcolo la prima cella della nuova posizione...
SET @IdxCellaTo = (
SELECT TOP 1 IdxCella FROM Celle
WHERE IdxBlocco = (
SELECT IdxBlocco FROM Blocchi
WHERE CodMag=CAST(@IdxPosizioneTo AS NVARCHAR(50)))
)
-- faccio update posizione
UPDATE ElencoCartellini
SET IdxPosizione = @IdxPosizioneTo
,ModDate = GETDATE()
,CodEvento = @CodEvento
,CodSoggetto = @CodSoggetto
WHERE UDC = @UDC
-- controllo posizioni actual e from teorica: SE e SOLO SE corrispondono faccio spostamento...
IF(CAST(@IdxPosizioneFrom AS NVARCHAR(50)) = @IdxPosizionePre)
BEGIN
-- ora cambio anche la posizione corrente dell'UDC (e tramite trigger storicizza...)
EXEC stp_spostaUdc @CodCS, @UDC, @IdxCellaTo, 0
END
COMMIT TRAN
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_FifoByParticolareBlocco]...';
GO
/***************************************
* STORED stp_UDC_FifoByParticolareBlocco
*
* restituisce elenco UDC a magazzino in logica FIFO per un dato particolare+blocco
*
* Steamware, S.E.L.
* mod: 2012.10.01
*
****************************************/
CREATE PROCEDURE stp_UDC_FifoByParticolareBlocco
(
@CodCS VARCHAR(2),
@Particolare VARCHAR(20),
@idxBlocco INT
)
AS
SELECT ec.UDC, c.CodCella, ec.DataFus, ec.Qta
FROM AnagMag am
INNER JOIN Blocchi b ON am.CodMag = b.CodMag AND am.CodCS = b.CodCS
INNER JOIN Celle c
INNER JOIN ElencoCartellini ec
LEFT OUTER JOIN PosizioneUdcCorrente puc ON ec.UDC = puc.UDC ON c.IdxCella = puc.IdxCella ON b.IdxBlocco = c.IdxBlocco
INNER JOIN AnagStatiProdotto asp ON ec.CodStato = asp.CodStato
WHERE (c.Attiva = 1)
AND b.CodMag <> 'VMLP'
AND (am.CodCS = @CodCS)
AND (ec.Particolare = @Particolare)
AND b.IdxBlocco = @idxBlocco
GROUP BY ec.UDC, c.CodCella, ec.DataFus, ec.Qta
ORDER BY ec.DataFus ASC
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_getByFlussoDate]...';
GO
/***************************************
* STORED stp_UDC_getByFlussoDate
*
* elenco cartellini creati su una data bilancia in un periodo ti tempo indicato
*
* Steamware, S.E.L.
* mod: 2010.10.13
*
****************************************/
create PROCEDURE stp_UDC_getByFlussoDate
(
@CodCS NVARCHAR(2),
@Flusso NVARCHAR(2),
@DataFrom DATETIME,
@DataTo DATETIME
)
AS
SELECT *
FROM ElencoCartellini
WHERE (UDC LIKE 'U' + @CodCS + @Flusso + '%')
AND (DataFus >= @DataFrom) AND (DataFus <= @DataTo)
ORDER BY UDC DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_getByTipoDelibera]...';
GO
/***************************************
* STORED stp_UDC_getByTipoDelibera
*
* elenco cartellini che possono essere oggetto della delibera indicata
*
* Steamware, S.E.L.
* mod: 2010.07.29
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_getByTipoDelibera]
(
@CodTipoDelibera NVARCHAR(50),
@DataFrom DATETIME,
@DataTo DATETIME
)
AS
SELECT *
FROM ElencoCartellini
WHERE IdxPosizione IN (
SELECT TabTranPosizEventi.IdxPosizione
FROM TabTranPosizEventi INNER JOIN AnagTipoEvento ON TabTranPosizEventi.CodEvento = AnagTipoEvento.CodEvento
INNER JOIN AnagTipoDelibere ON AnagTipoEvento.CodEvento = AnagTipoDelibere.CodEvento
WHERE (AnagTipoDelibere.CodTipoDelibera = @CodTipoDelibera)
) -- vincolo su posizioni accettabili
AND DataFus BETWEEN @DataFrom AND @DataTo -- vincolo data
AND UDC NOT IN (SELECT DISTINCT UDC FROM PosizioneUdcCorrente puc INNER JOIN Celle c on puc.IdxCella=c.IdxCella INNER JOIN TipoCella tc ON c.IdxTipoCella=tc.IdxTipoCella WHERE tc.CodMag = 'OVAS')
ORDER BY UDC DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_getByUdc]...';
GO
/*****************************************
* STORED stp_UDC_getByUdc
*
* Recupera UDC da codice
*
* Steamware, S.E.L.
* mod: 2011.05.05
*
****************************************/
create PROCEDURE stp_UDC_getByUdc
(
@UDC NVARCHAR(50)
)
AS
SELECT *
FROM ElencoCartellini
WHERE LTRIM(RTRIM(UDC)) = @UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_getLast_ByDataTurnoLineaParticolare]...';
GO
/***************************************
* STORED stp_UDC_getLast_ByDataTurnoLineaParticolare
*
* elenco cartellini ULTIMI creati su una data bilancia dati data, turno, linea e particolare
*
* Steamware, S.E.L.
* mod: 2010.10.13
*
****************************************/
create PROCEDURE stp_UDC_getLast_ByDataTurnoLineaParticolare
(
@CodCS VARCHAR(2),
@Particolare VARCHAR(15),
@CodImpianto AS VARCHAR(50),
@DataFus DATETIME,
@TurnoFus INT
)
AS
-- carico l'elenco dei dati "attivi" x il filtraggio richiesto
WITH cte_contAttivi AS(
SELECT CodCS, Particolare, Esponente, CodImpianto,CodStampo, Figura, DataFus, TurnoFus, MAX(NumCont) AS NumCont
FROM ElencoCartellini
GROUP BY CodCS, Particolare, Esponente, CodImpianto, CodStampo, Figura, DataFus, TurnoFus
HAVING (CodImpianto = @CodImpianto) AND (DataFus = @DataFus) AND (TurnoFus= @TurnoFus) AND (Particolare= @Particolare) AND CodCs = @CodCS
)
-- traduco in tab estesa UDC
SELECT ec.* FROM ElencoCartellini ec INNER JOIN cte_contAttivi ca
ON ec.Particolare = ca.Particolare AND ec.Esponente=ca.Esponente AND ec.CodImpianto=ca.CodImpianto
AND ec.CodStampo=ca.CodStampo AND ec.Figura=ca.Figura AND ec.DataFus=ca.DataFus AND ec.TurnoFus=ca.TurnoFus
AND ec.NumCont=ca.NumCont AND ec.CodCs=ca.CodCs
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_getLast_ByParticolare]...';
GO
/***************************************
* STORED stp_UDC_getLast_ByParticolare
*
* elenco cartellini ULTIMO creati x particolare
*
* Steamware, S.E.L.
* mod: 2011.11.14
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_getLast_ByParticolare]
(
@CodCS VARCHAR(2),
@Particolare VARCHAR(15)
)
AS
-- prendo ultimo UDC creato x il particolare
SELECT TOP 1 * FROM ElencoCartellini
WHERE (Particolare= @Particolare) AND CodCs = @CodCS
ORDER BY CreateDate DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_getLast_ByParticolareStato]...';
GO
/***************************************
* STORED stp_UDC_getLast_ByParticolareStato
*
* elenco cartellini ULTIMO creati x particolare e stato
*
* Steamware, S.E.L.
* mod: 2014.01.21
*
****************************************/
create PROCEDURE [dbo].[stp_UDC_getLast_ByParticolareStato]
(
@CodCS NVARCHAR(2),
@Particolare NVARCHAR(15),
@CodStato NVARCHAR(50)
)
AS
-- prendo ultimo UDC creato x il particolare
SELECT TOP 1 * FROM ElencoCartellini
WHERE (Particolare= @Particolare) AND CodCs = @CodCS AND CodStato = @CodStato
ORDER BY CreateDate DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_insNewFull]...';
GO
/***************************************
* STORED stp_UDC_insNewFull
*
* crea un nuovo record nella TabStatoOdpUdc FULL (con pesi, qta...) e restituisce il codice UDC appena creato
*
* Steamware, S.E.L.
* mod: 2010.04.28
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_insNewFull]
(
@CodCS VARCHAR(2),
@Flusso VARCHAR(2),
@Anno VARCHAR(2),
@CodCliente VARCHAR(6),
@Particolare VARCHAR(15),
@CodImpianto AS VARCHAR(50),
@CodStampo VARCHAR(8),
@Esponente VARCHAR(6),
@Figura VARCHAR(4),
@DataFus DATETIME,
@TurnoFus INT,
@CodImballo VARCHAR(15),
@CodSoggetto VARCHAR(17),
@Tara FLOAT,
@IdxPosizione INT,
@CodTipoDichiaraz CHAR(1),
@CodEvento VARCHAR(10),
@Qta DECIMAL(10,2),
@PesoTot FLOAT,
@PesoCad FLOAT,
@CodStato VARCHAR(50),
@UDC_parent VARCHAR(50),
@DoDeleteUdcParent BIT,
@Note NVARCHAR(500)
)
AS
-- DECLARE iniziali
DECLARE @UDC AS VARCHAR(50)
DECLARE @RagSociale AS VARCHAR(35)
DECLARE @DescParticolare AS VARCHAR(30)
DECLARE @DescImpianto AS VARCHAR(50)
DECLARE @DisegnoGrezzo AS VARCHAR(30)
DECLARE @NumCont AS INT
DECLARE @numFlu AS INT
DECLARE @numUdc AS INT
DECLARE @nextUdc AS INT
DECLARE @IdxCella AS INT
SET @UDC_parent = UPPER(@UDC_parent) -- nel caso sia passato in minuscolo
-- metto il particolare in Maiuscolo ( il campo è Case Insensitive )
SET @Particolare = UPPER(@Particolare);
------------------------------------------------------------------------------------------------------
-- Caricamento Dati da anagrafica
------------------------------------------------------------------------------------------------------
-- cerco la ragione sociale...
SET @RagSociale = ISNULL(
(
SELECT RagSociale
FROM RilPro.AnagClienti
WHERE (CodCliente = @CodCliente)
)
, '')
-- Cerco descrizione del particolare...
SET @DescParticolare = ISNULL(
(
SELECT DescParticolare
FROM RilPro.AnagParticolari
WHERE (Particolare = @Particolare)
)
, 'ND')
-- se non lo trova provo anche nell'anagrafica leghe
IF(@DescParticolare = 'ND')-- OR (@DescParticolare is null)
BEGIN
SET @DescParticolare = ISNULL(
(
SELECT DescLega
FROM RilPro.AnagLeghe
WHERE ('L'+CodLega = @Particolare)
)
, '')
END
-- cerco codice disegno grezzo
SET @DisegnoGrezzo = ISNULL(
(
SELECT DisegnoGrezzo
FROM RilPro.AnagParticolari
WHERE (Particolare = @Particolare)
)
, '')
-- cerco descrizione Impianto
SET @DescImpianto = ISNULL(
(
SELECT DescImpianto
FROM AnagImpianti
WHERE (CodImpianto = @CodImpianto)
)
, '')
-- Calcolo contatore intero successivo x il contenitore...
SET @NumCont = (
SELECT ISNULL(MAX(NumCont), 0) + 1 AS NumCont
FROM ElencoCartellini
WHERE (Particolare = @Particolare)
AND (DataFus = @DataFus)
AND (TurnoFus = @TurnoFus)
AND (CodImpianto = @CodImpianto)
AND (CodStampo = @CodStampo)
AND (Figura = @Figura)
)
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- Flusso
------------------------------------------------------------------------------------------------------
-- controllo se esiste il flusso (bilancia)...
SET @numFlu = (
SELECT count(*)
FROM AnagBilance
WHERE CodBilancia = @Flusso
)
-- ...sennò lo creo...
IF(@numFlu = 0)
BEGIN
-- se c'è inserisco in tab
INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
VALUES (@Flusso, @Flusso, @CodCS)
END
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- UDC
------------------------------------------------------------------------------------------------------
-- controllo se ci sia già un UDC per company / flusso anno
BEGIN TRAN
-- cerco nella tab contatori se esiste contatore x il flusso
-- controllo se record c'è...
IF EXISTS( SELECT TOP 1 Flusso FROM ContatoriUdc
WHERE CodCS = @CodCS
AND Flusso = @Flusso
AND Anno = @Anno )
BEGIN
-- se c'è incremento di 1 in tab
UPDATE ContatoriUdc
SET LastIdx = LastIdx + 1
WHERE CodCS = @CodCS
AND Flusso = @Flusso
AND Anno = @Anno
END
ELSE
BEGIN
-- lo creo!
INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
VALUES (@CodCS, @Flusso, @Anno, 1)
END
-- aggiorno numero UDC
SET @numUdc = (
SELECT LastIdx
FROM ContatoriUdc
WHERE CodCS = @CodCS
AND Flusso = @Flusso
AND Anno = @Anno
)
COMMIT TRAN
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- Ciclo principale x inserimento nuovo record
------------------------------------------------------------------------------------------------------
BEGIN TRAN
-- ottengo il nuovo codice UDC completo
SET @UDC = dbo.componiUdc(@CodCS, @Flusso, @Anno, @numUdc)
-- inserisco un nuovo record
INSERT INTO ElencoCartellini(UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad, CreateDate, ModDate, Note, CodEvento)
VALUES (@UDC, @CodCS, @CodCliente, @RagSociale, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente, @CodImpianto, @DescImpianto, @CodStampo, @Figura, @DataFus, @TurnoFus, @CodImballo, @CodSoggetto, @NumCont, @Tara, @Qta, @CodStato, @IdxPosizione, @PesoTot, @PesoCad, GETDATE(), GETDATE(), @Note, @CodEvento)
-- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa) SSE UDC_Parent valido
IF((NOT @UDC_parent IS NULL) AND (NOT @UDC_parent = ''))
BEGIN
INSERT INTO RelazUDC(UDC_parent, UDC_child)
VALUES (@UDC_parent, @UDC)
END
COMMIT TRAN
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- Ciclo secondario x eventuale cancellazione UDC tara parent e inserimento in posizione
------------------------------------------------------------------------------------------------------
-- se richiesto elimino l'UDC parent (tara)
IF(@DoDeleteUdcParent = 1)
BEGIN
DELETE FROM ElencoCartellini WHERE UDC = @UDC_parent
END
-- cerco in TabTranPosizEventi record x calcolare cella
DECLARE @IdxBloccoTo INT
SET @IdxBloccoTo = 0
/* da testare... */
SET @IdxBloccoTo = (
SELECT ISNULL(
(
SELECT IdxBloccoTo
FROM TabTranPosizEventi
WHERE CodEvento = @CodEvento
AND IdxPosizione = 0
AND IdxPosizioneTo = @IdxPosizione
AND CodStatoTo = @CodStato
), 0)
)
-- se non lo trovo cerco con CodStatoTo null ( x stato UDC non specifico ) ...
IF(@IdxBloccoTo = 0)
BEGIN
SET @IdxBloccoTo = (
SELECT ISNULL(
(
SELECT IdxBloccoTo
FROM TabTranPosizEventi
WHERE CodEvento = @CodEvento
AND IdxPosizione = 0
AND IdxPosizioneTo = @IdxPosizione
), 0)
)
END
/* fine modifica da testare */
-- se NON HO trovato una conf x @IdxBloccoTo utilizzo questo valore utilizzo modalità "vecchia"
IF(@IdxBloccoTo = 0)
BEGIN
-- calcolo la prima cella della posizione indicata..
SET @IdxCella = (
SELECT TOP 1 c.IdxCella
FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
WHERE b.CodMag = CAST(@IdxPosizione AS NVARCHAR(50))
)
END
ELSE
BEGIN
-- calcolo la prima cella della posizione indicata..
SET @IdxCella = (
SELECT TOP 1 c.IdxCella
FROM Celle c
WHERE c.IdxBlocco = @IdxBloccoTo
)
END
-- inserisco il cartellino nella prima cella della posizione indicata...
INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif, CodSoggetto)
VALUES(@Udc, @IdxCella, @CodCs, GETDATE(), @CodSoggetto)
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- restituisco la tab dati con l'udc appena inserito
------------------------------------------------------------------------------------------------------
SELECT *
FROM ElencoCartellini
WHERE UDC = @UDC
------------------------------------------------------------------------------------------------------
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_insNewFull_fixUDC]...';
GO
/***************************************
* STORED stp_UDC_insNewFull_fixUDC
*
* crea un nuovo record nella TabStatoOdpUdc FULL (con pesi, qta...) avendo in entrata il codice UDC da
utilizzare
*
* Steamware, S.E.L.
* mod: 2011.12.07
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_insNewFull_fixUDC]
(
@UDC AS NVARCHAR(50),
@CodCS VARCHAR(2),
@Flusso VARCHAR(2),
@Anno VARCHAR(2),
@CodCliente VARCHAR(6),
@Particolare VARCHAR(15),
@CodImpianto AS VARCHAR(50),
@CodStampo VARCHAR(8),
@Esponente VARCHAR(6),
@Figura VARCHAR(4),
@DataFus DATETIME,
@TurnoFus INT,
@CodImballo VARCHAR(15),
@CodSoggetto VARCHAR(17),
@Tara FLOAT,
@IdxPosizione INT,
@CodTipoDichiaraz CHAR(1),
@CodEvento VARCHAR(10),
@Qta DECIMAL(10,2),
@PesoTot FLOAT,
@PesoCad FLOAT,
@CodStato VARCHAR(50),
@UDC_parent VARCHAR(50),
@DoDeleteUdcParent BIT,
@Note NVARCHAR(500)
)
AS
-- DECLARE iniziali
DECLARE @RagSociale AS VARCHAR(35)
DECLARE @DescParticolare AS VARCHAR(30)
DECLARE @DescImpianto AS VARCHAR(50)
DECLARE @DisegnoGrezzo AS VARCHAR(30)
DECLARE @NumCont AS INT
DECLARE @numFlu AS INT
DECLARE @numUdc AS INT
DECLARE @nextUdc AS INT
DECLARE @IdxCella AS INT
SET @UDC_parent = UPPER(@UDC_parent) -- nel caso sia passato in minuscolo
-- metto il particolare in Maiuscolo ( il campo è Case Insensitive )
SET @Particolare = UPPER(@Particolare);
------------------------------------------------------------------------------------------------------
-- Caricamento Dati da anagrafica
------------------------------------------------------------------------------------------------------
-- cerco la ragione sociale...
SET @RagSociale = ISNULL(
(
SELECT RagSociale
FROM RilPro.AnagClienti
WHERE (CodCliente = @CodCliente)
)
, '')
-- Cerco descrizione del particolare...
SET @DescParticolare = ISNULL(
(
SELECT DescParticolare
FROM RilPro.AnagParticolari
WHERE (Particolare = @Particolare)
)
, 'ND')
-- se non lo trova provo anche nell'anagrafica leghe
IF(@DescParticolare = 'ND')-- OR (@DescParticolare is null)
BEGIN
SET @DescParticolare = ISNULL(
(
SELECT DescLega
FROM RilPro.AnagLeghe
WHERE ('L'+CodLega = @Particolare)
)
, '')
END
-- cerco codice disegno grezzo
SET @DisegnoGrezzo = ISNULL(
(
SELECT DisegnoGrezzo
FROM RilPro.AnagParticolari
WHERE (Particolare = @Particolare)
)
, '')
-- cerco descrizione Impianto
SET @DescImpianto = ISNULL(
(
SELECT DescImpianto
FROM AnagImpianti
WHERE (CodImpianto = @CodImpianto)
)
, '')
-- Calcolo contatore intero successivo x il contenitore...
SET @NumCont = (
SELECT ISNULL(MAX(NumCont), 0) + 1 AS NumCont
FROM ElencoCartellini
WHERE (Particolare = @Particolare)
AND (DataFus = @DataFus)
AND (TurnoFus = @TurnoFus)
AND (CodImpianto = @CodImpianto)
AND (CodStampo = @CodStampo)
AND (Figura = @Figura)
)
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- Ciclo principale x inserimento nuovo record
------------------------------------------------------------------------------------------------------
BEGIN TRAN
-- inserisco un nuovo record
INSERT INTO ElencoCartellini(UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare,
DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo,
CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad, CreateDate, ModDate, Note, CodEvento)
VALUES (@UDC, @CodCS, @CodCliente, @RagSociale, @Particolare, @DescParticolare, @DisegnoGrezzo,
@Esponente, @CodImpianto, @DescImpianto, @CodStampo, @Figura, @DataFus, @TurnoFus, @CodImballo,
@CodSoggetto, @NumCont, @Tara, @Qta, @CodStato, @IdxPosizione, @PesoTot, @PesoCad, GETDATE(), GETDATE(),
@Note, @CodEvento)
-- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa) SSE UDC_Parent valido
IF((NOT @UDC_parent IS NULL) AND (NOT @UDC_parent = ''))
BEGIN
INSERT INTO RelazUDC(UDC_parent, UDC_child)
VALUES (@UDC_parent, @UDC)
END
COMMIT TRAN
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- Ciclo secondario x eventuale cancellazione UDC tara parent e inserimento in posizione
------------------------------------------------------------------------------------------------------
-- se richiesto elimino l'UDC parent (tara)
IF(@DoDeleteUdcParent = 1)
BEGIN
DELETE FROM ElencoCartellini WHERE UDC = @UDC_parent
END
-- cerco in TabTranPosizEventi record x calcolare cella
DECLARE @IdxBloccoTo INT
SET @IdxBloccoTo = 0
/* da testare...*/
SET @IdxBloccoTo = (
SELECT ISNULL(
(
SELECT IdxBloccoTo
FROM TabTranPosizEventi
WHERE CodEvento = @CodEvento
AND IdxPosizione = 0
AND IdxPosizioneTo = @IdxPosizione
AND CodStatoTo = @CodStato
), 0)
)
-- se non lo trovo cerco con CodStatoTo null...
IF(@IdxBloccoTo = 0)
BEGIN
SET @IdxBloccoTo = (
SELECT ISNULL(
(
SELECT IdxBloccoTo
FROM TabTranPosizEventi
WHERE CodEvento = @CodEvento
AND IdxPosizione = 0
AND IdxPosizioneTo = @IdxPosizione
), 0)
)
END
/* fine test */
-- se NON HO trovato una conf x @IdxBloccoTo utilizzo questo valore utilizzo modalità "vecchia"
IF(@IdxBloccoTo = 0)
BEGIN
-- calcolo la prima cella della posizione indicata..
SET @IdxCella = (
SELECT TOP 1 c.IdxCella
FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
WHERE b.CodMag = CAST(@IdxPosizione AS NVARCHAR(50))
)
END
ELSE
BEGIN
-- calcolo la prima cella della posizione indicata..
SET @IdxCella = (
SELECT TOP 1 c.IdxCella
FROM Celle c
WHERE c.IdxBlocco = @IdxBloccoTo
)
END
-- inserisco il cartellino nella prima cella della posizione indicata..
INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif, CodSoggetto)
VALUES(@Udc, @IdxCella, @CodCs, GETDATE(), @CodSoggetto)
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- restituisco la tab dati con l'udc appena inserito
------------------------------------------------------------------------------------------------------
SELECT *
FROM ElencoCartellini
WHERE UDC = @UDC
------------------------------------------------------------------------------------------------------
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_update]...';
GO
/***************************************
* STORED stp_UDC_update
*
* aggiorna un cartellino dato il suo codice UDC e tutti i parametri da aggiornare
*
* Steamware, S.E.L.
* mod: 2010.04.30
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_update]
(
@UDC_edit VARCHAR(50),
@CodCS VARCHAR(2),
@Flusso VARCHAR(2),
@Anno VARCHAR(2),
@CodCliente VARCHAR(6),
@Particolare VARCHAR(15),
@CodImpianto AS VARCHAR(50),
@CodStampo VARCHAR(8),
@Esponente VARCHAR(6),
@Figura VARCHAR(4),
@DataFus DATETIME,
@TurnoFus INT,
@CodImballo VARCHAR(15),
@CodSoggetto VARCHAR(17),
@Tara FLOAT,
@IdxPosizione INT,
@CodTipoDichiaraz CHAR(1),
@CodEvento VARCHAR(10),
@Qta DECIMAL(10,2),
@PesoTot FLOAT,
@PesoCad FLOAT,
@CodStato VARCHAR(50),
@UDC_parent VARCHAR(50),
@Note NVARCHAR(500)
)
AS
SET @UDC_parent = UPPER(@UDC_parent) -- nel caso sia passato in minuscolo
SET @UDC_edit = UPPER(@UDC_edit) -- nel caso sia passato in minuscolo
-- DECLARE iniziali
DECLARE @RagSociale AS VARCHAR(35)
DECLARE @DescParticolare AS VARCHAR(30)
DECLARE @DescImpianto AS VARCHAR(50)
DECLARE @DisegnoGrezzo AS VARCHAR(30)
DECLARE @NumCont AS INT
DECLARE @numFlu AS INT
DECLARE @numUdc AS INT
DECLARE @nextUdc AS INT
------------------------------------------------------------------------------------------------------
-- Caricamento Dati da anagrafica
------------------------------------------------------------------------------------------------------
-- cerco la ragione sociale...
SET @RagSociale = ISNULL(
(
SELECT RagSociale
FROM RilPro.AnagClienti
WHERE (CodCliente = @CodCliente)
)
, '')
-- Cerco descrizione del particolare...
SET @DescParticolare = ISNULL(
(
SELECT DescParticolare
FROM RilPro.AnagParticolari
WHERE (Particolare = @Particolare)
)
, 'ND')
-- se non lo trova provo anche nell'anagrafica leghe
IF(@DescParticolare = 'ND')-- OR (@DescParticolare is null)
BEGIN
SET @DescParticolare = ISNULL(
(
SELECT DescLega
FROM RilPro.AnagLeghe
WHERE ('L'+CodLega = @Particolare)
)
, '')
END
-- cerco codice disegno grezzo
SET @DisegnoGrezzo = ISNULL(
(
SELECT DisegnoGrezzo
FROM RilPro.AnagParticolari
WHERE (Particolare = @Particolare)
)
, '')
-- cerco descrizione Impianto
SET @DescImpianto = ISNULL(
(
SELECT DescImpianto
FROM AnagImpianti
WHERE (CodImpianto = @CodImpianto)
)
, '')
-- Calcolo contatore intero successivo x il contenitore...
SET @NumCont = (
SELECT NumCont
FROM ElencoCartellini
WHERE (UDC = @UDC_edit)
)
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- Flusso
------------------------------------------------------------------------------------------------------
-- controllo se esiste il flusso (bilancia)...
SET @numFlu = (
SELECT count(*)
FROM AnagBilance
WHERE CodBilancia = @Flusso
)
-- ...sennò lo creo...
IF(@numFlu = 0)
BEGIN
-- se c'è inserisco in tab
INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
VALUES (@Flusso, @Flusso, @CodCS)
END
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- Ciclo principale x edit record
------------------------------------------------------------------------------------------------------
BEGIN TRAN
-- elimino vecchio record parent/child
DELETE FROM RelazUDC
WHERE (UDC_child = @UDC_edit)
-- modifico il record
UPDATE ElencoCartellini
SET CodCS = @CodCS, CodCliente = @CodCliente, RagSociale = @RagSociale, Particolare = @Particolare, DescParticolare = @DescParticolare,
DisegnoGrezzo = @DisegnoGrezzo, Esponente = @Esponente, CodImpianto = @CodImpianto, DescImpianto = @DescImpianto, CodStampo = @CodStampo,
Figura = @Figura, DataFus = @DataFus, TurnoFus = @TurnoFus, CodImballo = @CodImballo, CodSoggetto = @CodSoggetto, NumCont = @NumCont,
Tara = @Tara, Qta = @Qta, CodStato = @CodStato, IdxPosizione = @IdxPosizione, PesoTot = @PesoTot, PesoCad = @PesoCad, ModDate = GETDATE(), Note = @Note, CodEvento = @CodEvento
WHERE UDC = @UDC_edit
-- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa)
INSERT INTO RelazUDC(UDC_parent, UDC_child)
VALUES (@UDC_parent, @UDC_edit)
COMMIT TRAN
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- restituisco la tab dati con l'udc appena inserito
------------------------------------------------------------------------------------------------------
SELECT *
FROM ElencoCartellini
WHERE UDC = @UDC_edit
------------------------------------------------------------------------------------------------------
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_updateIdxPosizione]...';
GO
/***************************************
* STORED stp_UDC_updateIdxPosizione
*
* aggiorna un cartellino x la sua posizione logica
*
* Steamware, S.E.L.
* mod: 2012.05.30
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_updateIdxPosizione]
(
@UDC VARCHAR(50),
@IdxPosizione INT,
@CodSoggetto NVARCHAR(17)
)
AS
------------------------------------------------------------------------------------------------------
-- Ciclo principale x edit record
------------------------------------------------------------------------------------------------------
BEGIN TRAN
-- modifico il record
UPDATE ElencoCartellini
SET IdxPosizione = @IdxPosizione
,ModDate = GETDATE()
,CodEvento='UDC_MOV'
,CodSoggetto = @CodSoggetto
WHERE UDC = @UDC
COMMIT TRAN
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- restituisco la tab dati con l'udc appena inserito
------------------------------------------------------------------------------------------------------
SELECT *
FROM ElencoCartellini
WHERE UDC = @UDC
------------------------------------------------------------------------------------------------------
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_updateNote]...';
GO
/*****************************************
* STORED stp_UDC_updateNote
*
* Aggiorna note UDC
*
* Steamware, S.E.L.
* mod: 2013.02.12
*
****************************************/
create PROCEDURE stp_UDC_updateNote
(
@UDC NVARCHAR(50),
@note NVARCHAR(500),
@CodSoggetto NVARCHAR(17)
)
AS
UPDATE ElencoCartellini
SET note = @note
,ModDate = GETDATE()
,CodEvento = 'UDC_NOTE'
,CodSoggetto = @CodSoggetto
FROM ElencoCartellini
WHERE UDC = @UDC
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_updateNoteByRQ]...';
GO
/*****************************************
* STORED stp_UDC_updateNoteByRQ
*
* Aggiorna note UDC dato il rapp di qualità cui sono legate
*
* Steamware, S.E.L.
* mod: 2012.02.14
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_updateNoteByRQ]
(
@nRapQual NUMERIC(6,0),
@note NVARCHAR(500),
@CodSoggetto NVARCHAR(17)
)
AS
UPDATE ElencoCartellini
SET note = @note
,ModDate = GETDATE()
,CodEvento = 'UDC_RDQ'
,CodSoggetto = @CodSoggetto
FROM ElencoCartellini AS ec INNER JOIN v_RapQualNote AS rq ON ec.UDC = rq.UDC
WHERE (rq.nRapQual = @nRapQual) AND ( ec.note <> @note OR ec.note IS NULL )
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_updateQty]...';
GO
/***************************************
* STORED stp_UDC_updateQty
*
* update qta UDC
*
* Steamware, S.E.L.
* mod: 2012.05.30
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_updateQty]
(
@UDC VARCHAR(50),
@CodSoggetto VARCHAR(17),
@CodTipoDichiaraz CHAR(1),
@CodEvento VARCHAR(10),
@Qta DECIMAL(10,2)
)
AS
SET NOCOUNT ON;
DECLARE @udcInLdpPrel BIT
------------------------------------------------------------------------------------------------------
-- Ciclo principale x edit record
------------------------------------------------------------------------------------------------------
SET XACT_ABORT ON;
BEGIN TRAN
-- controllo UDC, se faccia parte di LDP che NON permette modifica QTA...
SET @udcInLdpPrel = ( SELECT ISNULL(COUNT(rldp.UDC),0)
FROM RigheListePrelievo rldp INNER JOIN ElencoListePrelievo ldp
ON ldp.CodLista=rldp.CodLista INNER JOIN AnagStatiListe asl
ON ldp.CodStatoLista = asl.CodStatoLista
WHERE asl.canQtaUDC = 0
AND rldp.UDC=@UDC )
-- controllo UDC "libero" da LDP (ovvero non faccia parte di LDP in uno stato che NON permette Modifica QTA, nel qual caso NON sposto)
IF (@udcInLdpPrel = 0)
-- tutto ok PROCEDO!
BEGIN
-- modifico il record UDC
UPDATE dbo.ElencoCartellini
SET Qta = @Qta
,ModDate = GETDATE()
,CodEvento = @CodEvento
,CodSoggetto = @CodSoggetto
WHERE UDC = @UDC
-- modifico qta anche in RigheListePrelievo se presente
UPDATE dbo.RigheListePrelievo
SET Qta = @Qta
WHERE UDC = @UDC
END
COMMIT TRAN
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- restituisco la tab dati con l'udc appena inserito
------------------------------------------------------------------------------------------------------
SELECT *
FROM ElencoCartellini
WHERE UDC = @UDC
------------------------------------------------------------------------------------------------------
RETURN
GO
PRINT N'Creating [dbo].[stp_UDC_upsertPrelevato]...';
GO
/***************************************
* STORED stp_UDC_upsertPrelevato
*
* fa un upsert sulle righe liste prelievo indicando che è stato prelevato un dato udc
* (upsert: se c'è update, se non c'è insert...)
*
* Steamware, S.E.L.
* mod: 2010.06.29
*
************************************/
CREATE PROCEDURE [dbo].[stp_UDC_upsertPrelevato]
(
@CodLista NVARCHAR(12),
@UDC NVARCHAR(50)
)
AS
SET @UDC = UPPER(@UDC) -- metto ad Upper nel caso venga passato in minuscolo ( es. smart LDP da terminalino )
-- controllo se ci sia l'UDC tra quelli proposti...
DECLARE @trovato AS BIT
SET @trovato = (SELECT COUNT(*) AS trovati
FROM RigheListePrelievo
WHERE (CodLista = @CodLista) AND (UDC = @UDC))
-- controllo x scelta upsert
IF ( @trovato > 0) -- UPDATE!
BEGIN
UPDATE RigheListePrelievo
SET Prelevato=1
WHERE (CodLista = @CodLista) AND (UDC = @UDC)
END
ELSE -- INSERT!
BEGIN
INSERT INTO RigheListePrelievo (CodLista, UDC, Qta, Proposto, Prelevato)
SELECT @CodLista, @UDC, Qta, 0, 1
FROM ElencoCartellini
WHERE (UDC = @UDC)
END
-- restituisce la tab delle righe di prelievo della lista indicata
SELECT *
FROM RigheListePrelievo
WHERE (CodLista = @CodLista) AND (UDC = @UDC)
GO
PRINT N'Creating [dbo].[stp_UdcDetailGetByCodCella]...';
GO
/***************************************
* STORED stp_UdcDetailGetByCodCella
*
* ottiene l'elenco degli UDC con dettaglio per una data cella dato CodCella
*
* Steamware, S.E.L.
* mod: 2012.03.06
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UdcDetailGetByCodCella]
(
@codCella NVARCHAR(50)
)
AS
SELECT ElencoCartellini.UDC, ElencoCartellini.RagSociale, ElencoCartellini.Particolare, ElencoCartellini.DescParticolare,
ElencoCartellini.DisegnoGrezzo, ElencoCartellini.Esponente, ElencoCartellini.DescImpianto, ElencoCartellini.DataFus,
ElencoCartellini.TurnoFus, ElencoCartellini.CodImballo, ElencoCartellini.Qta, AnagStatiProdotto.DescStato,
ElencoCartellini.ModDate, ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco,
ISNULL(Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione, ISNULL(ElencoCartellini.Note,'') AS Note,
dbo.PosizioneUdcCorrente.DataRif AS lastMov
FROM Celle INNER JOIN
PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS INNER JOIN
ElencoCartellini ON PosizioneUdcCorrente.UDC = ElencoCartellini.UDC LEFT OUTER JOIN
AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato AND ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
WHERE (Celle.CodCella = @CodCella)
RETURN
GO
PRINT N'Creating [dbo].[stp_UdcDetailGetByIdxBlocco]...';
GO
/***************************************
* STORED stp_UdcDetailGetByIdxBlocco
*
* ottiene l'elenco degli UDC con dettaglio posizioni OCCUPATE associati ad un dato blocco di magazzino
*
* Steamware, S.E.L.
* mod: 2010.07.19
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UdcDetailGetByIdxBlocco]
(
@IdxBlocco INT
)
AS
SELECT ElencoCartellini.UDC, ElencoCartellini.RagSociale, ElencoCartellini.Particolare, ElencoCartellini.DescParticolare,
ElencoCartellini.DisegnoGrezzo, ElencoCartellini.Esponente, ElencoCartellini.DescImpianto, ElencoCartellini.DataFus,
ElencoCartellini.TurnoFus, ElencoCartellini.CodImballo, ElencoCartellini.Qta, AnagStatiProdotto.DescStato,
ElencoCartellini.ModDate, ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco,
ISNULL(Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione, ISNULL(ElencoCartellini.Note,'') AS Note,
dbo.PosizioneUdcCorrente.DataRif AS lastMov
FROM Celle INNER JOIN
PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS INNER JOIN
ElencoCartellini ON PosizioneUdcCorrente.UDC = ElencoCartellini.UDC LEFT OUTER JOIN
AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato AND ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
WHERE (Celle.IdxBlocco = @IdxBlocco)
RETURN
GO
PRINT N'Creating [dbo].[stp_UdcDetailGetByIdxBloccoCodMagLog]...';
GO
/***************************************
* STORED stp_UdcDetailGetByIdxBloccoCodMagLog
*
* ottiene l'elenco degli UDC con dettaglio posizioni OCCUPATE associati ad un dato blocco di magazzino ed ad un dato STATO LOGICO
*
* Steamware, S.E.L.
* mod: 2010.09.15
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UdcDetailGetByIdxBloccoCodMagLog]
(
@IdxBlocco INT,
@CodMagLog INT
)
AS
SELECT ElencoCartellini.UDC, ElencoCartellini.RagSociale, ElencoCartellini.Particolare, ElencoCartellini.DescParticolare,
ElencoCartellini.DisegnoGrezzo, ElencoCartellini.Esponente, ElencoCartellini.DescImpianto, ElencoCartellini.DataFus,
ElencoCartellini.TurnoFus, ElencoCartellini.CodImballo, ElencoCartellini.Qta, AnagStatiProdotto.DescStato,
ElencoCartellini.ModDate, ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco,
ISNULL(Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione, ISNULL(ElencoCartellini.Note,'') AS Note,
dbo.PosizioneUdcCorrente.DataRif AS lastMov
FROM Celle INNER JOIN
PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS INNER JOIN
ElencoCartellini ON PosizioneUdcCorrente.UDC = ElencoCartellini.UDC LEFT OUTER JOIN
AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato AND ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
WHERE (Celle.IdxBlocco = @IdxBlocco) AND ElencoCartellini.IdxPosizione = @CodMagLog
RETURN
GO
PRINT N'Creating [dbo].[stp_UdcDetailGetByIdxCella]...';
GO
/***************************************
* STORED stp_UdcDetailGetByIdxCella
*
* ottiene l'elenco degli UDC con dettaglio per una data cella
*
* Steamware, S.E.L.
* mod: 2010.07.20
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UdcDetailGetByIdxCella]
(
@IdxCella INT
)
AS
SELECT ElencoCartellini.UDC, ElencoCartellini.RagSociale, ElencoCartellini.Particolare, ElencoCartellini.DescParticolare,
ElencoCartellini.DisegnoGrezzo, ElencoCartellini.Esponente, ElencoCartellini.DescImpianto, ElencoCartellini.DataFus,
ElencoCartellini.TurnoFus, ElencoCartellini.CodImballo, ElencoCartellini.Qta, AnagStatiProdotto.DescStato,
ElencoCartellini.ModDate, ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco,
ISNULL(Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione, ISNULL(ElencoCartellini.Note,'') AS Note,
dbo.PosizioneUdcCorrente.DataRif AS lastMov
FROM Celle INNER JOIN
PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS INNER JOIN
ElencoCartellini ON PosizioneUdcCorrente.UDC = ElencoCartellini.UDC LEFT OUTER JOIN
AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato AND ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
WHERE (Celle.IdxCella = @IdxCella)
ORDER BY dbo.PosizioneUdcCorrente.DataRif DESC
RETURN
GO
PRINT N'Creating [dbo].[stp_UdcPerParticolareCodLista]...';
GO
/***************************************
* STORED stp_ParticolariOverviewPerListaPrelievo
*
* elenco degli UDC x lista di prelievo e particolare
*
* Steamware, S.E.L.
* mod: 2010.11.26
*
****************************************/
CREATE PROCEDURE [dbo].[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
PRINT N'Creating [dbo].[stp_updateByBilancia]...';
GO
/***************************************
* STORED stp_updateByBilancia
*
* aggiorna i dati a partire dalla segnalazione conteggio pezzi della bilancia
*
* Steamware, S.E.L.
* mod: 2010.03.19
*
****************************************/
CREATE PROCEDURE [dbo].[stp_updateByBilancia]
(
@CodCompany VARCHAR(4),
@UDC VARCHAR(50),
@CodArticolo VARCHAR(50),
@qta INT
)
AS
------------------------------------------------------------------------------------------------------
-- Articoli
------------------------------------------------------------------------------------------------------
DECLARE @numArt AS INT
-- controllo se esista il cod articolo o lo creo
SET @numArt = (
SELECT count(*)
FROM AnagArticoli
WHERE CodArticolo = @CodArticolo
)
-- ...sennò lo creo...
IF(@numArt = 0)
BEGIN
INSERT INTO AnagArticoli(CodArticolo, DescrArticolo, Figura)
VALUES (@CodArticolo, @CodArticolo, 'ND')
END
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- ODP = articolo
------------------------------------------------------------------------------------------------------
DECLARE @numOdp AS INT
-- controllo se esiste l'ODP = articolo...
SET @numOdp = (
SELECT count(*)
FROM AnagOdp
WHERE CodCompany = @CodCompany
AND ODP = @CodArticolo
)
-- ...sennò lo creo...
IF(@numOdp = 0)
BEGIN
-- se c'è inserisco in tab
INSERT INTO AnagOdp(CodCompany, ODP, CodArticolo, Esponente, CodDisegno, Magazzino, Ubicazione, CreateDate, ModDate)
VALUES (@CodCompany, @CodArticolo, @CodArticolo, 'ND', 'ND', 'WIP', 'ND', GETDATE(), GETDATE())
END
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- UDC
------------------------------------------------------------------------------------------------------
-- aggiorno lo stato UDC
UPDATE TabStatoOdpUdc
SET Qta = @Qta, ODP = @CodArticolo
WHERE UDC = @UDC
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
-- restituisco la tab dati con l'udc appena inserit0
------------------------------------------------------------------------------------------------------
SELECT *
FROM TabStatoOdpUdc
WHERE UDC = @UDC
------------------------------------------------------------------------------------------------------
RETURN
GO
PRINT N'Creating [dbo].[stp_v_selLinee_byConditio]...';
GO
/***************************************
* STORED stp_v_selLinee_byConditio
*
* elenco linee data condizione (tipo W10 .. W40)
* Steamware, S.E.L.
* mod: 2014.01.14
*
****************************************/
create PROCEDURE stp_v_selLinee_byConditio
(
@conditio NVARCHAR(5)
)
AS
SELECT DISTINCT value, label, conditio
FROM v_selLinee
WHERE conditio = @conditio
RETURN
GO
PRINT N'Creating [dbo].[stp_v_selPartic_SAO]...';
GO
/***************************************
* STORED stp_v_selPartic_SAO
*
* elenco particolari x ricerca dato periodo analisi
* Steamware, S.E.L.
* mod: 2012.09.28
*
****************************************/
create PROCEDURE stp_v_selPartic_SAO
(
@DataOraFrom DATETIME,
@DataOraTo DATETIME
)
AS
SELECT DISTINCT value, label, GETDATE() AS conditio
FROM v_selPartic_SAO
WHERE conditio BETWEEN @DataOraFrom AND @DataOraTo
RETURN
GO
PRINT N'Creating [dbo].[stp_v_selPostazioni_SAO]...';
GO
/***************************************
* STORED stp_v_selPostazioni_SAO
*
* elenco Postazioni x ricerca dato periodo analisi
* Steamware, S.E.L.
* mod: 2012.10.02
*
****************************************/
create PROCEDURE stp_v_selPostazioni_SAO
(
@DataOraFrom DATETIME,
@DataOraTo DATETIME
)
AS
SELECT DISTINCT value, label, GETDATE() AS conditio
FROM v_selPostazioni_SAO
WHERE conditio BETWEEN @DataOraFrom AND @DataOraTo
RETURN
GO
PRINT N'Creating [dbo].[stp_v_selSoggetti_SAO]...';
GO
/***************************************
* STORED stp_v_selSoggetti_SAO
*
* elenco soggetti x ricerca dato periodo analisi
* Steamware, S.E.L.
* mod: 2012.10.02
*
****************************************/
create PROCEDURE stp_v_selSoggetti_SAO
(
@DataOraFrom DATETIME,
@DataOraTo DATETIME
)
AS
SELECT DISTINCT value, label, GETDATE() AS conditio
FROM v_selSoggetti_SAO
WHERE conditio BETWEEN @DataOraFrom AND @DataOraTo
RETURN
GO
PRINT N'Creating [dbo].[stp_v_selUDC_SAO]...';
GO
/***************************************
* STORED stp_v_selUDC_SAO
*
* elenco UDC x ricerca dato periodo analisi
* Steamware, S.E.L.
* mod: 2012.09.28
*
****************************************/
create PROCEDURE stp_v_selUDC_SAO
(
@DataOraFrom DATETIME,
@DataOraTo DATETIME
)
AS
SELECT DISTINCT value, label, GETDATE() AS conditio
FROM v_selUDC_SAO
WHERE conditio BETWEEN @DataOraFrom AND @DataOraTo
RETURN
GO
PRINT N'Creating [dbo].[usp_get_trigger_status]...';
GO
CREATE PROCEDURE dbo.usp_get_trigger_status ( @dbName SYSNAME = null ) AS BEGIN IF @dbname IS NULL SELECT @dbname = DB_NAME() EXEC( 'USE ' + @dbname + '-- Variable Declaration DECLARE @triggerName VARCHAR(255) -- Declare cursor to get trigger name DECLARE triggerCursor CURSOR FOR SELECT [name] FROM sysobjects a JOIN syscomments b ON a.id = b.id WHERE type = ''TR'' -- Create a temp table to hold trigger name and status CREATE TABLE #trigger_table ( trigger_name VARCHAR(255), trigger_status VARCHAR(10) ) -- open the cursor OPEN triggerCursor -- Fetch the first value into a variable FETCH NEXT FROM triggerCursor INTO @triggerName -- Loop thru the cursor and insert the trigger name and status -- into the temp table WHILE @@FETCH_STATUS = 0 BEGIN INSERT #trigger_table SELECT @triggerName, CASE OBJECTPROPERTY(OBJECT_ID(@triggerName), ''ExecIsTriggerDisabled'') WHEN 1 THEN ''Disabled'' WHEN 0 THEN ''Enabled'' ELSE ''Trigger not found'' END AS ''Trigger status'' FETCH NEXT FROM triggerCursor INTO @triggerName END -- Close and Deallocate the cursor CLOSE triggerCursor DEALLOCATE triggerCursor -- Select all the trigger name and status SELECT trigger_name, trigger_status FROM #trigger_table -- Drop the temp table DROP TABLE #trigger_table' ) END
GO
PRINT N'Creating [BatchQueue].[stp_batch_cancellaUDC_RapQualAnnullati]...';
GO
-- =============================================
-- Steamware, S.E.L.
-- mod: 2012.02.23
--
-- Description: Verifica se ci sono RQ annullati e se ci sono cartellini associati
-- li elimina richiamando la relativa stored
-- =============================================
CREATE PROCEDURE [BatchQueue].[stp_batch_cancellaUDC_RapQualAnnullati]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
IF OBJECT_ID(N'tempdb..#CartRQAnnullati') IS NOT NULL -- Se esiste già la tabella temporanea cancello
DROP TABLE #CartRQAnnullati;
-- Carico gli UDC Annullati ( vengono messi ad A su AS400 quando annullano il Rapporto di Qualità )
WITH Cte AS
( SELECT DISTINCT r.nRapQual
FROM RilPro.RapQual AS r
INNER JOIN dbo.ElencoCartellini AS e -- per sicurezza verifico che i cartellini esistano anche in ElencoCartellini
ON r.UDC = e.UDC
WHERE r.BenesQual = 'A' AND r.UDC IS NOT NULL -- Cartellino Annullato e associato a Cartellini GMW
)
SELECT nRapQual, ROW_NUMBER() OVER( ORDER BY nRapQual ) AS Riga
INTO #CartRQAnnullati
FROM Cte
DECLARE @Riga AS INT = 1;
DECLARE @TotRighe AS INT;
DECLARE @nRapQual NUMERIC(6,0);
SELECT @TotRighe = MAX(Riga) FROM #CartRQAnnullati ;
-- Per ogni UDC Annullato eseguo la stored di cancellazione
WHILE @Riga <= @TotRighe
BEGIN
SELECT @nRapQual=nRapQual FROM #CartRQAnnullati WHERE Riga = @Riga
EXECUTE dbo.stp_UDC_delete_byRdQ @nRapQual , 0 -- 0 eseguita in Batch
-- Incremento contatore Riga ( RQ successiva )
SET @Riga = @Riga + 1
END
IF OBJECT_ID(N'tempdb..#CartRQAnnullati') IS NOT NULL -- tabella temporanea cancello
DROP TABLE #CartRQAnnullati;
END
GO
PRINT N'Creating [BatchQueue].[stp_processaCodaMovimMag]...';
GO
/*****************************************************
* STORED sstp_processaCodaMovimMag
*
* Processa la coda dei movimenti di magazzino e chiama procedura x salvataggio dato su AS400
*
* Steamware, S.E.L.
* mod: 2013.11.22
*
****************************************/
CREATE PROCEDURE BatchQueue.stp_processaCodaMovimMag
AS
-- VERIFICARE 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 LOCAL FOR
-- SELECT TOP 2000 IdxBatch FROM dbo.AS400_BatchMovimenti WHERE DataBatch IS NULL -- limito a 2000 i movimenti da passare
-- modifica per cambio anagrafica ( blocco i movimenti con particolare vecchio )
IF GETDATE() >= '20140101' -- 22/11/2013 Hard Coded x Modifica Anagrafica Articoli
DECLARE RigaMovMag CURSOR LOCAL FOR
SELECT TOP 2000 IdxBatch FROM dbo.AS400_BatchMovimenti
WHERE DataBatch IS NULL -- limito a 2000 i movimenti da passare
AND LEFT(Particolare ,1) <> 'P' -- Hard Coded 22/11/2013 non passo movimenti con codice vecchio
AND LEFT(Particolare ,1) <> 'A' -- Hard Coded 31/01/2014 non passo movimenti con codice anime vecchio
ORDER BY DataIns
ELSE
DECLARE RigaMovMag CURSOR LOCAL FOR
SELECT TOP 2000 IdxBatch FROM dbo.AS400_BatchMovimenti
WHERE DataBatch IS NULL -- limito a 2000 i movimenti da passare
ORDER BY DataIns
-- utente da inviare ad AS... VERIFICARE!!! su AS400 è un Char(10)
SET @CodSoggetto = 'UTENTEGMW2'
-- carico i 2 valori di default di carico e scarico da AS400
SET @CodMovCarico = (SELECT CauCarico FROM RilPro.AnagCausaliMag WHERE CodElemento = '0001')
SET @CodMovScarico = (SELECT CauScarico FROM RilPro.AnagCausaliMag WHERE CodElemento = '0001')
-- 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 dbo.AS400_BatchMovimenti WHERE IdxBatch = @IdxBatch) > 0
BEGIN
/* OLD VERSION
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(bm.DataIns), -- mod. 09/06/2012
@RIFFO=RIGHT( (CONVERT(NVARCHAR(20),bm.IdxBatch)) , 8 ) -- mod. 09/06/2012
*/
-- carico valori che mi servono
-- Lo scarico Anime esterne usa la causale P3 per poterle distinguerle in AS400 ( richiesta da TEKAL ) x il carico
-- non serve visto che non viene mai fatto vs AS400 x le anime esterne
SELECT @Particolare = bm.Particolare,
@Causale = CASE WHEN bm.Quantita < 0 AND (gm.CodStatoTo='AnimExt' OR gm.CodStatoFrom='AnimExt') THEN 'P3' -- Hard Coded 11/06/2013
WHEN bm.Quantita > 0 THEN @CodMovCarico
ELSE @CodMovScarico END,
@CodMag = bm.CodMagAS,
@Qta = ABS(bm.Quantita),
@Data = dbo.dateToAsFormat(bm.DataIns), -- mod. 09/06/2012
@RIFFO = RIGHT( (CONVERT(NVARCHAR(20),bm.IdxBatch)) , 8 ) -- mod. 09/06/2012
-- @Data=dbo.dateToAsFormat(GETDATE()),
-- @RIFFO=dbo.getUdcComp(bm.UDC,8)
FROM dbo.AS400_BatchMovimenti AS bm
INNER JOIN dbo.GiornaleMagazzino AS gm ON bm.numOp = gm.numOp
WHERE IdxBatch = @IdxBatch
-- Eseguo la stored che registra i movimenti magazzino
DECLARE @ScritturaASOK AS INT
EXECUTE @ScritturaASOK = BatchQueue.stp_registraMovMag @CodSoggetto, @Causale, @Particolare, @CodMag, @Qta, @Data, @RIFFO
-- registro la data del movimento BATCH solo se la stp verso AS400 è Ok
IF @ScritturaASOK = 0
UPDATE dbo.AS400_BatchMovimenti SET DataBatch = GETDATE() WHERE IdxBatch = @IdxBatch
FETCH NEXT FROM RigaMovMag INTO @IdxBatch
END
END
CLOSE RigaMovMag
DEALLOCATE RigaMovMag
RETURN
GO
PRINT N'Creating [BatchQueue].[stp_processaCodaMovimPackList]...';
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)
DECLARE @ScritturaRigaOK AS INT -- Flag errore su riga ritornato da Stored che va su As400 0 = Ok
SET @ScritturaRigaOK = 0;
DECLARE @ScritturaASOK AS INT -- Flag errore Packing generale su Stored che va su As400 0 = Ok
SET @ScritturaASOK = 0;
-- qui è meglio usare una tabella temporanea o ancor meglio una variabile tabella x pochi record
-- query con un cursore x processare tutte le righe di Packing che sono ancora da inviare ad AS400 ( DataBatch IS NULL )
DECLARE RigaPackList CURSOR LOCAL FOR
SELECT IdxRiga, CodLista 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 caricando le righe
OPEN RigaPackList
FETCH NEXT FROM RigaPackList
INTO @IdxRiga , @CodLista
SET @CodListaPre = @CodLista
WHILE @@FETCH_STATUS = 0
BEGIN
-- controllo ci sia almento una riga di Packing ( PER ME NON SERVE )
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 la Packing List con le righe sue righe
EXECUTE @ScritturaRigaOK = BatchQueue.stp_registraPackList @CodStab, @UDC, @Particolare , @CodImb , @Matr , @Tipo , @Dest , @Qta , @PesoNet , @PesoLor , @Stato , @Data
-- se scrittura riga è ok allora salvo sulla riga la data di invio... così poi non la rivedo tra quelle da processare...
IF @ScritturaRigaOK = 0
UPDATE RigheListePrelievo_AS SET DataBatch = GETDATE() WHERE IdxRiga = @IdxRiga;
-- Se scrittura Riga Packing non ok metto Flag Packing list non Ok
IF @ScritturaRigaOK <> 0 SET @ScritturaASOK = @ScritturaRigaOK
FETCH NEXT FROM RigaPackList
INTO @IdxRiga , @CodLista
-- controllo: se la lista precedente è diversa dall'attuale la indico come scaricata (precedente)
IF(@CodListaPre <> @CodLista)
BEGIN
-- Se tutte le righe della lista sono Ok la indico come scaricata
-- se UDC già presente in As400 errore 7343
IF @ScritturaASOK = 0
UPDATE ElencoListePrelievo_AS SET DataBatch = GETDATE() WHERE CodLista = @CodListaPre;
ELSE
SET @ScritturaASOK = 0; -- resetto il flag di controllo
-- cambio il cod pre da confrontare
SET @CodListaPre = @CodLista
END
END
END
-- Aggiorno anche l'ultima lista prelievo
-- x gli UDC già in AS400 da errore 7343
IF @ScritturaASOK = 0 -- OR @ScritturaASOK = 7343 ???
-- registro la data del movimento BATCH anche dell'ultima lista processata
UPDATE ElencoListePrelievo_AS SET DataBatch = GETDATE() WHERE CodLista = @CodLista
-- se c'è un errore mi rimane aperto il cursore? nn dovrebbe perchè LOCAL
CLOSE RigaPackList
DEALLOCATE RigaPackList
RETURN
GO
PRINT N'Creating [dbo].[stp_ODETTE_caricaDatiBollaEtichettaOdette]...';
GO
/*****************************************
* STORED stp_ODETTE_caricaDatiBollaEtichettaOdette
*
* carica i dati x odette dai valori delel tab lette da as400 (rimpiazza procedura c#)
*
* Steamware, S.E.L.
* mod: 2013.12.20
*
****************************************/
CREATE PROCEDURE [dbo].[stp_ODETTE_caricaDatiBollaEtichettaOdette]
(
@CodCS NVARCHAR(2),
@UDC NVARCHAR(50),
@numBolla NVARCHAR(6),
@dataBolla NVARCHAR(8),
@CodMag NVARCHAR(2),
@GrpBolla NVARCHAR(1),
@Particolare NVARCHAR(15)
)
AS
SET NOCOUNT ON
/* Dichiarazione variabili iniziale */
DECLARE @ragSocCli NVARCHAR(50) = ''
DECLARE @indirCli NVARCHAR(50) = ''
DECLARE @capCittCli NVARCHAR(50) = ''
DECLARE @destinatario NVARCHAR(50) = ''
DECLARE @ragSocDest NVARCHAR(50) = ''
DECLARE @indirDest NVARCHAR(50) = ''
DECLARE @capCittDest NVARCHAR(50) = ''
DECLARE @peso NUMERIC(7,3) = 0
DECLARE @pesoNetto NVARCHAR(50) = ''
DECLARE @pesoLordo NVARCHAR(50) = ''
DECLARE @numColli NVARCHAR(50) = ''
DECLARE @disPart NVARCHAR(50) = ''
DECLARE @descPart NVARCHAR(50) = ''
DECLARE @codPart NVARCHAR(50) = ''
DECLARE @codImb NVARCHAR(50) = ''
DECLARE @codMaz NVARCHAR(50) = ''
DECLARE @codNael NVARCHAR(50) = ''
DECLARE @codNaelP1 NVARCHAR(50) = ''
DECLARE @codNaelP2 NVARCHAR(50) = ''
DECLARE @codNaelP3 NVARCHAR(50) = ''
DECLARE @codAQP NVARCHAR(50) = ''
-- altre variabili accessorie
DECLARE @trovati INT = 0
DECLARE @qtaUdc INT = 1
-- in primis recupero la riga di dati da AS400...
SELECT @trovati = COUNT(*)
FROM RawData.BORI202J
WHERE CDMFS = @CodMag
AND GRBOS = @GrpBolla
AND NRBOS = @numBolla
AND DTBOS = @DataBolla
AND CDARS = @Particolare
-- carico i dati dell'UDC
SELECT @qtaUdc = Qta
FROM ElencoCartellini
WHERE UDC = @UDC
-- proseguo solo se ho trovato la bolla!
IF(@trovati > 0)
BEGIN
IF GETDATE() < '20140101' -- 28/11/2013 Hard Coded x Modifica Anagrafica Articoli
BEGIN
SELECT TOP 1 -- nel caso di più righe dello stesso articolo in bolla
-- campo 1 indirizzo destinazione cliente ( Receiver )
@ragSocCli = CASE WHEN dbo.f_trim(CDINB) <> '' AND @CodCS <> 'TK' THEN dbo.f_trim(RA1ND) ELSE dbo.f_trim(RASCL) END
,@indirCli = CASE WHEN dbo.f_trim(CDINB) <> '' AND @CodCS <> 'TK' THEN dbo.f_trim(RA2ND) ELSE dbo.f_trim(INDCL) END
,@capCittCli = CASE WHEN dbo.f_trim(CDINB) <> '' AND @CodCS <> 'TK' THEN dbo.f_trim(CAPND) + ' ' + dbo.f_trim(CITND)
ELSE dbo.f_trim(CAPCL) + ' ' + dbo.f_trim(LOCCL) + ' ' +dbo.f_trim(PROCL) END
-- campo 2 punto di rifornimento / molo / uso ( Destination )
-- ATTENZIONE NON POSSO TESTARE QUI LE VARIABILI MA SOLO ASSEGNARLE!!! NEL CASE LE VALUTA SEMPRE VUOTE
,@destinatario = dbo.f_odetteCalcDest( dbo.f_trim(INEND), dbo.f_trim(CCDMOL), dbo.f_trim(CCDPTR), dbo.f_trim(CDINB),
dbo.f_trim(CRAGCL), dbo.f_trim(TELND) )
-- Leggo i dati che mi servono dopo nel caso il destinatario sia vuoto ( VEDI DOPO SELECT )
,@ragSocDest = dbo.f_trim(RA1ND)
,@indirDest = dbo.f_trim(RA2ND)
,@capCittDest = dbo.f_trim(CAPND) + ' ' + dbo.f_trim(CITND)
-- campo 5_2 peso netto ( Net Weight )
,@peso = CASE WHEN ISNULL(EPLAVO,0) <= 0 THEN EPNETT ELSE EPLAVO END
,@pesoNetto = CONVERT(NVARCHAR(50), CONVERT(INT , FLOOR( @peso * @qtaUdc ) ) )
-- campo 6_2 peso lordo (Gross Weight)
,@pesoLordo = CONVERT(NVARCHAR(50), CONVERT(INT, FLOOR( PELDB / NRC1B ) ) )
-- campo 7 numero colli (Nr. Boxes)
,@numColli = CONVERT(NVARCHAR(50), 1) -- imposto n. colli del cartellino odette fisso = 1
-- ,@numColli = CONVERT(NVARCHAR(50), NRC1B)
-- campo 8 disegno particolare ( Part Number )
,@disPart = dbo.f_trim(ECMM01)
-- campo 10 Descrizione particolare ( Description )
,@descPart = dbo.f_trim(DEPAR)
-- campo 11_1 Codice particolare (non stampato)
,@codPart = dbo.f_trim(CDARS)
-- campo 11_2 Codice imballo per il cliente ( Logistics Reference )
,@codImb = dbo.f_trim(FCDI01)
-- campo 12 Codice Mazzucconi/Tekal/Possidonio per il cliente ( Supplier )
,@codMaz = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN
CASE WHEN dbo.f_trim(CDINB) <> '' AND dbo.f_trim(PERND) <> '' THEN dbo.f_trim(PERND)
WHEN dbo.f_trim(CDINB) = '' AND dbo.f_trim(CCDET1) <> '' THEN dbo.f_trim(CCDET1)
ELSE dbo.f_trim(CCFOE1) END
ELSE dbo.f_trim(CCFOE1) END
-- campo 14 codice NAEL + esponente di modifica particolare ( Change Index )
,@codNael = dbo.f_odetteCalcNAEL ( dbo.f_trim(CRAGCL),dbo.f_trim(TELND),dbo.f_trim(ECDNAE),dbo.f_trim(ECDNA1),
dbo.f_trim(EESPMD),dbo.f_trim(OCDODM) )
--,@codNaelP1 = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN dbo.f_trim(ECDNAE) ELSE '' END
--,@codNaelP2 = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN dbo.f_trim(ECDNA1) ELSE '' END
--,@codNaelP3 = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN dbo.f_trim(EESPMD) ELSE '' END
--,@codNael = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN 'ZI:'+ @codNaelP1 + ' ' + @codNaelP2 + ' AI:'+ @codNaelP3 ELSE OCDODM END
-- campo 16_5 AQP ( controllo qualità )
,@codAQP = dbo.f_trim(ECLAQP)
FROM RawData.BORI202J
WHERE CDMFS = @CodMag
AND GRBOS = @GrpBolla
AND NRBOS = @numBolla
AND DTBOS = @DataBolla
AND CDARS = @Particolare
-- Se nella destinazione non trovo nulla utilizzo i dati in RA1ND RA2ND CAPND CITND ( simile indirizzo cliente )
IF @destinatario = ''
SET @destinatario = @ragSocDest
ELSE
BEGIN -- vuoto i campi necessari solo se destinatario NON è vuoto ( in questo caso compilo solo prima riga )
SET @indirDest = ''
SET @capCittDest = ''
END
END
ELSE
BEGIN
SELECT TOP 1 -- nel caso di più righe dello stesso articolo in bolla
-- campo 1 indirizzo destinazione cliente ( Receiver )
@ragSocCli = CASE WHEN dbo.f_trim(CDINB) <> '' THEN dbo.f_trim(RA1ND) ELSE dbo.f_trim(RASCL) END
,@indirCli = CASE WHEN dbo.f_trim(CDINB) <> '' THEN dbo.f_trim(RA2ND) ELSE dbo.f_trim(INDCL) END
,@capCittCli = CASE WHEN dbo.f_trim(CDINB) <> '' THEN dbo.f_trim(CAPND) + ' ' + dbo.f_trim(CITND)
ELSE dbo.f_trim(CAPCL) + ' ' + dbo.f_trim(LOCCL) + ' ' +dbo.f_trim(PROCL) END
-- campo 2 punto di rifornimento / molo / uso ( Destination )
-- ATTENZIONE NON POSSO TESTARE QUI LE VARIABILI MA SOLO ASSEGNARLE!!! NEL CASE LE VALUTA SEMPRE VUOTE
,@destinatario = dbo.f_odetteCalcDest( dbo.f_trim(INEND), dbo.f_trim(CCDMOL), dbo.f_trim(CCDPTR), dbo.f_trim(CDINB),
dbo.f_trim(CRAGCL), dbo.f_trim(TELND) )
-- campo 5_2 peso netto ( Net Weight )
,@peso = CASE WHEN ISNULL(EPLAVO,0) <= 0 THEN EPNETT ELSE EPLAVO END
,@pesoNetto = CONVERT(NVARCHAR(50), CONVERT(INT , FLOOR( @peso * @qtaUdc ) ) )
-- campo 6_2 peso lordo (Gross Weight)
,@pesoLordo = CONVERT(NVARCHAR(50), CONVERT(INT, FLOOR( PELDB / NRC1B ) ) )
-- campo 7 numero colli (Nr. Boxes)
,@numColli = CONVERT(NVARCHAR(50), 1) -- imposto n. colli del cartellino odette fisso = 1
-- ,@numColli = CONVERT(NVARCHAR(50), NRC1B)
-- campo 8 disegno particolare ( Part Number )
,@disPart = dbo.f_trim(RCARTC)
-- campo 10 Descrizione particolare ( Description )
,@descPart = dbo.f_trim(DEPAR)
-- campo 11_1 Codice particolare (non stampato)
,@codPart = dbo.f_trim(CDARS)
-- campo 11_2 Codice imballo per il cliente ( Logistics Reference )
,@codImb = dbo.f_trim(FCDI01)
-- campo 12 Codice Mazzucconi/Tekal/Possidonio per il cliente ( Supplier )
,@codMaz = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN
CASE WHEN dbo.f_trim(CDINB) <> '' AND dbo.f_trim(PERND) <> '' THEN dbo.f_trim(PERND)
WHEN dbo.f_trim(CDINB) = '' AND dbo.f_trim(CCDET1) <> '' THEN dbo.f_trim(CCDET1)
ELSE dbo.f_trim(CCFOE1) END
ELSE dbo.f_trim(CCFOE1) END
-- campo 14 codice NAEL + esponente di modifica particolare ( Change Index )
,@codNael = dbo.f_odetteCalcNAEL ( dbo.f_trim(CRAGCL),dbo.f_trim(TELND),dbo.f_trim(ECDNAE),dbo.f_trim(ECDNA1),
dbo.f_trim(EESPMD),dbo.f_trim(OCDODM) )
-- campo 16_5 AQP ( controllo qualità )
,@codAQP = dbo.f_trim(ECLAQP)
FROM RawData.BORI202J
WHERE CDMFS = @CodMag
AND GRBOS = @GrpBolla
AND NRBOS = @numBolla
AND DTBOS = @DataBolla
AND CDARS = @Particolare
END
-- SELECT @UDC, @ragSocCli, @indirCli, @capCittCli, @destinatario, @indirDest, @capCittDest, @pesoNetto, @pesoLordo, @numColli, @disPart, @descPart, @codPart, @codImb, @codMaz, @codNael, @codAQP
EXEC stp_ODETTE_updateVal @UDC, @ragSocCli, @indirCli, @capCittCli, @destinatario, @indirDest, @capCittDest, @pesoNetto, @pesoLordo, @numColli, @disPart, @descPart, @codPart, @codImb, @codMaz, @codNael, @codAQP
END
RETURN
GO
PRINT N'Creating [dbo].[v_selPeriodiTrad].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "AnagPeriodi_1"
Begin Extent =
Top = 6
Left = 38
Bottom = 102
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "v_vocabolario"
Begin Extent =
Top = 6
Left = 246
Bottom = 118
Right = 416
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selPeriodiTrad';
GO
PRINT N'Creating [dbo].[v_selPeriodiTrad].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selPeriodiTrad';
GO
PRINT N'Creating [dbo].[v_UdcDetail].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "AnagStatiProdotto"
Begin Extent =
Top = 6
Left = 38
Bottom = 101
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "ElencoCartellini"
Begin Extent =
Top = 6
Left = 246
Bottom = 309
Right = 416
End
DisplayFlags = 280
TopColumn = 12
End
Begin Table = "Celle"
Begin Extent =
Top = 27
Left = 818
Bottom = 156
Right = 988
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "PosizioneUdcCorrente"
Begin Extent =
Top = 71
Left = 548
Bottom = 200
Right = 718
End
DisplayFlags = 280
TopColumn = 1
End
Begin Table = "Blocchi"
Begin Extent =
Top = 70
Left = 1080
Bottom = 199
Right = 1250
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagMag"
Begin Extent =
Top = 188
Left = 799
Bottom = 334
Right = 969
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 23
Width = 284
Width = 15', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_UdcDetail';
GO
PRINT N'Creating [dbo].[v_UdcDetail].[MS_DiagramPane2]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane2', @value = N'00
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
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_UdcDetail';
GO
PRINT N'Creating [dbo].[v_UdcDetail].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 2, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_UdcDetail';
GO
PRINT N'Creating [dbo].[v_vocabolario].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "Vocabolario (SP_Vocabolario.dbo)"
Begin Extent =
Top = 6
Left = 38
Bottom = 99
Right = 189
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_vocabolario';
GO
PRINT N'Creating [dbo].[v_vocabolario].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_vocabolario';
GO
PRINT N'Creating [dbo].[AnagAttributi].[CodAttr].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'NON MODIFICARE: nel codice si usano questi campi x chiamate...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AnagAttributi', @level2type = N'COLUMN', @level2name = N'CodAttr';
GO
PRINT N'Creating [dbo].[AnagLinee].[CodLinea].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Linea impegnata (00 - 99)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AnagLinee', @level2type = N'COLUMN', @level2name = N'CodLinea';
GO
PRINT N'Creating [dbo].[AnagLinee].[codPostazione].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'postazione correntemente associata', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AnagLinee', @level2type = N'COLUMN', @level2name = N'codPostazione';
GO
PRINT N'Creating [dbo].[AnagLinee].[dtAccess].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'data ora ultimo accesso', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AnagLinee', @level2type = N'COLUMN', @level2name = N'dtAccess';
GO
PRINT N'Creating [dbo].[AnagTipoDelibere].[CodEvento].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'NON MODIFICARE: nel codice si usano questi campi x chiamate...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AnagTipoDelibere', @level2type = N'COLUMN', @level2name = N'CodEvento';
GO
PRINT N'Creating [dbo].[AnagTipoEvento].[CodEvento].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'NON MODIFICARE: nel codice si usano questi campi x chiamate...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AnagTipoEvento', @level2type = N'COLUMN', @level2name = N'CodEvento';
GO
PRINT N'Creating [dbo].[AS400_BatchMovimenti].[CodEvento].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'NON MODIFICARE: nel codice si usano questi campi x chiamate...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AS400_BatchMovimenti', @level2type = N'COLUMN', @level2name = N'CodEvento';
GO
PRINT N'Creating [dbo].[AS400_BatchMovimenti].[DataBatch].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'dataora di caricamento batch verso AS', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AS400_BatchMovimenti', @level2type = N'COLUMN', @level2name = N'DataBatch';
GO
PRINT N'Creating [dbo].[AS400_BatchMovimenti].[DataIns].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'dataora inserimento in coda caricamento', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AS400_BatchMovimenti', @level2type = N'COLUMN', @level2name = N'DataIns';
GO
PRINT N'Creating [dbo].[AS400_BatchMovimenti].[DataVerifica].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'dataora in cui è stato verificato il caricamento su AS', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AS400_BatchMovimenti', @level2type = N'COLUMN', @level2name = N'DataVerifica';
GO
PRINT N'Creating [dbo].[Attr2UDC].[CodAttr].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'NON MODIFICARE: nel codice si usano questi campi x chiamate...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Attr2UDC', @level2type = N'COLUMN', @level2name = N'CodAttr';
GO
PRINT N'Creating [dbo].[Blocchi].[NumX].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero elementi X (colonne)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Blocchi', @level2type = N'COLUMN', @level2name = N'NumX';
GO
PRINT N'Creating [dbo].[Blocchi].[NumY].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero elementi Y (livelli/ripiani)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Blocchi', @level2type = N'COLUMN', @level2name = N'NumY';
GO
PRINT N'Creating [dbo].[Blocchi].[NumZ].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero elementi Z (profondita)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Blocchi', @level2type = N'COLUMN', @level2name = N'NumZ';
GO
PRINT N'Creating [dbo].[Celle].[Attiva].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'indica se sia attiva, se non lo fosse è impedito caricamento nella stessa', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Celle', @level2type = N'COLUMN', @level2name = N'Attiva';
GO
PRINT N'Creating [dbo].[Celle].[X].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'posizione X (colonna)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Celle', @level2type = N'COLUMN', @level2name = N'X';
GO
PRINT N'Creating [dbo].[Celle].[Y].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'posizione Y (livello/ripiano)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Celle', @level2type = N'COLUMN', @level2name = N'Y';
GO
PRINT N'Creating [dbo].[Celle].[Z].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'posizione Z (profondita)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Celle', @level2type = N'COLUMN', @level2name = N'Z';
GO
PRINT N'Creating [dbo].[ElencoCartellini].[CodEvento].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'NON MODIFICARE: nel codice si usano questi campi x chiamate...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoCartellini', @level2type = N'COLUMN', @level2name = N'CodEvento';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[CodDataMatrix].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Codice Data Matrix', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'CodDataMatrix';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[CodDifettoScarto].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Codice Difetto Causa Scarto del Pezzo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'CodDifettoScarto';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[CodGitterbox].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Codice Gitterbox', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'CodGitterbox';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[DataImport].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Data dell''import della riga', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'DataImport';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[EsponenteDisegno].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Esponente Disegno', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'EsponenteDisegno';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[FineIniezione].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Fine Iniezione Pezzo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'FineIniezione';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[FinePreparazione].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Fine Preparazione Gitterbox', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'FinePreparazione';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[InizioIniezione].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Inizio Iniezione Pezzo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'InizioIniezione';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[InizioPreparazione].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Inizio Preparazione Gitterbox', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'InizioPreparazione';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[MagDestinazione].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Magazzino di Partenza', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'MagDestinazione';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[NumConchiglia].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Numero Conchiglia', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'NumConchiglia';
GO
PRINT N'Creating [dbo].[ElencoDataMatrix].[NumDisegno].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Numero Disegno del Pezzo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoDataMatrix', @level2type = N'COLUMN', @level2name = N'NumDisegno';
GO
PRINT N'Creating [dbo].[ElencoListePrelievo_AS].[DataBatch].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'dataora di caricamento batch verso AS', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoListePrelievo_AS', @level2type = N'COLUMN', @level2name = N'DataBatch';
GO
PRINT N'Creating [dbo].[ElencoListePrelievo_AS].[DataVerifica].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'dataora in cui è stato verificato il caricamento su AS', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ElencoListePrelievo_AS', @level2type = N'COLUMN', @level2name = N'DataVerifica';
GO
PRINT N'Creating [dbo].[GiornaleMagazzino].[CodEvento].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'NON MODIFICARE: nel codice si usano questi campi x chiamate...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'GiornaleMagazzino', @level2type = N'COLUMN', @level2name = N'CodEvento';
GO
PRINT N'Creating [dbo].[GiornaleMagazzino].[OP].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'tipo operazione I(nsert), U(pdate), D(elete)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'GiornaleMagazzino', @level2type = N'COLUMN', @level2name = N'OP';
GO
PRINT N'Creating [dbo].[ImpegnoLinee].[CodLinea].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Linea impegnata (00 - 99)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ImpegnoLinee', @level2type = N'COLUMN', @level2name = N'CodLinea';
GO
PRINT N'Creating [dbo].[ImpegnoLinee].[Tipo].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'IN (ingresso) oppure OUT (uscita)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ImpegnoLinee', @level2type = N'COLUMN', @level2name = N'Tipo';
GO
PRINT N'Creating [dbo].[ImpegnoLinee].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ImpegnoLinee';
GO
PRINT N'Creating [dbo].[PrintJobQueue].[dtEnd].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'data/ora evento stampa/annullamento', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PrintJobQueue', @level2type = N'COLUMN', @level2name = N'dtEnd';
GO
PRINT N'Creating [dbo].[PrintJobQueue].[dtLastTry].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'data/ora ultimo tentativo di stampa (x check se zombie process)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PrintJobQueue', @level2type = N'COLUMN', @level2name = N'dtLastTry';
GO
PRINT N'Creating [dbo].[PrintJobQueue].[dtStart].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'dataora richiesta', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PrintJobQueue', @level2type = N'COLUMN', @level2name = N'dtStart';
GO
PRINT N'Creating [dbo].[PrintJobQueue].[IdxPrintJob].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'chiave con ordinamento FIFO', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PrintJobQueue', @level2type = N'COLUMN', @level2name = N'IdxPrintJob';
GO
PRINT N'Creating [dbo].[PrintJobQueue].[prtName].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'printer name (nome completo stampante)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PrintJobQueue', @level2type = N'COLUMN', @level2name = N'prtName';
GO
PRINT N'Creating [dbo].[PrintJobQueue].[stato].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'stato: 0=wait, 1=fatto, -1=annullato', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PrintJobQueue', @level2type = N'COLUMN', @level2name = N'stato';
GO
PRINT N'Creating [dbo].[PrintJobQueue].[TipoCart].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'tipo di cartellino', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PrintJobQueue', @level2type = N'COLUMN', @level2name = N'TipoCart';
GO
PRINT N'Creating [dbo].[PrintJobQueue].[UDC].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'cod UDC da stampare', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PrintJobQueue', @level2type = N'COLUMN', @level2name = N'UDC';
GO
PRINT N'Creating [dbo].[RigheListePrelievo_AS].[DataBatch].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'dataora di caricamento batch verso AS', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RigheListePrelievo_AS', @level2type = N'COLUMN', @level2name = N'DataBatch';
GO
PRINT N'Creating [dbo].[StoricoCartellini].[CodEvento].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'NON MODIFICARE: nel codice si usano questi campi x chiamate...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'StoricoCartellini', @level2type = N'COLUMN', @level2name = N'CodEvento';
GO
PRINT N'Creating [dbo].[TabSyncMovMag].[codMagExtComp].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'cod magazzino from, 0 o null significa non valido', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabSyncMovMag', @level2type = N'COLUMN', @level2name = N'codMagExtComp';
GO
PRINT N'Creating [dbo].[TabSyncMovMag].[codMagExtFrom].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'cod magazzino from, NULL significa non valido e non utilizzato', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabSyncMovMag', @level2type = N'COLUMN', @level2name = N'codMagExtFrom';
GO
PRINT N'Creating [dbo].[TabSyncMovMag].[codMagExtTo].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'cod magazzino from, NULL significa non valido e non utilizzato', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabSyncMovMag', @level2type = N'COLUMN', @level2name = N'codMagExtTo';
GO
PRINT N'Creating [dbo].[TabSyncMovMag].[IdxPosizioneFrom].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'posizione (stato) logica di partenza', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabSyncMovMag', @level2type = N'COLUMN', @level2name = N'IdxPosizioneFrom';
GO
PRINT N'Creating [dbo].[TabSyncMovMag].[IdxPosizioneTo].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'posizione (stato) logica di arrivo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabSyncMovMag', @level2type = N'COLUMN', @level2name = N'IdxPosizioneTo';
GO
PRINT N'Creating [dbo].[TabSyncMovMag].[note].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'descrizione della regola', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabSyncMovMag', @level2type = N'COLUMN', @level2name = N'note';
GO
PRINT N'Creating [dbo].[TabSyncMovMag].[toExt].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'determina se inviare l''informazione al sistema esterno', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabSyncMovMag', @level2type = N'COLUMN', @level2name = N'toExt';
GO
PRINT N'Creating [dbo].[TabTranPosizEventi].[CodEvento].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'NON MODIFICARE: nel codice si usano questi campi x chiamate...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabTranPosizEventi', @level2type = N'COLUMN', @level2name = N'CodEvento';
GO
PRINT N'Creating [dbo].[TabTranPosizEventi].[IdxBloccoTo].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'blocco di destinazione', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabTranPosizEventi', @level2type = N'COLUMN', @level2name = N'IdxBloccoTo';
GO
PRINT N'Creating [dbo].[TabTranPosizEventi].[IdxPosizione].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'posizione (stato) logica di partenza', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabTranPosizEventi', @level2type = N'COLUMN', @level2name = N'IdxPosizione';
GO
PRINT N'Creating [dbo].[TabTranPosizEventi].[IdxPosizioneTo].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'posizione (stato) logica di arrivo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabTranPosizEventi', @level2type = N'COLUMN', @level2name = N'IdxPosizioneTo';
GO
PRINT N'Creating [dbo].[TabTranPosizEventi].[Note].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'descrizione della regola', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabTranPosizEventi', @level2type = N'COLUMN', @level2name = N'Note';
GO
PRINT N'Creating [dbo].[TipoCella].[SetMag].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = 'determina se deve o meno impostare il magazzino logico (contabile)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TipoCella', @level2type = N'COLUMN', @level2name = N'SetMag';
GO
PRINT N'Creating [dbo].[TipoListaPrelievo].[CodEvento].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'NON MODIFICARE: nel codice si usano questi campi x chiamate...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TipoListaPrelievo', @level2type = N'COLUMN', @level2name = N'CodEvento';
GO
PRINT N'Creating [dbo].[TipoListaPrelievo].[codTipoObj].[MS_Description]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'tipo oggetto ("A" = anime, "P" = particolari)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TipoListaPrelievo', @level2type = N'COLUMN', @level2name = N'codTipoObj';
GO
PRINT N'Creating [dbo].[TMP_UdcModificati].[Note]...';
GO
EXECUTE sp_addextendedproperty @name = N'Note', @value = 'Tabella con gli UDC modificati x passaggio NUOVA ANAGRAFICA 2014', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TMP_UdcModificati';
GO
PRINT N'Creating [dbo].[v_AnagDatiParticolari].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "part"
Begin Extent =
Top = 6
Left = 38
Bottom = 135
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Stamp"
Begin Extent =
Top = 6
Left = 246
Bottom = 135
Right = 421
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Espo"
Begin Extent =
Top = 138
Left = 38
Bottom = 267
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Fig"
Begin Extent =
Top = 138
Left = 246
Bottom = 250
Right = 416
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Cli"
Begin Extent =
Top = 252
Left = 246
Bottom = 347
Right = 416
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_AnagDatiParticolari';
GO
PRINT N'Creating [dbo].[v_AnagDatiParticolari].[MS_DiagramPane2]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane2', @value = ' Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
End
End
End
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_AnagDatiParticolari';
GO
PRINT N'Creating [dbo].[v_AnagDatiParticolari].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 2, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_AnagDatiParticolari';
GO
PRINT N'Creating [dbo].[v_ArtInProd].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[41] 4[20] 2[12] 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 = "vDatiLineeGiornata (RilPro)"
Begin Extent =
Top = 6
Left = 38
Bottom = 135
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 10
Width = 284
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_ArtInProd';
GO
PRINT N'Creating [dbo].[v_ArtInProd].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_ArtInProd';
GO
PRINT N'Creating [dbo].[V_CelleOverview].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "Celle"
Begin Extent =
Top = 35
Left = 80
Bottom = 285
Right = 250
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "PosizioneUdcCorrente"
Begin Extent =
Top = 42
Left = 422
Bottom = 171
Right = 592
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_CelleOverview';
GO
PRINT N'Creating [dbo].[V_CelleOverview].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_CelleOverview';
GO
PRINT N'Creating [dbo].[v_datiPackingList].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "ElencoCartellini"
Begin Extent =
Top = 14
Left = 658
Bottom = 376
Right = 828
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
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 15
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
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_datiPackingList';
GO
PRINT N'Creating [dbo].[v_datiPackingList].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_datiPackingList';
GO
PRINT N'Creating [dbo].[V_DettMagPart].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "AnagMag"
Begin Extent =
Top = 22
Left = 1012
Bottom = 134
Right = 1198
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Blocchi"
Begin Extent =
Top = 16
Left = 737
Bottom = 145
Right = 923
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Celle"
Begin Extent =
Top = 6
Left = 486
Bottom = 135
Right = 672
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "ElencoCartellini"
Begin Extent =
Top = 163
Left = 416
Bottom = 328
Right = 602
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "PosizioneUdcCorrente"
Begin Extent =
Top = 116
Left = 35
Bottom = 245
Right = 221
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagStatiProdotto"
Begin Extent =
Top = 226
Left = 650
Bottom = 321
Right = 836
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 13
Width = 284
Width = ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_DettMagPart';
GO
PRINT N'Creating [dbo].[V_DettMagPart].[MS_DiagramPane2]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane2', @value = N'1500
Width = 1500
Width = 2145
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 2415
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 12
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_DettMagPart';
GO
PRINT N'Creating [dbo].[V_DettMagPart].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 2, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_DettMagPart';
GO
PRINT N'Creating [dbo].[V_elencoListePrelievo].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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"
Begin Extent =
Top = 6
Left = 38
Bottom = 350
Right = 208
End
DisplayFlags = 280
TopColumn = 1
End
Begin Table = "v_righePrelevate"
Begin Extent =
Top = 6
Left = 454
Bottom = 118
Right = 624
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 19
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
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_elencoListePrelievo';
GO
PRINT N'Creating [dbo].[V_elencoListePrelievo].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_elencoListePrelievo';
GO
PRINT N'Creating [dbo].[V_MagazziniLogiciOverview].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "Celle"
Begin Extent =
Top = 6
Left = 710
Bottom = 135
Right = 896
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Blocchi"
Begin Extent =
Top = 6
Left = 486
Bottom = 135
Right = 672
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagMag"
Begin Extent =
Top = 6
Left = 1158
Bottom = 118
Right = 1344
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "el"
Begin Extent =
Top = 6
Left = 38
Bottom = 136
Right = 224
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "PosUdcCorr"
Begin Extent =
Top = 6
Left = 262
Bottom = 136
Right = 448
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "anpo"
Begin Extent =
Top = 138
Left = 38
Bottom = 251
Right = 232
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 12
Width = 284
Width = 1500
Width = 1500
Width ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_MagazziniLogiciOverview';
GO
PRINT N'Creating [dbo].[V_MagazziniLogiciOverview].[MS_DiagramPane2]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane2', @value = '= 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 12
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_MagazziniLogiciOverview';
GO
PRINT N'Creating [dbo].[V_MagazziniLogiciOverview].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 2, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_MagazziniLogiciOverview';
GO
PRINT N'Creating [dbo].[V_MagazziniOverview].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[39] 4[23] 2[11] 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 = "TipoCella"
Begin Extent =
Top = 6
Left = 38
Bottom = 135
Right = 224
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagMag"
Begin Extent =
Top = 6
Left = 662
Bottom = 118
Right = 832
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Blocchi"
Begin Extent =
Top = 36
Left = 974
Bottom = 257
Right = 1144
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Celle"
Begin Extent =
Top = 149
Left = 629
Bottom = 313
Right = 799
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "PosizioneUdcCorrente"
Begin Extent =
Top = 159
Left = 201
Bottom = 288
Right = 371
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 13
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1665
Width = 1665
Width = 1500
Width = 1500
End
End
B', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_MagazziniOverview';
GO
PRINT N'Creating [dbo].[V_MagazziniOverview].[MS_DiagramPane2]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane2', @value = N'egin CriteriaPane =
Begin ColumnWidths = 12
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_MagazziniOverview';
GO
PRINT N'Creating [dbo].[V_MagazziniOverview].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 2, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_MagazziniOverview';
GO
PRINT N'Creating [dbo].[v_particolariEsponenteFigura].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "AnagParticolari (RilPro)"
Begin Extent =
Top = 6
Left = 38
Bottom = 180
Right = 224
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "ElencoCartellini"
Begin Extent =
Top = 6
Left = 262
Bottom = 329
Right = 448
End
DisplayFlags = 280
TopColumn = 1
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 12
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_particolariEsponenteFigura';
GO
PRINT N'Creating [dbo].[v_particolariEsponenteFigura].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_particolariEsponenteFigura';
GO
PRINT N'Creating [dbo].[V_ParticolariOverview].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "AnagParticolari (RilPro)"
Begin Extent =
Top = 6
Left = 38
Bottom = 191
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "ElencoCartellini"
Begin Extent =
Top = 6
Left = 277
Bottom = 270
Right = 447
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "PosizioneUdcCorrente"
Begin Extent =
Top = 7
Left = 533
Bottom = 136
Right = 703
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
Width = 1500
Width = 2580
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 12
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_ParticolariOverview';
GO
PRINT N'Creating [dbo].[V_ParticolariOverview].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_ParticolariOverview';
GO
PRINT N'Creating [dbo].[v_posizioniDelibere].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "tpe"
Begin Extent =
Top = 6
Left = 38
Bottom = 118
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "ate"
Begin Extent =
Top = 6
Left = 246
Bottom = 101
Right = 416
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "atd"
Begin Extent =
Top = 6
Left = 454
Bottom = 118
Right = 632
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_posizioniDelibere';
GO
PRINT N'Creating [dbo].[v_posizioniDelibere].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_posizioniDelibere';
GO
PRINT N'Creating [dbo].[v_RapQualNote].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "ec"
Begin Extent =
Top = 6
Left = 38
Bottom = 336
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "rq"
Begin Extent =
Top = 15
Left = 364
Bottom = 298
Right = 534
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 40
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
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
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 = 1', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_RapQualNote';
GO
PRINT N'Creating [dbo].[v_RapQualNote].[MS_DiagramPane2]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane2', @value = N'170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
End
End
End
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_RapQualNote';
GO
PRINT N'Creating [dbo].[v_RapQualNote].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 2, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_RapQualNote';
GO
PRINT N'Creating [dbo].[v_RapQualSunto].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[42] 4[20] 2[14] 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 = "RapQual_1"
Begin Extent =
Top = 6
Left = 38
Bottom = 136
Right = 224
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 10
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 12
Column = 1440
Alias = 1305
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_RapQualSunto';
GO
PRINT N'Creating [dbo].[v_RapQualSunto].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_RapQualSunto';
GO
PRINT N'Creating [dbo].[v_righeListePrelievoPosizione].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "Celle"
Begin Extent =
Top = 6
Left = 621
Bottom = 235
Right = 791
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "PosizioneUdcCorrente"
Begin Extent =
Top = 18
Left = 377
Bottom = 183
Right = 547
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Blocchi"
Begin Extent =
Top = 5
Left = 870
Bottom = 134
Right = 1040
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "RigheListePrelievo"
Begin Extent =
Top = 6
Left = 38
Bottom = 188
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 13
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
End
End
Begin CriteriaPane =
Begin ColumnWidths = 11
Column = 1440
Alias = 900
Table = 1170
Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_righeListePrelievoPosizione';
GO
PRINT N'Creating [dbo].[v_righeListePrelievoPosizione].[MS_DiagramPane2]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane2', @value = N' GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
End
End
End
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_righeListePrelievoPosizione';
GO
PRINT N'Creating [dbo].[v_righeListePrelievoPosizione].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 2, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_righeListePrelievoPosizione';
GO
PRINT N'Creating [dbo].[v_righePrelevate].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "RigheListePrelievo"
Begin Extent =
Top = 6
Left = 38
Bottom = 184
Right = 189
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 12
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_righePrelevate';
GO
PRINT N'Creating [dbo].[v_righePrelevate].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_righePrelevate';
GO
PRINT N'Creating [dbo].[v_selAzioniUt].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "AnagAzioniUtente"
Begin Extent =
Top = 6
Left = 38
Bottom = 102
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 = 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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selAzioniUt';
GO
PRINT N'Creating [dbo].[v_selAzioniUt].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selAzioniUt';
GO
PRINT N'Creating [dbo].[v_selBlocco].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "Blocchi"
Begin Extent =
Top = 6
Left = 38
Bottom = 229
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 = 2295
Width = 1500
Width = 3210
Width = 4410
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selBlocco';
GO
PRINT N'Creating [dbo].[v_selBlocco].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selBlocco';
GO
PRINT N'Creating [dbo].[v_selDestinatariListePrelievo].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[19] 4[25] 2[19] 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 =
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
Width = 1500
Width = 3360
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selDestinatariListePrelievo';
GO
PRINT N'Creating [dbo].[v_selDestinatariListePrelievo].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selDestinatariListePrelievo';
GO
PRINT N'Creating [dbo].[v_selLinee].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "AnagLinee"
Begin Extent =
Top = 6
Left = 38
Bottom = 185
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 = 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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selLinee';
GO
PRINT N'Creating [dbo].[v_selLinee].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selLinee';
GO
PRINT N'Creating [dbo].[v_selMag].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "AnagMag_1"
Begin Extent =
Top = 6
Left = 38
Bottom = 136
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 = 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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selMag';
GO
PRINT N'Creating [dbo].[v_selMag].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selMag';
GO
PRINT N'Creating [dbo].[v_selMagLogico].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "ec"
Begin Extent =
Top = 6
Left = 38
Bottom = 343
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "am"
Begin Extent =
Top = 6
Left = 294
Bottom = 135
Right = 464
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selMagLogico';
GO
PRINT N'Creating [dbo].[v_selMagLogico].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selMagLogico';
GO
PRINT N'Creating [dbo].[v_selOperatori].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "AnagOperatori (RilPro)"
Begin Extent =
Top = 11
Left = 338
Bottom = 263
Right = 510
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selOperatori';
GO
PRINT N'Creating [dbo].[v_selOperatori].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selOperatori';
GO
PRINT N'Creating [dbo].[v_selPartic_SAO].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "StoricoAzioniOperatore"
Begin Extent =
Top = 6
Left = 38
Bottom = 265
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 = 1500
Width = 2745
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selPartic_SAO';
GO
PRINT N'Creating [dbo].[v_selPartic_SAO].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selPartic_SAO';
GO
PRINT N'Creating [dbo].[v_selPostazioni].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "ElencoPostazioni"
Begin Extent =
Top = 6
Left = 38
Bottom = 102
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
Width = 2205
Width = 6885
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selPostazioni';
GO
PRINT N'Creating [dbo].[v_selPostazioni].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selPostazioni';
GO
PRINT N'Creating [dbo].[v_selPostazioni_SAO].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "StoricoAzioniOperatore"
Begin Extent =
Top = 6
Left = 38
Bottom = 241
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 = 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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selPostazioni_SAO';
GO
PRINT N'Creating [dbo].[v_selPostazioni_SAO].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selPostazioni_SAO';
GO
PRINT N'Creating [dbo].[v_selSoggetti].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "Soggetti2Utente"
Begin Extent =
Top = 6
Left = 38
Bottom = 119
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 = 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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selSoggetti';
GO
PRINT N'Creating [dbo].[v_selSoggetti].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selSoggetti';
GO
PRINT N'Creating [dbo].[v_selSoggetti_SAO].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "StoricoAzioniOperatore"
Begin Extent =
Top = 6
Left = 38
Bottom = 136
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Soggetti2Utente"
Begin Extent =
Top = 6
Left = 246
Bottom = 119
Right = 416
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selSoggetti_SAO';
GO
PRINT N'Creating [dbo].[v_selSoggetti_SAO].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selSoggetti_SAO';
GO
PRINT N'Creating [dbo].[v_selStatiListe].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "AnagStatiListe"
Begin Extent =
Top = 6
Left = 38
Bottom = 101
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 = 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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selStatiListe';
GO
PRINT N'Creating [dbo].[v_selStatiListe].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selStatiListe';
GO
PRINT N'Creating [dbo].[v_selTipoCella].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "TipoCella"
Begin Extent =
Top = 6
Left = 38
Bottom = 237
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 = 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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selTipoCella';
GO
PRINT N'Creating [dbo].[v_selTipoCella].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selTipoCella';
GO
PRINT N'Creating [dbo].[v_selTipoDelibera].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "AnagTipoDelibere"
Begin Extent =
Top = 6
Left = 38
Bottom = 118
Right = 216
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selTipoDelibera';
GO
PRINT N'Creating [dbo].[v_selTipoDelibera].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selTipoDelibera';
GO
PRINT N'Creating [dbo].[v_selTipoLista].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "TipoListaPrelievo"
Begin Extent =
Top = 6
Left = 38
Bottom = 243
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 = 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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selTipoLista';
GO
PRINT N'Creating [dbo].[v_selTipoLista].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selTipoLista';
GO
PRINT N'Creating [dbo].[v_selUDC_SAO].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = "StoricoAzioniOperatore"
Begin Extent =
Top = 6
Left = 38
Bottom = 136
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 = 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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selUDC_SAO';
GO
PRINT N'Creating [dbo].[v_selUDC_SAO].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selUDC_SAO';
GO
PRINT N'Creating [dbo].[v_selUdcByPart].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selUdcByPart';
GO
PRINT N'Creating [dbo].[v_selUdcByPart].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selUdcByPart';
GO
PRINT N'Creating [dbo].[v_specParticolari].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = '[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 = 246
Bottom = 322
Right = 416
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_specParticolari';
GO
PRINT N'Creating [dbo].[v_specParticolari].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_specParticolari';
GO
PRINT N'Creating [dbo].[V_statoCelleCapienzaAssegnati].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "TipoCella"
Begin Extent =
Top = 6
Left = 38
Bottom = 212
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "Celle"
Begin Extent =
Top = 21
Left = 318
Bottom = 292
Right = 488
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "PosizioneUdcCorrente"
Begin Extent =
Top = 6
Left = 681
Bottom = 198
Right = 851
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 12
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
', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_statoCelleCapienzaAssegnati';
GO
PRINT N'Creating [dbo].[V_statoCelleCapienzaAssegnati].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'V_statoCelleCapienzaAssegnati';
GO
PRINT N'Creating [External].[Note]...';
GO
EXECUTE sp_addextendedproperty @name = N'Note', @value = N'Schema per oggetti letti da sistemi esterni', @level0type = N'SCHEMA', @level0name = N'External';
GO
PRINT N'Creating [RilPro].[TabDecodBolla].[Note]...';
GO
EXECUTE sp_addextendedproperty @name = N'Note', @value = N'Tabella di decodifica il CodRaggruppamento Magazzino per Stampa Odette', @level0type = N'SCHEMA', @level0name = N'RilPro', @level1type = N'TABLE', @level1name = N'TabDecodBolla';
GO
PRINT N'Creating [RilPro].[vDatiLineeGiornata].[MS_DiagramPane1]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[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 = "l"
Begin Extent =
Top = 6
Left = 38
Bottom = 125
Right = 198
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "g"
Begin Extent =
Top = 6
Left = 246
Bottom = 135
Right = 421
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "fi"
Begin Extent =
Top = 138
Left = 38
Bottom = 250
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "es"
Begin Extent =
Top = 138
Left = 246
Bottom = 267
Right = 416
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "pa"
Begin Extent =
Top = 252
Left = 38
Bottom = 381
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "fa"
Begin Extent =
Top = 270
Left = 246
Bottom = 365
Right = 416
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "cl"
Begin Extent =
Top = 366
Left = 246
Bottom = 461
Right = 416
End
DisplayFlags = 280
TopColumn = 0
', @level0type = N'SCHEMA', @level0name = N'RilPro', @level1type = N'VIEW', @level1name = N'vDatiLineeGiornata';
GO
PRINT N'Creating [RilPro].[vDatiLineeGiornata].[MS_DiagramPane2]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane2', @value = N'End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 19
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
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
', @level0type = N'SCHEMA', @level0name = N'RilPro', @level1type = N'VIEW', @level1name = N'vDatiLineeGiornata';
GO
PRINT N'Creating [RilPro].[vDatiLineeGiornata].[MS_DiagramPaneCount]...';
GO
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 2, @level0type = N'SCHEMA', @level0name = N'RilPro', @level1type = N'VIEW', @level1name = N'vDatiLineeGiornata';
GO
PRINT N'Update complete.';
GO