IF OBJECT_ID('dbo.sp_fco_del_int_det') IS NOT NULL
    DROP PROCEDURE dbo.sp_fco_del_int_det
GO
CREATE PROCEDURE dbo.sp_fco_del_int_det
(
    @pch_compania   char(4),
    @psi_anio       smallint,
    @pti_mes        tinyint,
    @pvc_sucursal   varchar(10),
    @pch_tipo_planilla char(1),
    @pch_trabajador char(10)
)
AS
BEGIN
    DECLARE @vsi_sec smallint

    select @vsi_sec = convert(smallint, secuencia)
    from fco_integrada_det
    where compania = @pch_compania
    and anio = @psi_anio
    and mes = @pti_mes
    and (sucursal = @pvc_sucursal or @pvc_sucursal is null or @pvc_sucursal = '')
    and tipo_planilla = @pch_tipo_planilla
    and trabajador = @pch_trabajador

    delete fco_integrada_det
    where compania = @pch_compania
    and anio = @psi_anio
    and mes = @pti_mes
    and (sucursal = @pvc_sucursal or @pvc_sucursal is null or @pvc_sucursal = '')
    and tipo_planilla = @pch_tipo_planilla
    and trabajador = @pch_trabajador
    
    update fco_integrada_det
    set secuencia = right('00000' + rtrim(convert(smallint, secuencia) - 1), 5)
    where compania = @pch_compania
    and anio = @psi_anio
    and mes = @pti_mes
    and (sucursal = @pvc_sucursal or @pvc_sucursal is null or @pvc_sucursal = '')
    and tipo_planilla = @pch_tipo_planilla
    and convert(smallint, secuencia) > @vsi_sec
        
END
GO
GRANT EXECUTE ON dbo.sp_fco_del_int_det TO PUBLIC
GO
