dbo.carga_impuesto_afip_2025

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

5
Name Data Type Length Description
@p_id_padron int 4
@p_id_codigo_impuesto int 4
@p_descripcion_impuesto varchar 100
@p_estado varchar 100
@p_fecha_inscripcion varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE OR ALTER PROCEDURE dbo.carga_impuesto_afip_2025
@p_id_padron int,
@p_id_codigo_impuesto int,
@p_descripcion_impuesto varchar(100),
@p_estado varchar(100),
@p_fecha_inscripcion varchar(20)


AS
BEGIN
    begin try

  if @p_id_codigo_impuesto is null 
  begin
   select 'ok' as ok
      return 
  end 

  -- Si el impuesto no está en la BD hace el insert, si está actualiza el registro más nuevo de ese impuesto / fecha de inscripción 
  declare @id int = null
  select @id = max(id_impuestos)
    from padron_impuestos 
      where id_padron = @p_id_padron
     and codigo_impuesto = @p_id_codigo_impuesto 
     and fecha_inscripcion = @p_fecha_inscripcion
  if (isnull(@id,0) = 0) 
  begin
   insert into padron_impuestos 
     (id_padron, codigo_impuesto, visible, estado, fecha_inscripcion, created) values 
     (@p_id_padron, @p_id_codigo_impuesto, 1, @p_estado, @p_fecha_inscripcion, GETDATE())
  end
  else 
  begin
   update padron_impuestos 
      set estado = 'ACTIVO', visible = 1, modified = getdate()
    where id_impuestos = @id
  end 

  -- tabla impuestos: si es un impuesto nuevo, lo da de alta en la tabla impuestos
  IF ((select COUNT(*) from impuestos 
     where codigo_impuesto = @p_id_codigo_impuesto) = 0)
  begin
   insert into impuestos (codigo_impuesto, nombre_impuesto) values (@p_id_codigo_impuesto, @p_descripcion_impuesto)
  end

  select 'ok' as ok
    end try
    begin catch
        select ERROR_MESSAGE() as error
    end catch
END

GO

Used By

No items found