SET QUOTED_IDENTIFIER OFF
GO
IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE ID = OBJECT_ID(N'[dbo].[sp_fco_upd_reportes]') 
AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
   DROP PROCEDURE dbo.sp_fco_upd_reportes
GO
CREATE PROCEDURE dbo.sp_fco_upd_reportes
(
  @pch_compania char(4),
  @pti_relacionado tinyint,
  @pti_cod_rep tinyint,
  @pvc_descripcion varchar(100),
  @pti_operacion tinyint = 1, --1:alta, 2:modificacion
  @pch_operacion char(8),    
  @pvc_nombre_proc varchar(30) = NULL,
  @pvc_proc_borrado varchar(30) = NULL
)
AS
/********************************************************************/
/*** Reportes e Interfases de Data Tecnologia                     ***/
/*** Descripcion: crea registros en las tablas fco_reportes       ***/
/*** y ri_intefase_cias                                           ***/
/*** Autor:	Diana Cecilia Rios Peinado                            ***/
/*** Fecha:	Mayo 14 de 2005                                       ***/
/********************************************************************/
/*** Pasado a SQL, Diana C. Rios, Agosto 26/2005									***/
BEGIN

		IF EXISTS(SELECT 1 FROM fco_reportes WHERE cod_rep = @pti_cod_rep)
		BEGIN--1
		  IF @pti_operacion = 1
      BEGIN
				 RAISERROR('El codigo del reporte que quiere insertar ya existe. verifique por favor.', 16, 1)
         RETURN
      END
  		
      IF @pti_operacion = 2
			BEGIN
		      UPDATE fco_reportes 
          SET descripcion = @pvc_descripcion,
          proc_generacion = @pvc_nombre_proc, 
          proc_borrado = @pvc_proc_borrado,
          operacion = @pch_operacion
          WHERE cod_rep = @pti_cod_rep
      END
    END--1
    ELSE
         INSERT INTO fco_reportes (cod_rep, descripcion, proc_generacion, proc_borrado, operacion) VALUES(@pti_cod_rep, @pvc_descripcion, @pvc_nombre_proc, @pvc_proc_borrado, @pch_operacion)

    IF @pti_relacionado = 1 --2
		BEGIN
			IF NOT EXISTS (SELECT 1 FROM fco_reportes_cias WHERE compania = @pch_compania AND cod_rep = @pti_cod_rep)
					INSERT INTO fco_reportes_cias (compania, cod_rep) VALUES (@pch_compania, @pti_cod_rep)
		END        
    ELSE
       DELETE FROM fco_reportes_cias WHERE compania = @pch_compania AND cod_rep = @pti_cod_rep
    
END
GO
GRANT EXECUTE ON sp_fco_upd_reportes TO Public