IF OBJECT_ID('dbo.sp_fdt_upd_rutas') IS NOT NULL
    DROP PROCEDURE dbo.sp_fdt_upd_rutas
GO
CREATE PROCEDURE dbo.sp_fdt_upd_rutas
( 
    @pch_tipo_cod char(8),
    @pti_codigo tinyint,
    @psi_secuencia smallint,
    @pti_tipo tinyint,
    @pvc_archivo varchar(50),
    @pvc_ruta varchar(500),
    @pvc_tabla varchar(30)
)
AS
/********************************************************************/
/*** Reportes e Interfases de Data Tecnologia                     ***/
/*** Descripcion: crea registros en las tablas fdt_rutas          ***/
/*** Autor:	Diana Cecilia Rios Peinado                            ***/
/*** Fecha:	Abril 26 de 2005                                      ***/
/********************************************************************/
BEGIN
    DECLARE @vsi_secuencia smallint

    IF ISNULL(@psi_secuencia,0) = 0 -- es un registro nuevo
    BEGIN    
        SELECT @vsi_secuencia = MAX(secuencia)
        FROM fdt_rutas
        WHERE operacion = @pch_tipo_cod
        AND codigo = @pti_codigo
        AND tipo = @pti_tipo
    
        SET @vsi_secuencia = ISNULL(@vsi_secuencia,0) + 1
    
        INSERT INTO fdt_rutas (operacion, codigo, tipo, secuencia, archivo, ruta, tabla)
        VALUES (@pch_tipo_cod ,@pti_codigo, @pti_tipo, @vsi_secuencia, @pvc_archivo, @pvc_ruta, @pvc_tabla)  
    END
    ELSE
        UPDATE fdt_rutas
        SET archivo = @pvc_archivo,
            ruta = @pvc_ruta,
            tabla = @pvc_tabla
        WHERE operacion = @pch_tipo_cod
          AND codigo = @pti_codigo
          AND tipo = @pti_tipo
          AND secuencia = @psi_secuencia    
END
GO
GRANT EXECUTE ON sp_fdt_upd_rutas TO PUBLIC
GO
