Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
33| Name | Data Type | Length | Description |
|---|---|---|---|
| @ID_TRAMITE_PRINCIPAL | varchar | 200 | |
| @ID_TRAMITE_TARJETA_REIMPRESA | varchar | 200 | |
| @EJEMPLAR | varchar | 200 | |
| @VENCIMIENTO | varchar | 200 | |
| @EMISION | varchar | 200 | |
| @apellido | varchar | 200 | |
| @nombres | varchar | 200 | |
| @fechaNacimiento | varchar | 200 | |
| @cuil | varchar | 200 | |
| @calle | varchar | 200 | |
| @numero | varchar | 200 | |
| @piso | varchar | 200 | |
| @departamento | varchar | 200 | |
| @cpostal | varchar | 200 | |
| @barrio | varchar | 200 | |
| @monoblock | varchar | 200 | |
| @ciudad | varchar | 200 | |
| @municipio | varchar | 200 | |
| @provincia | varchar | 200 | |
| @pais | varchar | 200 | |
| @codigoError | varchar | 200 | |
| @codigof | varchar | 200 | |
| @mensaf | varchar | 200 | |
| @origenf | varchar | 200 | |
| @fechaf | varchar | 200 | |
| @idciudadano | varchar | 200 | |
| @nacionalidad | varchar | 200 | |
| @lugar_nacimiento | varchar | 200 | |
| @nroError | varchar | 200 | |
| @descripcionError | varchar | 200 | |
| @identificacion | varchar | 20 | |
| @sexo | char | 1 | |
| @dni | varchar | 10 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
04/01/2022: Error detectado:
CASO DE RAMI RENAPER LO INFORMA SIN CUIL Y ESTO FALLA SI EL CUIL ES 0 O INSERTA TODOS A UN CUIL 0
SOLUCIONADO 05/01/2022
Solo se completan los campos si el NroError = 0
05/01/2022: Si Renaper no informa el CUIL (no tiene 11 posiciones) lo buscamos con el stored [sp_buscar_cuit].
Porque antes, al no tenes el CUIL, no completaba los datos en la tabla padrones, ni datos_personas, ni domicilios_todos, ya que esas tablas se completan con cuit.
Ejemplo: [sp_buscar_cuit] 'ALEID RAMI', '95557835',null
05/01/2022: DOMICILIOS, en la tabla domicilios todos ya se guardaba como tipo_domicilio = 'E'.
Agregamos que se guarde: nombre_fuente = 'RENAPER' y calle, altura, piso y depto en los campos separados.
05/01/2022: DATOS_PERSONAS: FECHA DE NACIMIENTO, AÑO DE NACIMIENTO Y NACIONALIDAD, lo podemos completar, al tener el CUIL
05/01/2022: Ya se guardaba el APELLIDO Y NOMBRE separados si no estaba en la tabla padrones.
Ahora también modificamos el sexo si tiene algo distinto de F o M
exec RENAPER_INSERTAR '610856299','0','C','28/09/2034','28/09/2019','ALEID','Rami',
'19/01/2003', '0','IBERA','2263','5', 'D','','','',
'BELGRANO','COMUNA 13', 'CIUDAD AUTONOMA DE BS AS','',
'99','0','SIN AVISO DE FALLECIMIENTO','','',
'142672520','SIRIA','','','','0','M','95557835'
select cuil, * from renaper_info where dni = '95557835'
select * from DATOS_PERSONAS where c01_cuit ='20955578350'
select * from padrones where identificacion = '20955578350'
select * from domicilios_todos where cuit ='20955578350'
*/
/*
exec [RENAPER_INSERTAR]
'279715041',
'0',
'A',
'10/07/2029',
'10/07/2014',
'ÑANCAÑANCA',
'Agustin',
'14/09/1931',
'20073161828',
'COLON',
'426',
'',
'',
'9120',
'0',
'',
'PUERTO MADRYN ',
'BIEDMA',
'CHUBUT',
'ARGENTINA',
'99',
'1',
'FALLECIDO',
'',
'2023-11-17',
'25480129',
'ARGENTINA',
'',
'99',
'DNI/PAS Firmado',
'20073161828',
'M',
'07316182'
*/
CREATE OR ALTER PROCEDURE dbo.RENAPER_INSERTAR
@ID_TRAMITE_PRINCIPAL VARCHAR(200),
@ID_TRAMITE_TARJETA_REIMPRESA VARCHAR(200),
@EJEMPLAR VARCHAR(200),
@VENCIMIENTO VARCHAR(200),
@EMISION VARCHAR(200),
@apellido VARCHAR(200),
@nombres VARCHAR(200),
@fechaNacimiento VARCHAR(200),
@cuil VARCHAR(200),
@calle VARCHAR(200),
@numero VARCHAR(200),
@piso VARCHAR(200),
@departamento VARCHAR(200),
@cpostal VARCHAR(200),
@barrio VARCHAR(200),
@monoblock VARCHAR(200),
@ciudad VARCHAR(200),
@municipio VARCHAR(200),
@provincia VARCHAR(200),
@pais VARCHAR(200),
@codigoError VARCHAR(200),
@codigof VARCHAR(200),
@mensaf VARCHAR(200),
@origenf VARCHAR(200),
@fechaf VARCHAR(200),
@idciudadano VARCHAR(200),
@nacionalidad VARCHAR(200),
@lugar_nacimiento VARCHAR(200),
@nroError VARCHAR(200),
@descripcionError VARCHAR(200),
@identificacion varchar(20),
@sexo char(1),
@dni varchar(10)
AS
BEGIN
SET NOCOUNT ON;
/* --- */
/* 05/01/2022: Cuando Renaper no devuelve el CUIL (como el caso de Rami) lo completamos con el que tengamos en padron */
declare @cuits table (cuit varchar(20), nombre varchar(200))
declare @nombre_padron varchar(200)
declare @nrodoc varchar(10)
declare @nombre_contains varchar(500)
if (@nroError = 99 and len(@cuil)!=11)
begin
set @nombre_padron = upper(@apellido) + ' ' + upper(@nombres)
set @nrodoc = ltrim(rtrim(dbo.fn_StripCharacters(@dni, '^0-9/')))
set @nombre_contains = (select REPLACE(@nombre_padron,' ','" near "'))
set @nombre_contains = '"' + @nombre_contains + '"'
delete from @cuits
insert into @cuits
exec [sp_buscar_cuit] @nombre_padron, @nrodoc, @nombre_contains
select top 1 @cuil = cuit from @cuits
end
/* --- */
INSERT INTO RENAPER_INFO
(ID_TRAMITE_PRINCIPAL,ID_TRAMITE_TARJETA_REIMPRESA,EJEMPLAR,VENCIMIENTO,EMISION,apellido,nombres,
fechaNacimiento,cuil,calle,numero,piso,departamento,cpostal,barrio,monoblock,ciudad,municipio,provincia,pais,
codigoError,codigof,mensaf,origenf,fechaf,idciudadano,nacionalidad,lugar_nacimiento,nroError,descripcionError,
identificacion,sexo,dni)
VALUES
(@ID_TRAMITE_PRINCIPAL,@ID_TRAMITE_TARJETA_REIMPRESA,@EJEMPLAR,@VENCIMIENTO,@EMISION,@apellido,@nombres,
@fechaNacimiento,@cuil,@calle,@numero,@piso,@departamento,@cpostal,@barrio,@monoblock,@ciudad,@municipio,@provincia,@pais,
@codigoError,@codigof,@mensaf,@origenf,@fechaf,@idciudadano,@nacionalidad,@lugar_nacimiento,@nroError,@descripcionError,
@cuil,@sexo,@dni)
/* 23/07/2021 Grabamos fecha de nacimiento y defuncion, y nacionalidad en DATOS_PERSONAS */
/* Si no tenemos registro en DATOS_PERSONAS, lo da de alta con los datos que nos vienen de Renaper */
if (LEN(@cuil) = 11 and @nroError = 99)
/* 05/01/2022: Solo lo podemos hacer si tenemos un CUIL completo de 11 posiciones y el nroerror es cero (OK de Renaper) */
begin
declare @fecha_nac date = null
declare @fecha_def date = null
declare @anio_nac char(4) = null
if (isnull(@fechaNacimiento,'') != '')
begin
if (@fechaNacimiento like '__/__/____')
begin
set @fecha_nac = convert (date, SUBSTRING(@fechaNacimiento,7,4) + '-' + SUBSTRING(@fechaNacimiento,4,2) + '-' + SUBSTRING(@fechaNacimiento,1,2))
end
if (@fechaNacimiento like '____-__-__')
begin
set @fecha_nac = convert (date, @fechaNacimiento)
end
end
if (@fecha_nac is not null)
begin
set @anio_nac = year(@fecha_nac)
end
if (isnull(@fechaf,'') != '')
begin
if(@fechaf like '__/__/____')
begin
set @fecha_def = convert (date, SUBSTRING(@fechaf,7,4) + '-' + SUBSTRING(@fechaf,4,2) + '-' + SUBSTRING(@fechaf,1,2))
end
if(@fechaf like '____-__-__')
begin
set @fecha_def = convert (date,@fechaf)
end
end
--select @fecha_nac, @anio_nac, @fecha_def
if exists (select * from DATOS_PERSONAS where c01_cuit = @cuil and visible = 1)
begin
if (@fecha_nac is not null)
update DATOS_PERSONAS set c02_fecha_nac = @fecha_nac, c02_anio_nac = @anio_nac
where c01_cuit = @cuil and visible = 1
if (@fecha_def is not null)
update DATOS_PERSONAS set fecha_defuncion = @fecha_def, fecha_defuncion_ant = fecha_defuncion
where c01_cuit = @cuil and visible = 1
if (isnull(@nacionalidad,'') != '')
update datos_personas set nacionalidad = @nacionalidad
where c01_cuit = @cuil and visible = 1
end
else
begin
insert into DATOS_PERSONAS(c01_cuit, doc_codigo, c02_nrodoc, c02_fecha_nac, c02_anio_nac, fecha_defuncion,visible,nacionalidad)
values (@cuil,'2',@dni,@fecha_nac,year(@fecha_nac),@fecha_def,1,@nacionalidad)
end
/* 23/07/2021: Si en el padron no tenemos separado apellido y nombre lo grabamos con los datos que nos vienen de Renaper */
/* 05/01/2022: Si el sexo del padron es invalido, lo reemplazamos por el que nos viene de Renaper */
declare @id_padron int = 0
set @id_padron = (select top 1 id_padron from padrones where identificacion = @cuil and habilitado = 1
--and (isnull(apellidos,'') = '' or isnull(nombres,'') = '')
and identificador in (select identificador from identificadores where country_code = 'AR'))
if (@id_padron != 0 )
begin
/*
if ((select isnull(apellidos,'') from padrones where id_padron = @id_padron) = '' or
(select isnull(nombres,'') from padrones where id_padron = @id_padron) = '')
begin
update padrones set apellidos = upper(@apellido),
nombres = upper(@nombres)
where id_padron = @id_padron
end
if (select sexo from padrones where id_padron = @id_padron) not in ('F','f','M','m')
begin
update padrones set sexo = @sexo
where id_padron = @id_padron
end
*/
-- Se cambió el 9/11/2023: que siempre complete los dados de apellido, nombre y sexo con lo que dice Renaper
update padrones set apellidos = upper(@apellido),
nombres = upper(@nombres),
nombre_persona = isnull(upper(@apellido),'') + ' ' + isnull(upper(@nombres),''),
sexo = @sexo,
-- 26/09/2024
modificado_por = 'R',
fecha_modificado_por = getdate()
--
where id_padron = @id_padron
/*
select * from padrones where identificacion = '27208925658'
*/
end
else
begin
-- 26/09/2024: Si no está en padrones, lo da de alta
insert into padrones (numero, nombre_persona, apellidos, nombres,
tipo_persona, sexo, identificacion,
pre_clave, cuerpo_clave, suf_clave,
habilitado, afip_activo, modificado_por, fecha_modificado_por)
values (@cuil, isnull(upper(@apellido),'') + ' ' + isnull(upper(@nombres),''), upper(@apellido), upper(@nombres),
'F', @sexo, @cuil,
SUBSTRING(@cuil,1,2), SUBSTRING(@cuil,3,8), SUBSTRING(@cuil,11,1),
1, 1, 'R', getdate())
end
/* 23/07/2021 Grabamos domicilio 'E' con los datos que nos vienen de Renaper */
declare @domicilio varchar(200) = isnull(@calle,'') + ' ' + isnull(@numero,'')
+ iif(isnull(@piso,'') != '',' Piso: ' + @piso,'')
+ iif(isnull(@departamento,'') != '', ' Dpto: ' + @departamento,'')
+ iif(isnull(@barrio,'0') != '0',' Barrio: ' + @barrio,'')
--+ ' ' + iif(isnull(@ciudad,'0') != '0' and @ciudad != 'SIN INFORMAR', ' ' + @ciudad,'')
declare @cp varchar(100) = @cpostal
--declare @localidad varchar(200) = iif (@municipio like 'CIUDAD%BUENOS AIRES' or @municipio like 'CIUDAD AUTONOMA%', 'CIUDAD AUTONOMA DE BUENOS AIRES',@municipio)
-- 09/01/2024 se guarda lo que viene en Ciudad
declare @localidad varchar(200) = iif (isnull(@ciudad,'0') != '0' and @ciudad != 'SIN INFORMAR', @ciudad,@municipio)
declare @pcia varchar(200) = iif (@provincia like 'CIUDAD%BUENOS AIRES' or @provincia like 'CIUDAD AUTONOMA%', 'CIUDAD AUTONOMA DE BUENOS AIRES', @provincia)
-- 09/01/2024: Antes cuando la pcia era CABA, dejaba la localidad NULA, ahora deja lo que traiga
--if (@pcia = 'CIUDAD AUTONOMA DE BUENOS AIRES' /*and @localidad = 'CIUDAD AUTONOMA DE BUENOS AIRES'*/) set @localidad = null
declare @cod_pcia int = null
select @cod_pcia = codigo_afip from provincias where country_code = 'AR' and prv_nombre = @pcia
set @domicilio = REPLACE(@domicilio,' ',' ')
set @domicilio = REPLACE(@domicilio,' ',' ')
set @domicilio = REPLACE(@domicilio,' ',' ')
set @domicilio = REPLACE(@domicilio,' ',' ')
set @domicilio = REPLACE(@domicilio,' ',' ')
set @domicilio = rtrim(ltrim(@domicilio))
if (ltrim(rtrim(@cp))='') set @cp=null
if not exists (select * from domicilios_todos where cuit = @cuil and domicilio = @domicilio and tipo_domicilio = 'E' and nombre_fuente = 'RENAPER')
begin
if exists (select * from domicilios_todos where cuit = @cuil and tipo_domicilio = 'E')
begin
update domicilios_todos set tipo_domicilio = 'O' where cuit = @cuil and tipo_domicilio = 'E' -- Si hay otro E lo pasa a O
end
insert into domicilios_todos (cuit, domicilio, pai_codigo, pai_nombre, prv_codigo, prv_nombre, loc_nombre, codpos, tipo_domicilio, visible,created,calle, altura,piso,depto,nombre_fuente)
values (@cuil, @domicilio, '54','ARGENTINA', @cod_pcia, @pcia, @localidad, @cp, 'E', 1, GETDATE(),@calle,@numero,@piso,@departamento,'RENAPER')
end
end
select @cuil as cuil
END
/*
select * from domicilios_todos where cuit ='20955578350'
up+-date DATOS_PERSONAS set c02_fecha_nac= null where c01_cuit ='27208925658'
select * from DATOS_PERSONAS where c01_cuit ='20955578350'
select * from padrones where identificacion = '20955578350'
*/
GO
GO
/*
04/01/2022: Error detectado:
CASO DE RAMI RENAPER LO INFORMA SIN CUIL Y ESTO FALLA SI EL CUIL ES 0 O INSERTA TODOS A UN CUIL 0
SOLUCIONADO 05/01/2022
Solo se completan los campos si el NroError = 0
05/01/2022: Si Renaper no informa el CUIL (no tiene 11 posiciones) lo buscamos con el stored [sp_buscar_cuit].
Porque antes, al no tenes el CUIL, no completaba los datos en la tabla padrones, ni datos_personas, ni domicilios_todos, ya que esas tablas se completan con cuit.
Ejemplo: [sp_buscar_cuit] 'ALEID RAMI', '95557835',null
05/01/2022: DOMICILIOS, en la tabla domicilios todos ya se guardaba como tipo_domicilio = 'E'.
Agregamos que se guarde: nombre_fuente = 'RENAPER' y calle, altura, piso y depto en los campos separados.
05/01/2022: DATOS_PERSONAS: FECHA DE NACIMIENTO, AÑO DE NACIMIENTO Y NACIONALIDAD, lo podemos completar, al tener el CUIL
05/01/2022: Ya se guardaba el APELLIDO Y NOMBRE separados si no estaba en la tabla padrones.
Ahora también modificamos el sexo si tiene algo distinto de F o M
exec RENAPER_INSERTAR '610856299','0','C','28/09/2034','28/09/2019','ALEID','Rami',
'19/01/2003', '0','IBERA','2263','5', 'D','','','',
'BELGRANO','COMUNA 13', 'CIUDAD AUTONOMA DE BS AS','',
'99','0','SIN AVISO DE FALLECIMIENTO','','',
'142672520','SIRIA','','','','0','M','95557835'
select cuil, * from renaper_info where dni = '95557835'
select * from DATOS_PERSONAS where c01_cuit ='20955578350'
select * from padrones where identificacion = '20955578350'
select * from domicilios_todos where cuit ='20955578350'
*/
/*
exec [RENAPER_INSERTAR]
'279715041',
'0',
'A',
'10/07/2029',
'10/07/2014',
'ÑANCAÑANCA',
'Agustin',
'14/09/1931',
'20073161828',
'COLON',
'426',
'',
'',
'9120',
'0',
'',
'PUERTO MADRYN ',
'BIEDMA',
'CHUBUT',
'ARGENTINA',
'99',
'1',
'FALLECIDO',
'',
'2023-11-17',
'25480129',
'ARGENTINA',
'',
'99',
'DNI/PAS Firmado',
'20073161828',
'M',
'07316182'
*/
CREATE OR ALTER PROCEDURE dbo.RENAPER_INSERTAR
@ID_TRAMITE_PRINCIPAL VARCHAR(200),
@ID_TRAMITE_TARJETA_REIMPRESA VARCHAR(200),
@EJEMPLAR VARCHAR(200),
@VENCIMIENTO VARCHAR(200),
@EMISION VARCHAR(200),
@apellido VARCHAR(200),
@nombres VARCHAR(200),
@fechaNacimiento VARCHAR(200),
@cuil VARCHAR(200),
@calle VARCHAR(200),
@numero VARCHAR(200),
@piso VARCHAR(200),
@departamento VARCHAR(200),
@cpostal VARCHAR(200),
@barrio VARCHAR(200),
@monoblock VARCHAR(200),
@ciudad VARCHAR(200),
@municipio VARCHAR(200),
@provincia VARCHAR(200),
@pais VARCHAR(200),
@codigoError VARCHAR(200),
@codigof VARCHAR(200),
@mensaf VARCHAR(200),
@origenf VARCHAR(200),
@fechaf VARCHAR(200),
@idciudadano VARCHAR(200),
@nacionalidad VARCHAR(200),
@lugar_nacimiento VARCHAR(200),
@nroError VARCHAR(200),
@descripcionError VARCHAR(200),
@identificacion varchar(20),
@sexo char(1),
@dni varchar(10)
AS
BEGIN
SET NOCOUNT ON;
/* --- */
/* 05/01/2022: Cuando Renaper no devuelve el CUIL (como el caso de Rami) lo completamos con el que tengamos en padron */
declare @cuits table (cuit varchar(20), nombre varchar(200))
declare @nombre_padron varchar(200)
declare @nrodoc varchar(10)
declare @nombre_contains varchar(500)
if (@nroError = 99 and len(@cuil)!=11)
begin
set @nombre_padron = upper(@apellido) + ' ' + upper(@nombres)
set @nrodoc = ltrim(rtrim(dbo.fn_StripCharacters(@dni, '^0-9/')))
set @nombre_contains = (select REPLACE(@nombre_padron,' ','" near "'))
set @nombre_contains = '"' + @nombre_contains + '"'
delete from @cuits
insert into @cuits
exec [sp_buscar_cuit] @nombre_padron, @nrodoc, @nombre_contains
select top 1 @cuil = cuit from @cuits
end
/* --- */
INSERT INTO RENAPER_INFO
(ID_TRAMITE_PRINCIPAL,ID_TRAMITE_TARJETA_REIMPRESA,EJEMPLAR,VENCIMIENTO,EMISION,apellido,nombres,
fechaNacimiento,cuil,calle,numero,piso,departamento,cpostal,barrio,monoblock,ciudad,municipio,provincia,pais,
codigoError,codigof,mensaf,origenf,fechaf,idciudadano,nacionalidad,lugar_nacimiento,nroError,descripcionError,
identificacion,sexo,dni)
VALUES
(@ID_TRAMITE_PRINCIPAL,@ID_TRAMITE_TARJETA_REIMPRESA,@EJEMPLAR,@VENCIMIENTO,@EMISION,@apellido,@nombres,
@fechaNacimiento,@cuil,@calle,@numero,@piso,@departamento,@cpostal,@barrio,@monoblock,@ciudad,@municipio,@provincia,@pais,
@codigoError,@codigof,@mensaf,@origenf,@fechaf,@idciudadano,@nacionalidad,@lugar_nacimiento,@nroError,@descripcionError,
@cuil,@sexo,@dni)
/* 23/07/2021 Grabamos fecha de nacimiento y defuncion, y nacionalidad en DATOS_PERSONAS */
/* Si no tenemos registro en DATOS_PERSONAS, lo da de alta con los datos que nos vienen de Renaper */
if (LEN(@cuil) = 11 and @nroError = 99)
/* 05/01/2022: Solo lo podemos hacer si tenemos un CUIL completo de 11 posiciones y el nroerror es cero (OK de Renaper) */
begin
declare @fecha_nac date = null
declare @fecha_def date = null
declare @anio_nac char(4) = null
if (isnull(@fechaNacimiento,'') != '')
begin
if (@fechaNacimiento like '__/__/____')
begin
set @fecha_nac = convert (date, SUBSTRING(@fechaNacimiento,7,4) + '-' + SUBSTRING(@fechaNacimiento,4,2) + '-' + SUBSTRING(@fechaNacimiento,1,2))
end
if (@fechaNacimiento like '____-__-__')
begin
set @fecha_nac = convert (date, @fechaNacimiento)
end
end
if (@fecha_nac is not null)
begin
set @anio_nac = year(@fecha_nac)
end
if (isnull(@fechaf,'') != '')
begin
if(@fechaf like '__/__/____')
begin
set @fecha_def = convert (date, SUBSTRING(@fechaf,7,4) + '-' + SUBSTRING(@fechaf,4,2) + '-' + SUBSTRING(@fechaf,1,2))
end
if(@fechaf like '____-__-__')
begin
set @fecha_def = convert (date,@fechaf)
end
end
--select @fecha_nac, @anio_nac, @fecha_def
if exists (select * from DATOS_PERSONAS where c01_cuit = @cuil and visible = 1)
begin
if (@fecha_nac is not null)
update DATOS_PERSONAS set c02_fecha_nac = @fecha_nac, c02_anio_nac = @anio_nac
where c01_cuit = @cuil and visible = 1
if (@fecha_def is not null)
update DATOS_PERSONAS set fecha_defuncion = @fecha_def, fecha_defuncion_ant = fecha_defuncion
where c01_cuit = @cuil and visible = 1
if (isnull(@nacionalidad,'') != '')
update datos_personas set nacionalidad = @nacionalidad
where c01_cuit = @cuil and visible = 1
end
else
begin
insert into DATOS_PERSONAS(c01_cuit, doc_codigo, c02_nrodoc, c02_fecha_nac, c02_anio_nac, fecha_defuncion,visible,nacionalidad)
values (@cuil,'2',@dni,@fecha_nac,year(@fecha_nac),@fecha_def,1,@nacionalidad)
end
/* 23/07/2021: Si en el padron no tenemos separado apellido y nombre lo grabamos con los datos que nos vienen de Renaper */
/* 05/01/2022: Si el sexo del padron es invalido, lo reemplazamos por el que nos viene de Renaper */
declare @id_padron int = 0
set @id_padron = (select top 1 id_padron from padrones where identificacion = @cuil and habilitado = 1
--and (isnull(apellidos,'') = '' or isnull(nombres,'') = '')
and identificador in (select identificador from identificadores where country_code = 'AR'))
if (@id_padron != 0 )
begin
/*
if ((select isnull(apellidos,'') from padrones where id_padron = @id_padron) = '' or
(select isnull(nombres,'') from padrones where id_padron = @id_padron) = '')
begin
update padrones set apellidos = upper(@apellido),
nombres = upper(@nombres)
where id_padron = @id_padron
end
if (select sexo from padrones where id_padron = @id_padron) not in ('F','f','M','m')
begin
update padrones set sexo = @sexo
where id_padron = @id_padron
end
*/
-- Se cambió el 9/11/2023: que siempre complete los dados de apellido, nombre y sexo con lo que dice Renaper
update padrones set apellidos = upper(@apellido),
nombres = upper(@nombres),
nombre_persona = isnull(upper(@apellido),'') + ' ' + isnull(upper(@nombres),''),
sexo = @sexo,
-- 26/09/2024
modificado_por = 'R',
fecha_modificado_por = getdate()
--
where id_padron = @id_padron
/*
select * from padrones where identificacion = '27208925658'
*/
end
else
begin
-- 26/09/2024: Si no está en padrones, lo da de alta
insert into padrones (numero, nombre_persona, apellidos, nombres,
tipo_persona, sexo, identificacion,
pre_clave, cuerpo_clave, suf_clave,
habilitado, afip_activo, modificado_por, fecha_modificado_por)
values (@cuil, isnull(upper(@apellido),'') + ' ' + isnull(upper(@nombres),''), upper(@apellido), upper(@nombres),
'F', @sexo, @cuil,
SUBSTRING(@cuil,1,2), SUBSTRING(@cuil,3,8), SUBSTRING(@cuil,11,1),
1, 1, 'R', getdate())
end
/* 23/07/2021 Grabamos domicilio 'E' con los datos que nos vienen de Renaper */
declare @domicilio varchar(200) = isnull(@calle,'') + ' ' + isnull(@numero,'')
+ iif(isnull(@piso,'') != '',' Piso: ' + @piso,'')
+ iif(isnull(@departamento,'') != '', ' Dpto: ' + @departamento,'')
+ iif(isnull(@barrio,'0') != '0',' Barrio: ' + @barrio,'')
--+ ' ' + iif(isnull(@ciudad,'0') != '0' and @ciudad != 'SIN INFORMAR', ' ' + @ciudad,'')
declare @cp varchar(100) = @cpostal
--declare @localidad varchar(200) = iif (@municipio like 'CIUDAD%BUENOS AIRES' or @municipio like 'CIUDAD AUTONOMA%', 'CIUDAD AUTONOMA DE BUENOS AIRES',@municipio)
-- 09/01/2024 se guarda lo que viene en Ciudad
declare @localidad varchar(200) = iif (isnull(@ciudad,'0') != '0' and @ciudad != 'SIN INFORMAR', @ciudad,@municipio)
declare @pcia varchar(200) = iif (@provincia like 'CIUDAD%BUENOS AIRES' or @provincia like 'CIUDAD AUTONOMA%', 'CIUDAD AUTONOMA DE BUENOS AIRES', @provincia)
-- 09/01/2024: Antes cuando la pcia era CABA, dejaba la localidad NULA, ahora deja lo que traiga
--if (@pcia = 'CIUDAD AUTONOMA DE BUENOS AIRES' /*and @localidad = 'CIUDAD AUTONOMA DE BUENOS AIRES'*/) set @localidad = null
declare @cod_pcia int = null
select @cod_pcia = codigo_afip from provincias where country_code = 'AR' and prv_nombre = @pcia
set @domicilio = REPLACE(@domicilio,' ',' ')
set @domicilio = REPLACE(@domicilio,' ',' ')
set @domicilio = REPLACE(@domicilio,' ',' ')
set @domicilio = REPLACE(@domicilio,' ',' ')
set @domicilio = REPLACE(@domicilio,' ',' ')
set @domicilio = rtrim(ltrim(@domicilio))
if (ltrim(rtrim(@cp))='') set @cp=null
if not exists (select * from domicilios_todos where cuit = @cuil and domicilio = @domicilio and tipo_domicilio = 'E' and nombre_fuente = 'RENAPER')
begin
if exists (select * from domicilios_todos where cuit = @cuil and tipo_domicilio = 'E')
begin
update domicilios_todos set tipo_domicilio = 'O' where cuit = @cuil and tipo_domicilio = 'E' -- Si hay otro E lo pasa a O
end
insert into domicilios_todos (cuit, domicilio, pai_codigo, pai_nombre, prv_codigo, prv_nombre, loc_nombre, codpos, tipo_domicilio, visible,created,calle, altura,piso,depto,nombre_fuente)
values (@cuil, @domicilio, '54','ARGENTINA', @cod_pcia, @pcia, @localidad, @cp, 'E', 1, GETDATE(),@calle,@numero,@piso,@departamento,'RENAPER')
end
end
select @cuil as cuil
END
/*
select * from domicilios_todos where cuit ='20955578350'
up+-date DATOS_PERSONAS set c02_fecha_nac= null where c01_cuit ='27208925658'
select * from DATOS_PERSONAS where c01_cuit ='20955578350'
select * from padrones where identificacion = '20955578350'
*/
GO
Depends On
7Used By
No items found