dbo.sp_balances_2007_grupos_actualiza_con_balance

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

1
Name Data Type Length Description
@cuit varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- select * from balances_por_grupo

CREATE OR ALTER PROCEDURE dbo.sp_balances_2007_grupos_actualiza_con_balance 
@cuit varchar(20) = null
AS
BEGIN
    SET NOCOUNT ON;
 declare @id int, 
         @fecha_balance date,
   @ventas decimal(20,2),
   @ventas_act decimal(20,2),
   @anio int,
   @anio_por int,  
   @porcentaje decimal(10,2), 
   @sueldos_viejos decimal(18,2),
   @sueldos_nuevos decimal(18,2),
   @hoy int = datepart(year,getdate())
 if (@cuit is null) 
 begin
 DECLARE C_balances CURSOR FOR
  select id, fecha_balance, ventas_netas,sueldos,sueldos_ultimo
    from balances_por_grupo 
    where fecha_balance <= '2017-01-01'
     and (isnull(sueldos,0) != 0 and isnull(sueldos_ultimo,0) != 0)
   order by id
 end 
 else
 begin
  DECLARE C_balances CURSOR FOR
  select id, fecha_balance, ventas_netas,sueldos,sueldos_ultimo
    from balances_por_grupo 
    where cuit = @cuit
   order by id
 end 
 OPEN C_balances
 FETCH NEXT FROM C_balances INTO @id, @fecha_balance, @ventas, @sueldos_viejos, @sueldos_nuevos
 WHILE @@fetch_status = 0
 BEGIN
  if(isnull(@ventas,0) > 0 and isnull(@sueldos_viejos,0) > 0 and isnull(@sueldos_nuevos,0) > 0 )
  begin
   --select @anio, @porcentaje
   set @ventas_act = ((@sueldos_nuevos*13) / (@sueldos_viejos *13 / @ventas))
  update balances_por_grupo set ventas_netas_actualizadas = @ventas_act where id = @id
  end
  --select @fecha_balance, @anio
  FETCH NEXT FROM C_balances INTO @id, @fecha_balance, @ventas, @sueldos_viejos, @sueldos_nuevos
 END  
 CLOSE C_Balances
 DEALLOCATE C_Balances

 /*if (@cuit is null)
  BEGIN 
  exec [sp_balances_2007_medias]
  END
  else
  BEGIN 
  declare @grupo int = (select grupo from balances_por_grupo where cuit = @cuit)
      exec [sp_balances_2007_medias] @grupo
  END*/

  
END 
GO

Depends On

1

Used By

No items found