dbo.carga_actividades_afip

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

6
Name Data Type Length Description
@p_codigo_actividad varchar 20
@p_cuit varchar 20
@p_descripcion_actividad varchar 250
@p_formulario varchar 20
@p_orden bit 1
@inicio varchar 10

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec carga_actividades_afip '251101','20348684869','FABRICACIÓN DE CARPINTERÍA METÁLICA','883','1','202009'
*/

CREATE OR ALTER PROCEDURE dbo.carga_actividades_afip
@p_codigo_actividad varchar(20),
@p_cuit varchar(20),
@p_descripcion_actividad varchar(250),
@p_formulario varchar(20), -- formulario / nomenclatura
@p_orden bit,
@inicio varchar(10) = null

AS
BEGIN
 declare @fecha_inicio date = null
 if (@inicio is not null) set @fecha_inicio = convert(date,@inicio+'01')
 if ((select COUNT(*) from clae 
  where (cuit = @p_cuit)  
            and ((cod_clae is null and @p_codigo_actividad is null) or (cod_clae = @p_codigo_actividad)) 
            and ((formulario is null and @p_formulario is null) or (formulario = @p_formulario)) 
            and (visible = 1)) = 0)   
    begin
        begin try
            insert into clae 
                (cuit, cod_clae, descripcion, formulario, principal, created, visible,fecha_inicio_actividad) values 
                (@p_cuit, @p_codigo_actividad,@p_descripcion_actividad, @p_formulario, @p_orden, GETDATE(), 1,@fecha_inicio)
            select 'ok' as ok
        end try
        begin catch
            select ERROR_MESSAGE() as error
        end catch
    end
    else 
 begin
  /*-----------------------------------------------------------------------------------------------
   Agregado Junio 2019
   Si vino un registro con datos que ya tenía, le modificamos el modified para saber que sigue igual 
   -------------------------------------------------------------------------------------------------*/

  update clae 
     set modified = GETDATE(), fecha_inicio_actividad = iif(@fecha_inicio is null,fecha_inicio_actividad,@fecha_inicio)
   where (cuit = @p_cuit)  
    and ((cod_clae is null and @p_codigo_actividad is null) or (cod_clae = @p_codigo_actividad)) 
    and ((formulario is null and @p_formulario is null) or (formulario = @p_formulario)) 
    and (visible = 1)
  /*-----------------------------------------------------------------------------------------------*/

  if ((select COUNT(*) from clae where (cuit = @p_cuit) and (cod_clae = @p_codigo_actividad) and (formulario = @p_formulario) and (fecha_inicio_actividad = @fecha_inicio)  and (isnull(principal,0) != @p_orden) and (visible = 1)) = 1)
  begin
     begin try
    if (@p_orden = 1)
    begin
     update clae set principal = 0, modified = GETDATE()
     where (cuit = @p_cuit) and (principal = 1) and (visible = 1)
    end
    update clae set principal = @p_orden,fecha_inicio_actividad  = iif(@fecha_inicio is null,fecha_inicio_actividad,@fecha_inicio), modified = GETDATE()
     where (cuit = @p_cuit) and (cod_clae = @p_codigo_actividad)  and (formulario = @p_formulario) and (visible = 1)
    select 'ok' as ok
   end try
   begin catch
    select ERROR_MESSAGE() as error
   end catch
  end
 end 
END

GO

Depends On

1

Used By

No items found