Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
29| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_tipo_movimiento | varchar | 1 | |
| @p_motivo_baja | varchar | 1 | |
| @p_nro_identificacion_arba | varchar | 10 | |
| @p_razon_social | varchar | 80 | |
| @p_cuit | varchar | 11 | |
| @p_tipo_documento | varchar | 4 | |
| @p_numero_documento | varchar | 10 | |
| @p_impuesto | varchar | 2 | |
| @p_objeto | varchar | 16 | |
| @p_numero_interno_de_juicio | varchar | 10 | |
| @p_fecha_de_inicio_de_juicio | date | 3 | |
| @p_importe_deuda_del_juicio | decimal | 9 | |
| @p_departamento_judicial | varchar | 2 | |
| @p_numero_de_juzgado | varchar | 2 | |
| @p_secretaria | varchar | 2 | |
| @p_domicilio_calle | varchar | 35 | |
| @p_domicilio_numero | varchar | 6 | |
| @p_domicilio_sin_numero | varchar | 3 | |
| @p_domicilio_piso | varchar | 3 | |
| @p_domicilio_departamento | varchar | 4 | |
| @p_domicilio_localidad | varchar | 35 | |
| @p_domicilio_codigo_postal | varchar | 8 | |
| @p_estado_de_medida_cautelar | varchar | 1 | |
| @p_estado_de_plan_de_pagos | varchar | 1 | |
| @p_fecha_de_plan_de_pagos | date | 3 | |
| @p_cancelacion_del_juicio | varchar | 1 | |
| @p_fecha_de_cancelacion | date | 3 | |
| @p_fecha_de_proceso_arba | smalldatetime | 4 | |
| @p_nombre_file | varchar | 200 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- Despues que se termina de procesar el archivo de Arba hay que correr el control de bajas automáticas
CREATE OR ALTER PROCEDURE dbo.ARBA_actualizar_insertar_2024
--@out_error_number INT = 0 OUTPUT,
@p_tipo_movimiento varchar(1),
@p_motivo_baja varchar(1),
@p_nro_identificacion_arba varchar(10),
@p_razon_social varchar(80),
@p_cuit varchar(11),
@p_tipo_documento varchar(4),
@p_numero_documento varchar(10),
@p_impuesto varchar(2),
@p_objeto varchar(16),
@p_numero_interno_de_juicio varchar(10),
@p_fecha_de_inicio_de_juicio date,
@p_importe_deuda_del_juicio decimal(15,2),
@p_departamento_judicial varchar(2),
@p_numero_de_juzgado varchar(2),
@p_secretaria varchar(2),
@p_domicilio_calle varchar(35),
@p_domicilio_numero varchar(6),
@p_domicilio_sin_numero varchar(3),
@p_domicilio_piso varchar(3),
@p_domicilio_departamento varchar(4),
@p_domicilio_localidad varchar(35),
@p_domicilio_codigo_postal varchar(8),
@p_estado_de_medida_cautelar varchar(1),
@p_estado_de_plan_de_pagos varchar(1),
@p_fecha_de_plan_de_pagos date,
@p_cancelacion_del_juicio varchar(1),
@p_fecha_de_cancelacion date,
@p_fecha_de_proceso_arba smalldatetime,
@p_nombre_file varchar(200)
AS
BEGIN
BEGIN TRY
SET NOCOUNT ON;
declare @Arba_razon_social char(80) = isnull(@p_razon_social,'')
declare @Arba_cuit char(13) = isnull(@p_cuit,'')
declare @Arba_nro_identificacion_arba char(10) = right('0000000000'+isnull(@p_nro_identificacion_arba,0),10)
declare @Arba_numero_cuit char(11) = isnull(@p_cuit,'')
declare @Arba_tipo_documento char(1) = isnull(@p_tipo_documento,'')
declare @Arba_numero_documento char(8) = isnull(@p_numero_documento,'')
declare @Arba_impuesto char(2) = isnull(@p_impuesto,'')
declare @Arba_objeto char(16) = isnull(@p_objeto,'')
declare @Arba_numero_interno_de_juicio char(10) = right('0000000000'+isnull(@p_numero_interno_de_juicio,0),10)
declare @Arba_fecha_de_inicio_de_juicio char(8) = iif(@p_fecha_de_inicio_de_juicio is null,'00000000',format(@p_fecha_de_inicio_de_juicio,'yyyyMMdd'))
declare @Arba_importe_deuda_del_juicio char(15) = format(isnull(@p_importe_deuda_del_juicio,0)*100,'000000000000000')
declare @Arba_departamento_judicial char(2) = right('00'+isnull(@p_departamento_judicial,0),2)
declare @Arba_numero_de_juzgado char(2) = right('00'+isnull(@p_numero_de_juzgado,0),2)
declare @Arba_secretaria char(2) = right('00'+isnull(@p_secretaria,0),2)
declare @Arba_estado_de_medida_cautelar char(1) = isnull(@p_estado_de_medida_cautelar,'')
declare @Arba_estado_de_plan_de_pagos char(1) = isnull(@p_estado_de_plan_de_pagos,'')
declare @Arba_fecha_de_plan_de_pagos char(8) = iif(@p_fecha_de_plan_de_pagos is null,'00000000',format(@p_fecha_de_plan_de_pagos,'yyyyMMdd'))
declare @Arba_cancelacion_del_juicio char(1) = isnull(@p_cancelacion_del_juicio,'')
declare @Arba_fecha_de_cancelacion char(8) = iif(@p_fecha_de_cancelacion is null, '00000000', format(@p_fecha_de_cancelacion,'yyyyMMdd'))
declare @Arba_fecha_de_proceso char(8) = iif(@p_fecha_de_proceso_arba is null,'00000000',format(@p_fecha_de_proceso_arba,'yyyyMMdd'))
declare @Arba_tipo_movimiento_fide char(1) = '5'
declare @Arba_motivo_baja_fide char(1) = ' '
declare @Arba_fecha_proceso_fide char(8) = format(getdate(),'yyyyMMdd')
declare @Arba_codigos_error_fide char(20) = ''
declare @linea varchar(500) = null
declare @Cant int = 0
declare @Error char(1) = 'N'
SET @Arba_Tipo_Movimiento_fide = '5' -- MOVIMIENTO ASENTADO
SET @Arba_Motivo_Baja_fide = ' '
SET @Arba_Codigos_error_fide = ''
SELECT @Cant = COUNT(*)
FROM Arba
WHERE Nro_Identificacion_Arba = @p_nro_identificacion_arba and visible = 1
IF @p_tipo_movimiento = '1' AND @Cant > 0 -- ALTA A REG EXISTENTE
BEGIN
SET @Arba_Codigos_error_fide = '05'
SET @Error = 'S'
end
IF @p_tipo_movimiento = '2' AND @Cant = 0 -- MODIFICACION A REG INEXISTENTE
BEGIN
SET @Arba_Codigos_error_fide = '06'
SET @Error = 'S'
END
IF @p_tipo_movimiento = '4' AND @Cant = 0 -- BAJA A REG INEXISTENTE
BEGIN
SET @Arba_Codigos_error_fide = '07'
SET @Error = 'S'
END
IF @p_tipo_movimiento not in ('1','2','4')
BEGIN
SET @Arba_Codigos_error_fide = '04'
SET @Error = 'S'
END
IF (@Error = 'N')
BEGIN
IF (@p_tipo_movimiento in ('1','2')) -- Alta o Modificacion: valida campos
BEGIN
set @p_cuit = LTRIM(RTRIM(@p_cuit))
set @p_numero_documento = LTRIM(RTRIM(@p_numero_documento))
set @p_numero_documento = LTRIM(RTRIM(@p_numero_documento))
if isnull(@p_cuit,'') = '' and isnull(@p_numero_documento,'') = ''
begin
SET @Arba_Codigos_error_fide = '01'
end
declare @cuit_valido bit = 1
exec sp_validar_cuit @p_cuit, @cuit_valido output
if @cuit_valido = 0
begin
SET @Arba_Codigos_error_fide = '02'
end
set @p_razon_social = UPPER(@p_razon_social)
set @p_razon_social = LTRIM(RTRIM(@p_razon_social))
set @p_razon_social = REPLACE(@p_razon_social,char(39),' ')
set @p_razon_social = REPLACE(@p_razon_social,',',' ')
set @p_razon_social = REPLACE(@p_razon_social,' ',' ')
set @p_razon_social = REPLACE(@p_razon_social,'#','Ñ')
set @p_razon_social = REPLACE(@p_razon_social,'¥','Ñ')
if ISNULL(@p_razon_social,'') = ''
begin
SET @Arba_Codigos_error_fide = '03'
end
IF ISNULL(@Arba_Codigos_error_fide,'') != ''
begin
SET @Arba_tipo_movimiento_fide = '6' -- MOVIMIENTO RECHAZADO POR ERROR
end
END
/* update registros con modificacion (tipo_movimiento=2) o baja (tipo_movimiento=4) */
IF (@p_tipo_movimiento in ('2','4'))
BEGIN
UPDATE Arba SET visible=0, modified=GETDATE(), modified_by=0 WHERE nro_identificacion_arba = @p_nro_identificacion_arba AND cuit = @p_cuit and visible = 1
END
-- Si es baja: Ya se marco como no visible el registro, no se graba la baja
IF (@p_tipo_movimiento != '4')
BEGIN
INSERT INTO Arba
(tipo_movimiento, motivo_baja, nro_identificacion_arba, razon_social, cuit, tipo_documento, numero_documento,
impuesto, objeto, numero_interno_de_juicio, fecha_de_inicio_de_juicio, importe_deuda_del_juicio, departamento_judicial,
numero_de_juzgado, secretaria, domicilio_calle, domicilio_numero, domicilio_sin_numero, domicilio_piso,
domicilio_departamento, domicilio_localidad, domicilio_codigo_postal, estado_de_medida_cautelar, estado_de_plan_de_pagos,
fecha_de_plan_de_pagos, cancelacion_del_juicio, fecha_de_cancelacion, fecha_de_proceso_arba, nombre_file, created_by, modified_by)
VALUES
(@p_tipo_movimiento, @p_motivo_baja, @p_nro_identificacion_arba, @p_razon_social, @p_cuit, @p_tipo_documento, @p_numero_documento,
@p_impuesto, @p_objeto, @p_numero_interno_de_juicio, @p_fecha_de_inicio_de_juicio, @p_importe_deuda_del_juicio, @p_departamento_judicial,
@p_numero_de_juzgado, @p_secretaria, @p_domicilio_calle, @p_domicilio_numero, @p_domicilio_sin_numero, @p_domicilio_piso,
@p_domicilio_departamento, @p_domicilio_localidad, @p_domicilio_codigo_postal, @p_estado_de_medida_cautelar, @p_estado_de_plan_de_pagos,
@p_fecha_de_plan_de_pagos, @p_cancelacion_del_juicio, @p_fecha_de_cancelacion, @p_fecha_de_proceso_arba, @p_nombre_file, 0, 0)
END
END
ELSE
BEGIN
SET @Arba_tipo_movimiento_fide = '6' -- MOVIMIENTO RECHAZADO POR ERROR
END
set @linea =
'03' + -- 03 es el codigo de Fidelitas
@Arba_tipo_movimiento_fide +
@Arba_Motivo_baja_fide +
@p_Tipo_Movimiento +
@Arba_nro_identificacion_arba +
@Arba_razon_social +
@Arba_numero_cuit +
@Arba_tipo_documento +
@Arba_numero_documento +
@Arba_impuesto +
@Arba_objeto +
@Arba_numero_interno_de_juicio +
@Arba_fecha_de_inicio_de_juicio +
@Arba_importe_deuda_del_juicio +
@Arba_departamento_judicial +
@Arba_numero_de_juzgado +
@Arba_secretaria +
@Arba_estado_de_medida_cautelar +
@Arba_estado_de_plan_de_pagos +
@Arba_fecha_de_plan_de_pagos +
@Arba_cancelacion_del_juicio +
@Arba_fecha_de_cancelacion +
@Arba_fecha_de_proceso +
@Arba_fecha_proceso_fide +
@Arba_Codigos_error_fide
insert into arba_respuesta(fecha_proceso_arba, detalle) values (@p_fecha_de_proceso_arba, @linea)
IF (@Arba_tipo_movimiento_fide = '5')
-- Movimiento asentado, veo si se dara baja automatica por tiempos
begin
if @p_fecha_de_inicio_de_juicio IS NOT NULL AND @p_fecha_de_inicio_de_juicio < getdate() - (365*5)
begin
set @Arba_tipo_movimiento_fide = '7' -- BAJA AUTOMATICA
set @Arba_Motivo_baja_fide = '1' -- BAJA x tiempo + 5 años
end
else
begin
if (@p_fecha_de_inicio_de_juicio IS NOT NULL AND @p_fecha_de_inicio_de_juicio < getdate() - (365*2))
begin
if (@p_estado_de_plan_de_pagos = '2')
begin
set @Arba_tipo_movimiento_fide = '7' -- BAJA AUTOMATICA
set @Arba_Motivo_baja_fide = '4' -- BAJA x tiempo + 5 años
end
if @p_cancelacion_del_juicio = 'S' or @p_cancelacion_del_juicio = 'T' or
@p_estado_de_plan_de_pagos = '4' or @p_fecha_de_cancelacion IS NOT NULL
begin
set @Arba_tipo_movimiento_fide = '7' -- BAJA AUTOMATICA
set @Arba_Motivo_baja_fide = '3' -- CON CANCELACION x tiempo + 2 a¤os
end
end
end
if (@Arba_tipo_movimiento_fide = '7')
begin
-- Si se dio baja automatica ==> publica un segundo registro, diciendo esta situacion
set @linea =
'03' + -- 03 es el codigo de Fidelitas
@Arba_tipo_movimiento_fide +
@Arba_Motivo_baja_fide +
'0' + --@p_Tipo_Movimiento
@Arba_nro_identificacion_arba +
@Arba_razon_social +
@Arba_numero_cuit +
@Arba_tipo_documento +
@Arba_numero_documento +
@Arba_impuesto +
@Arba_objeto +
@Arba_numero_interno_de_juicio +
@Arba_fecha_de_inicio_de_juicio +
@Arba_importe_deuda_del_juicio +
@Arba_departamento_judicial +
@Arba_numero_de_juzgado +
@Arba_secretaria +
@Arba_estado_de_medida_cautelar +
@Arba_estado_de_plan_de_pagos +
@Arba_fecha_de_plan_de_pagos +
@Arba_cancelacion_del_juicio +
@Arba_fecha_de_cancelacion +
@Arba_fecha_de_proceso +
@Arba_fecha_proceso_fide +
/* '00000000' + -- @Arba_fecha_proceso_fide */
' ' -- @Arba_Codigos_error_fide
insert into arba_respuesta(fecha_proceso_arba, detalle) values (@p_fecha_de_proceso_arba, @linea)
end
end
IF (@p_Tipo_Movimiento = '1' and isnull(@Arba_numero_cuit,'') != '' and @Arba_tipo_movimiento_fide = '5') -- Para las altas procesadas
begin
/* Domicilios */
declare @domicilios table (id int, domicilio varchar(200), pai_nombre varchar(50), prv_nombre varchar(100), loc_nombre varchar(100), codpos varchar(10), tipo_domicilio varchar(10), created datetime)
declare @domicilio char(72) = ' ',
@localidad char(36) = ' ',
@provincia char(36) = ' ',
@codpos char(8) = ' ',
@tipo_domicilio varchar(10)
insert into @domicilios exec sp_obtener_domicilios @Arba_numero_cuit, 0
/* exec sp_obtener_domicilios '27940368656', 0*/
DECLARE C_cursor_DOM CURSOR FOR
select domicilio, loc_nombre, prv_nombre, codpos from @domicilios
OPEN C_cursor_DOM
FETCH next from C_cursor_DOM INTO @domicilio, @localidad, @provincia, @codpos
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
if isnull(@domicilio,' ') != ' '
begin
if @localidad is null begin set @localidad = @provincia end
if @localidad is null begin set @localidad = ' ' end
if @codpos is null begin set @codpos = ' ' end
set @linea =
'03' + -- 03 es el codigo de Fidelitas
@Arba_nro_identificacion_arba +
@Arba_numero_cuit +
@Arba_tipo_documento +
@Arba_numero_documento +
@domicilio +
' ' + -- Numero
' ' + -- Sin Numero
' ' + -- Piso
' ' + -- Departamento
@localidad +
@codpos
insert into arba_domicilios(fecha_proceso_arba, domicilio) values (@p_fecha_de_proceso_arba, @linea)
end
FETCH next from C_cursor_DOM INTO @domicilio, @localidad, @provincia, @codpos
END
delete from @domicilios
CLOSE C_cursor_DOM
DEALLOCATE C_cursor_DOM
/* Telefonos */
DECLARE C_Cursor_TEL CURSOR
FOR
SELECT distinct d.tipo, rtrim(ltrim(d.telefono))
FROM telefonos AS d
inner join padrones on padrones.id_padron = d.id_padron
WHERE padrones.identificacion = @Arba_numero_cuit
OPEN C_Cursor_TEL
declare @tel varchar(50), @tipo varchar(50)
FETCH next from C_Cursor_TEL INTO @tipo, @tel
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
if (ISNULL(@tel,' ') != ' ')
begin
set @tel = right(space(12) + ltrim(rtrim(dbo.fn_StripCharacters(@tel, '^0-9/'))), 12)
set @linea =
'03' + -- 03 es el codigo de Fidelitas
@Arba_nro_identificacion_arba +
@Arba_numero_cuit +
@Arba_tipo_documento +
@Arba_numero_documento +
IIF(@tipo = 'MOVIL','M','F') + -- Telefono fijo / movil
' ' + -- Codigo de area
@tel
insert into arba_telefonos(fecha_proceso_arba, telefono) values (@p_fecha_de_proceso_arba, @linea)
end
FETCH next from C_Cursor_TEL INTO @tipo, @tel
END
CLOSE C_Cursor_TEL
DEALLOCATE C_Cursor_TEL
end
END TRY
BEGIN CATCH
--SELECT @out_error_number=ERROR_NUMBER()
END CATCH
END
GO
GO
-- Despues que se termina de procesar el archivo de Arba hay que correr el control de bajas automáticas
CREATE OR ALTER PROCEDURE dbo.ARBA_actualizar_insertar_2024
--@out_error_number INT = 0 OUTPUT,
@p_tipo_movimiento varchar(1),
@p_motivo_baja varchar(1),
@p_nro_identificacion_arba varchar(10),
@p_razon_social varchar(80),
@p_cuit varchar(11),
@p_tipo_documento varchar(4),
@p_numero_documento varchar(10),
@p_impuesto varchar(2),
@p_objeto varchar(16),
@p_numero_interno_de_juicio varchar(10),
@p_fecha_de_inicio_de_juicio date,
@p_importe_deuda_del_juicio decimal(15,2),
@p_departamento_judicial varchar(2),
@p_numero_de_juzgado varchar(2),
@p_secretaria varchar(2),
@p_domicilio_calle varchar(35),
@p_domicilio_numero varchar(6),
@p_domicilio_sin_numero varchar(3),
@p_domicilio_piso varchar(3),
@p_domicilio_departamento varchar(4),
@p_domicilio_localidad varchar(35),
@p_domicilio_codigo_postal varchar(8),
@p_estado_de_medida_cautelar varchar(1),
@p_estado_de_plan_de_pagos varchar(1),
@p_fecha_de_plan_de_pagos date,
@p_cancelacion_del_juicio varchar(1),
@p_fecha_de_cancelacion date,
@p_fecha_de_proceso_arba smalldatetime,
@p_nombre_file varchar(200)
AS
BEGIN
BEGIN TRY
SET NOCOUNT ON;
declare @Arba_razon_social char(80) = isnull(@p_razon_social,'')
declare @Arba_cuit char(13) = isnull(@p_cuit,'')
declare @Arba_nro_identificacion_arba char(10) = right('0000000000'+isnull(@p_nro_identificacion_arba,0),10)
declare @Arba_numero_cuit char(11) = isnull(@p_cuit,'')
declare @Arba_tipo_documento char(1) = isnull(@p_tipo_documento,'')
declare @Arba_numero_documento char(8) = isnull(@p_numero_documento,'')
declare @Arba_impuesto char(2) = isnull(@p_impuesto,'')
declare @Arba_objeto char(16) = isnull(@p_objeto,'')
declare @Arba_numero_interno_de_juicio char(10) = right('0000000000'+isnull(@p_numero_interno_de_juicio,0),10)
declare @Arba_fecha_de_inicio_de_juicio char(8) = iif(@p_fecha_de_inicio_de_juicio is null,'00000000',format(@p_fecha_de_inicio_de_juicio,'yyyyMMdd'))
declare @Arba_importe_deuda_del_juicio char(15) = format(isnull(@p_importe_deuda_del_juicio,0)*100,'000000000000000')
declare @Arba_departamento_judicial char(2) = right('00'+isnull(@p_departamento_judicial,0),2)
declare @Arba_numero_de_juzgado char(2) = right('00'+isnull(@p_numero_de_juzgado,0),2)
declare @Arba_secretaria char(2) = right('00'+isnull(@p_secretaria,0),2)
declare @Arba_estado_de_medida_cautelar char(1) = isnull(@p_estado_de_medida_cautelar,'')
declare @Arba_estado_de_plan_de_pagos char(1) = isnull(@p_estado_de_plan_de_pagos,'')
declare @Arba_fecha_de_plan_de_pagos char(8) = iif(@p_fecha_de_plan_de_pagos is null,'00000000',format(@p_fecha_de_plan_de_pagos,'yyyyMMdd'))
declare @Arba_cancelacion_del_juicio char(1) = isnull(@p_cancelacion_del_juicio,'')
declare @Arba_fecha_de_cancelacion char(8) = iif(@p_fecha_de_cancelacion is null, '00000000', format(@p_fecha_de_cancelacion,'yyyyMMdd'))
declare @Arba_fecha_de_proceso char(8) = iif(@p_fecha_de_proceso_arba is null,'00000000',format(@p_fecha_de_proceso_arba,'yyyyMMdd'))
declare @Arba_tipo_movimiento_fide char(1) = '5'
declare @Arba_motivo_baja_fide char(1) = ' '
declare @Arba_fecha_proceso_fide char(8) = format(getdate(),'yyyyMMdd')
declare @Arba_codigos_error_fide char(20) = ''
declare @linea varchar(500) = null
declare @Cant int = 0
declare @Error char(1) = 'N'
SET @Arba_Tipo_Movimiento_fide = '5' -- MOVIMIENTO ASENTADO
SET @Arba_Motivo_Baja_fide = ' '
SET @Arba_Codigos_error_fide = ''
SELECT @Cant = COUNT(*)
FROM Arba
WHERE Nro_Identificacion_Arba = @p_nro_identificacion_arba and visible = 1
IF @p_tipo_movimiento = '1' AND @Cant > 0 -- ALTA A REG EXISTENTE
BEGIN
SET @Arba_Codigos_error_fide = '05'
SET @Error = 'S'
end
IF @p_tipo_movimiento = '2' AND @Cant = 0 -- MODIFICACION A REG INEXISTENTE
BEGIN
SET @Arba_Codigos_error_fide = '06'
SET @Error = 'S'
END
IF @p_tipo_movimiento = '4' AND @Cant = 0 -- BAJA A REG INEXISTENTE
BEGIN
SET @Arba_Codigos_error_fide = '07'
SET @Error = 'S'
END
IF @p_tipo_movimiento not in ('1','2','4')
BEGIN
SET @Arba_Codigos_error_fide = '04'
SET @Error = 'S'
END
IF (@Error = 'N')
BEGIN
IF (@p_tipo_movimiento in ('1','2')) -- Alta o Modificacion: valida campos
BEGIN
set @p_cuit = LTRIM(RTRIM(@p_cuit))
set @p_numero_documento = LTRIM(RTRIM(@p_numero_documento))
set @p_numero_documento = LTRIM(RTRIM(@p_numero_documento))
if isnull(@p_cuit,'') = '' and isnull(@p_numero_documento,'') = ''
begin
SET @Arba_Codigos_error_fide = '01'
end
declare @cuit_valido bit = 1
exec sp_validar_cuit @p_cuit, @cuit_valido output
if @cuit_valido = 0
begin
SET @Arba_Codigos_error_fide = '02'
end
set @p_razon_social = UPPER(@p_razon_social)
set @p_razon_social = LTRIM(RTRIM(@p_razon_social))
set @p_razon_social = REPLACE(@p_razon_social,char(39),' ')
set @p_razon_social = REPLACE(@p_razon_social,',',' ')
set @p_razon_social = REPLACE(@p_razon_social,' ',' ')
set @p_razon_social = REPLACE(@p_razon_social,'#','Ñ')
set @p_razon_social = REPLACE(@p_razon_social,'¥','Ñ')
if ISNULL(@p_razon_social,'') = ''
begin
SET @Arba_Codigos_error_fide = '03'
end
IF ISNULL(@Arba_Codigos_error_fide,'') != ''
begin
SET @Arba_tipo_movimiento_fide = '6' -- MOVIMIENTO RECHAZADO POR ERROR
end
END
/* update registros con modificacion (tipo_movimiento=2) o baja (tipo_movimiento=4) */
IF (@p_tipo_movimiento in ('2','4'))
BEGIN
UPDATE Arba SET visible=0, modified=GETDATE(), modified_by=0 WHERE nro_identificacion_arba = @p_nro_identificacion_arba AND cuit = @p_cuit and visible = 1
END
-- Si es baja: Ya se marco como no visible el registro, no se graba la baja
IF (@p_tipo_movimiento != '4')
BEGIN
INSERT INTO Arba
(tipo_movimiento, motivo_baja, nro_identificacion_arba, razon_social, cuit, tipo_documento, numero_documento,
impuesto, objeto, numero_interno_de_juicio, fecha_de_inicio_de_juicio, importe_deuda_del_juicio, departamento_judicial,
numero_de_juzgado, secretaria, domicilio_calle, domicilio_numero, domicilio_sin_numero, domicilio_piso,
domicilio_departamento, domicilio_localidad, domicilio_codigo_postal, estado_de_medida_cautelar, estado_de_plan_de_pagos,
fecha_de_plan_de_pagos, cancelacion_del_juicio, fecha_de_cancelacion, fecha_de_proceso_arba, nombre_file, created_by, modified_by)
VALUES
(@p_tipo_movimiento, @p_motivo_baja, @p_nro_identificacion_arba, @p_razon_social, @p_cuit, @p_tipo_documento, @p_numero_documento,
@p_impuesto, @p_objeto, @p_numero_interno_de_juicio, @p_fecha_de_inicio_de_juicio, @p_importe_deuda_del_juicio, @p_departamento_judicial,
@p_numero_de_juzgado, @p_secretaria, @p_domicilio_calle, @p_domicilio_numero, @p_domicilio_sin_numero, @p_domicilio_piso,
@p_domicilio_departamento, @p_domicilio_localidad, @p_domicilio_codigo_postal, @p_estado_de_medida_cautelar, @p_estado_de_plan_de_pagos,
@p_fecha_de_plan_de_pagos, @p_cancelacion_del_juicio, @p_fecha_de_cancelacion, @p_fecha_de_proceso_arba, @p_nombre_file, 0, 0)
END
END
ELSE
BEGIN
SET @Arba_tipo_movimiento_fide = '6' -- MOVIMIENTO RECHAZADO POR ERROR
END
set @linea =
'03' + -- 03 es el codigo de Fidelitas
@Arba_tipo_movimiento_fide +
@Arba_Motivo_baja_fide +
@p_Tipo_Movimiento +
@Arba_nro_identificacion_arba +
@Arba_razon_social +
@Arba_numero_cuit +
@Arba_tipo_documento +
@Arba_numero_documento +
@Arba_impuesto +
@Arba_objeto +
@Arba_numero_interno_de_juicio +
@Arba_fecha_de_inicio_de_juicio +
@Arba_importe_deuda_del_juicio +
@Arba_departamento_judicial +
@Arba_numero_de_juzgado +
@Arba_secretaria +
@Arba_estado_de_medida_cautelar +
@Arba_estado_de_plan_de_pagos +
@Arba_fecha_de_plan_de_pagos +
@Arba_cancelacion_del_juicio +
@Arba_fecha_de_cancelacion +
@Arba_fecha_de_proceso +
@Arba_fecha_proceso_fide +
@Arba_Codigos_error_fide
insert into arba_respuesta(fecha_proceso_arba, detalle) values (@p_fecha_de_proceso_arba, @linea)
IF (@Arba_tipo_movimiento_fide = '5')
-- Movimiento asentado, veo si se dara baja automatica por tiempos
begin
if @p_fecha_de_inicio_de_juicio IS NOT NULL AND @p_fecha_de_inicio_de_juicio < getdate() - (365*5)
begin
set @Arba_tipo_movimiento_fide = '7' -- BAJA AUTOMATICA
set @Arba_Motivo_baja_fide = '1' -- BAJA x tiempo + 5 años
end
else
begin
if (@p_fecha_de_inicio_de_juicio IS NOT NULL AND @p_fecha_de_inicio_de_juicio < getdate() - (365*2))
begin
if (@p_estado_de_plan_de_pagos = '2')
begin
set @Arba_tipo_movimiento_fide = '7' -- BAJA AUTOMATICA
set @Arba_Motivo_baja_fide = '4' -- BAJA x tiempo + 5 años
end
if @p_cancelacion_del_juicio = 'S' or @p_cancelacion_del_juicio = 'T' or
@p_estado_de_plan_de_pagos = '4' or @p_fecha_de_cancelacion IS NOT NULL
begin
set @Arba_tipo_movimiento_fide = '7' -- BAJA AUTOMATICA
set @Arba_Motivo_baja_fide = '3' -- CON CANCELACION x tiempo + 2 a¤os
end
end
end
if (@Arba_tipo_movimiento_fide = '7')
begin
-- Si se dio baja automatica ==> publica un segundo registro, diciendo esta situacion
set @linea =
'03' + -- 03 es el codigo de Fidelitas
@Arba_tipo_movimiento_fide +
@Arba_Motivo_baja_fide +
'0' + --@p_Tipo_Movimiento
@Arba_nro_identificacion_arba +
@Arba_razon_social +
@Arba_numero_cuit +
@Arba_tipo_documento +
@Arba_numero_documento +
@Arba_impuesto +
@Arba_objeto +
@Arba_numero_interno_de_juicio +
@Arba_fecha_de_inicio_de_juicio +
@Arba_importe_deuda_del_juicio +
@Arba_departamento_judicial +
@Arba_numero_de_juzgado +
@Arba_secretaria +
@Arba_estado_de_medida_cautelar +
@Arba_estado_de_plan_de_pagos +
@Arba_fecha_de_plan_de_pagos +
@Arba_cancelacion_del_juicio +
@Arba_fecha_de_cancelacion +
@Arba_fecha_de_proceso +
@Arba_fecha_proceso_fide +
/* '00000000' + -- @Arba_fecha_proceso_fide */
' ' -- @Arba_Codigos_error_fide
insert into arba_respuesta(fecha_proceso_arba, detalle) values (@p_fecha_de_proceso_arba, @linea)
end
end
IF (@p_Tipo_Movimiento = '1' and isnull(@Arba_numero_cuit,'') != '' and @Arba_tipo_movimiento_fide = '5') -- Para las altas procesadas
begin
/* Domicilios */
declare @domicilios table (id int, domicilio varchar(200), pai_nombre varchar(50), prv_nombre varchar(100), loc_nombre varchar(100), codpos varchar(10), tipo_domicilio varchar(10), created datetime)
declare @domicilio char(72) = ' ',
@localidad char(36) = ' ',
@provincia char(36) = ' ',
@codpos char(8) = ' ',
@tipo_domicilio varchar(10)
insert into @domicilios exec sp_obtener_domicilios @Arba_numero_cuit, 0
/* exec sp_obtener_domicilios '27940368656', 0*/
DECLARE C_cursor_DOM CURSOR FOR
select domicilio, loc_nombre, prv_nombre, codpos from @domicilios
OPEN C_cursor_DOM
FETCH next from C_cursor_DOM INTO @domicilio, @localidad, @provincia, @codpos
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
if isnull(@domicilio,' ') != ' '
begin
if @localidad is null begin set @localidad = @provincia end
if @localidad is null begin set @localidad = ' ' end
if @codpos is null begin set @codpos = ' ' end
set @linea =
'03' + -- 03 es el codigo de Fidelitas
@Arba_nro_identificacion_arba +
@Arba_numero_cuit +
@Arba_tipo_documento +
@Arba_numero_documento +
@domicilio +
' ' + -- Numero
' ' + -- Sin Numero
' ' + -- Piso
' ' + -- Departamento
@localidad +
@codpos
insert into arba_domicilios(fecha_proceso_arba, domicilio) values (@p_fecha_de_proceso_arba, @linea)
end
FETCH next from C_cursor_DOM INTO @domicilio, @localidad, @provincia, @codpos
END
delete from @domicilios
CLOSE C_cursor_DOM
DEALLOCATE C_cursor_DOM
/* Telefonos */
DECLARE C_Cursor_TEL CURSOR
FOR
SELECT distinct d.tipo, rtrim(ltrim(d.telefono))
FROM telefonos AS d
inner join padrones on padrones.id_padron = d.id_padron
WHERE padrones.identificacion = @Arba_numero_cuit
OPEN C_Cursor_TEL
declare @tel varchar(50), @tipo varchar(50)
FETCH next from C_Cursor_TEL INTO @tipo, @tel
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
if (ISNULL(@tel,' ') != ' ')
begin
set @tel = right(space(12) + ltrim(rtrim(dbo.fn_StripCharacters(@tel, '^0-9/'))), 12)
set @linea =
'03' + -- 03 es el codigo de Fidelitas
@Arba_nro_identificacion_arba +
@Arba_numero_cuit +
@Arba_tipo_documento +
@Arba_numero_documento +
IIF(@tipo = 'MOVIL','M','F') + -- Telefono fijo / movil
' ' + -- Codigo de area
@tel
insert into arba_telefonos(fecha_proceso_arba, telefono) values (@p_fecha_de_proceso_arba, @linea)
end
FETCH next from C_Cursor_TEL INTO @tipo, @tel
END
CLOSE C_Cursor_TEL
DEALLOCATE C_Cursor_TEL
end
END TRY
BEGIN CATCH
--SELECT @out_error_number=ERROR_NUMBER()
END CATCH
END
GO
Depends On
6Used By
No items found