dbo.Get_Cendeu

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

2
Name Data Type Length Description
@p_Periodos tinyint 1
@p_Cuit varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE   dbo.Get_Cendeu
@p_Periodos tinyint,
@p_Cuit varchar(20)

AS
BEGIN


SET NOCOUNT ON;

SET @p_Cuit  = '30501677643'

declare @dtStart date, @dtEnd date
select  @dtEnd = max(fecha_informacion) from fuentes_procesadas where visible = 1

set @dtStart = dateadd(month, -(@p_Periodos-1), @dtEnd)


DECLARE CreateTempCendeuTable Cursor
FOR

select convert(varchar(4),datepart(year,dateadd(month, number, @dtStart))) + right('0' + rtrim(datepart(MONTH,dateadd(month, number, @dtStart))),2) as iPeriodo
from 
    (select distinct number from master.dbo.spt_values
     where name is null
    ) n
where dateadd(month, number, @dtStart) <= @dtEnd

OPEN CreateTempCendeuTable

DECLARE @dbCodEnt varchar(10)
DECLARE @dbNombreEntidad varchar(20)
DECLARE @dbSituacion varchar(11)
DECLARE @dbPeriodo varchar(6)
DECLARE @dbTotal varchar(5)

DECLARE @strCreateSyntax varchar(max)
SET @strCreateSyntax = 'CREATE TABLE CendeuRamWork ( Codigo_Ent int null, Nombre_Entidad varchar(200) null, Total decimal(22,2) null, '

Fetch NEXT FROM CreateTempCendeuTable INTO @dbPeriodo
While (@@FETCH_STATUS <> -1)
BEGIN 

 SET @strCreateSyntax = @strCreateSyntax + '[sit_' + @dbPeriodo + '] tinyint NULL,'
 SET @strCreateSyntax = @strCreateSyntax + '[prd_' + @dbPeriodo + '] int NULL, '

Fetch NEXT FROM CreateTempCendeuTable INTO @dbPeriodo
END
CLOSE CreateTempCendeuTable
DEALLOCATE CreateTempCendeuTable
SET @strCreateSyntax = @strCreateSyntax + ' fecha datetime null ) WITH (MEMORY_OPTIMIZED=ON, DURABILITY=SCHEMA_ONLY)  GO '

select @strCreateSyntax
exec @strCreateSyntax

select * from CendeuRamWork

DECLARE FideCendeu Cursor
FOR

SELECT  DISTINCT  CENDEU.codigo_ent, EntidadesBancarias.nombre,
cendeu.fec_inf ,cendeu.situacion , (cendeu.prestamos + cendeu.particip + cendeu.garotor + cendeu.o_cptos) * 1000 as total
FROM         cendeu inner join EntidadesBancarias on cendeu.codigo_ent = EntidadesBancarias.id_banco 
where codigo_ent in (
SELECT DISTINCT CENDEU.codigo_ent FROM CENDEU WHERE (cendeu.iden = @p_Cuit) AND (cendeu.vigente = 1)
and fec_inf in (select convert(varchar(4),datepart(year,dateadd(month, number, @dtStart)))+ right('0' + rtrim(datepart(MONTH,dateadd(month, number, @dtStart))),2) as periodo
from 
    (select distinct number from master.dbo.spt_values
     where name is null
    ) n
where dateadd(month, number, @dtStart) <= @dtEnd
) ) and (cendeu.iden = @p_Cuit) AND (cendeu.vigente = 1)
and fec_inf in (select convert(varchar(4),datepart(year,dateadd(month, number, @dtStart)))+ right('0' + rtrim(datepart(MONTH,dateadd(month, number, @dtStart))),2) as periodo
from 
    (select distinct number from master.dbo.spt_values
     where name is null
    ) n
where dateadd(month, number, @dtStart) <= @dtEnd
)
GROUP BY CENDEU.codigo_ent, EntidadesBancarias.nombre,cendeu.prestamos + cendeu.particip + cendeu.garotor + cendeu.o_cptos, cendeu.fec_inf,cendeu.situacion
order by EntidadesBancarias.nombre ASC,codigo_ent asc,fec_inf asc


Open FideCendeu


DECLARE @codigo_ent int
DECLARE @nombre varchar(200)
DECLARE @fec_inf int
DECLARE @situacion int
DECLARE @total decimal(22,2)




Fetch NEXT FROM FideCendeu INTO @codigo_ent,@nombre,@fec_inf,@situacion,@total
While (@@FETCH_STATUS <> -1)
BEGIN 

 select @codigo_ent,@nombre,@fec_inf,@situacion,@total,@dtStart,@dtEnd

 
 Fetch NEXT FROM FideCendeu INTO @codigo_ent,@nombre,@fec_inf,@situacion,@total

END

CLOSE FideCendeu
DEALLOCATE FideCendeu
END

GO

Used By

No items found