GO /****** Object: StoredProcedure [dbo].[sp_StvalRecuperaMotor] Script Date: 02/04/2011 21:32:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO DROP PROCEDURE [dbo].[sp_StvalRecuperaMotor] GO CREATE PROCEDURE [dbo].[sp_StvalRecuperaMotor] ( @TIPO_RECUPERACAO VARCHAR(30), @ARTIGO_INI varchar(25),@ARTIGO_FIM varchar(25),@ARM_INI smallint,@ARM_FIM smallint,@ANO_INI smallint,@ANO_FIM smallint) AS DECLARE @ST_Entrada_Arm_Ini smallint DECLARE @ST_Entrada_Arm_Fim smallint DECLARE @ST_Entrada_Trf_Ini smallint DECLARE @ST_Entrada_Trf_Fim smallint DECLARE @ST_Saida_Arm_Ini smallint DECLARE @ST_Saida_Arm_Fim smallint DECLARE @ST_Saida_Trf_Ini smallint DECLARE @ST_Saida_Trf_Fim smallint DECLARE @ST_Venda_Cred_Ini smallint DECLARE @ST_Venda_Cred_Fim smallint DECLARE @ST_Guia_Rem_Ini smallint DECLARE @ST_Guia_Rem_Fim smallint DECLARE @ST_Venda_Dinh_Ini smallint DECLARE @ST_Venda_Dinh_Fim smallint DECLARE @ST_Dev_VCred_Ini smallint DECLARE @ST_Dev_VCred_Fim smallint DECLARE @ST_Dev_VDinh_Ini smallint DECLARE @ST_Dev_VDinh_Fim smallint DECLARE @ST_Dev_Forn_Ini smallint DECLARE @ST_Dev_Forn_Fim smallint DECLARE @ST_Guia_Ent_Ini smallint DECLARE @ST_Guia_Ent_Fim smallint DECLARE @EC_Cli_Ini smallint DECLARE @EC_Cli_Fim smallint DECLARE @EC_Forn_Ini smallint DECLARE @EC_Forn_Fim smallint DECLARE @INDICE INT DECLARE @ARTIGO VARCHAR(25) CREATE TABLE #TMP_ARTIGOS (INDICE INT IDENTITY(1,1), ARTIGO VARCHAR(25) ) CREATE CLUSTERED INDEX [INDICE_TMP_ARTIGOS] ON #TMP_ARTIGOS ( INDICE ASC ) INSERT INTO #TMP_ARTIGOS(ARTIGO) SELECT ARTIGO FROM STMES WHERE ARTIGO BETWEEN @ARTIGO_INI AND @ARTIGO_FIM ORDER BY ARTIGO IF @TIPO_RECUPERACAO='sp_StvalRecupera' BEGIN SET @ST_Entrada_Arm_Ini = dbo.fn_GetGlobalGciTdoc('ST_Entrada_Arm_Ini') SET @ST_Entrada_Arm_Fim = dbo.fn_GetGlobalGciTdoc('ST_Entrada_Arm_Fim') SET @ST_Entrada_Trf_Ini = dbo.fn_GetGlobalGciTdoc('ST_Entrada_Trf_Ini') SET @ST_Entrada_Trf_Fim = dbo.fn_GetGlobalGciTdoc('ST_Entrada_Trf_Fim') SET @ST_Saida_Arm_Ini = dbo.fn_GetGlobalGciTdoc('ST_Saida_Arm_Ini') SET @ST_Saida_Arm_Fim = dbo.fn_GetGlobalGciTdoc('ST_Saida_Arm_Fim') SET @ST_Saida_Trf_Ini = dbo.fn_GetGlobalGciTdoc('ST_Saida_Trf_Ini') SET @ST_Saida_Trf_Fim = dbo.fn_GetGlobalGciTdoc('ST_Saida_Trf_Fim') SET @ST_Venda_Cred_Ini = dbo.fn_GetGlobalGciTdoc('ST_Venda_Cred_Ini') SET @ST_Venda_Cred_Fim = dbo.fn_GetGlobalGciTdoc('ST_Venda_Cred_Fim') SET @ST_Guia_Rem_Ini = dbo.fn_GetGlobalGciTdoc('ST_Guia_Rem_Ini') SET @ST_Guia_Rem_Fim = dbo.fn_GetGlobalGciTdoc('ST_Guia_Rem_Fim') SET @ST_Venda_Dinh_Ini = dbo.fn_GetGlobalGciTdoc('ST_Venda_Dinh_Ini') SET @ST_Venda_Dinh_Fim = dbo.fn_GetGlobalGciTdoc('ST_Venda_Dinh_Fim') SET @ST_Dev_VCred_Ini = dbo.fn_GetGlobalGciTdoc('ST_Dev_VCred_Ini') SET @ST_Dev_VCred_Fim = dbo.fn_GetGlobalGciTdoc('ST_Dev_VCred_Fim') SET @ST_Dev_VDinh_Ini = dbo.fn_GetGlobalGciTdoc('ST_Dev_VDinh_Ini') SET @ST_Dev_VDinh_Fim = dbo.fn_GetGlobalGciTdoc('ST_Dev_VDinh_Fim') SET @ST_Dev_Forn_Ini = dbo.fn_GetGlobalGciTdoc('ST_Dev_Forn_Ini') SET @ST_Dev_Forn_Fim = dbo.fn_GetGlobalGciTdoc('ST_Dev_Forn_Fim') SET @ST_Guia_Ent_Ini = dbo.fn_GetGlobalGciTdoc('ST_Guia_Ent_Ini') SET @ST_Guia_Ent_Fim = dbo.fn_GetGlobalGciTdoc('ST_Guia_Ent_Fim') END IF @TIPO_RECUPERACAO='sp_StvalRecuperaResEnc' BEGIN SET @EC_Cli_Ini = dbo.fn_GetGlobalGciTdoc('EC_Cli_Ini') SET @EC_Cli_Fim = dbo.fn_GetGlobalGciTdoc('EC_Cli_Fim') SET @EC_Forn_Ini = dbo.fn_GetGlobalGciTdoc('EC_Forn_Ini') SET @EC_Forn_Fim = dbo.fn_GetGlobalGciTdoc('EC_Forn_Fim') END SET @INDICE=1 WHILE exists(SELECT INDICE FROM #TMP_ARTIGOS WHERE INDICE>=@INDICE) BEGIN SELECT @ARTIGO=ARTIGO FROM #TMP_ARTIGOS WHERE INDICE=@INDICE IF EXISTS(SELECT TOP 1 * FROM STMOV WHERE ARTIGO=@ARTIGO AND ANO BETWEEN @ANO_INI AND @ANO_FIM) BEGIN IF @TIPO_RECUPERACAO='sp_StvalRecupera' BEGIN EXECUTE sp_StvalRecupera @ARTIGO,@ARTIGO,@ARM_INI,@ARM_FIM,@ANO_INI,@ANO_FIM,@ST_Entrada_Arm_Ini,@ST_Entrada_Arm_Fim,@ST_Entrada_Trf_Ini,@ST_Entrada_Trf_Fim,@ST_Saida_Arm_Ini,@ST_Saida_Arm_Fim,@ST_Saida_Trf_Ini,@ST_Saida_Trf_Fim,@ST_Venda_Cred_Ini,@ST_Venda_Cred_Fim,@ST_Guia_Rem_Ini,@ST_Guia_Rem_Fim,@ST_Venda_Dinh_Ini,@ST_Venda_Dinh_Fim,@ST_Dev_VCred_Ini,@ST_Dev_VCred_Fim,@ST_Dev_VDinh_Ini,@ST_Dev_VDinh_Fim,@ST_Dev_Forn_Ini,@ST_Dev_Forn_Fim,@ST_Guia_Ent_Ini,@ST_Guia_Ent_Fim END IF @TIPO_RECUPERACAO='sp_StvalRecuperaAno' BEGIN EXECUTE sp_StvalRecuperaAno @ARTIGO,@ARTIGO,@ARM_INI,@ARM_FIM,@ANO_INI,@ANO_FIM END IF @TIPO_RECUPERACAO='sp_StvalRecuperaAnoInicial' BEGIN EXECUTE sp_StvalRecuperaAnoInicial @ARTIGO,@ARTIGO,@ARM_INI,@ARM_FIM,@ANO_INI,@ANO_FIM END IF @TIPO_RECUPERACAO='sp_StvalRecuperaEncPI' BEGIN EXECUTE sp_StvalRecuperaEncPI @ARTIGO,@ARTIGO,@ARM_INI,@ARM_FIM,@ANO_INI,@ANO_FIM END IF @TIPO_RECUPERACAO='sp_StvalRecuperaResEnc' BEGIN EXECUTE sp_StvalRecuperaResEnc @ARTIGO,@ARTIGO,@ARM_INI,@ARM_FIM,@ANO_INI,@ANO_FIM,@EC_Cli_Ini,@EC_Cli_Fim,@EC_Forn_Ini,@EC_Forn_Fim END IF @TIPO_RECUPERACAO='sp_StvalMesZero' BEGIN EXECUTE sp_StvalMesZero @ARTIGO,@ARTIGO,@ARM_INI,@ARM_FIM,@ANO_INI,@ANO_FIM END IF @TIPO_RECUPERACAO='sp_StvalEncerramento' BEGIN EXECUTE sp_StvalEncerramento @ARTIGO,@ARTIGO,@ARM_INI,@ARM_FIM,@ANO_INI END END SET @INDICE=@INDICE+1 END DROP TABLE #TMP_ARTIGOS GO /****** Object: StoredProcedure [dbo].[sp_StvalRecuperaAno] Script Date: 02/04/2011 21:32:37 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO DROP PROCEDURE [dbo].[sp_StvalRecuperaAno] GO CREATE PROCEDURE [dbo].[sp_StvalRecuperaAno] @ARTIGO_INI varchar(25), @ARTIGO_FIM varchar(25), @ARM_INI smallint, @ARM_FIM smallint, @ANO_INI smallint, @ANO_FIM smallint --WITH ENCRYPTION AS --COPIAR STVAL_ANO P/ CAUSA DA LOCALIZACAO if exists (select * from dbo.sysobjects where id = object_id(N'[STVAL_ANO_TMP]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [STVAL_ANO_TMP] SELECT * INTO STVAL_ANO_TMP FROM STVAL_ANO WHERE 1=1 AND STVAL_ANO.ARTIGO >= @ARTIGO_INI AND STVAL_ANO.ARTIGO <= @ARTIGO_FIM AND STVAL_ANO.ARM >= @ARM_INI AND STVAL_ANO.ARM <= @ARM_FIM AND STVAL_ANO.ANO >= @ANO_INI AND STVAL_ANO.ANO <= @ANO_FIM --LIMPAR STVAL_ANO DELETE FROM STVAL_ANO WHERE 1=1 AND STVAL_ANO.ARTIGO >= @ARTIGO_INI AND STVAL_ANO.ARTIGO <= @ARTIGO_FIM AND STVAL_ANO.ARM >= @ARM_INI AND STVAL_ANO.ARM <= @ARM_FIM AND STVAL_ANO.ANO >= @ANO_INI AND STVAL_ANO.ANO <= @ANO_FIM --ACTULIZAR STVAL_ANO INSERT INTO STVAL_ANO (ARTIGO,ARM,ANO,QT_ENTRA,QT_ETRANS,QT_DCLI,QT_ENCO,QT_AMOSTRA,QT_AVARIADAS,QT_STBUFFER, QT_SAIDAS,QT_STRANS,QT_VDINH,QT_VCRED,QT_DFORN,QT_RESERV,QT_RECTI,QT_PERDIDAS,QT_ANOANT,QT_ETIQ, VL_ENTRA,VL_ETRANS,VL_DCLI,VL_ENCO,VL_AMOSTRA,VL_AVARIADAS,VL_STBUFFER,VL_SAIDAS,VL_STRANS,VL_VDINH,VL_VCRED, VL_DFORN,VL_RESERV,VL_RECTI,VL_PERDIDAS,VL_ANOANT,VL_ETIQ,VL_DCLI_V,VL_SAIDAS_V,VL_STRANS_V,VL_VDINH_V,VL_VCRED_V,VL_RESERV_V) SELECT STVAL_MES.ARTIGO,STVAL_MES.ARM,STVAL_MES.ANO, Sum(STVAL_MES.QT_ENTRA) AS QT_ENTRA, Sum(STVAL_MES.QT_ETRANS) AS QT_ETRANS, Sum(STVAL_MES.QT_DCLI) AS QT_DCLI, Sum(STVAL_MES.QT_ENCO)AS QT_ENCO, Sum(STVAL_MES.QT_AMOSTRA) AS QT_AMOSTRA, Sum(STVAL_MES.QT_AVARIADAS) AS QT_AVARIADAS, Sum(STVAL_MES.QT_STBUFFER) AS QT_STBUFFER, Sum(STVAL_MES.QT_SAIDAS) AS QT_SAIDAS, Sum(STVAL_MES.QT_STRANS) AS QT_STRANS, Sum(STVAL_MES.QT_VDINH) AS QT_VDINH, Sum(STVAL_MES.QT_VCRED) AS QT_VCRED, Sum(STVAL_MES.QT_DFORN) AS QT_DFORN, Sum(STVAL_MES.QT_RESERV) AS QT_RESERV, Sum(STVAL_MES.QT_RECTI) AS QT_RECTI, Sum(STVAL_MES.QT_PERDIDAS) AS QT_PERDIDAS, Sum(STVAL_MES.QT_ANOANT) AS QT_ANOANT, Sum(STVAL_MES.QT_ETIQ) AS QT_ETIQ, Sum(STVAL_MES.VL_ENTRA) AS VL_ENTRA, Sum(STVAL_MES.VL_ETRANS) AS VL_ETRANS, Sum(STVAL_MES.VL_DCLI) AS VL_DCLI, Sum(STVAL_MES.VL_ENCO) AS VL_ENCO, Sum(STVAL_MES.VL_AMOSTRA) AS VL_AMOSTRA, Sum(STVAL_MES.VL_AVARIADAS) AS VL_AVARIADAS, Sum(STVAL_MES.VL_STBUFFER) AS VL_STBUFFER, Sum(STVAL_MES.VL_SAIDAS) AS VL_SAIDAS, Sum(STVAL_MES.VL_STRANS) AS VL_STRANS, Sum(STVAL_MES.VL_VDINH) AS VL_VDINH, Sum(STVAL_MES.VL_VCRED) AS VL_VCRED, Sum(STVAL_MES.VL_DFORN) AS VL_DFORN, Sum(STVAL_MES.VL_RESERV) AS VL_RESERV, Sum(STVAL_MES.VL_RECTI) AS VL_RECTI, Sum(STVAL_MES.VL_PERDIDAS) AS VL_PERDIDAS, Sum(STVAL_MES.VL_ANOANT) AS VL_ANOANT, Sum(STVAL_MES.VL_ETIQ) AS VL_ETIQ, Sum(STVAL_MES.VL_DCLI_V) AS VL_DCLI_V, Sum(STVAL_MES.VL_SAIDAS_V) AS VL_SAIDAS_V, Sum(STVAL_MES.VL_STRANS_V) AS VL_STRANS_V, Sum(STVAL_MES.VL_VDINH_V) AS VL_VDINH_V, Sum(STVAL_MES.VL_VCRED_V) AS VL_VCRED_V, Sum(STVAL_MES.VL_RESERV_V) AS VL_RESERV_V FROM STVAL_MES WHERE 1=1 AND STVAL_MES.ARTIGO >= @ARTIGO_INI AND STVAL_MES.ARTIGO <= @ARTIGO_FIM AND STVAL_MES.ARM >= @ARM_INI AND STVAL_MES.ARM <= @ARM_FIM AND STVAL_MES.ANO >= @ANO_INI AND STVAL_MES.ANO <= @ANO_FIM AND STVAL_MES.MES >0 GROUP BY STVAL_MES.ARTIGO,STVAL_MES.ARM,STVAL_MES.ANO --ACTULIZAR VALORES INICIAIS DO ANO EXECUTE sp_StvalRecuperaMotor 'sp_StvalRecuperaAnoInicial',@ARTIGO_INI,@ARTIGO_FIM,@ARM_INI,@ARM_FIM,@ANO_INI,@ANO_FIM --EXEC sp_StvalRecuperaAnoInicial @ARTIGO_INI,@ARTIGO_FIM,@ARM_INI,@ARM_FIM,@ANO_INI,@ANO_FIM --ACTULIZAR LOCALIZACAO UPDATE STVAL_ANO SET STVAL_ANO.LOCALIZA=STVAL_ANO_TMP.LOCALIZA FROM STVAL_ANO INNER JOIN STVAL_ANO_TMP ON STVAL_ANO.ARTIGO = STVAL_ANO_TMP.ARTIGO AND STVAL_ANO.ARM = STVAL_ANO_TMP.ARM AND STVAL_ANO.ANO = STVAL_ANO_TMP.ANO WHERE 1=1 AND STVAL_ANO.ARTIGO >= @ARTIGO_INI AND STVAL_ANO.ARTIGO <= @ARTIGO_FIM AND STVAL_ANO.ARM >= @ARM_INI AND STVAL_ANO.ARM <= @ARM_FIM AND STVAL_ANO.ANO >= @ANO_INI AND STVAL_ANO.ANO <= @ANO_FIM if exists (select * from dbo.sysobjects where id = object_id(N'[STVAL_ANO_TMP]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [STVAL_ANO_TMP]