Import iniziale DB, GMW
versione TK 2.4 inclusione schema voc x tabella lingue e vocabolario
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
|
||||
/***************************************
|
||||
* 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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
CREATE TABLE [As400].[t_CQNOC98L] (
|
||||
[NumDocRNC] CHAR (10) NOT NULL,
|
||||
[TipoInterv] CHAR (2) NOT NULL,
|
||||
[CodArticolo] CHAR (15) NOT NULL,
|
||||
[MatrPezzo] CHAR (15) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_update]
|
||||
ON [As400].[t_CQNOC98L]([NumDocRNC] ASC, [TipoInterv] ASC, [CodArticolo] ASC, [MatrPezzo] ASC);
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
CREATE TABLE [As400].[t_MOMA200F] (
|
||||
[NumSessione] CHAR (6) NOT NULL,
|
||||
[NumMovimento] NUMERIC (5) NOT NULL,
|
||||
[RifNumCartellino] CHAR (8) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_update]
|
||||
ON [As400].[t_MOMA200F]([NumSessione] ASC, [NumMovimento] ASC);
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
CREATE TABLE [As400].[t_MWMV200F] (
|
||||
[NomeUtente] CHAR (10) NOT NULL,
|
||||
[CodCausale] CHAR (2) NOT NULL,
|
||||
[CodParticolare] CHAR (15) NOT NULL,
|
||||
[CodMagazzino] CHAR (2) NOT NULL,
|
||||
[QtaMovimento] NUMERIC (9, 2) NOT NULL,
|
||||
[DataMovimento] NUMERIC (8) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_update]
|
||||
ON [As400].[t_MWMV200F]([NomeUtente] ASC, [CodCausale] ASC, [CodParticolare] ASC, [CodMagazzino] ASC, [QtaMovimento] ASC, [DataMovimento] ASC);
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
CREATE TABLE [As400].[t_PACKL00F] (
|
||||
[CodStabilimento] CHAR (2) NOT NULL,
|
||||
[ProgUDC] CHAR (15) NOT NULL,
|
||||
[CodParticolare] CHAR (15) NOT NULL,
|
||||
[CodContenitore] CHAR (15) NOT NULL,
|
||||
[MatrContenitore] CHAR (5) NOT NULL,
|
||||
[Qta] NUMERIC (5) NOT NULL,
|
||||
[PesoNetto] NUMERIC (7, 3) NOT NULL,
|
||||
[PesoLordo] NUMERIC (7, 3) NOT NULL,
|
||||
[StaoPackList] CHAR (1) NOT NULL,
|
||||
[DataEntrata] NUMERIC (8) NOT NULL,
|
||||
[TipoAnagr] CHAR (2) NOT NULL,
|
||||
[CodAnagr] CHAR (6) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_update]
|
||||
ON [As400].[t_PACKL00F]([CodStabilimento] ASC, [ProgUDC] ASC, [CodParticolare] ASC, [CodContenitore] ASC, [MatrContenitore] ASC);
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
CREATE TABLE [As400].[t_XOGIX00F] (
|
||||
[XRPQLN] NUMERIC (6) NOT NULL,
|
||||
[XRPQLD] NUMERIC (8) NOT NULL,
|
||||
[XNRETI] CHAR (10) NOT NULL,
|
||||
[XCDFOR] CHAR (6) NOT NULL,
|
||||
[XCDTER] CHAR (6) NOT NULL,
|
||||
[XCDPAR] CHAR (15) NOT NULL,
|
||||
[XDTPRO] NUMERIC (8) NOT NULL,
|
||||
[XTRPRO] CHAR (5) NOT NULL,
|
||||
[XQTPRO] NUMERIC (5) NOT NULL,
|
||||
[XDESMT] CHAR (3) NOT NULL,
|
||||
[XMATSC] CHAR (1) NOT NULL,
|
||||
[XBENQL] CHAR (1) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_update]
|
||||
ON [As400].[t_XOGIX00F]([XRPQLN] ASC, [XRPQLD] ASC, [XNRETI] ASC);
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,206 @@
|
||||
|
||||
|
||||
/***************************************
|
||||
* 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
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
|
||||
|
||||
|
||||
|
||||
/***************************************
|
||||
* 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
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- 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
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
|
||||
|
||||
/***************************************
|
||||
* 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 = ''
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
/***************************************
|
||||
* 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
|
||||
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
/*****************************************************
|
||||
* 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
|
||||
@@ -0,0 +1,113 @@
|
||||
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
|
||||
/***************************************
|
||||
* 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'
|
||||
*/
|
||||
@@ -0,0 +1,109 @@
|
||||
|
||||
/***************************************
|
||||
* 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;
|
||||
BIN
Binary file not shown.
+28
@@ -0,0 +1,28 @@
|
||||
|
||||
|
||||
CREATE VIEW [external].[v_ExportDatiOdette]
|
||||
AS
|
||||
|
||||
SELECT
|
||||
[CampoUDC] AS [UDC]
|
||||
,[Campo1_2] AS [Campo1_2_Receiver]
|
||||
,[CodMag]
|
||||
,[Particolare]
|
||||
,[Campo9_2] AS [Qta]
|
||||
,[Campo11_2_2] AS [Imballo]
|
||||
,[GrpBolla]
|
||||
,[DataBolla]
|
||||
,[NumBolla]
|
||||
|
||||
--,[Campo2_2] AS [Campo2_2_Destination]
|
||||
--,[Campo3_2] AS [Campo3_2_DocNumber_Bolla]
|
||||
--,[Campo5_2] AS [Campo5_2_NetWeight]
|
||||
--,[Campo6_2] AS [Campo6_2_GrossWeight]
|
||||
--,[Campo7_2] AS [Campo7_2_Boxes_Colli]
|
||||
--,[Campo8_2] AS [Campo8_2_PartNumber] -- Disegno
|
||||
--,[Campo13_2] AS [Campo13_2_Data]
|
||||
--,[Campo15_2] AS [Campo15_2_SerialNumber_ProgrOdette]
|
||||
--,[CodLista]
|
||||
|
||||
FROM dbo.Odette
|
||||
|
||||
@@ -0,0 +1,478 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<Name>GMW_DB</Name>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>4.1</ProjectVersion>
|
||||
<ProjectGuid>{4a7c6325-d822-446c-bce3-811fc178dcbe}</ProjectGuid>
|
||||
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql100DatabaseSchemaProvider</DSP>
|
||||
<OutputType>Database</OutputType>
|
||||
<RootPath>
|
||||
</RootPath>
|
||||
<RootNamespace>GMW_DB</RootNamespace>
|
||||
<AssemblyName>GMW_DB</AssemblyName>
|
||||
<ModelCollation>1033,CI</ModelCollation>
|
||||
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
|
||||
<DeployToDatabase>True</DeployToDatabase>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetLanguage>CS</TargetLanguage>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<SqlServerVerification>False</SqlServerVerification>
|
||||
<IncludeCompositeObjects>True</IncludeCompositeObjects>
|
||||
<TargetDatabaseSet>True</TargetDatabaseSet>
|
||||
<DefaultCollation>Latin1_General_CI_AS</DefaultCollation>
|
||||
<DefaultFilegroup>PRIMARY</DefaultFilegroup>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<!-- VS10 without SP1 will not have VisualStudioVersion set, so do that here -->
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<!-- Default to the v10.0 targets path if the targets file for the current VS version is not found -->
|
||||
<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
|
||||
<VisualStudioVersion Condition="'$(SSDTExists)' == ''">10.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties" />
|
||||
<Folder Include="dbo\" />
|
||||
<Folder Include="dbo\Tables\" />
|
||||
<Folder Include="As400\" />
|
||||
<Folder Include="As400\Tables\" />
|
||||
<Folder Include="RawData\" />
|
||||
<Folder Include="RawData\Tables\" />
|
||||
<Folder Include="RilPro\" />
|
||||
<Folder Include="RilPro\Tables\" />
|
||||
<Folder Include="dbo\Views\" />
|
||||
<Folder Include="RilPro\Views\" />
|
||||
<Folder Include="External\" />
|
||||
<Folder Include="External\Views\" />
|
||||
<Folder Include="prt\" />
|
||||
<Folder Include="prt\Views\" />
|
||||
<Folder Include="Security\" />
|
||||
<Folder Include="dbo\Functions\" />
|
||||
<Folder Include="dbo\Stored Procedures\" />
|
||||
<Folder Include="BatchQueue\" />
|
||||
<Folder Include="BatchQueue\Stored Procedures\" />
|
||||
<Folder Include="As400\Stored Procedures\" />
|
||||
<Folder Include="voc" />
|
||||
<Folder Include="voc\Tables" />
|
||||
<Folder Include="External\DB" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Build Include="dbo\Tables\Blocchi.sql" />
|
||||
<Build Include="dbo\Tables\LogUpdateDb.sql" />
|
||||
<Build Include="As400\Tables\t_MOMA200F.sql" />
|
||||
<Build Include="RawData\Tables\BORI202J.sql" />
|
||||
<Build Include="dbo\Tables\GiornaleMagazzino.sql" />
|
||||
<Build Include="RilPro\Tables\StampoFigure.sql" />
|
||||
<Build Include="RilPro\Tables\StampoEsponente.sql" />
|
||||
<Build Include="dbo\Tables\AS400_MagCont.sql" />
|
||||
<Build Include="dbo\Tables\ElencoPostazioni.sql" />
|
||||
<Build Include="RilPro\Tables\StampoArticolo.sql" />
|
||||
<Build Include="RawData\Tables\AS400_Comandi.sql" />
|
||||
<Build Include="RawData\Tables\ANODM00F.sql" />
|
||||
<Build Include="dbo\Tables\AnagTipoEvento.sql" />
|
||||
<Build Include="RawData\Tables\XOGIX00F.sql" />
|
||||
<Build Include="dbo\Tables\AnagTipoDichiaraz.sql" />
|
||||
<Build Include="RilPro\Tables\AnagImballi.sql" />
|
||||
<Build Include="RilPro\Tables\AnagFamiglie.sql" />
|
||||
<Build Include="RilPro\Tables\AnagDepositi.sql" />
|
||||
<Build Include="dbo\Tables\AnagCompanySito.sql" />
|
||||
<Build Include="dbo\Tables\AS400_BatchMovimenti.sql" />
|
||||
<Build Include="RilPro\Tables\AnagClienti.sql" />
|
||||
<Build Include="RilPro\Tables\RapQual.sql" />
|
||||
<Build Include="dbo\Tables\AnagBilance.sql" />
|
||||
<Build Include="dbo\Tables\StoricoCartellini.sql" />
|
||||
<Build Include="dbo\Tables\AnagMag.sql" />
|
||||
<Build Include="dbo\Tables\AnagStatiProdotto.sql" />
|
||||
<Build Include="dbo\Tables\AnagStatiListe.sql" />
|
||||
<Build Include="dbo\Tables\PrintJobQueue.sql" />
|
||||
<Build Include="RilPro\Tables\AnagReparti.sql" />
|
||||
<Build Include="dbo\Tables\AnagPosizioni.sql" />
|
||||
<Build Include="dbo\Tables\AnagPeriodi.sql" />
|
||||
<Build Include="dbo\Tables\ContatoriUdc.sql" />
|
||||
<Build Include="dbo\Tables\RigheListePrelievo.sql" />
|
||||
<Build Include="dbo\Tables\ContatoriListePrelievo.sql" />
|
||||
<Build Include="As400\Tables\t_XOGIX00F.sql" />
|
||||
<Build Include="dbo\Tables\TMP_UdcModificati.sql" />
|
||||
<Build Include="As400\Tables\t_PACKL00F.sql" />
|
||||
<Build Include="As400\Tables\t_MWMV200F.sql" />
|
||||
<Build Include="dbo\Tables\ElencoDataMatrix.sql" />
|
||||
<Build Include="dbo\Tables\TMP_UdcModificati_BIS.sql" />
|
||||
<Build Include="dbo\Tables\TipoListaPrelievo.sql" />
|
||||
<Build Include="dbo\Tables\TipoCella.sql" />
|
||||
<Build Include="dbo\Tables\TabTranPosizEventi.sql" />
|
||||
<Build Include="dbo\Tables\ImpegnoLinee.sql" />
|
||||
<Build Include="RilPro\Tables\TabDecodBolla.sql" />
|
||||
<Build Include="dbo\Tables\Permessi2Funzione.sql" />
|
||||
<Build Include="dbo\Tables\LogImportFlussi.sql" />
|
||||
<Build Include="dbo\Tables\ElencoListePrelievo_storico.sql" />
|
||||
<Build Include="dbo\Tables\Odette_storico.sql" />
|
||||
<Build Include="dbo\Tables\RigheListePrelievo_storico.sql" />
|
||||
<Build Include="RilPro\Tables\AnagParticolari.sql" />
|
||||
<Build Include="dbo\Tables\AnagLinee.sql" />
|
||||
<Build Include="RilPro\Tables\AnagOperatori.sql" />
|
||||
<Build Include="dbo\Tables\Odette.sql" />
|
||||
<Build Include="RilPro\Tables\AnagLeghe.sql" />
|
||||
<Build Include="dbo\Tables\AnagImpianti.sql" />
|
||||
<Build Include="dbo\Tables\AnagAzioniUtente.sql" />
|
||||
<Build Include="dbo\Tables\AnagTipoDelibere.sql" />
|
||||
<Build Include="RilPro\Tables\AnagFornitori.sql" />
|
||||
<Build Include="dbo\Tables\TabSyncMovMag.sql" />
|
||||
<Build Include="RilPro\Tables\DistintaAS400.sql" />
|
||||
<Build Include="dbo\Tables\StoricoAzioniOperatore.sql" />
|
||||
<Build Include="dbo\Tables\AnagAttributi.sql" />
|
||||
<Build Include="dbo\Tables\ElencoCartellini.sql" />
|
||||
<Build Include="dbo\Tables\Celle.sql" />
|
||||
<Build Include="dbo\Tables\Attr2UDC.sql" />
|
||||
<Build Include="dbo\Tables\PosizioneUdcCorrente.sql" />
|
||||
<Build Include="dbo\Tables\Delibere.sql" />
|
||||
<Build Include="dbo\Tables\AS400_BatchConsumoMP.sql" />
|
||||
<Build Include="dbo\Tables\TMP_UdcModificatiAnime.sql" />
|
||||
<Build Include="RilPro\Tables\LineaStampi.sql" />
|
||||
<Build Include="dbo\Tables\Soggetti2Utente.sql" />
|
||||
<Build Include="RilPro\Tables\AnagCausaliMag.sql" />
|
||||
<Build Include="As400\Tables\t_CQNOC98L.sql" />
|
||||
<Build Include="dbo\Tables\PosizioneUdcStorico.sql" />
|
||||
<Build Include="dbo\Tables\ElencoListePrelievo.sql" />
|
||||
<Build Include="RilPro\Tables\AnagLegheCopertura.sql" />
|
||||
<Build Include="dbo\Tables\Config.sql" />
|
||||
<Build Include="dbo\Tables\RigheListePrelievo_AS.sql" />
|
||||
<Build Include="dbo\Tables\RelazUDC.sql" />
|
||||
<Build Include="dbo\Tables\ElencoListePrelievo_AS.sql" />
|
||||
<Build Include="dbo\Tables\Permessi.sql" />
|
||||
<Build Include="dbo\Views\v_datiPackingList.sql" />
|
||||
<Build Include="dbo\Views\v_selBlocco.sql" />
|
||||
<Build Include="dbo\Views\v_particolariEsponenteFigura.sql" />
|
||||
<Build Include="dbo\Views\v_selUdcByPart.sql" />
|
||||
<Build Include="dbo\Views\v_selTipoLista.sql" />
|
||||
<Build Include="dbo\Views\v_selTipoDelibera.sql" />
|
||||
<Build Include="dbo\Views\v_selTipoCella.sql" />
|
||||
<Build Include="dbo\Views\v_selPeriodiTrad.sql" />
|
||||
<Build Include="RilPro\Views\vDatiLineeGiornata.sql" />
|
||||
<Build Include="dbo\Views\v_UdcDetail.sql" />
|
||||
<Build Include="dbo\Views\V_statoCelleCapienzaAssegnati.sql" />
|
||||
<Build Include="dbo\Views\V_MagazziniOverview.sql" />
|
||||
<Build Include="dbo\Views\V_DettMagPart.sql" />
|
||||
<Build Include="dbo\Views\V_CelleOverview.sql" />
|
||||
<Build Include="dbo\Views\V_ParticolariOverview.sql" />
|
||||
<Build Include="dbo\Views\v_selParticolari.sql" />
|
||||
<Build Include="dbo\Views\v_specParticolari.sql" />
|
||||
<Build Include="dbo\Views\v_selTipoPart.sql" />
|
||||
<Build Include="dbo\Views\v_RapQualNote.sql" />
|
||||
<Build Include="dbo\Views\v_printStatistic.sql" />
|
||||
<Build Include="dbo\Views\v_AnagDatiParticolari.sql" />
|
||||
<Build Include="External\Views\v_ExportDatiOdette.sql" />
|
||||
<Build Include="dbo\Views\v_posizioniDelibere.sql" />
|
||||
<Build Include="prt\Views\v_UDC_AllField.sql" />
|
||||
<Build Include="dbo\Views\v_selStatiListe.sql" />
|
||||
<Build Include="dbo\Views\v_vocabolario.sql" />
|
||||
<Build Include="dbo\Views\v_righePrelevate.sql" />
|
||||
<Build Include="dbo\Views\v_righeListePrelievoPosizione.sql" />
|
||||
<Build Include="dbo\Views\v_ArtInProd.sql" />
|
||||
<Build Include="dbo\Views\v_selMag.sql" />
|
||||
<Build Include="dbo\Views\V_elencoListePrelievo.sql" />
|
||||
<Build Include="dbo\Views\v_selLinee.sql" />
|
||||
<Build Include="dbo\Views\v_trasfDataMatrix.sql" />
|
||||
<Build Include="dbo\Views\v_transcParticolari.sql" />
|
||||
<Build Include="dbo\Views\v_RapQualSunto.sql" />
|
||||
<Build Include="dbo\Views\v_selPostazioni.sql" />
|
||||
<Build Include="dbo\Views\v_selAzioniUt.sql" />
|
||||
<Build Include="dbo\Views\v_selPartic_SAO.sql" />
|
||||
<Build Include="dbo\Views\v_selSoggetti.sql" />
|
||||
<Build Include="dbo\Views\v_selUDC_SAO.sql" />
|
||||
<Build Include="dbo\Views\v_selOperatori.sql" />
|
||||
<Build Include="dbo\Views\v_selDestinatariListePrelievo.sql" />
|
||||
<Build Include="dbo\Views\v_selPostazioni_SAO.sql" />
|
||||
<Build Include="dbo\Views\v_selSoggetti_SAO.sql" />
|
||||
<Build Include="dbo\Views\V_MagazziniLogiciOverview.sql" />
|
||||
<Build Include="dbo\Views\v_selMagLogico.sql" />
|
||||
<Build Include="Security\db_executor.sql" />
|
||||
<Build Include="Security\GRUPPOMM_UserReport.sql" />
|
||||
<Build Include="Security\connGMW.sql" />
|
||||
<Build Include="Security\UserProcesso.sql" />
|
||||
<Build Include="Security\RoleMemberships.sql" />
|
||||
<Build Include="dbo\Functions\f_padLeft.sql" />
|
||||
<Build Include="dbo\Functions\f_trim.sql" />
|
||||
<Build Include="dbo\Functions\f_odetteCalcDest.sql" />
|
||||
<Build Include="dbo\Functions\f_odetteCalcNAEL.sql" />
|
||||
<Build Include="dbo\Functions\componiUdc.sql" />
|
||||
<Build Include="dbo\Functions\getUdcComp.sql" />
|
||||
<Build Include="dbo\Functions\f_getCellaByPos.sql" />
|
||||
<Build Include="dbo\Functions\f_padRight.sql" />
|
||||
<Build Include="dbo\Functions\dateToAsFormat.sql" />
|
||||
<Build Include="dbo\Functions\getNumDatamatrix.sql" />
|
||||
<Build Include="dbo\Functions\staccaNewIdx.sql" />
|
||||
<Build Include="dbo\Functions\f_onlyNumbers.sql" />
|
||||
<Build Include="dbo\Functions\f_getLibreriaAS400.sql" />
|
||||
<Build Include="dbo\Functions\f_getLikedAS400.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TipoCellaGetByIdx.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UdcDetailGetByIdxBloccoCodMagLog.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TipoCellaGetByCodMag.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_processaCodaMovimMag.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TipoCella_updateQuery.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_registraMovMag.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TipoCella_deleteQuery.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_registraPackList.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getUDC_Older.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ODETTE_caricaDatiBollaEtichettaOdette.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_scaricaUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_sbloccaUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_S2U_getByUtente.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_processaCodaMovimPackList.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_S2U_getByCodSogg.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_spostaUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_delibera.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_updateQty.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_deleteFromCodLista.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_update.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getUdcDetailLikeSearch.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getUdcDetailFullCode.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_batch_RapQual_S01.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UdcDetailGetByIdxCella.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_particolariByConditio.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UdcDetailGetByIdxBlocco.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_particolariByConditioLikePref.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getPosizioneByUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ParticolariGetLike.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_posizioniGetByIdxCellaUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_SpecParticolare.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_rappQualAssociaUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_posizioniGetByIdxCella.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ATD_getByKey.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_selDestListePrelByConditio.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_rappQualGetByNumRapQual.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_posizioniGetByIdxBlocco.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_prtCartAnimeByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ParticolariOverviewLikePrefix.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_riattivaUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_eliminaUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ParticolariOverviewLike.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_updateNoteByRQ.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ParticolariOverview.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_elencoPostaziont_getByCod.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ParticolariImballoByParticolare.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RQN_getByRQ.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ParticolariFiguraByParticolare.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_getLast_ByParticolare.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_PJQ_getNext.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ParticolariEspByParticolare.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_Blocchi_Insert.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_PJQ_insert.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_paretoPartByMagBlocco.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_getByUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_PJQ_updateStato.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_paretoDettPartByFullSpec.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_LP_updateDestTipo.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_paretoDettMagByParticolare.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UdcDetailGetByCodCella.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_PJQ_chiudiZoombie.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_magazzinoOverview.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_selTipoLista_getByIdx.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_resetPrelevate.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_PJQ_updateLastTry.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_processaGiornaleMagazzino.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TTPE_getByCodEvento.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_anagFullParticolare.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_particolariByConditioValue.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_prtCartLiquidi_F18ByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_processaSpedizTerz.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ArtiInProd_ByImpData.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_prtCartLiquidi_F10ByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ODETTE_delete.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getPosizioneByUdcCodMag.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_insNewFull_fixUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ODETTE_upsertUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_delete_byRdQ_NEW.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_cellaGetFirstByPosizione.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UdcPerParticolareCodLista.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_consumaMP.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_LP_updateUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_associaParent.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_DtMtx_getOrig.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_LP_exportToAs400.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_LP_getOpenByUserTipoPart.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getRigaPrelievoByCodListaPrelevate.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_LP_deleteQuery.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_LP_getOpenByUserTipo.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_updateByBilancia.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_upsertPrelevato.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_getOpenByUserTipo.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getUDC_UnusedOlder.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_batch_RapQual_S02.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_setAnnullaUdcPrelevato.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_rappQualGetByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_righePrelevateByUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ComAs_lastComandoByStored.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RigheListePrelievo_eliminaNonPrelevate.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ODETTE_deleteByLDP.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ODETTE_getByBolla.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getRigaPrelievoByCodLista.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ODETTE_getByListaPrelievo.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getUDC_Child.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getRigaPrelievoPosizioneByCodLista.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getUDC_Parent.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_elencoListePrelievoUpdateStato.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getRagioneSocialeByCodCliente.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_BORI_getByBollaFull.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_elencoListePrelievoFilt.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_BORI_getByBollaPart.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_elencoListePrelievoByCodLista.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_creaListaPrelievo.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getImballoLikeSearch.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_BORI_getByBolla.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getImballoByCod.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_EDM_getByCode.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_v_selLinee_byConditio.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getBilanceByCodCS.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_EDM_spostaDataMtx.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_AL_getByKey.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getBilanceByCodBilancia.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_EDM_svuotaGitterbox.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_getLast_ByParticolareStato.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_dummy.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_getByUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_prtCartSterratiByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_celleNonAttiveByIdxBlocco.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_DtMtrx_import.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_celleLibereGetByIdxBlocco.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_BORI_caricaDatiBolla.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_magGetByCS.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_eliminaNonPrelevate.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_magGetByCodMag.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_rappQualGetByNumRapQualSenzaUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_prtCartTrattatiByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_EDM_getByGitterBox.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_getBloccateMovByUdc.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_batch_RapQual_S02_GCarlo.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_rappQualSuntoGetByDataRange.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_getBloccateQtaByUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ODETTE_getByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_rappQualSuntoGetByNumRap.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ODETTE_updateLingua.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ODETTE_updateVal.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_prtCartMatPrimaByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ODETTE_setStato.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_OdetteStatoCreate.sql" />
|
||||
<Build Include="dbo\Stored Procedures\usp_get_trigger_status.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_AL_updatePost.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_AL_resetPost.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_cellaGetByCodCellaLike.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_cellaGetByCodCella.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_rappQualConsumabili.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_celle_updPiena.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_SAO_getBySearch.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_celle_updAttiva.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_SAO_insert.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_celle_updateQuery.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_celle_deleteQuery.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ParticolareInOutOk.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_cellaGetByTipoCella.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_cellaGetByIdxCella.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_SAO_getLastPostazione.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_cellaGetByIdxBlocco.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_SAO_getByIdxEv.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_delete.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_v_selPartic_SAO.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_v_selUDC_SAO.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getUdcDetailFullCode_storico.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getDestListePrelLike.sql" />
|
||||
<Build Include="As400\Stored Procedures\stp_SelectRappQualita.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_v_selPostazioni_SAO.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_v_selSoggetti_SAO.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_EP_delete.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_cellaGetByCodMag.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_EP_update.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ContaDeltaCelleBlocco.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_selMagByConditio.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ContaCelleCreate.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_selMagLogicoByConditio.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ContaCelleCapa.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_MagFifoByParticolare.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ContaCelleBlocco.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_delete_byRdQ.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_anagOperatoriGetByCodSogg.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_FifoByParticolareBlocco.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ContaCelle4Tipo.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_elencoLP_attiveByCodSoggetto.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ContaCelle4Blocchi.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_StatoCelleByCodCella.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_prtCartFusiByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_BlocchiGetByIdx.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_batch_cancellaUDC_RapQualAnnullati.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_StatoCelleByIdxCella.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_BlocchiGetByCodMag.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_accodaConsumoUdcMP.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_StatoCelleOverbooked.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_BlocchiGetByCodBlocco.sql" />
|
||||
<Build Include="BatchQueue\Stored Procedures\stp_processaCodaConsumoMP.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_sbloccaNonPrelevate.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_delete.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_magazzinoOverviewByMag_maxCelle.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_RLP_updateQty.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_magazzinoOverview_maxCelle.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_getByFlussoDate.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_prtCartByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_getLast_ByDataTurnoLineaParticolare.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ricercaFullTerminalino.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_celleCreaMancantiBlocco.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getDetailsUdcByUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_ParticolariOverviewPerListaPrelievo.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getCartellinoByUdc.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_updateIdxPosizione.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_getImpiantiByCodCS.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_insNewFull.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_prtCartFinitiByUDC.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_getByTipoDelibera.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_magazzinoLogicoOverview.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_UDC_updateNote.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TTPE_getByCodEventoPosizione.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_paretoDettPartByFullSpecMagLog.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TL_getByCodTipoLista.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_paretoPartByMagBloccoCodMagLog.sql" />
|
||||
<Build Include="Security\As400.sql" />
|
||||
<Build Include="Security\BatchQueue.sql" />
|
||||
<Build Include="Security\External.sql" />
|
||||
<Build Include="Security\prt.sql" />
|
||||
<Build Include="Security\RawData.sql" />
|
||||
<Build Include="Security\RilPro.sql" />
|
||||
<Build Include="Security\voc.sql" />
|
||||
<Build Include="voc\Tables\Lingue.sql" />
|
||||
<Build Include="voc\Tables\Vocabolario.sql" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="External\DB\ProduzionePossidonio.dacpac" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ArtifactReference Include="External\DB\ProduzionePossidonio.dacpac">
|
||||
<HintPath>External\DB\ProduzionePossidonio.dacpac</HintPath>
|
||||
<SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors>
|
||||
<DatabaseVariableLiteralValue>ProduzionePossidonio</DatabaseVariableLiteralValue>
|
||||
</ArtifactReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
</Project>
|
||||
@@ -0,0 +1,71 @@
|
||||
2/20/2014 9:29:59 AM This log contains information about the import schema operation into project 'GMW_DB' on computer 'W2012R2SAM' by user 'samuele'.
|
||||
2/20/2014 9:29:59 AM Import of database schema has started.
|
||||
2/20/2014 9:30:05 AM Gathering database options
|
||||
2/20/2014 9:30:05 AM Gathering users
|
||||
2/20/2014 9:30:05 AM Gathering roles
|
||||
2/20/2014 9:30:05 AM Gathering application roles
|
||||
2/20/2014 9:30:05 AM Gathering role memberships
|
||||
2/20/2014 9:30:05 AM Gathering filegroups
|
||||
2/20/2014 9:30:05 AM Gathering full-text catalogs
|
||||
2/20/2014 9:30:05 AM Gathering assemblies
|
||||
2/20/2014 9:30:05 AM Gathering certificates
|
||||
2/20/2014 9:30:05 AM Gathering asymmetric keys
|
||||
2/20/2014 9:30:05 AM Gathering symmetric keys
|
||||
2/20/2014 9:30:05 AM Gathering encrypted symmetric keys
|
||||
2/20/2014 9:30:05 AM Gathering schemas
|
||||
2/20/2014 9:30:05 AM Gathering XML schema collections
|
||||
2/20/2014 9:30:05 AM Gathering user-defined data types
|
||||
2/20/2014 9:30:05 AM Gathering user-defined types
|
||||
2/20/2014 9:30:05 AM Gathering table types
|
||||
2/20/2014 9:30:05 AM Gathering unique keys for table types
|
||||
2/20/2014 9:30:05 AM Gathering primary keys for table types
|
||||
2/20/2014 9:30:05 AM Gathering check constraints for table types
|
||||
2/20/2014 9:30:05 AM Gathering default constraints for table types
|
||||
2/20/2014 9:30:05 AM Gathering partition functions
|
||||
2/20/2014 9:30:05 AM Gathering partition schemes
|
||||
2/20/2014 9:30:05 AM Gathering functions
|
||||
2/20/2014 9:30:05 AM Gathering encrypted functions
|
||||
2/20/2014 9:30:05 AM Gathering aggregates
|
||||
2/20/2014 9:30:05 AM Gathering procedures
|
||||
2/20/2014 9:30:05 AM Gathering encrypted procedures
|
||||
2/20/2014 9:30:05 AM Gathering tables
|
||||
2/20/2014 9:30:06 AM Gathering primary keys
|
||||
2/20/2014 9:30:06 AM Gathering unique constraints
|
||||
2/20/2014 9:30:06 AM Gathering foreign keys
|
||||
2/20/2014 9:30:06 AM Gathering default constraints
|
||||
2/20/2014 9:30:06 AM Gathering check constraints
|
||||
2/20/2014 9:30:06 AM Gathering views
|
||||
2/20/2014 9:30:06 AM Gathering encrypted views
|
||||
2/20/2014 9:30:06 AM Gathering indexes
|
||||
2/20/2014 9:30:06 AM Gathering statistics
|
||||
2/20/2014 9:30:06 AM Gathering full-text index stoplists
|
||||
2/20/2014 9:30:06 AM Gathering full-text indexes
|
||||
2/20/2014 9:30:06 AM Gathering spatial indexes
|
||||
2/20/2014 9:30:06 AM Gathering XML indexes
|
||||
2/20/2014 9:30:06 AM Gathering encrypted triggers
|
||||
2/20/2014 9:30:06 AM Gathering triggers
|
||||
2/20/2014 9:30:06 AM Gathering encrypted and clr ddl triggers
|
||||
2/20/2014 9:30:06 AM Gathering ddl triggers
|
||||
2/20/2014 9:30:06 AM Gathering synonyms
|
||||
2/20/2014 9:30:06 AM Gathering defaults
|
||||
2/20/2014 9:30:06 AM Gathering data constraint uddt bindings
|
||||
2/20/2014 9:30:06 AM Gathering rules
|
||||
2/20/2014 9:30:06 AM Gathering data constraint uddt bindings
|
||||
2/20/2014 9:30:06 AM Gathering message types
|
||||
2/20/2014 9:30:06 AM Gathering queues
|
||||
2/20/2014 9:30:06 AM Gathering contracts
|
||||
2/20/2014 9:30:06 AM Gathering services
|
||||
2/20/2014 9:30:06 AM Gathering event notifications
|
||||
2/20/2014 9:30:06 AM Gathering remote service bindings
|
||||
2/20/2014 9:30:06 AM Gathering broker priorities
|
||||
2/20/2014 9:30:06 AM Gathering signatures
|
||||
2/20/2014 9:30:06 AM Gathering data compression options
|
||||
2/20/2014 9:30:06 AM Gathering extended properties
|
||||
2/20/2014 9:30:06 AM Gathering credentials
|
||||
2/20/2014 9:30:06 AM Gathering logins
|
||||
2/20/2014 9:30:06 AM Gathering server audits
|
||||
2/20/2014 9:30:06 AM Scanning project for duplicate elements
|
||||
2/20/2014 9:30:07 AM Finished duplicate element processing
|
||||
2/20/2014 9:30:08 AM Finished importing database.
|
||||
2/20/2014 9:30:08 AM A summary of the import was saved to the following location: C:\Users\samuele\Documents\Visual Studio 2012\Projects\GMW\GMW_DB\Import Schema Logs\GMW_DB_20140220082959.log
|
||||
2/20/2014 9:30:08 AM Click Finish to continue...
|
||||
@@ -0,0 +1,8 @@
|
||||
CREATE TABLE [RawData].[ANODM00F] (
|
||||
[OATV08] NCHAR (1) NOT NULL,
|
||||
[OCDPAR] NVARCHAR (15) NOT NULL,
|
||||
[OCDODM] NVARCHAR (15) NOT NULL,
|
||||
[ODTVAL] NUMERIC (8) NOT NULL,
|
||||
CONSTRAINT [PK_ANODM00F] PRIMARY KEY CLUSTERED ([OCDPAR] ASC, [ODTVAL] ASC) WITH (FILLFACTOR = 95)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
CREATE TABLE [RawData].[AS400_Comandi] (
|
||||
[DataEsecuzione] DATETIME NOT NULL,
|
||||
[Stored] VARCHAR (100) NOT NULL,
|
||||
[ComandoTSQL] NVARCHAR (4000) NULL,
|
||||
[Test] INT NULL
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE CLUSTERED INDEX [IDX_Data]
|
||||
ON [RawData].[AS400_Comandi]([DataEsecuzione] ASC) WITH (FILLFACTOR = 95);
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
CREATE TABLE [RawData].[BORI202J] (
|
||||
[CDMFS] NVARCHAR (2) NOT NULL,
|
||||
[GRBOS] NVARCHAR (1) NOT NULL,
|
||||
[DTBOS] NUMERIC (8) NOT NULL,
|
||||
[NRBOS] NUMERIC (6) NOT NULL,
|
||||
[CDARS] NVARCHAR (15) NOT NULL,
|
||||
[NRRGS] NUMERIC (5) NOT NULL,
|
||||
[CDINB] NVARCHAR (6) NOT NULL,
|
||||
[RA1ND] NVARCHAR (35) NOT NULL,
|
||||
[RA2ND] NVARCHAR (35) NOT NULL,
|
||||
[CAPND] NVARCHAR (9) NOT NULL,
|
||||
[CITND] NVARCHAR (25) NOT NULL,
|
||||
[RASCL] NVARCHAR (35) NOT NULL,
|
||||
[INDCL] NVARCHAR (35) NOT NULL,
|
||||
[CAPCL] NVARCHAR (9) NOT NULL,
|
||||
[LOCCL] NVARCHAR (25) NOT NULL,
|
||||
[PROCL] NVARCHAR (2) NOT NULL,
|
||||
[INEND] NVARCHAR (50) NOT NULL,
|
||||
[CRAGCL] NVARCHAR (4) NOT NULL,
|
||||
[TELND] NVARCHAR (20) NOT NULL,
|
||||
[CCDMOL] NVARCHAR (15) NOT NULL,
|
||||
[CCDPTR] NVARCHAR (15) NOT NULL,
|
||||
[EPLAVO] NUMERIC (7, 3) NOT NULL,
|
||||
[NRC1B] NUMERIC (5) NOT NULL,
|
||||
[ECMM01] NVARCHAR (30) NOT NULL,
|
||||
[DEPAR] NVARCHAR (30) NOT NULL,
|
||||
[RCARTC] NVARCHAR (30) NOT NULL,
|
||||
[PERND] NVARCHAR (20) NOT NULL,
|
||||
[CCDET1] NVARCHAR (15) NOT NULL,
|
||||
[ECDNAE] NVARCHAR (6) NOT NULL,
|
||||
[ECDNA1] NVARCHAR (1) NOT NULL,
|
||||
[EESPMD] NVARCHAR (6) NOT NULL,
|
||||
[PELDB] NUMERIC (7, 2) NOT NULL,
|
||||
[QTCNS] NUMERIC (9, 2) NOT NULL,
|
||||
[ECLAQP] NCHAR (1) CONSTRAINT [DF__tmp_rg_xx__ECLAQ__10416098] DEFAULT ('') NOT NULL,
|
||||
[EPNETT] NUMERIC (7, 3) CONSTRAINT [DF__tmp_rg_xx__EPNET__113584D1] DEFAULT ((0)) NOT NULL,
|
||||
[FCDI01] NVARCHAR (35) CONSTRAINT [DF__tmp_rg_xx__FCDI0__1229A90A] DEFAULT ('') NOT NULL,
|
||||
[OCDODM] VARCHAR (15) CONSTRAINT [DF__tmp_rg_xx__OCDOD__131DCD43] DEFAULT ('') NOT NULL,
|
||||
[CCFOE1] NVARCHAR (15) CONSTRAINT [DF__BORI202J__CCFOE1__1ABEEF0B] DEFAULT ('') NOT NULL,
|
||||
CONSTRAINT [PK_BORI202J] PRIMARY KEY CLUSTERED ([CDMFS] ASC, [GRBOS] ASC, [DTBOS] ASC, [NRBOS] ASC, [CDARS] ASC, [NRRGS] ASC) WITH (FILLFACTOR = 95)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
CREATE TABLE [RawData].[XOGIX00F] (
|
||||
[XRPQLN] NUMERIC (6) CONSTRAINT [DF_XOGIX00F_XRPQLN] DEFAULT ((0)) NOT NULL,
|
||||
[XRPQLD] NUMERIC (8) CONSTRAINT [DF_XOGIX00F_XRPQLD] DEFAULT ((0)) NOT NULL,
|
||||
[XNRETI] CHAR (10) CONSTRAINT [DF_XOGIX00F_XNRETI] DEFAULT ('') NOT NULL,
|
||||
[XCDFOR] CHAR (6) CONSTRAINT [DF_XOGIX00F_XCDFOR] DEFAULT ('') NOT NULL,
|
||||
[XCDTER] CHAR (6) CONSTRAINT [DF_XOGIX00F_XCDTER] DEFAULT ('') NOT NULL,
|
||||
[XCDPAR] CHAR (15) CONSTRAINT [DF_XOGIX00F_XCDPAR] DEFAULT ('') NOT NULL,
|
||||
[XDTPRO] NUMERIC (8) CONSTRAINT [DF_XOGIX00F_XDTPRO] DEFAULT ((0)) NOT NULL,
|
||||
[XTRPRO] CHAR (5) CONSTRAINT [DF_XOGIX00F_XTRPRO] DEFAULT ('') NOT NULL,
|
||||
[XQTPRO] NUMERIC (5) CONSTRAINT [DF_XOGIX00F_XQTPRO] DEFAULT ((0)) NOT NULL,
|
||||
[XDESMT] CHAR (3) CONSTRAINT [DF_XOGIX00F_XDESMT] DEFAULT ('') NOT NULL,
|
||||
[XMATSC] CHAR (1) CONSTRAINT [DF_XOGIX00F_XMATSC] DEFAULT ('') NOT NULL,
|
||||
[XBENQL] CHAR (1) NOT NULL
|
||||
);
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE TABLE [RilPro].[AnagCausaliMag] (
|
||||
[CodElemento] VARCHAR (4) NOT NULL,
|
||||
[CauCarico] VARCHAR (2) NOT NULL,
|
||||
[CauScarico] VARCHAR (2) NOT NULL,
|
||||
CONSTRAINT [PK_AnagCausaliMag] PRIMARY KEY CLUSTERED ([CodElemento] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
CREATE TABLE [RilPro].[AnagClienti] (
|
||||
[CodCliente] NVARCHAR (6) NOT NULL,
|
||||
[RagSociale] NVARCHAR (35) NOT NULL,
|
||||
CONSTRAINT [PK_AnagClienti] PRIMARY KEY CLUSTERED ([CodCliente] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
CREATE TABLE [RilPro].[AnagDepositi] (
|
||||
[CodTerzista] VARCHAR (6) NOT NULL,
|
||||
[DescTerzista] VARCHAR (20) NULL,
|
||||
CONSTRAINT [PK_AnagDepositi] PRIMARY KEY CLUSTERED ([CodTerzista] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
CREATE TABLE [RilPro].[AnagFamiglie] (
|
||||
[CodFamiglia] NCHAR (4) NOT NULL,
|
||||
[DescFamiglia] NVARCHAR (100) NULL,
|
||||
CONSTRAINT [PK_AnagFamiglia] PRIMARY KEY CLUSTERED ([CodFamiglia] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE TABLE [RilPro].[AnagFornitori] (
|
||||
[CodFornitore] NVARCHAR (6) NOT NULL,
|
||||
[DescFornitore] NVARCHAR (35) NULL,
|
||||
[DescFornitore2] NVARCHAR (35) NULL,
|
||||
CONSTRAINT [PK_AnagFornitori] PRIMARY KEY CLUSTERED ([CodFornitore] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE TABLE [RilPro].[AnagImballi] (
|
||||
[CodImballo] NVARCHAR (15) NOT NULL,
|
||||
[ClasseArticolo] NVARCHAR (1) NULL,
|
||||
[DescImballo] NVARCHAR (30) NULL,
|
||||
CONSTRAINT [PK_AnagImballi_1] PRIMARY KEY CLUSTERED ([CodImballo] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE TABLE [RilPro].[AnagLeghe] (
|
||||
[CodLega] NVARCHAR (12) NOT NULL,
|
||||
[DescLega] NVARCHAR (25) NULL,
|
||||
[DescLega2] NVARCHAR (25) NULL,
|
||||
CONSTRAINT [PK_AnagLeghe] PRIMARY KEY CLUSTERED ([CodLega] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
CREATE TABLE [RilPro].[AnagLegheCopertura] (
|
||||
[CodLega] NVARCHAR (12) NOT NULL,
|
||||
[DescLega] NVARCHAR (25) NULL,
|
||||
[DescLega2] NVARCHAR (25) NULL,
|
||||
[Copertura] INT DEFAULT ((0)) NULL,
|
||||
CONSTRAINT [PK_AnagLegheCopertura] PRIMARY KEY CLUSTERED ([CodLega] ASC) WITH (FILLFACTOR = 90)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
CREATE TABLE [RilPro].[AnagOperatori] (
|
||||
[CodSoggetto] NCHAR (17) NOT NULL,
|
||||
[CodCS] NCHAR (2) NOT NULL,
|
||||
[CodDipendente] NCHAR (7) NULL,
|
||||
[CodAziendaOp] NCHAR (6) NULL,
|
||||
[DescAziendaOp] NVARCHAR (40) NULL,
|
||||
[CodFilialeOp] NCHAR (10) NULL,
|
||||
[DescFilialeOp] NVARCHAR (40) NULL,
|
||||
[Cognome] NVARCHAR (40) NULL,
|
||||
[Nome] NVARCHAR (40) NULL,
|
||||
CONSTRAINT [PK_AnagOperatori_1] PRIMARY KEY CLUSTERED ([CodSoggetto] ASC),
|
||||
CONSTRAINT [FK_AnagOperatori_AnagCompanySito] FOREIGN KEY ([CodCS]) REFERENCES [dbo].[AnagCompanySito] ([CodCS]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
CREATE TABLE [RilPro].[AnagParticolari] (
|
||||
[Particolare] NVARCHAR (15) NOT NULL,
|
||||
[CodCS] NCHAR (2) NOT NULL,
|
||||
[CodCliente] NVARCHAR (6) NOT NULL,
|
||||
[DisegnoGrezzo] NVARCHAR (30) NOT NULL,
|
||||
[CodFamiglia] NVARCHAR (4) NULL,
|
||||
[DescParticolare] NVARCHAR (30) NULL,
|
||||
[EsponenteModifica] NVARCHAR (6) NULL,
|
||||
[ClassifArticolo] NCHAR (1) NULL,
|
||||
CONSTRAINT [PK_AnagParticolari_1] PRIMARY KEY CLUSTERED ([Particolare] ASC),
|
||||
CONSTRAINT [FK_AnagParticolari_AnagCompanySito] FOREIGN KEY ([CodCS]) REFERENCES [dbo].[AnagCompanySito] ([CodCS]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
CREATE TABLE [RilPro].[AnagReparti] (
|
||||
[CodReparto] NVARCHAR (4) NOT NULL,
|
||||
[DescReparto] NVARCHAR (100) NOT NULL,
|
||||
CONSTRAINT [PK_AnagReparti] PRIMARY KEY CLUSTERED ([CodReparto] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
CREATE TABLE [RilPro].[DistintaAS400] (
|
||||
[Padre] VARCHAR (15) NOT NULL,
|
||||
[Figlio] VARCHAR (15) NOT NULL,
|
||||
[Seqza] VARCHAR (4) NULL,
|
||||
[Coeff] NUMERIC (9, 4) NOT NULL,
|
||||
[DescParticolare] VARCHAR (30) NULL,
|
||||
[ClassFiglio] CHAR (1) NULL,
|
||||
[LPSP] CHAR (1) NULL,
|
||||
[LTEK] CHAR (1) NULL,
|
||||
[LAMB] CHAR (1) NULL,
|
||||
[LRONO] CHAR (1) NULL,
|
||||
[LPOSS] CHAR (1) NULL
|
||||
);
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
CREATE TABLE [RilPro].[LineaStampi] (
|
||||
[CodCS] NCHAR (2) NOT NULL,
|
||||
[CodImpianto] NVARCHAR (50) NOT NULL,
|
||||
[CodStampo] NVARCHAR (8) NOT NULL,
|
||||
[DataInizio] DATETIME NOT NULL,
|
||||
[NumStampate] NUMERIC (9) NOT NULL,
|
||||
[DataFine] DATETIME NOT NULL,
|
||||
[TurnoInizio] NVARCHAR (6) NOT NULL,
|
||||
[TurnoFine] NVARCHAR (6) NOT NULL,
|
||||
CONSTRAINT [PK_LineaStampi_1] PRIMARY KEY CLUSTERED ([CodImpianto] ASC, [CodStampo] ASC, [DataInizio] ASC),
|
||||
CONSTRAINT [FK_LineaStampi_AnagImpianti] FOREIGN KEY ([CodImpianto]) REFERENCES [dbo].[AnagImpianti] ([CodImpianto]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
CREATE TABLE [RilPro].[RapQual] (
|
||||
[nRapQual] NUMERIC (6) NOT NULL,
|
||||
[DataRapQual] NUMERIC (8) NOT NULL,
|
||||
[ProgUDC] NVARCHAR (10) NOT NULL,
|
||||
[CodFor] NVARCHAR (6) NOT NULL,
|
||||
[DestTerz] NVARCHAR (6) NOT NULL,
|
||||
[CodLega] NVARCHAR (15) NOT NULL,
|
||||
[DataPrelFus] NUMERIC (8) NOT NULL,
|
||||
[TurnoPrelFus] NVARCHAR (5) NOT NULL,
|
||||
[Qta] NUMERIC (5) NOT NULL,
|
||||
[DestLega] NVARCHAR (3) NOT NULL,
|
||||
[LegaScaric] NVARCHAR (1) NOT NULL,
|
||||
[BenesQual] NVARCHAR (1) NOT NULL,
|
||||
[UDC] NVARCHAR (50) NULL,
|
||||
CONSTRAINT [PK_RapQual] PRIMARY KEY CLUSTERED ([ProgUDC] ASC) WITH (FILLFACTOR = 95)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_RapQual_DataPrelFusDataRapQual]
|
||||
ON [RilPro].[RapQual]([DataPrelFus] ASC, [DataRapQual] ASC) WITH (FILLFACTOR = 95);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_dataRap]
|
||||
ON [RilPro].[RapQual]([DataRapQual] ASC)
|
||||
INCLUDE([BenesQual], [CodFor], [CodLega], [LegaScaric], [nRapQual], [Qta], [UDC]) WITH (FILLFACTOR = 95);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_RapQual_nRapQual_LegaScaric]
|
||||
ON [RilPro].[RapQual]([nRapQual] ASC, [LegaScaric] ASC)
|
||||
INCLUDE([UDC]) WITH (FILLFACTOR = 95);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_RapQual_BenesQual]
|
||||
ON [RilPro].[RapQual]([BenesQual] ASC)
|
||||
INCLUDE([ProgUDC], [UDC]) WITH (FILLFACTOR = 95);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_UDC]
|
||||
ON [RilPro].[RapQual]([UDC] ASC);
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
CREATE TABLE [RilPro].[StampoArticolo] (
|
||||
[CodStampo] NVARCHAR (8) NOT NULL,
|
||||
[InizioValidita] DATETIME NOT NULL,
|
||||
[ProgFigure] NUMERIC (7) NOT NULL,
|
||||
[FineValidita] DATETIME NULL,
|
||||
[NumCommessa] NVARCHAR (20) NULL,
|
||||
[NumFigure] NUMERIC (7) NULL,
|
||||
[CodCliente] NVARCHAR (6) NOT NULL,
|
||||
[CodArticolo] NVARCHAR (6) NOT NULL,
|
||||
[Particolare] NVARCHAR (15) NOT NULL,
|
||||
CONSTRAINT [PK_StampoArticolo] PRIMARY KEY CLUSTERED ([CodStampo] ASC, [InizioValidita] ASC, [ProgFigure] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
CREATE TABLE [RilPro].[StampoEsponente] (
|
||||
[CodStampo] NVARCHAR (8) NOT NULL,
|
||||
[Esponente] NVARCHAR (6) NOT NULL,
|
||||
[DataInserim] DATETIME NOT NULL,
|
||||
[DataValidita] DATETIME NULL,
|
||||
[EspAttivo] NVARCHAR (1) NULL,
|
||||
CONSTRAINT [PK_StampoEsponente] PRIMARY KEY CLUSTERED ([CodStampo] ASC, [Esponente] ASC, [DataInserim] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE TABLE [RilPro].[StampoFigure] (
|
||||
[CodStampo] NVARCHAR (8) NOT NULL,
|
||||
[NumFigura] SMALLINT NOT NULL,
|
||||
[Figura] NVARCHAR (4) NULL,
|
||||
CONSTRAINT [PK_StampoFigure] PRIMARY KEY CLUSTERED ([CodStampo] ASC, [NumFigura] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
CREATE TABLE [RilPro].[TabDecodBolla] (
|
||||
[CodRaggrMag] VARCHAR (2) NOT NULL,
|
||||
[NumRaggrMag] VARCHAR (2) NOT NULL,
|
||||
CONSTRAINT [PK_TabDecodBolla] PRIMARY KEY CLUSTERED ([CodRaggrMag] ASC)
|
||||
);
|
||||
|
||||
|
||||
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';
|
||||
|
||||
@@ -0,0 +1,281 @@
|
||||
|
||||
CREATE VIEW RilPro.vDatiLineeGiornata
|
||||
AS
|
||||
-- Non tiene conto del Turno ma prende tutti gli stampi della giornata
|
||||
WITH cteUltStampo
|
||||
AS (
|
||||
SELECT CodStampo
|
||||
,InizioValidita
|
||||
,ProgFigure
|
||||
,FineValidita
|
||||
,NumCommessa
|
||||
,NumFigure
|
||||
,CodCliente
|
||||
,CodArticolo
|
||||
,Particolare
|
||||
FROM RilPro.StampoArticolo AS A
|
||||
WHERE ( GETDATE() BETWEEN InizioValidita AND FineValidita )
|
||||
),
|
||||
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 <= GETDATE() )
|
||||
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 ( DataFine = '99991231' )
|
||||
)
|
||||
SELECT
|
||||
l.CodImpianto
|
||||
,l.CodStampo
|
||||
,l.NumStampate
|
||||
,l.DataInizio
|
||||
,l.TurnoInizio
|
||||
,g.InizioValidita
|
||||
,g.FineValidita
|
||||
,g.NumFigure
|
||||
,CAST(g.CodCliente AS varchar(50)) AS CodCliente
|
||||
,cl.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
|
||||
|
||||
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
|
||||
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
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 2, @level0type = N'SCHEMA', @level0name = N'RilPro', @level1type = N'VIEW', @level1name = N'vDatiLineeGiornata';
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE SCHEMA [As400]
|
||||
AUTHORIZATION [dbo];
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE SCHEMA [BatchQueue]
|
||||
AUTHORIZATION [db_accessadmin];
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE SCHEMA [External]
|
||||
AUTHORIZATION [dbo];
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'Note', @value = N'Schema per oggetti letti da sistemi esterni', @level0type = N'SCHEMA', @level0name = N'External';
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
CREATE USER [GRUPPOMM\UserReport];
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE SCHEMA [RawData]
|
||||
AUTHORIZATION [db_accessadmin];
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE SCHEMA [RilPro]
|
||||
AUTHORIZATION [dbo];
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
EXECUTE sp_addrolemember @rolename = N'db_owner', @membername = N'connGMW';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addrolemember @rolename = N'db_datareader', @membername = N'GRUPPOMM\UserReport';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addrolemember @rolename = N'db_datareader', @membername = N'UserProcesso';
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
CREATE USER [UserProcesso] WITHOUT LOGIN;
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
CREATE USER [connGMW] WITHOUT LOGIN;
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE ROLE [db_executor]
|
||||
AUTHORIZATION [dbo];
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addrolemember @rolename = N'db_executor', @membername = N'GRUPPOMM\UserReport';
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE SCHEMA [prt]
|
||||
AUTHORIZATION [dbo];
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
CREATE SCHEMA [voc]
|
||||
AUTHORIZATION [dbo];
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,34 @@
|
||||
|
||||
|
||||
/***************************************
|
||||
* function componiUdc
|
||||
*
|
||||
* compone il cod UDC a partire da
|
||||
* - "U" fisso
|
||||
* - CodCS (codice company sito, 2 char)
|
||||
* - Flusso (codice flusso-bilancia 2 char)
|
||||
* - @Anno (anno, 2 char)
|
||||
* - @numUdc (progr annuale, 2 char)
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2010.09.23
|
||||
*
|
||||
****************************************/
|
||||
CREATE FUNCTION [dbo].[componiUdc]
|
||||
(
|
||||
@CodCS NVARCHAR(2),
|
||||
@Flusso NVARCHAR(2),
|
||||
@Anno NVARCHAR(2),
|
||||
@numUdc INT
|
||||
)
|
||||
RETURNS NVARCHAR(13)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @answ AS NVARCHAR(50)
|
||||
|
||||
SET @answ = UPPER('U' + @CodCS + @Flusso + @Anno + dbo.f_padLeft(CAST(@numUdc AS VARCHAR(6)), 6, '0'))
|
||||
|
||||
RETURN @answ
|
||||
END
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
/***************************************
|
||||
* function dateToAsFormat
|
||||
*
|
||||
* converte le date da DATETIME al formato AS 8 cifre AAAAMMGG
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2010.09.29
|
||||
*
|
||||
****************************************/
|
||||
create FUNCTION dateToAsFormat
|
||||
(
|
||||
@data DATETIME
|
||||
)
|
||||
RETURNS NVARCHAR(8)
|
||||
AS
|
||||
BEGIN
|
||||
RETURN CONVERT(NVARCHAR(8), @data, 112)
|
||||
END
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
/***************************************
|
||||
* FUNCTION f_getCellaByPos
|
||||
*
|
||||
* fornisce la prima cella associata ad una posizione "logica" di magazzino
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2011.05.20
|
||||
*
|
||||
****************************************/
|
||||
CREATE FUNCTION [dbo].[f_getCellaByPos] (@posizione VARCHAR(255))
|
||||
RETURNS INT AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @answ AS INT
|
||||
|
||||
SET @answ = (
|
||||
SELECT TOP 1 ISNULL(IdxCella,0) FROM Celle
|
||||
WHERE IdxBlocco IN ( SELECT IdxBlocco FROM Blocchi WHERE CodMag = @posizione )
|
||||
ORDER BY IdxCella -- regola: si deve creare per prima la cella "TERRA"
|
||||
)
|
||||
|
||||
RETURN @answ
|
||||
|
||||
END
|
||||
@@ -0,0 +1,94 @@
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: Gcarlo
|
||||
-- Create date:
|
||||
-- Description: In base al database corrente passato ritorno la corretta libreria di AS400
|
||||
-- che deve essere utilizzata
|
||||
-- =============================================
|
||||
CREATE FUNCTION [dbo].[f_getLibreriaAS400]
|
||||
(
|
||||
@CurrentDB nVarchar(128)
|
||||
,@Function nVarchar(50)
|
||||
)
|
||||
RETURNS nvarchar(100)
|
||||
AS
|
||||
BEGIN
|
||||
-- FORSE MEGLIO USARE IL NOME DELLA STORED CHE LA RICHIAMA CON ... nella stored che la richiama
|
||||
-- DECLARE @StoredName AS NVARCHAR(256);
|
||||
-- SET @StoredName = OBJECT_SCHEMA_NAME(@@PROCID) + '.' + OBJECT_NAME(@@PROCID)
|
||||
-- Declare the return variable here
|
||||
DECLARE @As400File nvarchar(100)
|
||||
|
||||
-- Valorizzo la corretta libreria in base al database passato
|
||||
SET @As400File =
|
||||
CASE
|
||||
-- impostazione tramite stored che richiama la function
|
||||
WHEN @Function = 'BatchQueue.stp_registraMovMag' THEN -- Registrazione Movimenti Magazzino
|
||||
CASE
|
||||
-- S.POSSIDONIO
|
||||
WHEN ( @CurrentDB = 'SP_GMW' ) THEN 'POSN_DATV3.???'
|
||||
WHEN ( @CurrentDB = 'SP_GMWTest' ) THEN 'MAZZT_DTV3.MWMV230F' -- TEST SP
|
||||
-- TEKAL
|
||||
WHEN ( @CurrentDB = 'TK_GMW' ) THEN 'TEKA_DATV3.MWMV260F'
|
||||
WHEN ( @CurrentDB = 'TK_GMWTest' ) THEN 'MAZZT_DTV3.MWMV230F' -- TEST TEKAL
|
||||
ELSE 'DB_NON_TROVATO'
|
||||
END
|
||||
|
||||
WHEN @Function = 'dbo.stp_BORI_caricaDatiBolla' THEN -- carica dati bolla
|
||||
CASE
|
||||
-- S.POSSIDONIO
|
||||
WHEN ( @CurrentDB = 'SP_GMW' ) THEN 'POSN_AZI.BORI202J'
|
||||
WHEN ( @CurrentDB = 'SP_GMWTest' ) THEN 'POSN_AZI.BORI202J' -- TEST SP
|
||||
-- TEKAL
|
||||
WHEN ( @CurrentDB = 'TK_GMW' ) THEN 'TEKA_AZI.BORI202J'
|
||||
WHEN ( @CurrentDB = 'TK_GMWTest' ) THEN 'TEKA_AZI.BORI202J' -- TEST TEKAL
|
||||
WHEN ( @CurrentDB = 'TK_GMWTestCopy' ) THEN 'TEKA_AZI.BORI202J' -- TEST TEKAL
|
||||
ELSE 'DB_NON_TROVATO'
|
||||
END
|
||||
|
||||
WHEN @Function = 'BatchQueue.stp_consumaMP' THEN -- consuma UDC rapporti qualita
|
||||
CASE
|
||||
-- S.POSSIDONIO
|
||||
WHEN ( @CurrentDB = 'SP_GMW' ) THEN 'POSN_DATV3.XOGIX00F'
|
||||
WHEN ( @CurrentDB = 'SP_GMWTest' ) THEN 'MAZZT_DTV3.XOGIX00F' -- TEST SP
|
||||
-- TEKAL
|
||||
WHEN ( @CurrentDB = 'TK_GMW' ) THEN 'TEKA_DATV3.XOGIX00F'
|
||||
WHEN ( @CurrentDB = 'TK_GMWTest' ) THEN 'MAZZT_DTV3.XOGIX00F' -- TEST TEKAL
|
||||
WHEN ( @CurrentDB = 'TK_GMWTestCopy' ) THEN 'MAZZT_DTV3.XOGIX00F' -- TEST TEKAL
|
||||
ELSE 'DB_NON_TROVATO'
|
||||
END
|
||||
|
||||
WHEN @Function = 'BatchQueue.stp_batch_RapQual_S01' -- legge cartellini dei rapporti qualita x caricamento
|
||||
OR @Function = 'As400.stp_SelectRappQualita' -- legge cartellini di un rapporto qualita
|
||||
THEN
|
||||
CASE
|
||||
-- S.POSSIDONIO
|
||||
WHEN ( @CurrentDB = 'SP_GMW' ) THEN 'POSN_DATV3.XOGIX00F'
|
||||
WHEN ( @CurrentDB = 'SP_GMWTest' ) THEN 'POSN_DATV3.XOGIX00F' -- TEST SP
|
||||
-- TEKAL
|
||||
WHEN ( @CurrentDB = 'TK_GMW' ) THEN 'TEKA_DATV3.XOGIX00F'
|
||||
WHEN ( @CurrentDB = 'TK_GMWTest' ) THEN 'TEKA_DATV3.XOGIX00F' -- TEST TEKAL
|
||||
WHEN ( @CurrentDB = 'TK_GMWTestCopy' ) THEN 'TEKA_DATV3.XOGIX00F' -- TEST TEKAL
|
||||
ELSE 'DB_NON_TROVATO'
|
||||
END
|
||||
|
||||
WHEN @Function = 'XOGIX' THEN -- NON USATO
|
||||
CASE
|
||||
-- S.POSSIDONIO
|
||||
WHEN ( @CurrentDB = 'SP_GMW' ) THEN 'POSN_DATV3.XOGIX00F'
|
||||
WHEN ( @CurrentDB = 'SP_GMWTest' ) THEN 'MAZZT_DTV3.XOGIX00F' -- TEST SP
|
||||
-- TEKAL
|
||||
WHEN ( @CurrentDB = 'TK_GMW' ) THEN 'TEKA_DATV3.XOGIX00F'
|
||||
WHEN ( @CurrentDB = 'TK_GMWTest' ) THEN 'MAZZT_DTV3.XOGIX00F' -- TEST TEKAL
|
||||
ELSE 'DB_NON_TROVATO'
|
||||
END
|
||||
|
||||
ELSE 'STORED_NON_TROVATA'
|
||||
END
|
||||
|
||||
-- Return the result of the function
|
||||
RETURN @As400File
|
||||
|
||||
END
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: Gcarlo
|
||||
-- Create date:
|
||||
-- Description: In base al database corrente passato ritorno il corretto linked Server AS400
|
||||
-- =============================================
|
||||
CREATE FUNCTION [dbo].[f_getLikedAS400]
|
||||
(
|
||||
@CurrentDB nVarchar(128) -- Database Corrente
|
||||
)
|
||||
RETURNS nvarchar(50)
|
||||
AS
|
||||
BEGIN
|
||||
-- Declare the return variable here
|
||||
DECLARE @As400File nvarchar(50);
|
||||
|
||||
-- Valorizzo il corretto Linked Server in base al database passato
|
||||
SET @As400File =
|
||||
CASE
|
||||
-- LINKED SERVER AS400 S.POSSIDONIO
|
||||
WHEN ( LEFT(@CurrentDB,3) = 'SP_' ) THEN 'AS400POSS' -- S.POSSIDONIO
|
||||
-- LINKED SERVER AS400 TEKAL
|
||||
WHEN ( LEFT(@CurrentDB,3) = 'TK_' ) THEN 'AS400TEKAL' -- TEKAL
|
||||
|
||||
ELSE ''
|
||||
END
|
||||
|
||||
-- Return the result of the function
|
||||
RETURN @As400File
|
||||
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
|
||||
|
||||
/***************************************
|
||||
* FUNCTION f_calcDestOdette
|
||||
*
|
||||
* Compongo il primo campo delle odette ( campo_2 ) x il destinatario/molo
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 14/05/2013
|
||||
*
|
||||
****************************************/
|
||||
CREATE FUNCTION [dbo].[f_odetteCalcDest] (@INEND VARCHAR(50) , @CCDMOL VARCHAR(50), @CCDPTR VARCHAR(50), @CDINB VARCHAR(50),
|
||||
@CRAGCL VARCHAR(50) , @TELND VARCHAR(50)
|
||||
|
||||
)
|
||||
RETURNS NVARCHAR(50) AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @answ NVARCHAR(50) = ''
|
||||
DECLARE @destP1A NVARCHAR(50) = ''
|
||||
DECLARE @destP2A NVARCHAR(50) = ''
|
||||
DECLARE @destP1 NVARCHAR(50) = ''
|
||||
DECLARE @destP2 NVARCHAR(50) = ''
|
||||
DECLARE @destP3 NVARCHAR(50) = ''
|
||||
|
||||
IF GETDATE() < '20140101' -- 06/12/2013 Hard Coded x Modifica Anagrafica Articoli
|
||||
BEGIN
|
||||
-- Se il campo INEND è vuoto devo prendere sempre gli altri campi CCDMOL e CCDPTR
|
||||
SET @destP1A = CASE WHEN (SUBSTRING(@INEND,1,30)) = '' THEN (@CCDMOL) ELSE dbo.f_trim(SUBSTRING(@INEND,16,15)) END
|
||||
SET @destP2A = CASE WHEN (SUBSTRING(@INEND,1,30)) = '' THEN (@CCDPTR) ELSE dbo.f_trim(SUBSTRING(@INEND,1,15)) END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
-- Se il campo INEND è vuoto devo prendere sempre gli altri campi CCDMOL e CCDPTR
|
||||
SET @destP1A = CASE WHEN (SUBSTRING(@INEND,1,20)) = '' THEN (@CCDMOL) ELSE dbo.f_trim(SUBSTRING(@INEND,16,5)) END
|
||||
SET @destP2A = CASE WHEN (SUBSTRING(@INEND,1,20)) = '' THEN (@CCDPTR) ELSE dbo.f_trim(SUBSTRING(@INEND,1,15)) END
|
||||
END
|
||||
|
||||
SET @destP1 = CASE WHEN (@CDINB) <> '' THEN @destP1A ELSE (@CCDMOL) END
|
||||
SET @destP2 = CASE WHEN (@CDINB) <> '' THEN @destP2A ELSE (@CCDPTR) END
|
||||
|
||||
-- solo se BMW metto /S
|
||||
SET @destP3 = CASE WHEN @CRAGCL = '13' OR ( @CDINB <> '' AND SUBSTRING(@TELND,19,2) = '13') THEN '/S' ELSE '' END
|
||||
|
||||
IF @destP1 + @destP2 <> ''
|
||||
SET @answ = @destP1 + '/' + @destP2 + @destP3
|
||||
ELSE
|
||||
SET @answ = ''
|
||||
|
||||
RETURN @answ
|
||||
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
/***************************************
|
||||
* FUNCTION f_odetteCalcNAEL
|
||||
*
|
||||
* Compongo il primo campo delle odette campo 14 ( Change Index ) o codice NAEL + esponente di modifica particolare )
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 14/05/2013
|
||||
*
|
||||
****************************************/
|
||||
create FUNCTION [dbo].[f_odetteCalcNAEL] (@CRAGCL VARCHAR(50) , @TELND VARCHAR(50), @ECDNAE VARCHAR(50),@ECDNA1 VARCHAR(50)
|
||||
,@EESPMD VARCHAR(50), @OCDODM VARCHAR(50)
|
||||
)
|
||||
RETURNS NVARCHAR(50) AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @answ NVARCHAR(50) = ''
|
||||
DECLARE @codNaelP1 NVARCHAR(50) = ''
|
||||
DECLARE @codNaelP2 NVARCHAR(50) = ''
|
||||
DECLARE @codNaelP3 NVARCHAR(50) = ''
|
||||
|
||||
-- Se il cliente è BMW calcolo campi x NAEL
|
||||
SET @codNaelP1 = CASE WHEN dbo.f_trim(@CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(@TELND,19,2)) = '13' THEN dbo.f_trim(@ECDNAE) ELSE '' END
|
||||
SET @codNaelP2 = CASE WHEN dbo.f_trim(@CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(@TELND,19,2)) = '13' THEN dbo.f_trim(@ECDNA1) ELSE '' END
|
||||
SET @codNaelP3 = CASE WHEN dbo.f_trim(@CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(@TELND,19,2)) = '13' THEN dbo.f_trim(@EESPMD) ELSE '' END
|
||||
|
||||
|
||||
SET @answ = CASE WHEN dbo.f_trim(@CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(@TELND,19,2)) = '13'
|
||||
THEN 'ZI:'+ @codNaelP1 + ' ' + @codNaelP2 + ' AI:'+ @codNaelP3
|
||||
ELSE @OCDODM -- se non BMW
|
||||
END
|
||||
|
||||
RETURN @answ
|
||||
|
||||
END
|
||||
@@ -0,0 +1,46 @@
|
||||
|
||||
/***************************************
|
||||
* FUNCTION f_onlyNumbers
|
||||
*
|
||||
* elimina tutti i caratteri alfabetici dalal stringa
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2010.03.19
|
||||
*
|
||||
****************************************/
|
||||
CREATE FUNCTION [dbo].[f_onlyNumbers] (@string NVARCHAR(255))
|
||||
RETURNS NVARCHAR(255) AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @answ NVARCHAR(255)
|
||||
-- sostituisco TUTTE le lettere dell'alfabeto
|
||||
SET @answ = (SELECT REPLACE(@string, 'a', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'b', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'c', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'd', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'e', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'f', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'g', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'h', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'i', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'j', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'k', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'l', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'm', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'n', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'o', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'p', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'q', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'r', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 's', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 't', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'u', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'v', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'w', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'x', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'y', ''))
|
||||
SET @answ = (SELECT REPLACE(@answ, 'z', ''))
|
||||
|
||||
RETURN @answ
|
||||
|
||||
END
|
||||
@@ -0,0 +1,21 @@
|
||||
/***************************************
|
||||
* FUNCTION f_padLeft
|
||||
*
|
||||
* fornisce una stringa della lunghezza desiderata aggiungendo a sx il carattere richiesto alla @string originale
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2010.03.19
|
||||
*
|
||||
****************************************/
|
||||
CREATE FUNCTION [dbo].[f_padLeft] (@string VARCHAR(255), @desired_length INTEGER, @pad_character CHAR(1))
|
||||
RETURNS VARCHAR(255) AS
|
||||
BEGIN
|
||||
|
||||
-- Prefix the required number of spaces to bulk up the string and then replace the spaces with the desired character
|
||||
RETURN CASE
|
||||
WHEN LEN(@string) < @desired_length
|
||||
THEN REPLACE(SPACE(@desired_length - LEN(@string)), ' ', @pad_character) + @string
|
||||
ELSE @string
|
||||
END
|
||||
|
||||
END
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
/***************************************
|
||||
* FUNCTION f_padLeft
|
||||
*
|
||||
* fornisce una stringa della lunghezza desiderata aggiungendo a sx il carattere richiesto alla @string originale
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2010.03.19
|
||||
*
|
||||
****************************************/
|
||||
create FUNCTION [dbo].[f_padRight] (@string VARCHAR(255), @desired_length INTEGER, @pad_character CHAR(1))
|
||||
RETURNS VARCHAR(255) AS
|
||||
BEGIN
|
||||
|
||||
-- Prefix the required number of spaces to bulk up the string and then replace the spaces with the desired character
|
||||
RETURN CASE
|
||||
WHEN LEN(@string) < @desired_length
|
||||
THEN @string + REPLACE(SPACE(@desired_length - LEN(@string)), ' ', @pad_character)
|
||||
ELSE @string
|
||||
END
|
||||
|
||||
END
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
/***************************************
|
||||
* FUNCTION f_trim
|
||||
*
|
||||
* trim completo: LTRIM(RTRIM(...))
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2013.05.10
|
||||
*
|
||||
****************************************/
|
||||
create FUNCTION [dbo].[f_trim] (@string NVARCHAR(MAX))
|
||||
RETURNS NVARCHAR(MAX) AS
|
||||
BEGIN
|
||||
|
||||
-- Prefix the required number of spaces to bulk up the string and then replace the spaces with the desired character
|
||||
RETURN LTRIM(RTRIM(@string))
|
||||
|
||||
|
||||
END
|
||||
@@ -0,0 +1,20 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,33 @@
|
||||
|
||||
/***************************************
|
||||
* function getUdcComp
|
||||
*
|
||||
* effettua la "compattazione" dell'UDC, andando a prendere un sottoinsieme dei dati iniziali (UAAxxxx dove AA = anno...)
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2010.09.23
|
||||
*
|
||||
****************************************/
|
||||
CREATE FUNCTION [dbo].[getUdcComp]
|
||||
(
|
||||
@fullUDC NVARCHAR(50),
|
||||
@maxLen INTEGER
|
||||
)
|
||||
RETURNS NVARCHAR(20)
|
||||
AS
|
||||
BEGIN
|
||||
-- calcolo lunghezza originale
|
||||
DECLARE @fullLen AS INT
|
||||
SET @fullLen = LEN(LTRIM(RTRIM(@fullUDC)))
|
||||
|
||||
-- dichiaro stringa out (max 20 char)
|
||||
DECLARE @answ NVARCHAR(20)
|
||||
|
||||
-- recupero parte finale (ultimi @maxLen caratteri...)
|
||||
|
||||
|
||||
-- compongo codice
|
||||
SET @answ = 'U' + RIGHT(LEFT(@fullUDC, 7), 2) + RIGHT(LTRIM(RTRIM(@fullUDC)),@maxLen-3) -- tolgo 3 char: U + anno...
|
||||
|
||||
RETURN @answ
|
||||
END
|
||||
@@ -0,0 +1,59 @@
|
||||
|
||||
|
||||
-- =================================================================================================
|
||||
-- =================================================================================================
|
||||
|
||||
|
||||
/***************************************
|
||||
* function staccaNewIdx
|
||||
*
|
||||
* fornisce un nuovo idx valido per company - flusso - anno indicati ed aggiorna tab contatori
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2010.03.19
|
||||
*
|
||||
****************************************/
|
||||
CREATE FUNCTION [dbo].[staccaNewIdx]
|
||||
(
|
||||
@CodCompany VARCHAR(2),
|
||||
@Flusso VARCHAR(2),
|
||||
@Anno VARCHAR(2)
|
||||
)
|
||||
RETURNS INT
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @answ AS INT
|
||||
|
||||
-- cerco nella tab contatori UDC l'ultimo valido
|
||||
SET @answ = ISNULL(
|
||||
( SELECT ISNULL(LastIdx,0)
|
||||
FROM ContatoriUdc
|
||||
WHERE CodCS = @CodCompany
|
||||
AND Flusso = @Flusso
|
||||
AND Anno = @Anno
|
||||
),0)
|
||||
/*
|
||||
-- controllo se record c'è...
|
||||
IF(@answ > 0)
|
||||
BEGIN
|
||||
-- se c'è incremento di 1 in tab
|
||||
UPDATE ContatoriUdc
|
||||
SET LastIdx = LastIdx + 1
|
||||
WHERE CodCompany = @CodCompany
|
||||
AND Flusso = @Flusso
|
||||
AND Anno = @Anno
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
-- lo creo!
|
||||
INSERT INTO ContatoriUdc(CodCompany, Flusso, Anno, LastIdx)
|
||||
VALUES (@CodCompany, @Flusso, @Anno, 1)
|
||||
END
|
||||
@answ = @answ + 1
|
||||
*/
|
||||
|
||||
|
||||
-- uso il dato passando valore + 1 (ho incrementato nel frattempo...)
|
||||
RETURN @answ
|
||||
END
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,21 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,22 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,101 @@
|
||||
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,190 @@
|
||||
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,21 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,23 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,23 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,28 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,23 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,23 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,31 @@
|
||||
/***************************************
|
||||
* 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
|
||||
@@ -0,0 +1,210 @@
|
||||
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
@@ -0,0 +1,59 @@
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
/*****************************************
|
||||
* 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
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user