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
CREATE OR ALTER PROCEDURE dbo.ARBA_relacionar_id_padron
AS
BEGIN
SET NOCOUNT ON
DECLARE @p_id_arba int
DECLARE @p_id_padron int
DECLARE @p_arba_cuit varchar(11)
DECLARE @p_arba_n_doc varchar(10)
DECLARE @p_arba_razon_s varchar(120)
DECLARE @p_arba_cuit_or_n_doc varchar(25) -- 11 + 4 + 10 [@cuit+' OR '+@n_doc]
-- cursor con lista id_arba para procesar
DECLARE cursor_arba CURSOR FOR
SELECT id_arba, cuit, numero_documento, razon_social FROM Arba WHERE id_padron IS NULL
OPEN cursor_arba
FETCH cursor_arba INTO @p_id_arba, @p_arba_cuit, @p_arba_n_doc, @p_arba_razon_s
WHILE (@@FETCH_STATUS = 0)
BEGIN
PRINT 'FETCH id_arba '+CAST(@p_id_arba as varchar(20))
PRINT ' ['+CAST(@p_arba_cuit as varchar(20))+', "'+CAST(@p_arba_razon_s as varchar(150))+'", '+CAST(@p_arba_n_doc as varchar(20))+']'
SET @p_arba_razon_s = REPLACE(@p_arba_razon_s,'"','""')
IF (@p_arba_n_doc = '' OR @p_arba_n_doc = '00000000') SET @p_arba_n_doc = NULL;
PRINT ' 1. CONTAINS(padrones.*,arba_cuit)'
-- CONTAINS(padrones.*,arba_cuit)
SET @p_id_padron = (SELECT id_padron FROM padrones WHERE CONTAINS(*,@p_arba_cuit) GROUP BY id_padron HAVING count(*)=1)
IF (@p_id_padron IS NOT NULL)
GOTO Update_id_padron;
PRINT ' 2. CONTAINS(padrones.*,arba_cuit OR arba_num_doc) AND CONTAINS(padrones.nombre_persona,arba_razon_social)'
-- CONTAINS(padrones.*,arba_cuit OR arba_num_doc) AND CONTAINS(padrones.nombre_persona,arba_razon_social)
SET @p_arba_cuit_or_n_doc = @p_arba_cuit;
IF (@p_arba_n_doc IS NOT NULL) SET @p_arba_cuit_or_n_doc = @p_arba_cuit_or_n_doc + ' OR ' + @p_arba_n_doc;
SET @p_arba_razon_s = '"'+@p_arba_razon_s+'"';
SET @p_id_padron = (SELECT id_padron FROM padrones WHERE CONTAINS(*,@p_arba_cuit_or_n_doc) AND CONTAINS(nombre_persona,@p_arba_razon_s) GROUP BY id_padron HAVING count(*)=1)
IF (@p_id_padron IS NOT NULL)
GOTO Update_id_padron;
-- PRINT ' 3. padrones.numero = arba_cuit OR padrones.identificacion = arba_cuit'
-- -- padrones.numero = arba_cuit OR padrones.identificacion = arba_cuit
-- SET @p_id_padron = (SELECT id_padron FROM padrones WHERE numero = @p_arba_cuit OR identificacion = @p_arba_cuit GROUP BY id_padron HAVING count(*)=1)
-- IF (@p_id_padron IS NOT NULL)
-- GOTO Update_id_padron;
--
-- -- padrones.cuerpo_clave = arba_num_doc
-- IF (@p_arba_n_doc IS NOT NULL)
-- BEGIN
-- PRINT ' 4. padrones.cuerpo_clave = arba_num_doc'
-- SET @p_id_padron = (SELECT id_padron FROM padrones WHERE cuerpo_clave = @p_arba_n_doc GROUP BY id_padron HAVING count(*)=1)
-- IF (@p_id_padron IS NOT NULL)
-- GOTO Update_id_padron;
-- END
--
-- PRINT ' 5. padrones.numero LIKE %arba_cuit%'
-- -- padrones.numero LIKE %arba_cuit%
-- SET @p_id_padron = (SELECT id_padron FROM padrones WHERE numero LIKE '%'+@p_arba_cuit+'%' GROUP BY id_padron HAVING count(*)=1)
-- IF (@p_id_padron IS NOT NULL)
-- GOTO Update_id_padron;
--
-- PRINT ' 6. padrones.identificacion LIKE %arba_cuit%'
-- -- padrones.identificacion LIKE %arba_cuit%
-- SET @p_id_padron = (SELECT id_padron FROM padrones WHERE identificacion LIKE '%'+@p_arba_cuit+'%' GROUP BY id_padron HAVING count(*)=1)
-- IF (@p_id_padron IS NOT NULL)
-- GOTO Update_id_padron;
--
-- -- padrones.cuerpo_clave LIKE %arba_num_doc%
-- IF (@p_arba_n_doc IS NOT NULL)
-- BEGIN
-- PRINT ' 7. padrones.cuerpo_clave LIKE %arba_num_doc%'
-- SET @p_id_padron = (SELECT id_padron FROM padrones WHERE cuerpo_clave LIKE '%'+@p_arba_n_doc+'%' GROUP BY id_padron HAVING count(*)=1)
-- IF (@p_id_padron IS NOT NULL)
-- GOTO Update_id_padron;
-- END
Update_id_padron:
IF (@p_id_padron IS NOT NULL)
BEGIN
PRINT ' >>> Update_id_padron: ' + CAST(@p_id_padron as varchar(20))
UPDATE Arba SET id_padron = @p_id_padron, modified=GETDATE(), modified_by=0 WHERE id_arba = @p_id_arba;
END
ELSE PRINT ' ...No se encontro en padrones'
FETCH cursor_arba INTO @p_id_arba, @p_arba_cuit, @p_arba_n_doc, @p_arba_razon_s;
END
CLOSE cursor_arba
DEALLOCATE cursor_arba
END
GO
GO
CREATE OR ALTER PROCEDURE dbo.ARBA_relacionar_id_padron
AS
BEGIN
SET NOCOUNT ON
DECLARE @p_id_arba int
DECLARE @p_id_padron int
DECLARE @p_arba_cuit varchar(11)
DECLARE @p_arba_n_doc varchar(10)
DECLARE @p_arba_razon_s varchar(120)
DECLARE @p_arba_cuit_or_n_doc varchar(25) -- 11 + 4 + 10 [@cuit+' OR '+@n_doc]
-- cursor con lista id_arba para procesar
DECLARE cursor_arba CURSOR FOR
SELECT id_arba, cuit, numero_documento, razon_social FROM Arba WHERE id_padron IS NULL
OPEN cursor_arba
FETCH cursor_arba INTO @p_id_arba, @p_arba_cuit, @p_arba_n_doc, @p_arba_razon_s
WHILE (@@FETCH_STATUS = 0)
BEGIN
PRINT 'FETCH id_arba '+CAST(@p_id_arba as varchar(20))
PRINT ' ['+CAST(@p_arba_cuit as varchar(20))+', "'+CAST(@p_arba_razon_s as varchar(150))+'", '+CAST(@p_arba_n_doc as varchar(20))+']'
SET @p_arba_razon_s = REPLACE(@p_arba_razon_s,'"','""')
IF (@p_arba_n_doc = '' OR @p_arba_n_doc = '00000000') SET @p_arba_n_doc = NULL;
PRINT ' 1. CONTAINS(padrones.*,arba_cuit)'
-- CONTAINS(padrones.*,arba_cuit)
SET @p_id_padron = (SELECT id_padron FROM padrones WHERE CONTAINS(*,@p_arba_cuit) GROUP BY id_padron HAVING count(*)=1)
IF (@p_id_padron IS NOT NULL)
GOTO Update_id_padron;
PRINT ' 2. CONTAINS(padrones.*,arba_cuit OR arba_num_doc) AND CONTAINS(padrones.nombre_persona,arba_razon_social)'
-- CONTAINS(padrones.*,arba_cuit OR arba_num_doc) AND CONTAINS(padrones.nombre_persona,arba_razon_social)
SET @p_arba_cuit_or_n_doc = @p_arba_cuit;
IF (@p_arba_n_doc IS NOT NULL) SET @p_arba_cuit_or_n_doc = @p_arba_cuit_or_n_doc + ' OR ' + @p_arba_n_doc;
SET @p_arba_razon_s = '"'+@p_arba_razon_s+'"';
SET @p_id_padron = (SELECT id_padron FROM padrones WHERE CONTAINS(*,@p_arba_cuit_or_n_doc) AND CONTAINS(nombre_persona,@p_arba_razon_s) GROUP BY id_padron HAVING count(*)=1)
IF (@p_id_padron IS NOT NULL)
GOTO Update_id_padron;
-- PRINT ' 3. padrones.numero = arba_cuit OR padrones.identificacion = arba_cuit'
-- -- padrones.numero = arba_cuit OR padrones.identificacion = arba_cuit
-- SET @p_id_padron = (SELECT id_padron FROM padrones WHERE numero = @p_arba_cuit OR identificacion = @p_arba_cuit GROUP BY id_padron HAVING count(*)=1)
-- IF (@p_id_padron IS NOT NULL)
-- GOTO Update_id_padron;
--
-- -- padrones.cuerpo_clave = arba_num_doc
-- IF (@p_arba_n_doc IS NOT NULL)
-- BEGIN
-- PRINT ' 4. padrones.cuerpo_clave = arba_num_doc'
-- SET @p_id_padron = (SELECT id_padron FROM padrones WHERE cuerpo_clave = @p_arba_n_doc GROUP BY id_padron HAVING count(*)=1)
-- IF (@p_id_padron IS NOT NULL)
-- GOTO Update_id_padron;
-- END
--
-- PRINT ' 5. padrones.numero LIKE %arba_cuit%'
-- -- padrones.numero LIKE %arba_cuit%
-- SET @p_id_padron = (SELECT id_padron FROM padrones WHERE numero LIKE '%'+@p_arba_cuit+'%' GROUP BY id_padron HAVING count(*)=1)
-- IF (@p_id_padron IS NOT NULL)
-- GOTO Update_id_padron;
--
-- PRINT ' 6. padrones.identificacion LIKE %arba_cuit%'
-- -- padrones.identificacion LIKE %arba_cuit%
-- SET @p_id_padron = (SELECT id_padron FROM padrones WHERE identificacion LIKE '%'+@p_arba_cuit+'%' GROUP BY id_padron HAVING count(*)=1)
-- IF (@p_id_padron IS NOT NULL)
-- GOTO Update_id_padron;
--
-- -- padrones.cuerpo_clave LIKE %arba_num_doc%
-- IF (@p_arba_n_doc IS NOT NULL)
-- BEGIN
-- PRINT ' 7. padrones.cuerpo_clave LIKE %arba_num_doc%'
-- SET @p_id_padron = (SELECT id_padron FROM padrones WHERE cuerpo_clave LIKE '%'+@p_arba_n_doc+'%' GROUP BY id_padron HAVING count(*)=1)
-- IF (@p_id_padron IS NOT NULL)
-- GOTO Update_id_padron;
-- END
Update_id_padron:
IF (@p_id_padron IS NOT NULL)
BEGIN
PRINT ' >>> Update_id_padron: ' + CAST(@p_id_padron as varchar(20))
UPDATE Arba SET id_padron = @p_id_padron, modified=GETDATE(), modified_by=0 WHERE id_arba = @p_id_arba;
END
ELSE PRINT ' ...No se encontro en padrones'
FETCH cursor_arba INTO @p_id_arba, @p_arba_cuit, @p_arba_n_doc, @p_arba_razon_s;
END
CLOSE cursor_arba
DEALLOCATE cursor_arba
END
GO
Depends On
2Used By
No items found