SET QUOTED_IDENTIFIER OFF
GO
IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE ID = OBJECT_ID(N'[dbo].[sp_fco_del_reportes_tablas]') 
AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
   DROP PROCEDURE dbo.sp_fco_del_reportes_tablas
GO
CREATE PROCEDURE sp_fco_del_reportes_tablas
(
  @psi_id_rep  smallint,
  @pvc_usuario varchar(3),
  @pti_cod_rep tinyint
)
/********************************************************************/
/*** Fiscal de Colombia de Data Tecnologia                        ***/
/*** Descripcion: invoca los procedimientos de reportes de        ***/
/*** acuerdo a los parametros enviados de entrada                 ***/
/*** Autor:	Diana Cecilia Rios Peinado                            ***/
/*** Fecha:	Mayo 14 de 2005                                      ***/
/********************************************************************/
/*** Pasado a SQL, Diana C. Rios, Septiembre 25/2005							***/
AS
DECLARE
	@vvc_proc_genera	varchar(30),
  @vvc_inter	varchar(10),
  @vnu_len     smallint,
  @vvc_ssql  varchar(2000)
    
BEGIN

	--trayendo el nombre del procedimiento
  SET @vvc_proc_genera = ''
  SET @vnu_len = 0

	SELECT @vvc_proc_genera = proc_borrado
	FROM fco_reportes
	WHERE cod_rep = @pti_cod_rep

	SET @vvc_proc_genera = LTRIM(RTRIM(ISNULL(@vvc_proc_genera,'')))
  SET @vnu_len = ISNULL(LEN(@vvc_proc_genera),0)

	IF @vnu_len = 0
	BEGIN
		SET @vvc_inter = LTRIM(RTRIM(@pti_cod_rep))
		RAISERROR ('Error de datos: No existe la funcion de borrado de tablas para el reporte: %s ', 16, 1, @vvc_inter)  
    RETURN
	END

--si existe un procedimiento, entonces se ejecuta
	IF @vnu_len > 0
	BEGIN
	  SET @vvc_ssql = 'EXECUTE ' + @vvc_proc_genera + ' ' + RTRIM(@psi_id_rep) + ',' +
	              '''' + @pvc_usuario + ''',' + RTRIM(@pti_cod_rep)
	                            
		EXEC (@vvc_ssql)
	END

END
GO
GRANT EXECUTE ON sp_fco_del_reportes_tablas TO Public
