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
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
Depends On
3Used By
No items found