Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @seccion | varchar | 100 | |
| @fecha_char | varchar | 10 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec led_amx_a_informix 'contrapartes','1901-01-01'
exec led_amx_a_informix 'familias','1901-01-01'
exec led_amx_a_informix 'documentos','1901-01-01'
*/
CREATE OR ALTER PROCEDURE dbo.led_amx_a_informix
@seccion varchar(100),
@fecha_char varchar(10) = null
/* Cuits en LED de AMX (cliente 5546348)
Recorro todos las tablas para registros creados o modificados en las fechas solicitadas */
AS
BEGIN
SET NOCOUNT ON;
declare @fecha date
declare @cliente int
declare @cuit varchar(20)
declare @contraparte int
declare @familia varchar(100)
if (@fecha_char = '' or @fecha_char is null)
begin
set @fecha = convert(date, getdate())
end
else
begin
set @fecha = CONVERT(date, @fecha_char)
end
/* Cuits en led */
if (@seccion = 'contrapartes')
begin
select LN_contrapartes.cliente as cliente, clientes.cli_codigo as cli_codigo,
padrones.identificacion as cuit,
padrones.nombre_persona as nombre,
LN_contrapartes.country_code as pais,
LN_contrapartes.contraparte as contraparte,
IIF (ln_contrapartes.activo=1,'ACTIVO','INACTIVO') as estado
from LN_contrapartes
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
inner join clientes on clientes.cliente = LN_contrapartes.cliente
where Ln_contrapartes.cliente = 5546348 -- Cliente AMX
and (convert(date,LN_contrapartes.created) >= @fecha or convert(date,LN_contrapartes.modified)>= @fecha)
end
/* Familia */
if (@seccion = 'familias')
/*
Si una empresa se cargó o modificó un registro en familias, y tiene una o mas activas, tomo todas las familias activas
Si a una empresa se paso a inactiva una familia, se pasa ese dato
*/
begin
select distinct clientes.cli_codigo as cli_codigo,
padrones.identificacion as cuit,
LN_contrapartes.country_code as pais,
ln_contraparte_familias.familia as cod_familia,
ln_familias.nombre_familia as familia,
case nombre_familia
when 'ESTRATEGICO' then 'PE'
when 'CRITICO EMPRESA' then 'PCE'
when 'CRITICO P. FISICA' then 'PCF'
when 'NO CRITICO EMPRESA' then 'PNCE'
when 'NO CRITICO P. FISICA' then 'PNCF'
when 'OTRO OPERADOR' then 'OTR'
when 'CONTROL INGRESO' then 'CON'
when 'REPUESTOS EMPRESAS' then 'RE'
when 'REPUESTOS PERSONAS FISICAS' then 'RF'
when 'EVENTUAL' then 'EVE'
when 'PARAGUAY CRITICO EMPRESA' then 'E2CE'
when 'PARAGUAY CRITICO P. FISICA' then 'E2CF'
when 'PARAGUAY NO CRITICO EMPRESA' then 'E2NCE'
when 'PARAGUAY NO CRITICO P. FISICA' then 'E2NCF'
when 'PARAGUAY CRITICO EMPRESA S/D.E.' then 'E2CE2'
when 'PARAGUAY CRITICO FISICA S/D.E.' then 'E2CF2'
when 'URUGUAY CRITICO EMPRESA' then ' ECE'
when 'URUGUAY CRITICO P. FISICA' then 'ECF'
when 'URUGUAY NO CRITICO EMPRESA' then 'ENCE'
when 'URUGUAY NO CRITICO P. FISICA' then 'ENCF'
when 'URUGUAY CRITICO EMPRESA S/D.E.' then 'ECE2'
when 'URUGUAY CRITICO FISICA S/D.E.' then 'ECF2'
end as cod_familia,
'ACTIVO' as estado,
familias.cant as cant_familias
from LN_contrapartes
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
inner join clientes on clientes.cliente = LN_contrapartes.cliente
inner join ln_contraparte_familias on ln_contraparte_familias.contraparte = LN_contrapartes.contraparte
inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia --and ln_familias.cliente = Ln_contrapartes.cliente
inner join (select contraparte, count(*) as cant from LN_contraparte_familias where activo = 1 group by contraparte) familias
on familias.contraparte = ln_contrapartes.contraparte
where Ln_contrapartes.cliente = 5546348 -- Cliente AMX
and
(
(convert(date, ln_contraparte_familias.created) >= @fecha or
convert(date, ln_contraparte_familias.modified) >= @fecha)
or
familias.cant > 1
)
and ln_contraparte_familias.activo = 1
union
select distinct clientes.cli_codigo as cli_codigo,
padrones.identificacion as cuit,
LN_contrapartes.country_code as pais,
ln_contraparte_familias.familia as cod_familia,
ln_familias.nombre_familia as familia,
case nombre_familia
when 'ESTRATEGICO' then 'PE'
when 'CRITICO EMPRESA' then 'PCE'
when 'CRITICO P. FISICA' then 'PCF'
when 'NO CRITICO EMPRESA' then 'PNCE'
when 'NO CRITICO P. FISICA' then 'PNCF'
when 'OTRO OPERADOR' then 'OTR'
when 'CONTROL INGRESO' then 'CON'
when 'REPUESTOS EMPRESAS' then 'RE'
when 'REPUESTOS PERSONAS FISICAS' then 'RF'
when 'EVENTUAL' then 'EVE'
when 'PARAGUAY CRITICO EMPRESA' then 'E2CE'
when 'PARAGUAY CRITICO P. FISICA' then 'E2CF'
when 'PARAGUAY NO CRITICO EMPRESA' then 'E2NCE'
when 'PARAGUAY NO CRITICO P. FISICA' then 'E2NCF'
when 'PARAGUAY CRITICO EMPRESA S/D.E.' then 'E2CE2'
when 'PARAGUAY CRITICO FISICA S/D.E.' then 'E2CF2'
when 'URUGUAY CRITICO EMPRESA' then ' ECE'
when 'URUGUAY CRITICO P. FISICA' then 'ECF'
when 'URUGUAY NO CRITICO EMPRESA' then 'ENCE'
when 'URUGUAY NO CRITICO P. FISICA' then 'ENCF'
when 'URUGUAY CRITICO EMPRESA S/D.E.' then 'ECE2'
when 'URUGUAY CRITICO FISICA S/D.E.' then 'ECF2'
end as cod_familia,
'INACTIVO' as estado,
0 as cant_familias
from LN_contrapartes
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
inner join clientes on clientes.cliente = LN_contrapartes.cliente
inner join ln_contraparte_familias on ln_contraparte_familias.contraparte = LN_contrapartes.contraparte
inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia --and ln_familias.cliente = Ln_contrapartes.cliente
inner join (select contraparte, count(*) as cant from LN_contraparte_familias where activo = 1 group by contraparte) familias
on familias.contraparte = ln_contrapartes.contraparte
where Ln_contrapartes.cliente = 5546348 -- Cliente AMX
and
(
(convert(date, ln_contraparte_familias.created) >= @fecha or
convert(date, ln_contraparte_familias.modified) >= @fecha)
)
and ln_contraparte_familias.activo = 0
end
/* Documentos */
if (@seccion = 'documentos')
begin
select padrones.identificacion as cuit,
LN_tipos_doc.nombre_tipo_doc as documento,
iif(LN_docs.estado_doc in('I','V'),'SI','NO') as presento
from LN_contrapartes
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
inner join LN_docs on LN_docs.contraparte = LN_contrapartes.contraparte and LN_docs.cliente = Ln_contrapartes.cliente
inner join LN_tipos_doc on LN_tipos_doc.tipo_doc = LN_docs.tipo_doc
inner join LN_gestiones on LN_gestiones.contraparte = LN_docs.contraparte
where Ln_contrapartes.cliente = 5546348 -- Cliente AMX
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
--and LN_docs.estado_doc IN ('V', 'R')
and (convert(date, LN_docs.created) >= @fecha or
convert(date, LN_docs.modified) >= @fecha)
end
END
GO
GO
/*
exec led_amx_a_informix 'contrapartes','1901-01-01'
exec led_amx_a_informix 'familias','1901-01-01'
exec led_amx_a_informix 'documentos','1901-01-01'
*/
CREATE OR ALTER PROCEDURE dbo.led_amx_a_informix
@seccion varchar(100),
@fecha_char varchar(10) = null
/* Cuits en LED de AMX (cliente 5546348)
Recorro todos las tablas para registros creados o modificados en las fechas solicitadas */
AS
BEGIN
SET NOCOUNT ON;
declare @fecha date
declare @cliente int
declare @cuit varchar(20)
declare @contraparte int
declare @familia varchar(100)
if (@fecha_char = '' or @fecha_char is null)
begin
set @fecha = convert(date, getdate())
end
else
begin
set @fecha = CONVERT(date, @fecha_char)
end
/* Cuits en led */
if (@seccion = 'contrapartes')
begin
select LN_contrapartes.cliente as cliente, clientes.cli_codigo as cli_codigo,
padrones.identificacion as cuit,
padrones.nombre_persona as nombre,
LN_contrapartes.country_code as pais,
LN_contrapartes.contraparte as contraparte,
IIF (ln_contrapartes.activo=1,'ACTIVO','INACTIVO') as estado
from LN_contrapartes
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
inner join clientes on clientes.cliente = LN_contrapartes.cliente
where Ln_contrapartes.cliente = 5546348 -- Cliente AMX
and (convert(date,LN_contrapartes.created) >= @fecha or convert(date,LN_contrapartes.modified)>= @fecha)
end
/* Familia */
if (@seccion = 'familias')
/*
Si una empresa se cargó o modificó un registro en familias, y tiene una o mas activas, tomo todas las familias activas
Si a una empresa se paso a inactiva una familia, se pasa ese dato
*/
begin
select distinct clientes.cli_codigo as cli_codigo,
padrones.identificacion as cuit,
LN_contrapartes.country_code as pais,
ln_contraparte_familias.familia as cod_familia,
ln_familias.nombre_familia as familia,
case nombre_familia
when 'ESTRATEGICO' then 'PE'
when 'CRITICO EMPRESA' then 'PCE'
when 'CRITICO P. FISICA' then 'PCF'
when 'NO CRITICO EMPRESA' then 'PNCE'
when 'NO CRITICO P. FISICA' then 'PNCF'
when 'OTRO OPERADOR' then 'OTR'
when 'CONTROL INGRESO' then 'CON'
when 'REPUESTOS EMPRESAS' then 'RE'
when 'REPUESTOS PERSONAS FISICAS' then 'RF'
when 'EVENTUAL' then 'EVE'
when 'PARAGUAY CRITICO EMPRESA' then 'E2CE'
when 'PARAGUAY CRITICO P. FISICA' then 'E2CF'
when 'PARAGUAY NO CRITICO EMPRESA' then 'E2NCE'
when 'PARAGUAY NO CRITICO P. FISICA' then 'E2NCF'
when 'PARAGUAY CRITICO EMPRESA S/D.E.' then 'E2CE2'
when 'PARAGUAY CRITICO FISICA S/D.E.' then 'E2CF2'
when 'URUGUAY CRITICO EMPRESA' then ' ECE'
when 'URUGUAY CRITICO P. FISICA' then 'ECF'
when 'URUGUAY NO CRITICO EMPRESA' then 'ENCE'
when 'URUGUAY NO CRITICO P. FISICA' then 'ENCF'
when 'URUGUAY CRITICO EMPRESA S/D.E.' then 'ECE2'
when 'URUGUAY CRITICO FISICA S/D.E.' then 'ECF2'
end as cod_familia,
'ACTIVO' as estado,
familias.cant as cant_familias
from LN_contrapartes
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
inner join clientes on clientes.cliente = LN_contrapartes.cliente
inner join ln_contraparte_familias on ln_contraparte_familias.contraparte = LN_contrapartes.contraparte
inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia --and ln_familias.cliente = Ln_contrapartes.cliente
inner join (select contraparte, count(*) as cant from LN_contraparte_familias where activo = 1 group by contraparte) familias
on familias.contraparte = ln_contrapartes.contraparte
where Ln_contrapartes.cliente = 5546348 -- Cliente AMX
and
(
(convert(date, ln_contraparte_familias.created) >= @fecha or
convert(date, ln_contraparte_familias.modified) >= @fecha)
or
familias.cant > 1
)
and ln_contraparte_familias.activo = 1
union
select distinct clientes.cli_codigo as cli_codigo,
padrones.identificacion as cuit,
LN_contrapartes.country_code as pais,
ln_contraparte_familias.familia as cod_familia,
ln_familias.nombre_familia as familia,
case nombre_familia
when 'ESTRATEGICO' then 'PE'
when 'CRITICO EMPRESA' then 'PCE'
when 'CRITICO P. FISICA' then 'PCF'
when 'NO CRITICO EMPRESA' then 'PNCE'
when 'NO CRITICO P. FISICA' then 'PNCF'
when 'OTRO OPERADOR' then 'OTR'
when 'CONTROL INGRESO' then 'CON'
when 'REPUESTOS EMPRESAS' then 'RE'
when 'REPUESTOS PERSONAS FISICAS' then 'RF'
when 'EVENTUAL' then 'EVE'
when 'PARAGUAY CRITICO EMPRESA' then 'E2CE'
when 'PARAGUAY CRITICO P. FISICA' then 'E2CF'
when 'PARAGUAY NO CRITICO EMPRESA' then 'E2NCE'
when 'PARAGUAY NO CRITICO P. FISICA' then 'E2NCF'
when 'PARAGUAY CRITICO EMPRESA S/D.E.' then 'E2CE2'
when 'PARAGUAY CRITICO FISICA S/D.E.' then 'E2CF2'
when 'URUGUAY CRITICO EMPRESA' then ' ECE'
when 'URUGUAY CRITICO P. FISICA' then 'ECF'
when 'URUGUAY NO CRITICO EMPRESA' then 'ENCE'
when 'URUGUAY NO CRITICO P. FISICA' then 'ENCF'
when 'URUGUAY CRITICO EMPRESA S/D.E.' then 'ECE2'
when 'URUGUAY CRITICO FISICA S/D.E.' then 'ECF2'
end as cod_familia,
'INACTIVO' as estado,
0 as cant_familias
from LN_contrapartes
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
inner join clientes on clientes.cliente = LN_contrapartes.cliente
inner join ln_contraparte_familias on ln_contraparte_familias.contraparte = LN_contrapartes.contraparte
inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia --and ln_familias.cliente = Ln_contrapartes.cliente
inner join (select contraparte, count(*) as cant from LN_contraparte_familias where activo = 1 group by contraparte) familias
on familias.contraparte = ln_contrapartes.contraparte
where Ln_contrapartes.cliente = 5546348 -- Cliente AMX
and
(
(convert(date, ln_contraparte_familias.created) >= @fecha or
convert(date, ln_contraparte_familias.modified) >= @fecha)
)
and ln_contraparte_familias.activo = 0
end
/* Documentos */
if (@seccion = 'documentos')
begin
select padrones.identificacion as cuit,
LN_tipos_doc.nombre_tipo_doc as documento,
iif(LN_docs.estado_doc in('I','V'),'SI','NO') as presento
from LN_contrapartes
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
inner join LN_docs on LN_docs.contraparte = LN_contrapartes.contraparte and LN_docs.cliente = Ln_contrapartes.cliente
inner join LN_tipos_doc on LN_tipos_doc.tipo_doc = LN_docs.tipo_doc
inner join LN_gestiones on LN_gestiones.contraparte = LN_docs.contraparte
where Ln_contrapartes.cliente = 5546348 -- Cliente AMX
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
--and LN_docs.estado_doc IN ('V', 'R')
and (convert(date, LN_docs.created) >= @fecha or
convert(date, LN_docs.modified) >= @fecha)
end
END
GO
Depends On
8Used By
No items found