dbo.obtener_indices_de_gestion

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@p_Cuit varchar 20
@p_todos varchar 1
@ids varchar 100

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
obtener_indices_de_gestion_resumido_test '30501677643'
obtener_indices_de_gestion_resumido null,null,'366137,366138'
*/


CREATE OR ALTER PROCEDURE dbo.obtener_indices_de_gestion
@p_Cuit varchar(20), 
@p_todos varchar(1) = 'N',
@ids varchar(100) = NULL 

AS
BEGIN
SET NOCOUNT ON;
    SET ANSI_PADDING ON
    SET ANSI_WARNINGS ON
    SET CONCAT_NULL_YIELDS_NULL ON 
if(ISNULL(@ids,'') != '')
BEGIN
  set @ids  = '0,'+@ids  
 /*
   declare @data xml
   declare @temp table(id int)
   select @data = '<t>' + replace(@ids, ',', '</t><t>') + '</t>'
   insert into @temp
           select t.c.value('.', 'int') as id
           from @data.nodes('t') as t(c)
   */

  SELECT convert(varchar(10),bc.fecha_balance,103) as fecha_balance,fecha_balance as fecha_order,

 isnull(ind_liqcorr,0) as ind_liqcorr,
 isnull(ind_liqseca,0) as ind_liqseca,
 isnull(ind_endeu,0) as ind_endeu,
 isnull(ind_solvencia,0) as ind_solvencia,
 isnull(ind_endeuact,0) as ind_endeuact,
 isnull(ind_captra,0) as ind_captra,
 isnull(ind_cappro,0) as ind_cappro,
 isnull(ind_invbu,0) as ind_invbu,
 isnull(ind_inmact,0) as ind_inmact,
 isnull(ind_inmpat,0) as ind_inmpat,
 isnull(ind_marbru,0) as ind_marbru,
 isnull(ind_utilfin,0) as ind_utilfin,
 isnull(ind_retpat,0) as ind_retpat,
 isnull(ind_rotvta,0) as ind_rotvta,
 isnull(ind_rotvta_dias,0) as ind_rotvta_dias,
 isnull(ind_rotact,0) as ind_rotact,
 isnull(ind_rotact_dias,0) as ind_rotact_dias,
 isnull(ind_rentabilidad,0) as ind_rentabilidad,
 isnull(ind_indrot,0) as ind_indrot,
 isnull(ind_indrot_dias,0) as ind_indrot_dias,
 isnull(ind_rotinv,0) as ind_rotinv,
 isnull(ind_rotinv_dias,0) as ind_rotinv_dias ,
 isnull(ind_prest_pn,0) as ind_prest_pn,
 isnull(ind_prest_vtas,0) as ind_prest_vtas,
 isnull(ind_solvencia_pat,0) as ind_solvencia_pat,
 isnull(ind_rotact,0) as ind_rotact,
 isnull(ind_ebipas,0) as ind_ebipas,
 isnull(ganancia,0) as ganancia,
 isnull(act_total,0) as act_total,
 monedas.nombre_moneda
  from balances_contables as bc inner join monedas on bc.moneda = monedas.moneda 
   inner join dbo.DelimitedSplit8K(@ids, ',') lista on bc.id_balance= lista.Item
 where -- id_balance in (SELECT id FROM @temp) AND 
  isnull(bc.visible,0) = 1
  AND isnull(estado,'') = 'PUBLICADO'
  order by fecha_order 
END 
ELSE 
BEGIN 
 declare @p_top int = 5 
 if (@p_todos = 'S') begin set @p_top = 6 end 
 SELECT top (@p_top)  
  bc.estado as estado,
 convert(varchar(10),bc.fecha_balance,103) as fecha_balance,fecha_balance as fecha_order,
 isnull(ind_liqcorr,0) as ind_liqcorr,
 isnull(ind_liqseca,0) as ind_liqseca,
 isnull(ind_endeu,0) as ind_endeu,
 isnull(ind_solvencia,0) as ind_solvencia,
 isnull(ind_endeuact,0) as ind_endeuact,
 isnull(ind_captra,0) as ind_captra,
 isnull(ind_cappro,0) as ind_cappro,
 isnull(ind_invbu,0) as ind_invbu,
 isnull(ind_inmact,0) as ind_inmact,
 isnull(ind_inmpat,0) as ind_inmpat,
 isnull(ind_marbru,0) as ind_marbru,
 isnull(ind_utilfin,0) as ind_utilfin,
 isnull(ind_retpat,0) as ind_retpat,
 isnull(ind_rotvta,0) as ind_rotvta,
 isnull(ind_rotvta_dias,0) as ind_rotvta_dias,
 isnull(ind_rotact,0) as ind_rotact,
 isnull(ind_rotact_dias,0) as ind_rotact_dias,
 isnull(ind_rentabilidad,0) as ind_rentabilidad,
 isnull(ind_indrot,0) as ind_indrot,
 isnull(ind_indrot_dias,0) as ind_indrot_dias,
 isnull(ind_rotinv,0) as ind_rotinv,
 isnull(ind_rotinv_dias,0) as ind_rotinv_dias ,
 isnull(ind_prest_pn,0) as ind_prest_pn,
 isnull(ind_prest_vtas,0) as ind_prest_vtas,
 isnull(ind_solvencia_pat,0) as ind_solvencia_pat,
 isnull(ind_rotact,0) as ind_rotact,
 isnull(ind_ebipas,0) as ind_ebipas,
 isnull(ganancia,0) as ganancia,
 isnull(act_total,0) as act_total,
 monedas.nombre_moneda
 from balances_contables as bc inner join monedas on bc.moneda = monedas.moneda
  where bc.cuit = @p_cuit 
  and bc.fecha_balance >= convert(date,dateadd(yy, -6, getdate()))
  AND (@p_todos = 'S' or isnull(bc.visible,0) = 1)
  AND isnull(estado,'') != 'ELIMINADO'
  order by fecha_order desc, id_balance desc

END
END 
GO

Used By

No items found