dbo.monitoreos_batch_7

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

1
Name Data Type Length Description
@yesterday date 3

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
--exec monitoreos_batch_7
CREATE OR ALTER PROCEDURE dbo.monitoreos_batch_7
@yesterday date = null

AS
BEGIN
    SET NOCOUNT ON;
 if (@yesterday is null) begin set @yesterday = GETDATE() - 1 end 
 declare @cant1 bigint
 declare @cant2 bigint
 --set @cant1 = (select COUNT(*) from balances_contables where CONVERT(date, created)  = @yesterday)
 --set @cant2 = (select COUNT(*) from balances_contables where CONVERT(date, modified) = @yesterday)

 --if (@cant1 > 0 or  @cant2 > 0) 
 --BEGIN


  declare @r_cuit varchar(20),@r_seccion_mantenimiento int
  DECLARE bn CURSOR FOR
   select distinct cuit,seccion_mantenimiento 
   from monitoreos 
   where visible = 1 
   and seccion_mantenimiento = 7  
   and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento >= @yesterday)
   and (fecha_desde is null or fecha_desde <= @yesterday)
       -- and cliente = 1299789112

  -- apertura del cursor
  OPEN bn 
  -- Lectura de la primera fila del cursor
  Fetch next from bn INTO  @r_cuit, @r_seccion_mantenimiento

  WHILE (@@FETCH_STATUS <> -1 )

   BEGIN
   --Inicio otro cursor para poder pegar por ID.
    declare @r_id int
    DECLARE bc CURSOR
    FOR
     select distinct(id_balance) 
       from balances_contables
      where (cuit = @r_cuit) 
        and ((convert(date,created) = @yesterday and created is not null) or (convert(date,modified) = @yesterday and modified is not null)) 
         and visible = 1
   
    -- apertura del cursor
    OPEN bc 
 
    FETCH next from bc INTO  @r_id

    WHILE (@@FETCH_STATUS <> -1 )
     BEGIN
      insert into monitoreos_resultados (id_tabla,     tabla,                cuit,    seccion_mantenimiento, fecha,      novedad, tipo_novedad)
             values(@r_id,        'balances_contables', @r_cuit, 7,                     @yesterday, 1,       'Contables');
      update monitoreos 
          set fecha_ultimo_procesamiento = @yesterday,
           fecha_modificacion = @yesterday
         where cuit = @r_cuit 
         --  and cliente = 1299789112

         and seccion_mantenimiento = @r_seccion_mantenimiento
      and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento >= @yesterday)
         and (fecha_desde is null or fecha_desde <= @yesterday)

      FETCH next from juiciosc INTO  @r_id
     END
   
     -- Cierra el cursor
     CLOSE bc
     -- Libera los recursos del cursor
     DEALLOCATE bc
  
     FETCH next from bn INTO  @r_cuit,@r_seccion_mantenimiento

   END
   -- Cierra el cursor
   CLOSE bn
   -- Libera los recursos del cursor
   DEALLOCATE bn 
  --END
END 

GO

Used By

No items found