Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
--exec procesos_cuit_bancos
CREATE OR ALTER PROCEDURE dbo.procesos_cuit_bancos
AS
BEGIN
SET NOCOUNT ON;
declare @p_Cuit varchar(20)
declare @p_5anios date = getdate() - (5*365)
declare @p_2anios date = getdate() - (2*365)
declare @p_3meses date = getdate() - (90)
declare @dtStart date, @dtEnd date, @dtEnd_cuit date
set @dtEnd = CONVERT(date, getdate())
set @dtStart = '2016-10-01'
DECLARE recorre1 CURSOR
FOR
SELECT cuit FROM procesos_cuit ORDER BY cuit
OPEN recorre1
Fetch next from recorre1 INTO @p_cuit
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
--- Primero: Si hay datos en ceudeu_temp, los pasa a cendeu y los borra de cendeu temp
insert into cendeu
(codigo_ent,
fec_inf,
tipo,
iden,
id_persona,
actividad,
situacion,
prestamos,
particip,
garotor,
o_cptos,
garprefa,
garprefb,
singarpref,
cgarprefa,
cgarprefb,
sincgarpre,
previ,
deuda_cubr,
proc_jud,
refinanc,
rec_oblig,
sit_juridi,
irre_dispt,
dia_atraso,
id_fuente,
vigente,
created,
created_by,
modified,
modified_by,
dbf_filename,
deuda_total,
observaciones)
select codigo_ent,
fec_inf,
tipo,
iden,
id_persona,
actividad,
substring(convert(char(2),convert(int,situacion)),1,1) as situacion,
--situacion,
prestamos,
particip,
garotor,
o_cptos,
garprefa,
garprefb,
singarpref,
cgarprefa,
cgarprefb,
sincgarpre,
previ,
deuda_cubr,
proc_jud,
refinanc,
rec_oblig,
sit_juridi,
irre_dispt,
dia_atraso,
id_fuente,
vigente,
created,
created_by,
modified,
modified_by,
dbf_filename,
deuda_total,
observaciones
from cendeu_temp
where iden = @p_Cuit
delete from cendeu_temp where iden = @p_Cuit
----------------
insert into procesos_cuit_cendeu
select
cendeu.iden,
substring(convert(char(2),convert(int,cendeu.situacion)),1,1) as situacion,
cast(cendeu.codigo_ent as int) as bco_codigo,
cast(DATEPART(YY,cast(fec_inf+'01' as date)) as varchar) + '-' + right('00'+(cast(datepart(MM,cast(fec_inf+'01' as date)) as varchar)),2) as periodo_deuda,
(deuda_total+prestamos+particip+garotor+o_cptos) as total
from cendeu
inner join EntidadesBancarias
on id_banco = cast(cendeu.codigo_ent as int)
where iden = @p_Cuit
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 vigente = @p_visible */
and
(vigente = '1' and not exists (select * from cendeu b where b.iden = cendeu.iden and cast(b.codigo_ent as int) = cast(cendeu.codigo_ent as int) and b.fec_inf = cendeu.fec_inf and b.vigente = '1' and b.id_fuente = '2' and b.id_cendeu != cendeu.id_cendeu)
and not (
(cast(fec_inf+'01' as date) < @p_5anios)
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
--not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
not exists (select * from cendeu c where c.iden = cendeu.iden and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int) and (convert(date,c.created) > @p_3meses)))
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
exists (select * from cendeu_cancela c
where c.iden = cendeu.iden
and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
and c.vigente = '1'))
)
)
and not exists (select * from cendeu b
where b.iden = cendeu.iden
and cast(b.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and b.fec_inf = cendeu.fec_inf
and b.vigente = cendeu.vigente
and (isnull(b.id_fuente,1)) = (isnull(cendeu.id_fuente,1))
and b.id_cendeu < cendeu.id_cendeu)
order by cast(cendeu.codigo_ent as int) asc, cendeu.fec_inf desc
Fetch next from recorre1 INTO @p_cuit
END
CLOSE recorre1
DEALLOCATE recorre1
select * from procesos_cuit_cendeu
END
GO
GO
--exec procesos_cuit_bancos
CREATE OR ALTER PROCEDURE dbo.procesos_cuit_bancos
AS
BEGIN
SET NOCOUNT ON;
declare @p_Cuit varchar(20)
declare @p_5anios date = getdate() - (5*365)
declare @p_2anios date = getdate() - (2*365)
declare @p_3meses date = getdate() - (90)
declare @dtStart date, @dtEnd date, @dtEnd_cuit date
set @dtEnd = CONVERT(date, getdate())
set @dtStart = '2016-10-01'
DECLARE recorre1 CURSOR
FOR
SELECT cuit FROM procesos_cuit ORDER BY cuit
OPEN recorre1
Fetch next from recorre1 INTO @p_cuit
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
--- Primero: Si hay datos en ceudeu_temp, los pasa a cendeu y los borra de cendeu temp
insert into cendeu
(codigo_ent,
fec_inf,
tipo,
iden,
id_persona,
actividad,
situacion,
prestamos,
particip,
garotor,
o_cptos,
garprefa,
garprefb,
singarpref,
cgarprefa,
cgarprefb,
sincgarpre,
previ,
deuda_cubr,
proc_jud,
refinanc,
rec_oblig,
sit_juridi,
irre_dispt,
dia_atraso,
id_fuente,
vigente,
created,
created_by,
modified,
modified_by,
dbf_filename,
deuda_total,
observaciones)
select codigo_ent,
fec_inf,
tipo,
iden,
id_persona,
actividad,
substring(convert(char(2),convert(int,situacion)),1,1) as situacion,
--situacion,
prestamos,
particip,
garotor,
o_cptos,
garprefa,
garprefb,
singarpref,
cgarprefa,
cgarprefb,
sincgarpre,
previ,
deuda_cubr,
proc_jud,
refinanc,
rec_oblig,
sit_juridi,
irre_dispt,
dia_atraso,
id_fuente,
vigente,
created,
created_by,
modified,
modified_by,
dbf_filename,
deuda_total,
observaciones
from cendeu_temp
where iden = @p_Cuit
delete from cendeu_temp where iden = @p_Cuit
----------------
insert into procesos_cuit_cendeu
select
cendeu.iden,
substring(convert(char(2),convert(int,cendeu.situacion)),1,1) as situacion,
cast(cendeu.codigo_ent as int) as bco_codigo,
cast(DATEPART(YY,cast(fec_inf+'01' as date)) as varchar) + '-' + right('00'+(cast(datepart(MM,cast(fec_inf+'01' as date)) as varchar)),2) as periodo_deuda,
(deuda_total+prestamos+particip+garotor+o_cptos) as total
from cendeu
inner join EntidadesBancarias
on id_banco = cast(cendeu.codigo_ent as int)
where iden = @p_Cuit
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 vigente = @p_visible */
and
(vigente = '1' and not exists (select * from cendeu b where b.iden = cendeu.iden and cast(b.codigo_ent as int) = cast(cendeu.codigo_ent as int) and b.fec_inf = cendeu.fec_inf and b.vigente = '1' and b.id_fuente = '2' and b.id_cendeu != cendeu.id_cendeu)
and not (
(cast(fec_inf+'01' as date) < @p_5anios)
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
--not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
not exists (select * from cendeu c where c.iden = cendeu.iden and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int) and (convert(date,c.created) > @p_3meses)))
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
exists (select * from cendeu_cancela c
where c.iden = cendeu.iden
and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
and c.vigente = '1'))
)
)
and not exists (select * from cendeu b
where b.iden = cendeu.iden
and cast(b.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and b.fec_inf = cendeu.fec_inf
and b.vigente = cendeu.vigente
and (isnull(b.id_fuente,1)) = (isnull(cendeu.id_fuente,1))
and b.id_cendeu < cendeu.id_cendeu)
order by cast(cendeu.codigo_ent as int) asc, cendeu.fec_inf desc
Fetch next from recorre1 INTO @p_cuit
END
CLOSE recorre1
DEALLOCATE recorre1
select * from procesos_cuit_cendeu
END
GO
Depends On
6Used By
No items found