IF OBJECT_ID('dbo.sp_fco_alta_administradora') IS NOT NULL
    DROP PROCEDURE dbo.sp_fco_alta_administradora
GO
CREATE PROCEDURE dbo.sp_fco_alta_administradora
(
    @pch_codigo    char(10),
    @pvc_registro_fiscal    varchar(10),
    @pch_digito_verificacion  char(1),
    @pvc_direccion  varchar(40),
    @pvc_telefono  varchar(20),
    @pvc_cod_super  varchar(15),
    @pvc_cod_alterno  varchar(20),
    @pch_tipo   char(3),
    @pch_agrupacion  char(10),
    @pch_forma_presentacion char(1),
    @pch_descripcion  char(40),
    @pch_departamento char(2) = '',
    @pch_municipio char(3) = ''
)
AS
BEGIN
    IF EXISTS (SELECT 1 FROM datos_agr_trab
               WHERE agrupacion = @pch_agrupacion
                 AND dato = @pch_codigo)
        EXEC sp_cambio_datos_agr_trab @pch_agrupacion, @pch_codigo, @pch_descripcion
    ELSE
        EXEC sp_alta_datos_agr_trab @pch_agrupacion, @pch_codigo, @pch_descripcion


    IF EXISTS(SELECT 1 FROM fco_administradoras WHERE codigo = @pch_codigo AND tipo = @pch_tipo)  
    BEGIN
      	UPDATE fco_administradoras
      	SET registro_fiscal = @pvc_registro_fiscal,
      		digito_verificacion = @pch_digito_verificacion,
      		direccion = @pvc_direccion,
      		telefono = @pvc_telefono,
      		cod_super = @pvc_cod_super,
      		cod_alterno = @pvc_cod_alterno,
      		forma_presentacion = @pch_forma_presentacion,
            departamento = @pch_departamento,
            municipio = @pch_municipio
      	WHERE
      		rtrim(ltrim(codigo)) = rtrim(ltrim(@pch_codigo)) And
      		tipo   = @pch_tipo
    
        EXEC sp_cambio_datos_agr_trab @pch_agrupacion, @pch_codigo, @pch_descripcion
    END
    ELSE
        INSERT INTO fco_administradoras 
        (codigo, registro_fiscal, digito_verificacion, direccion, telefono, cod_super, cod_alterno,
         tipo, agrupacion, forma_presentacion, departamento, municipio)
        SELECT @pch_codigo, @pvc_registro_fiscal, @pch_digito_verificacion, @pvc_direccion, 
        @pvc_telefono, @pvc_cod_super, @pvc_cod_alterno, @pch_tipo, @pch_agrupacion, @pch_forma_presentacion, @pch_departamento, @pch_municipio
  
END
GO
GRANT EXECUTE ON sp_fco_alta_administradora TO PUBLIC
GO
