From 4f2e75c507a61fa07174ccd1c71987607b72e02e Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 21 Feb 2014 14:33:55 +0100 Subject: [PATCH] update versione 2.4.600 x TK - gestione fuoriciclo (/con attributo + nota in cartellino) x TK - aggiunti termini in vocabolario - update dacpac GMW --- GMW/GMW.csproj | 4 + GMW/Web.config | 4 +- GMW/WebUserControls/mod_finitiTK.ascx.cs | 8 +- GMW/WebUserControls/mod_trattamenti.ascx.cs | 2 +- GMW/bin/GMW.dll | Bin 543744 -> 543744 bytes GMW_DB/DbSnapshot/GMW_update.dacpac | Bin 207286 -> 207355 bytes GMW_DB/GMW_DB.sqlproj | 1 + GMW_DB/bin/Release/GMW_DB.dacpac | Bin 150427 -> 150425 bytes GMW_DB/bin/Release/GMW_DB.dll | Bin 3584 -> 3584 bytes GMW_DB/obj/Release/GMW_DB.dll | Bin 3584 -> 3584 bytes .../GMW_DB.sqlproj.FileListAbsolute.txt | 4 + GMW_DB/obj/Release/Model.xml | 68765 ++++++++++++++++ GMW_DB/obj/Release/postdeploy.sql | 15 + VersGen/GMW.cs | 4 +- VersGen/GMW.tt | 5 +- VersGen/VersGen.csproj.user | 6 + 16 files changed, 68810 insertions(+), 8 deletions(-) create mode 100644 GMW_DB/obj/Release/Model.xml create mode 100644 GMW_DB/obj/Release/postdeploy.sql create mode 100644 VersGen/VersGen.csproj.user diff --git a/GMW/GMW.csproj b/GMW/GMW.csproj index 5922d6c5..35198168 100644 --- a/GMW/GMW.csproj +++ b/GMW/GMW.csproj @@ -1188,6 +1188,10 @@ {47143721-A018-4BDA-B544-EC3E10BC87A2} GMW_data + + {7c587950-a570-489c-9784-27256384e57e} + VersGen + diff --git a/GMW/Web.config b/GMW/Web.config index 948c5c5b..ebecc5ad 100644 --- a/GMW/Web.config +++ b/GMW/Web.config @@ -65,8 +65,8 @@ - - + diff --git a/GMW/WebUserControls/mod_finitiTK.ascx.cs b/GMW/WebUserControls/mod_finitiTK.ascx.cs index 80ed34b1..a8179b5b 100644 --- a/GMW/WebUserControls/mod_finitiTK.ascx.cs +++ b/GMW/WebUserControls/mod_finitiTK.ascx.cs @@ -20,6 +20,10 @@ namespace GMW.WebUserControls /// protected string statoUDC = "Fin"; /// + /// attributo per Fuoriciclo + /// + protected string attrFC = "FC"; + /// /// stringa UID univoca /// public string uid @@ -495,7 +499,7 @@ namespace GMW.WebUserControls if (postazione_printer != "n.d.") { string newUdcChild = ""; - string noteTrim = txtNote.Text.Trim(); + string noteTrim = string.Format("{0}{1}{2}", traduci("fuoriciclo"), Environment.NewLine, txtNote.Text.Trim()); // effettuo controlli che cod_soggetto e cod particolare siano disponibili... string codSogg = ""; string particolare = ""; @@ -519,6 +523,8 @@ namespace GMW.WebUserControls newUdcChild = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", "", 0, memLayer.ML.confReadString("CodImballoFiniti"), "U", MagClass.magazzino.CodSoggCurrUser, qtaUDC, 0, 0, adesso, 0, statoUDC, memLayer.ML.confReadInt("IdxPosizioneFiniti"), "IdxPosizioneFiniti", "UDC_FINITO", noteTrim, "", adesso.Year, Request.UserHostName); // registro creazione nuovo UDC MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, postazione_name, postazione_IP, newUdcChild, particolare, "creaUDC", string.Format("Creato nuovo UDC Finiti, qta: {0} {1}", qtaUDC, noteTrim)); + // inserisco attributo fuoriciclo + MagClass.magazzino.taAtt2UDC.Insert(newUdcChild, attrFC, "", DateTime.Now, codSogg); } catch (Exception exc) { diff --git a/GMW/WebUserControls/mod_trattamenti.ascx.cs b/GMW/WebUserControls/mod_trattamenti.ascx.cs index 11cea905..cfbee106 100644 --- a/GMW/WebUserControls/mod_trattamenti.ascx.cs +++ b/GMW/WebUserControls/mod_trattamenti.ascx.cs @@ -633,7 +633,7 @@ namespace GMW.WebUserControls // calcolo il nuovo codice UDC del trattamento newUdcParent = MagClass.magazzino.getComposizioneUDC(memLayer.ML.confReadString("CodCS"), flusso_TR, anno.ToString(), Convert.ToInt32(kvp.Key)); // inserisco attributo trattamento - MagClass.magazzino.taAtt2UDC.Insert(newUdcChild, attrNumTra, newUdcParent,DateTime.Now, ""); + MagClass.magazzino.taAtt2UDC.Insert(newUdcChild, attrNumTra, newUdcParent,DateTime.Now, codSogg); } // ora stampo il nuovo cartellino!!! MagClass.magazzino.stampaUdc(newUdcChild, postazione_printer, tipoCartellino.cartTratt, Request.UserHostName); diff --git a/GMW/bin/GMW.dll b/GMW/bin/GMW.dll index 95664a487ee3a73af28c0b095ecf6e7a74576f90..7a8b3571b5421e38ba449b9a2f55bd4902114469 100644 GIT binary patch delta 73576 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 delta 73504 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 KG&O~v(f&u;+$ diff --git a/GMW_DB/DbSnapshot/GMW_update.dacpac b/GMW_DB/DbSnapshot/GMW_update.dacpac index 7ecdab052b5db100a88ed6bd69c9b7acdec929ed..208f954cec94c0307deb1f7faa8cf8e3e9d99260 100644 GIT binary patch delta 25177 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�{3h6p5?3{l@x82{)wH~jSIPFCeCMH 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 + diff --git a/GMW_DB/bin/Release/GMW_DB.dacpac b/GMW_DB/bin/Release/GMW_DB.dacpac index 43f35ff82b3bdff86b38b58cbef342cc9bcfb8dc..153701dc161568831b1223faa1418fcbb12c1170 100644 GIT binary patch delta 705 zcmbO|opa`NPM!d7W)=|!1_lm>iN%dPtvrldd6-VRFikApe%*yBiV?_|ZtTYNf^%YV zs7tNLj9A&}D(+0i^}hYH4FvXvzp8hLk^aM};&Ncs1eaB-%9K^#-esH|!8m8D@7CS* zYuo=V`PVwD<-%R9YOOgo#`*U?OP_x~fB&Q1$Cs7W6)bJd5f*2DVzoy%Me|neqq1e6 z(%!}X`WL$=;pkqW>Wfxl7hWB)l_;L&yrP>qe+FBx#*{0Yj22Aby~4k>{@JN*t*Y7& z+O!X5eLT~n+Q^c~Bv_ame!TPg8jDS~@!FM-PI0U|pE&zR-Nh+E4ZrN$t{<3iJ~ewr z#@A0DRi-|C+9WwG?98WQAJXy;b_Mrg|E)Dy z71>pyUT>_Fro=t`p zyX(yhKdm#H`^fXO_2LNI!fSWei5*SYx*Sh?__LuVM3-66SUEkdMnOVPYSN5^i9c***y;SsaQch+kOuy(` zT<>+*peM|t!=q1m%M!_jj`LhsAI;je=;Cn!cZ(yD+S^=Ix-;gb3Z9#0=XN^OPI+JK zjD_D7o~oAf9KY)Sp8+{lO>gjIdI3sDSzb)0AbOz}lNE@*>&0Y^l&%!Lne^pB$;|$d cr`K#?l6(xr!a$4wMbq=Wnbg>#yqJJu04v%%a{vGU delta 685 zcmV;e0#f~%mkFDf2@Ft60|XQR000O8%2f5DEMFc7_0>OUZ^4YtPy5>~*fu!&Sv?MB+PcL&S{1#s3j z)oy>ShkjCjp(Y`8x6Pg^pFA^f-t!yJuOC0->&Lcnz6qsk*(EL@;yR)$WLbCjiQAjX zTe#Qh+c)tIFK$(RUw4iLbUJZ&#vHCN*2PY=T%)!wl+>~^sE{qze-Dio%C^NNFYujE zHE-(g+*lG!2~bR^Yr8s5yynH8-;1@92cb+Y^f7D`Ur(A+hRASYd=8BHTy}=nonAg3 zq%xws;fALbx4bdFm>Y3-MhV`I&CYCp_?%PzGjB!W4mdZZmleE*5r;-TwW2eF3RQ1= zBb9bjc;y}Vf}j{*f3_vQwYQ^-XY_~C64mA@6)XyZkW?Py^M&V&Md59OhaX^fs!rvLl( zCzi3_Y2+_w8|OPw>~-Hx3vmuOUsRpAxRs@7kX=SM&HXtG!!TNbop=rrS+b0>AkU)J z&1$}4(fbf0EeIjYmV{;z%d;$kZ0Q48uJQ%-?ZS+`M=8&_V?3>X`WsM70|XQR000O8 z%2=0vNdo8s%2=0ZN&+S^xk5 delta 48 zcmZpWX^@%F!PF(bv1=W(z^di0uPm?D`p;XVUwQgPoy}wqmH?pKS^xk5 delta 48 zcmZpWX^@%F!PF(bv1=W(z^di0uPm?D`p;XVUwQgPoy}wqmH?pK + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @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 + 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]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = '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 + 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]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = @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]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = 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;]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '' 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) + 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]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = 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]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ''''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 + BEGIN + SET @IdxTipoCella = @IdxTipoCellaNew + END +ELSE + BEGIN + SET @IdxTipoCella = (SELECT TOP (1) ISNULL(IdxTipoCella, 0) AS IdxTipoCella + FROM TipoCella + WHERE (CodCS = @CodCS) AND (CodMag = @CodMag)) + END +--------------------------------------------------------------------- +-- inserisco le celle nelle posizioni LIBERE del blocco +--------------------------------------------------------------------- +INSERT INTO Celle(CodCS, CodCella, IdxTipoCella, Descrizione, Attiva, Piena, IdxBlocco,X,Y,Z) +SELECT @CodCS, @CodBlocco + dbo.f_padLeft(CAST(sb.X AS VARCHAR),2,'0') + dbo.f_padLeft(CAST(sb.Y AS VARCHAR),2,'0') + dbo.f_padLeft(CAST(sb.Z AS VARCHAR),2,'0'), @IdxTipoCella, '-', 1, 0, @IdxBlocco, sb.X, sb.Y, sb.Z +FROM @SchemaBlocco sb LEFT OUTER JOIN (SELECT * +FROM Celle +WHERE IdxBlocco = @IdxBlocco) c +ON sb.X = c.X AND sb.Y = c.Y AND sb.Z = c.Z +WHERE c.IdxCella IS NULL +ORDER BY sb.X,sb.Y,sb.Z ASC + + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (CASE @PosAssegnata WHEN 0 THEN (ISNULL(X,0)+ISNULL(Y,0)+ISNULL(Z,0)) - 1 ELSE 0 END)) + ) + +RETURN @TotCelle]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0) + BEGIN + -- se c'è incremento di 1 in tab + UPDATE ContatoriListePrelievo + SET LastIdx = LastIdx + 1 + WHERE CodCS = @CodCS + AND Anno = @Anno + AND Mese = @Mese + + END + ELSE + BEGIN + -- lo creo! + INSERT INTO ContatoriListePrelievo(CodCS, Anno, Mese, LastIdx) + VALUES (@CodCS, @Anno, @Mese, 1) + END + -- aggiorno numero lista prelievo + SET @numLista = ( + SELECT LastIdx + FROM ContatoriListePrelievo + WHERE CodCS = @CodCS + AND Anno = @Anno + AND Mese = @Mese + + ) +COMMIT TRAN +------------------------------------------------------------------------------------------------------ + +BEGIN TRAN + + ------------------------------------------------------------------------------------------------------ + -- Ciclo principale x inserimento nuovo record + ------------------------------------------------------------------------------------------------------ + -- ottengo il nuovo codice lista di prelievo completo + SET @CodLista = 'K' + @CodCS + @Anno + dbo.f_padLeft(CAST(@Mese AS NVARCHAR(2)), 2, '0') + + dbo.f_padLeft(CAST(@numLista AS NVARCHAR(5)), 5, '0') + + INSERT INTO ElencoListePrelievo + (CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario, DestinatarioDescrizione, DataModStato) + VALUES (@CodLista, @CodTipoLista, @CodCS, GETDATE(), @CodCliente, @RagSociale, @CodSoggetto, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente,@Figura, @CodImballo, @QtaTot, 0, @Destinatario, @DestinatarioDescrizione, GETDATE() ) + +COMMIT TRAN + +SELECT CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario, DestinatarioDescrizione +FROM V_elencoListePrelievo WHERE CodLista = @CodLista; + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @CodLista AND CodStatoLista > 1 AND Prelevato = 1) + ) + AND ISNULL(Qta,0) > 0 + ORDER BY ElencoCartellini.DataFus + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0) + BEGIN + -- copio la lista (intestazione) + INSERT INTO ElencoListePrelievo_AS(CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, + DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario) + SELECT CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, + DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario + FROM ElencoListePrelievo + WHERE (CodLista = @CodLista) + + -- copio le righe lista di dettaglio + INSERT INTO RigheListePrelievo_AS(CodLista, UDC, Qta, Proposto, Prelevato) + SELECT CodLista, UDC, Qta, Proposto, Prelevato + FROM RigheListePrelievo + WHERE (CodLista = @CodLista) AND Prelevato = 1 + + -- aggiorno le quantità passate ad AS... + UPDATE ElencoListePrelievo_AS + SET QtaTot = ( SELECT SUM(Qta) AS QtaTot FROM RigheListePrelievo WHERE (CodLista = @CodLista) AND Prelevato = 1 ) + WHERE (CodLista = @CodLista) + END + + +COMMIT TRAN + +-- IMPORTANTE: in caso siano rimasti riferimenti ad un UDC scaricato in AS in altre liste di prelievo li tolgo in modo da "ripulirle" ed evitare che lo stesso UDC venga prelevato 2 volte... +DELETE RLP +FROM RigheListePrelievo RLP +INNER JOIN ElencoListePrelievo ELP + ON RLP.CodLista = ELP.CodLista +WHERE ELP.CodStatoLista < 4 AND RLP.CodLista <> @CodLista AND RLP.UDC IN ( + SELECT UDC + FROM RigheListePrelievo + WHERE (CodLista = @CodLista) AND Prelevato = 1 + ) + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + ORDER BY AnagMag.CodMag , Blocchi.CodBlocco; + + END + +/* OLD 17/06/2013 Problema della cella terra bloccata non più visibile e delle celle bloccate piene + SELECT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco, + TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle, + TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) AS CelleAttive, + COUNT(PosizioneUdcCorrente.UDC) AS CelleOccupate, + TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) - COUNT(PosizioneUdcCorrente.UDC) AS CelleLibere, + ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest + FROM TipoCella INNER JOIN + AnagMag INNER JOIN + Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS ON TipoCella.CodMag = AnagMag.CodMag AND + TipoCella.CodCS = AnagMag.CodCS LEFT OUTER JOIN + Celle ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco LEFT OUTER JOIN + PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella + WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0) + GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco, + Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ, + TipoCella.Capienza + ORDER BY AnagMag.CodMag, Blocchi.CodBlocco + END +ELSE + BEGIN + SELECT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco, + TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle, + TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) AS CelleAttive, + COUNT(PosizioneUdcCorrente.UDC) AS CelleOccupate, + TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) - COUNT(PosizioneUdcCorrente.UDC) AS CelleLibere, + ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest + FROM TipoCella INNER JOIN + AnagMag INNER JOIN + Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS ON TipoCella.CodMag = AnagMag.CodMag AND + TipoCella.CodCS = AnagMag.CodCS LEFT OUTER JOIN + Celle ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco LEFT OUTER JOIN + PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella + INNER JOIN ElencoCartellini ec ON PosizioneUdcCorrente.UDC = ec.UDC + WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0) AND ec.particolare = @particolare + GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco, + Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ, + TipoCella.Capienza + ORDER BY AnagMag.CodMag, Blocchi.CodBlocco + END +*/ + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'VMLP' + AND (am.CodCS = @CodCS) + AND (ec.Particolare = @Particolare) + GROUP BY b.IdxBlocco, b.CodBlocco, b.DescBlocco, ec.Particolare + ORDER BY Oldest ASC + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0) +BEGIN + + IF GETDATE() < '20140101' -- 28/11/2013 Hard Coded x Modifica Anagrafica Articoli + BEGIN + + SELECT TOP 1 -- nel caso di più righe dello stesso articolo in bolla + -- campo 1 indirizzo destinazione cliente ( Receiver ) + @ragSocCli = CASE WHEN dbo.f_trim(CDINB) <> '' AND @CodCS <> 'TK' THEN dbo.f_trim(RA1ND) ELSE dbo.f_trim(RASCL) END + ,@indirCli = CASE WHEN dbo.f_trim(CDINB) <> '' AND @CodCS <> 'TK' THEN dbo.f_trim(RA2ND) ELSE dbo.f_trim(INDCL) END + ,@capCittCli = CASE WHEN dbo.f_trim(CDINB) <> '' AND @CodCS <> 'TK' THEN dbo.f_trim(CAPND) + ' ' + dbo.f_trim(CITND) + ELSE dbo.f_trim(CAPCL) + ' ' + dbo.f_trim(LOCCL) + ' ' +dbo.f_trim(PROCL) END + + -- campo 2 punto di rifornimento / molo / uso ( Destination ) + -- ATTENZIONE NON POSSO TESTARE QUI LE VARIABILI MA SOLO ASSEGNARLE!!! NEL CASE LE VALUTA SEMPRE VUOTE + ,@destinatario = dbo.f_odetteCalcDest( dbo.f_trim(INEND), dbo.f_trim(CCDMOL), dbo.f_trim(CCDPTR), dbo.f_trim(CDINB), + dbo.f_trim(CRAGCL), dbo.f_trim(TELND) ) + + -- Leggo i dati che mi servono dopo nel caso il destinatario sia vuoto ( VEDI DOPO SELECT ) + ,@ragSocDest = dbo.f_trim(RA1ND) + ,@indirDest = dbo.f_trim(RA2ND) + ,@capCittDest = dbo.f_trim(CAPND) + ' ' + dbo.f_trim(CITND) + + -- campo 5_2 peso netto ( Net Weight ) + ,@peso = CASE WHEN ISNULL(EPLAVO,0) <= 0 THEN EPNETT ELSE EPLAVO END + ,@pesoNetto = CONVERT(NVARCHAR(50), CONVERT(INT , FLOOR( @peso * @qtaUdc ) ) ) + + -- campo 6_2 peso lordo (Gross Weight) + ,@pesoLordo = CONVERT(NVARCHAR(50), CONVERT(INT, FLOOR( PELDB / NRC1B ) ) ) + + -- campo 7 numero colli (Nr. Boxes) + ,@numColli = CONVERT(NVARCHAR(50), 1) -- imposto n. colli del cartellino odette fisso = 1 + -- ,@numColli = CONVERT(NVARCHAR(50), NRC1B) + + -- campo 8 disegno particolare ( Part Number ) + ,@disPart = dbo.f_trim(ECMM01) + + -- campo 10 Descrizione particolare ( Description ) + ,@descPart = dbo.f_trim(DEPAR) + + -- campo 11_1 Codice particolare (non stampato) + ,@codPart = dbo.f_trim(CDARS) + -- campo 11_2 Codice imballo per il cliente ( Logistics Reference ) + ,@codImb = dbo.f_trim(FCDI01) + + -- campo 12 Codice Mazzucconi/Tekal/Possidonio per il cliente ( Supplier ) + ,@codMaz = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN + CASE WHEN dbo.f_trim(CDINB) <> '' AND dbo.f_trim(PERND) <> '' THEN dbo.f_trim(PERND) + WHEN dbo.f_trim(CDINB) = '' AND dbo.f_trim(CCDET1) <> '' THEN dbo.f_trim(CCDET1) + ELSE dbo.f_trim(CCFOE1) END + ELSE dbo.f_trim(CCFOE1) END + + -- campo 14 codice NAEL + esponente di modifica particolare ( Change Index ) + ,@codNael = dbo.f_odetteCalcNAEL ( dbo.f_trim(CRAGCL),dbo.f_trim(TELND),dbo.f_trim(ECDNAE),dbo.f_trim(ECDNA1), + dbo.f_trim(EESPMD),dbo.f_trim(OCDODM) ) + + --,@codNaelP1 = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN dbo.f_trim(ECDNAE) ELSE '' END + --,@codNaelP2 = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN dbo.f_trim(ECDNA1) ELSE '' END + --,@codNaelP3 = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN dbo.f_trim(EESPMD) ELSE '' END + --,@codNael = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN 'ZI:'+ @codNaelP1 + ' ' + @codNaelP2 + ' AI:'+ @codNaelP3 ELSE OCDODM END + + -- campo 16_5 AQP ( controllo qualità ) + ,@codAQP = dbo.f_trim(ECLAQP) + + FROM RawData.BORI202J + WHERE CDMFS = @CodMag + AND GRBOS = @GrpBolla + AND NRBOS = @numBolla + AND DTBOS = @DataBolla + AND CDARS = @Particolare + + -- Se nella destinazione non trovo nulla utilizzo i dati in RA1ND RA2ND CAPND CITND ( simile indirizzo cliente ) + IF @destinatario = '' + SET @destinatario = @ragSocDest + ELSE + BEGIN -- vuoto i campi necessari solo se destinatario NON è vuoto ( in questo caso compilo solo prima riga ) + SET @indirDest = '' + SET @capCittDest = '' + END + END + ELSE + BEGIN + + SELECT TOP 1 -- nel caso di più righe dello stesso articolo in bolla + -- campo 1 indirizzo destinazione cliente ( Receiver ) + @ragSocCli = CASE WHEN dbo.f_trim(CDINB) <> '' THEN dbo.f_trim(RA1ND) ELSE dbo.f_trim(RASCL) END + ,@indirCli = CASE WHEN dbo.f_trim(CDINB) <> '' THEN dbo.f_trim(RA2ND) ELSE dbo.f_trim(INDCL) END + ,@capCittCli = CASE WHEN dbo.f_trim(CDINB) <> '' THEN dbo.f_trim(CAPND) + ' ' + dbo.f_trim(CITND) + ELSE dbo.f_trim(CAPCL) + ' ' + dbo.f_trim(LOCCL) + ' ' +dbo.f_trim(PROCL) END + + -- campo 2 punto di rifornimento / molo / uso ( Destination ) + -- ATTENZIONE NON POSSO TESTARE QUI LE VARIABILI MA SOLO ASSEGNARLE!!! NEL CASE LE VALUTA SEMPRE VUOTE + ,@destinatario = dbo.f_odetteCalcDest( dbo.f_trim(INEND), dbo.f_trim(CCDMOL), dbo.f_trim(CCDPTR), dbo.f_trim(CDINB), + dbo.f_trim(CRAGCL), dbo.f_trim(TELND) ) + + -- campo 5_2 peso netto ( Net Weight ) + ,@peso = CASE WHEN ISNULL(EPLAVO,0) <= 0 THEN EPNETT ELSE EPLAVO END + ,@pesoNetto = CONVERT(NVARCHAR(50), CONVERT(INT , FLOOR( @peso * @qtaUdc ) ) ) + + -- campo 6_2 peso lordo (Gross Weight) + ,@pesoLordo = CONVERT(NVARCHAR(50), CONVERT(INT, FLOOR( PELDB / NRC1B ) ) ) + + -- campo 7 numero colli (Nr. Boxes) + ,@numColli = CONVERT(NVARCHAR(50), 1) -- imposto n. colli del cartellino odette fisso = 1 + -- ,@numColli = CONVERT(NVARCHAR(50), NRC1B) + + -- campo 8 disegno particolare ( Part Number ) + ,@disPart = dbo.f_trim(RCARTC) + + -- campo 10 Descrizione particolare ( Description ) + ,@descPart = dbo.f_trim(DEPAR) + + -- campo 11_1 Codice particolare (non stampato) + ,@codPart = dbo.f_trim(CDARS) + -- campo 11_2 Codice imballo per il cliente ( Logistics Reference ) + ,@codImb = dbo.f_trim(FCDI01) + + -- campo 12 Codice Mazzucconi/Tekal/Possidonio per il cliente ( Supplier ) + ,@codMaz = CASE WHEN dbo.f_trim(CRAGCL) = '13' OR dbo.f_trim(SUBSTRING(TELND,19,2)) = '13' THEN + CASE WHEN dbo.f_trim(CDINB) <> '' AND dbo.f_trim(PERND) <> '' THEN dbo.f_trim(PERND) + WHEN dbo.f_trim(CDINB) = '' AND dbo.f_trim(CCDET1) <> '' THEN dbo.f_trim(CCDET1) + ELSE dbo.f_trim(CCFOE1) END + ELSE dbo.f_trim(CCFOE1) END + + -- campo 14 codice NAEL + esponente di modifica particolare ( Change Index ) + ,@codNael = dbo.f_odetteCalcNAEL ( dbo.f_trim(CRAGCL),dbo.f_trim(TELND),dbo.f_trim(ECDNAE),dbo.f_trim(ECDNA1), + dbo.f_trim(EESPMD),dbo.f_trim(OCDODM) ) + -- campo 16_5 AQP ( controllo qualità ) + ,@codAQP = dbo.f_trim(ECLAQP) + + FROM RawData.BORI202J + WHERE CDMFS = @CodMag + AND GRBOS = @GrpBolla + AND NRBOS = @numBolla + AND DTBOS = @DataBolla + AND CDARS = @Particolare + END + + -- SELECT @UDC, @ragSocCli, @indirCli, @capCittCli, @destinatario, @indirDest, @capCittDest, @pesoNetto, @pesoLordo, @numColli, @disPart, @descPart, @codPart, @codImb, @codMaz, @codNael, @codAQP + EXEC stp_ODETTE_updateVal @UDC, @ragSocCli, @indirCli, @capCittCli, @destinatario, @indirDest, @capCittDest, @pesoNetto, @pesoLordo, @numColli, @disPart, @descPart, @codPart, @codImb, @codMaz, @codNael, @codAQP + +END + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '' ) + SELECT * + FROM v_selParticolari + WHERE conditio = @conditio + AND value LIKE @prefText + '%'; +ELSE + SELECT * + FROM v_selParticolari + WHERE value LIKE @prefText + '%'; + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '*' ) + SELECT * + FROM v_selParticolari + WHERE conditio = @conditio + AND value = @value; +ELSE + SELECT * + FROM v_selParticolari + WHERE value = @value; + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = 0 -- vincolo posizioni mag attive + GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = 0 -- vincolo posizioni mag attive + GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 AND Prelevato = 1) + ) + + GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = dbo.dateToAsFormat(@dataFrom)) + AND (DataRapQual < dbo.dateToAsFormat(@dataTo))) -- cond data RQ + AND (ISNULL(UDC,'') <>'') -- non nullo UDC, quindi stampati... + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = dbo.dateToAsFormat(@dataFrom)) AND +(DataRapQual < dbo.dateToAsFormat(@dataTo)) + ORDER BY nRapQual +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @CodLista + ) + +-- effettua "sblocco" delle righe liste prelievo che danno UDC prelevati ma che NON risultano +UPDATE cteUdcRigheAttive + SET Prelevato = 0 + WHERE UDC = @UDC + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @IdxCellaFrom) + BEGIN + -- controllo UDC "libero" da LDP (ovvero non faccia parte di LDP in uno stato che NON permette MOV, nel qual caso NON sposto) + IF (@udcInLdpPrel = 0) + -- tutto ok PROCEDO! + BEGIN + + -- controllo se la cella di partenza vada indicata come piena o meno + SET @capienza = ( + SELECT tc.Capienza + FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella + WHERE c.IdxCella = @IdxCellaFrom + ) + SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaFrom) + -- se capienza cella di partenza NON raggiunta aggiorno NON Piena + IF(@numUdc -1 < @capienza) + BEGIN + EXEC stp_celle_updPiena @IdxCellaFrom, 0 + END + + ---- aggiorno utente x la posizione corrente, in modo da poter POI salvare l'utente che scarica UDC + --UPDATE PosizioneUdcCorrente + --SET CodSoggetto = @CodSoggetto + --WHERE UDC = @UDC + + ---- cancello posizione occupata ( non serve più faccio UPDATE ) + --DELETE + --FROM PosizioneUdcCorrente + --WHERE UDC = @UDC + + -- SE RICHIESTO cancello eventuali righe liste di prelievo FUSI per l'UDC + IF(@resetRLP = 1) + BEGIN + DELETE FROM RigheListePrelievo + WHERE UDC = @UDC AND CodLista IN ( + SELECT CodLista FROM ElencoListePrelievo + --WHERE CodTipoLista='01-PreFus' + WHERE CodStatoLista < 4 + ) + END + + -- modifico la posizione per l'UDC se esiste altrimenti la inserisco + IF @IdxCellaFrom <> 0 + UPDATE PosizioneUdcCorrente + SET IdxCella = @IdxCellaTo, + DataRif = GETDATE(), + CodSoggetto = @CodSoggetto + FROM PosizioneUdcCorrente WHERE UDC = @UDC AND CodCS = @CodCS AND IdxCella = @IdxCellaFrom + ELSE + INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif, CodSoggetto) + VALUES(@UDC, @IdxCellaTo, @CodCS, GETDATE(), @CodSoggetto); + + + SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaTo) + + -- controllo se la cella di dest vada indicata come piena, altrimenti NON la indicherò (mai) come piena... + SET @capienza = ( + SELECT CASE CheckPiena WHEN 1 THEN tc.Capienza ELSE @numUdc + 1 END + FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella + WHERE c.IdxCella = @IdxCellaTo + ) + + + -- se capienza raggiunta aggiorno... + IF(@numUdc >= @capienza) + BEGIN + EXEC stp_celle_updPiena @IdxCellaTo, 1 + END + + END -- cellaFrom e cellaTo non coincidono... + END -- UDC NON appartiene a LDP già prelevate... + +COMMIT TRAN + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = Capienza) + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 +BEGIN + BEGIN TRY; + BEGIN TRANSACTION; + + -- ========================================================= + -- Cancella tutti gli UDC Materia Prima di un Rapp. Qualità + -- ========================================================= + SELECT ROW_NUMBER() OVER (ORDER BY UDC) AS Riga,UDC + INTO #Temp + FROM RilPro.RapQual + WHERE nRapQual = @nRapQual AND UDC IS NOT NULL; -- Rapporto di qualità da cancellare + + DECLARE @Riga AS INT = 1 + ,@Fine AS INT = 0 + ,@UDC nVarchar(50); + + SELECT @Fine = MAX(Riga) FROM #Temp; + + WHILE @Riga <= @Fine + BEGIN + -- Leggo UDC da cancellare uno alla volta + SELECT @UDC = UDC FROM #Temp WHERE Riga = @Riga; + + -- ====================================================== + -- Cancella i dati del singolo UDC + -- ======================================================= + -- Attenzione che sulle tabelle ci sono dei trigger + DELETE dbo.PosizioneUdcCorrente WHERE UDC = @UDC + + -- DELETE dbo.RelazUDC WHERE UDC_child = @UDC -- mod. 2012-03-02 per mantenere la storia UDC AS400-GMW + -- DELETE dbo.RelazUDC WHERE UDC_parent = @UDC + DELETE dbo.ElencoCartellini WHERE UDC = @UDC + + -- sgancio il cartellino AS400 da quello GMW ( cancellato ) + UPDATE RilPro.RapQual SET UDC = NULL WHERE UDC = @UDC + + --SELECT * FROM dbo.PosizioneUdcCorrente WHERE UDC = @UDC + --SELECT * FROM dbo.RelazUDC WHERE UDC_child = @UDC + --SELECT * FROM dbo.ElencoCartellini WHERE UDC = @UDC + --SELECT * FROM RilPro.RapQual WHERE UDC = @UDC + + SET @Riga = @Riga + 1 -- Incremento contatore x UDC in tabella Temp + + END + + -- Se esiste la tabella #Temp la cancello + IF OBJECT_ID(N'tempdb..#Temp') IS NOT NULL + DROP TABLE #Temp; + + COMMIT TRANSACTION; + END TRY + + BEGIN CATCH; + + --IF (ERROR_NUMBER() = 1222) -- se vi è un lock per troppo tempo posso controllarlo x rieseguire + -- BEGIN; PRINT 'Tabella Bloccata'; -- Segnalo l'errore specifico di lock + -- END; + --ELSE PRINT 'Errore Generico'; -- se l'errore non è un deadlock esco dal WHILE + + IF XACT_STATE() <> 0 -- solo se vi sono transazioni aperte faccio il rollback ( da verificare nel caso sia richiamato + ROLLBACK TRANSACTION -- all'interno di un'altra transazione ) + + -- Cancello La Tabella TEMP se esiste ( messo x per sicurezza ) + IF OBJECT_ID(N'tempdb..#Temp') IS NOT NULL + DROP TABLE #Temp; + + -- Uso RAISERROR mandare in errore la procedura e x per tornare le info + -- sull'errore originale che ha portato l'esecuzione nel blocco CATCH + DECLARE @ErrorNumber INT; + DECLARE @ErrorMessage NVARCHAR(4000); + DECLARE @ErrorSeverity INT; + DECLARE @ErrorState INT; + SELECT @ErrorMessage = ERROR_MESSAGE(),@ErrorSeverity = ERROR_SEVERITY(),@ErrorState = ERROR_STATE(), @ErrorNumber = ERROR_NUMBER(); + + IF @ExecBatchInter = 0 -- Sollevo errore solo se richiesto dai parametri ( es. esecuzione da un Job Batch ) + RAISERROR (@ErrorMessage,@ErrorSeverity,@ErrorState); -- Se non uso RAISERROR la procedura non mi da errore es. se schedulata + + END CATCH; + +END + +/*--------------------------------------- +- Query x eliminazione UDC e tab +- collegate dato un Rapp di Qualità +---------------------------------------*/ + +/* NON FUNZIONA A CAUSA DEI TRIGGER +WITH cte AS -- Tutti i cartellini su AS400 annullati che hanno un cartellino in RilPro +( + SELECT r.UDC + FROM RilPro.RapQual AS r + INNER JOIN dbo.ElencoCartellini AS e + ON r.UDC = e.UDC + WHERE r.BenesQual = 'A' +) + -- Cancello la posizione degli UDC a magazzino + DELETE dbo.PosizioneUdcCorrente + FROM dbo.PosizioneUdcCorrente AS P + INNER JOIN RilPro.RapQual AS r + ON p.UDC = r.UDC + WHERE r.nRapQual = @nRapQual + -- SELECT * FROM dbo.PosizioneUdcCorrente WHERE r.nRapQual = @nRapQual + + -- Se non sono ancora scaricati cancello il record movimento di scarico materia prima + DELETE dbo.AS400_BatchConsumoMP + FROM dbo.AS400_BatchConsumoMP AS b + INNER JOIN RilPro.RapQual AS r + ON b.UDC = r.UDC + WHERE r.nRapQual = @nRapQual AND b.DataInvioAs IS NULL + + SELECT * FROM dbo.AS400_BatchConsumoMP + + -- Cancellazione Cartellini Materia Prima di un Rapporto qualità + SELECT * FROM dbo.ElencoCartellini +*/]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 +BEGIN + BEGIN TRY; + BEGIN TRANSACTION; + + -- ===================================================== + -- Cancella tutti gli UDC di un RQ + -- ===================================================== + SELECT ROW_NUMBER() OVER (ORDER BY UDC) AS Riga,UDC + INTO #Temp + FROM RilPro.RapQual + WHERE nRapQual = @nRapQual; -- Rapporto di qualità da cancellare + + DECLARE @Riga AS INT = 1 + ,@Fine AS INT = 0 + ,@UDC nVarchar(50); + + SELECT @Fine = MAX(Riga) FROM #Temp; + + WHILE @Riga <= @Fine + BEGIN + -- Leggo UDC da cancellare uno alla volta + SELECT @UDC = UDC FROM #Temp WHERE Riga = @Riga; + + -- ====================================================== + -- Cancella i dati del singolo UDC + -- ======================================================= + -- Attenzione che sulle cartelle ci sono dei trigger + DELETE dbo.PosizioneUdcCorrente WHERE UDC = @UDC + + DELETE dbo.RelazUDC WHERE UDC_child = @UDC + DELETE dbo.RelazUDC WHERE UDC_parent = @UDC + DELETE dbo.ElencoCartellini WHERE UDC = @UDC + + -- sgancio il cartellino AS400 da quello GMW ( cancellato ) + UPDATE RilPro.RapQual SET UDC = NULL WHERE UDC = @UDC + + --SELECT * FROM dbo.PosizioneUdcCorrente WHERE UDC = @UDC + --SELECT * FROM dbo.RelazUDC WHERE UDC_child = @UDC + --SELECT * FROM dbo.ElencoCartellini WHERE UDC = @UDC + --SELECT * FROM RilPro.RapQual WHERE UDC = @UDC + +-- IF @nRapQual = 20 Select 1/0 + -- Select 1/0 + + SET @Riga = @Riga + 1 -- Incremento contatore x UDC in tabella Temp + -- SELECT @UDC + END + + -- Se esiste la tabella #Temp la cancello + IF OBJECT_ID(N'tempdb..#Temp') IS NOT NULL + DROP TABLE #Temp; + + COMMIT TRANSACTION; + END TRY + + BEGIN CATCH; + + --IF (ERROR_NUMBER() = 1222) -- se vi è un lock per troppo tempo posso controllarlo x rieseguire + -- BEGIN; PRINT 'Tabella Bloccata'; -- Segnalo l'errore specifico di lock + -- END; + --ELSE PRINT 'Errore Generico'; -- se l'errore non è un deadlock esco dal WHILE + + IF XACT_STATE() <> 0 AND @TRAN = 0 -- solo se vi sono transazioni aperte faccio il rollback ( da verificare nel caso sia richiamato + ROLLBACK TRANSACTION -- all'interno di un'altra transazione ) + + -- Cancello La Tabella TEMP se esiste ( messo x per sicurezza ) + -- EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='#Temp') + -- *** QUI HO IL PROBLEMA SE XACT_STATE() = -1 perchè da errore + IF OBJECT_ID(N'tempdb..#Temp') IS NOT NULL + DROP TABLE #Temp; + + -- Uso RAISERROR mandare in errore la procedura e x per tornare le info + -- sull'errore originale che ha portato l'esecuzione nel blocco CATCH + DECLARE @ErrorNumber INT; + DECLARE @ErrorMessage NVARCHAR(4000); + DECLARE @ErrorSeverity INT; + DECLARE @ErrorState INT; + SELECT @ErrorMessage = ERROR_MESSAGE(),@ErrorSeverity = ERROR_SEVERITY(),@ErrorState = ERROR_STATE(), @ErrorNumber = ERROR_NUMBER(); + + IF @ExecBatchInter = 0 -- Sollevo errore solo se richiesto dai parametri ( es. esecuzione da un Job Batch ) + RAISERROR (@ErrorMessage,@ErrorSeverity,@ErrorState); -- Se non uso RAISERROR la procedura non mi da errore es. se schedulata + + END CATCH; + +END]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'VMLP' + AND (am.CodCS = @CodCS) + AND (ec.Particolare = @Particolare) + AND b.IdxBlocco = @idxBlocco + GROUP BY ec.UDC, c.CodCella, ec.DataFus, ec.Qta + ORDER BY ec.DataFus ASC + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = @DataFrom) AND (DataFus <= @DataTo) +ORDER BY UDC DESC + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @note OR ec.note IS NULL ) + +RETURN]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0) -- UPDATE! + BEGIN + UPDATE RigheListePrelievo + SET Prelevato=1 + WHERE (CodLista = @CodLista) AND (UDC = @UDC) + END +ELSE -- INSERT! + BEGIN + INSERT INTO RigheListePrelievo (CodLista, UDC, Qta, Proposto, Prelevato) + SELECT @CodLista, @UDC, Qta, 0, 1 + FROM ElencoCartellini + WHERE (UDC = @UDC) + END + + +-- restituisce la tab delle righe di prelievo della lista indicata + +SELECT * +FROM RigheListePrelievo +WHERE (CodLista = @CodLista) AND (UDC = @UDC)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i.CodStatoLista ) -- 99 solo se lo stato lista è cambiato + AND NOT ( ( d.CodStatoLista = 0 AND i.CodStatoLista = 1 AND d.CodTipoLista = '00-Smart' ) -- escludo la storicizzazione dei primi due stati + OR ( d.CodStatoLista = 1 AND i.CodStatoLista = 2 AND d.CodTipoLista = '00-Smart' ) ) -- delle smart list che sono creati contemporaneamente + + --WHERE ( d.CodStatoLista = 3 AND i.CodStatoLista = 4 ) -- Storicizzo chi ha completato la Lista + -- OR ( d.CodStatoLista = 4 AND i.CodStatoLista < 4 ) -- Storicizzo se la lista Scaricata è viene resettata + -- OR ( d.CodStatoLista = 3 AND i.CodStatoLista < 3 ) -- Storicizzo se la lista Completata è viene resettata + -- OR ( d.CodStatoLista = 0 AND i.CodStatoLista > 0 ) -- Storicizzo lo stato Bozza + -- OR ( d.CodStatoLista = 1 AND i.CodStatoLista > 1 ) -- Storicizzo lo stato Generata + -- OR ( d.CodStatoLista = 2 AND i.CodStatoLista > 2 ) -- Storicizzo lo stato In Carico + END + ELSE -- se è cambiato il tipo Lista ma non lo Stato storicizzo cmq Mod. 28/06/2013 + IF ( UPDATE(CodTipoLista)) + BEGIN + INSERT INTO ElencoListePrelievo_storico + (DataOraDelete,CodLista,CodTipoLista,CodCS,DataCreaz,CodCliente,RagSociale,CodSoggetto,Particolare,DescParticolare,DisegnoGrezzo, + Esponente,Figura,CodImballo,QtaTot,CodStatoLista,Destinatario,DestinatarioDescrizione, DataModStato) + SELECT @dataOra, d.CodLista,d.CodTipoLista,d.CodCS,d.DataCreaz,d.CodCliente,d.RagSociale,d.CodSoggetto,d.Particolare,d.DescParticolare,d.DisegnoGrezzo, + d.Esponente,d.Figura,d.CodImballo,d.QtaTot,d.CodStatoLista,d.Destinatario,d.DestinatarioDescrizione, d.DataModStato + FROM deleted AS d + INNER JOIN inserted AS i ON d.CodLista = i.CodLista + WHERE d.CodTipoLista <> i.CodTipoLista -- solo se cambiato +-- AND NOT ( d.CodStatoLista <> 3 ) -- escludo il cambio per le liste stato 3 ( Normale Funzionamento ) + END +END]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GiornaleMagazzino + * + * regola1: si fanno registrazioni solo se varia ALMENO UNO tra + * - quantità + * - idxPosizione + * - codStato + * + * regola 2: + * - Particolare deve essere valorizzato ALMENO a '' (blank) + * + * regola3: in caso di update SIA di quantità che di posizione/stato + * - si genera UN PRIMO RECORD di modifica quantità a posizione e stato FISSI sulla vecchia posizione/Stato + * - si genera UN SECONDO RECORD con variazione posizione/stato + * + *******************************************************************************/ + + -- setup variabili e verbosità + SET NOCOUNT ON; + DECLARE @dataOra AS DATETIME + SET @dataOra = GETDATE() + + -- PRIMO STEP: quantità! ( vedi Note ) + IF( UPDATE(Qta) ) + BEGIN + + INSERT INTO GiornaleMagazzino(OP, DataOra, CodEvento, ModDate, UDC, Particolare, CodStatoFrom, CodStatoTo, IdxPosizioneFrom, IdxPosizioneTo, QtaFrom, QtaTo) + ( + SELECT 'U', @dataOra, i.CodEvento, i.ModDate, d.UDC, ISNULL(d.Particolare,''), d.CodStato, d.CodStato, d.IdxPosizione, d.IdxPosizione, d.Qta, i.Qta + FROM inserted AS i + INNER JOIN deleted AS d ON i.UDC = d.UDC + WHERE ( (i.Qta <> d.Qta) ) + ) + + END + + -- ora controllo in caso di modifica di stato o posizione + IF(UPDATE(CodStato) OR UPDATE(IdxPosizione)) + BEGIN + + INSERT INTO GiornaleMagazzino(OP, DataOra, CodEvento, ModDate, UDC, Particolare, CodStatoFrom, CodStatoTo, IdxPosizioneFrom, IdxPosizioneTo, QtaFrom, QtaTo) + ( + SELECT 'U', @dataOra, i.CodEvento, i.ModDate, i.UDC, ISNULL(d.Particolare,''), d.CodStato, i.CodStato, d.IdxPosizione, i.IdxPosizione, i.Qta, i.Qta + FROM inserted AS i + INNER JOIN deleted AS d ON i.UDC = d.UDC + WHERE ( ( i.IdxPosizione <> d.IdxPosizione) OR (i.CodStato <> d.CodStato) ) + ) + + END + +END]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GETDATE() - 180 +) +, cte2 AS + ( SELECT * , + CASE WHEN TimePrint BETWEEN Maxi_ms - 500 AND Maxi_ms + 500 THEN 1 ELSE 0 END AS MaxiCount , + CASE WHEN TimePrint BETWEEN Min_ms - 100 AND Min_ms + 100 THEN 1 ELSE 0 END AS MinCount + FROM cte +) + SELECT + TipoCart , + prtName , + NumCart , + Med_ms , + Maxi_ms , + SUM( MaxiCount )AS MaxiCount , + Min_ms , + SUM( MinCount )AS MinCount + FROM cte2 + GROUP BY + TipoCart , + prtName , + Maxi_ms , + Min_ms , + Med_ms , + NumCart]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '' THEN ' [' + codPostazione + ']' ELSE '' END AS label, CodBlocco AS conditio +FROM dbo.AnagLinee]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = 0)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GMW_DB/obj/Release/postdeploy.sql b/GMW_DB/obj/Release/postdeploy.sql new file mode 100644 index 00000000..c6c00c1f --- /dev/null +++ b/GMW_DB/obj/Release/postdeploy.sql @@ -0,0 +1,15 @@ +/* +Post-Deployment Script Template +-------------------------------------------------------------------------------------- + This file contains SQL statements that will be appended to the build script. + Use SQLCMD syntax to include a file in the post-deployment script. + Example: :r .\myfile.sql + Use SQLCMD syntax to reference a variable in the post-deployment script. + Example: :setvar TableName MyTable + SELECT * FROM [$(TableName)] +-------------------------------------------------------------------------------------- +*/ + +--:r .\voc.Lingue.data.sql +--:r .\voc.Vocabolario.data.sql +GO diff --git a/VersGen/GMW.cs b/VersGen/GMW.cs index 55010c7a..9e4e3b08 100644 --- a/VersGen/GMW.cs +++ b/VersGen/GMW.cs @@ -5,7 +5,7 @@ using System.Reflection; -[assembly: AssemblyVersion("2.4.600.5165")] -[assembly: AssemblyFileVersion("2.4.600.5165")] +[assembly: AssemblyVersion("2.4.601.1512")] +[assembly: AssemblyFileVersion("2.4.601.1512")] //[assembly: AssemblyCopyright("© Steamware 2007-2014")] //[assembly: AssemblyCompany("Steamware")] diff --git a/VersGen/GMW.tt b/VersGen/GMW.tt index e41e49b3..ba2d1312 100644 --- a/VersGen/GMW.tt +++ b/VersGen/GMW.tt @@ -13,6 +13,7 @@ using System.Reflection; <#+ int Major = 2; int Minor = 4; - int Build = 600; - int RevisionNumber = (int)(DateTime.UtcNow - new DateTime(2000,1,1)).TotalDays; + int Build = 601; +// int RevisionNumber = (int)(DateTime.Now - DateTime.Today).TotalSeconds; + int RevisionNumber = (int)(DateTime.UtcNow - new DateTime(2010,1,1)).TotalDays; #> \ No newline at end of file diff --git a/VersGen/VersGen.csproj.user b/VersGen/VersGen.csproj.user new file mode 100644 index 00000000..55f44b95 --- /dev/null +++ b/VersGen/VersGen.csproj.user @@ -0,0 +1,6 @@ + + + + ShowAllFiles + + \ No newline at end of file