IF OBJECT_ID('dbo.sp_fco_alta_sucursales') IS NOT NULL
    DROP PROCEDURE dbo.sp_fco_alta_sucursales
GO
CREATE PROCEDURE dbo.sp_fco_alta_sucursales
(
    @pch_compania char(4),
    @pch_sucursal char(10),
    @pvc_descripcion varchar(40),
    @pvc_direccion varchar(40),
    @pch_cod_dpto char(2),
    @pch_cod_ciudad char(3),
    @pvc_telefono varchar(10),
    @pvc_fax varchar(10),
    @pvc_nombre_retenedor varchar(60),
    @pvc_cedula_retenedor varchar(60),
    @pvc_agencias varchar(300),
    @pch_codigo_iss char(3)
)
AS
BEGIN
    IF EXISTS(
		SELECT 1 FROM fco_sucursales
        WHERE compania = @pch_compania 
          AND sucursal = @pch_sucursal)
    BEGIN
		RAISERROR ('El registro a insertar en [fco_sucursales] ya existe', 16, 1)
		RETURN
	END

    DECLARE @vch_agr char(10)

    SELECT @vch_agr = ISNULL(dato, 'SUC') 
    FROM vw_fdt_parametros 
    WHERE pais = 'COL' 
      AND compania = @pch_compania 
      AND parametro = 'autoliq' 
      AND secuencia = 23

    IF EXISTS (SELECT 1 FROM datos_agr_trab
               WHERE agrupacion = @vch_agr
                 AND dato = @pch_sucursal)
        EXEC sp_cambio_datos_agr_trab @vch_agr, @pch_sucursal, @pvc_descripcion
    ELSE
        EXEC sp_alta_datos_agr_trab @vch_agr, @pch_sucursal, @pvc_descripcion

	INSERT INTO fco_sucursales
	(compania, sucursal, descripcion, direccion, cod_dpto, 
     cod_ciudad, telefono, fax, nombre_retenedor, cedula_retenedor, 
     agencias, codigo_iss, clase_nomina)
	VALUES
	(@pch_compania, @pch_sucursal, @pvc_descripcion, @pvc_direccion, @pch_cod_dpto, 
     @pch_cod_ciudad, @pvc_telefono, @pvc_fax, @pvc_nombre_retenedor, @pvc_cedula_retenedor, 
     @pvc_agencias, @pch_codigo_iss, '--')
END
GO
GRANT EXECUTE ON dbo.sp_fco_alta_sucursales TO PUBLIC
GO

