Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
7| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_cuit | varchar | 13 | |
| @p_codpos | varchar | 10 | |
| @p_domicilio | varchar | 70 | |
| @p_loc_nombre | varchar | 50 | |
| @p_prv_codigo | varchar | 2 | |
| @p_prv_nombre | varchar | 50 | |
| @p_tipo_domicilio | varchar | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.insertar_domicilio_afip_COPIA
@p_cuit varchar(13),
@p_codpos varchar(10),
@p_domicilio varchar(70),
@p_loc_nombre varchar(50),
@p_prv_codigo varchar(2),
@p_prv_nombre varchar(50),
@p_tipo_domicilio varchar(1)
AS
BEGIN
SET NOCOUNT ON;
IF ((select COUNT (*) from domicilios_todos
where (cuit = @p_cuit)
and ((codpos is null and @p_codpos is null) or (codpos = @p_codpos))
and ((domicilio is null and @p_domicilio is null) or (domicilio = @p_domicilio))
and ((loc_nombre is null and @p_loc_nombre is null) or (loc_nombre = @p_loc_nombre))
and ((prv_codigo is null and @p_prv_codigo is null) or (prv_codigo = @p_prv_codigo))
and ((prv_nombre is null and @p_prv_codigo is null) or (prv_nombre = @p_prv_nombre))
and ((tipo_domicilio is null and @p_tipo_domicilio is null) or (tipo_domicilio = @p_tipo_domicilio))
and (visible = 1)) = 0)
BEGIN
begin try
IF (@p_tipo_domicilio != 'O') -- Cambiar tipos repetidos
BEGIN
UPDATE domicilios_todos
SET
tipo_domicilio = 'O',
modified = GETDATE()
WHERE (cuit = @p_cuit) AND (tipo_domicilio = @p_tipo_domicilio) and (visible = 1)
END
INSERT INTO domicilios_todos
(codpos, cuit, domicilio, loc_nombre,
prv_codigo, prv_nombre,
pai_codigo, pai_nombre,
tipo_domicilio, created, visible,nombre_fuente)
VALUES
(@p_codpos, @p_cuit, @p_domicilio, @p_loc_nombre,
@p_prv_codigo, @p_prv_nombre,
'54','ARGENTINA',
@p_tipo_domicilio, GETDATE(), 1, 'AFIP')
select 'ok' as ok -- Para verificar que se pudo ejecutar el insert
end try
begin catch
select ERROR_MESSAGE() as error
end catch
END
ELSE
BEGIN
update domicilios_todos
set nombre_fuente = 'AFIP', modified = getdate()
where (cuit = @p_cuit)
and ((codpos is null and @p_codpos is null) or (codpos = @p_codpos))
and ((domicilio is null and @p_domicilio is null) or (domicilio = @p_domicilio))
and ((loc_nombre is null and @p_loc_nombre is null) or (loc_nombre = @p_loc_nombre))
and ((prv_codigo is null and @p_prv_codigo is null) or (prv_codigo = @p_prv_codigo))
and ((prv_nombre is null and @p_prv_codigo is null) or (prv_nombre = @p_prv_nombre))
and ((tipo_domicilio is null and @p_tipo_domicilio is null) or (tipo_domicilio = @p_tipo_domicilio))
and (visible = 1)
AND nombre_fuente != 'AFIP'
END
END
GO
GO
CREATE OR ALTER PROCEDURE dbo.insertar_domicilio_afip_COPIA
@p_cuit varchar(13),
@p_codpos varchar(10),
@p_domicilio varchar(70),
@p_loc_nombre varchar(50),
@p_prv_codigo varchar(2),
@p_prv_nombre varchar(50),
@p_tipo_domicilio varchar(1)
AS
BEGIN
SET NOCOUNT ON;
IF ((select COUNT (*) from domicilios_todos
where (cuit = @p_cuit)
and ((codpos is null and @p_codpos is null) or (codpos = @p_codpos))
and ((domicilio is null and @p_domicilio is null) or (domicilio = @p_domicilio))
and ((loc_nombre is null and @p_loc_nombre is null) or (loc_nombre = @p_loc_nombre))
and ((prv_codigo is null and @p_prv_codigo is null) or (prv_codigo = @p_prv_codigo))
and ((prv_nombre is null and @p_prv_codigo is null) or (prv_nombre = @p_prv_nombre))
and ((tipo_domicilio is null and @p_tipo_domicilio is null) or (tipo_domicilio = @p_tipo_domicilio))
and (visible = 1)) = 0)
BEGIN
begin try
IF (@p_tipo_domicilio != 'O') -- Cambiar tipos repetidos
BEGIN
UPDATE domicilios_todos
SET
tipo_domicilio = 'O',
modified = GETDATE()
WHERE (cuit = @p_cuit) AND (tipo_domicilio = @p_tipo_domicilio) and (visible = 1)
END
INSERT INTO domicilios_todos
(codpos, cuit, domicilio, loc_nombre,
prv_codigo, prv_nombre,
pai_codigo, pai_nombre,
tipo_domicilio, created, visible,nombre_fuente)
VALUES
(@p_codpos, @p_cuit, @p_domicilio, @p_loc_nombre,
@p_prv_codigo, @p_prv_nombre,
'54','ARGENTINA',
@p_tipo_domicilio, GETDATE(), 1, 'AFIP')
select 'ok' as ok -- Para verificar que se pudo ejecutar el insert
end try
begin catch
select ERROR_MESSAGE() as error
end catch
END
ELSE
BEGIN
update domicilios_todos
set nombre_fuente = 'AFIP', modified = getdate()
where (cuit = @p_cuit)
and ((codpos is null and @p_codpos is null) or (codpos = @p_codpos))
and ((domicilio is null and @p_domicilio is null) or (domicilio = @p_domicilio))
and ((loc_nombre is null and @p_loc_nombre is null) or (loc_nombre = @p_loc_nombre))
and ((prv_codigo is null and @p_prv_codigo is null) or (prv_codigo = @p_prv_codigo))
and ((prv_nombre is null and @p_prv_codigo is null) or (prv_nombre = @p_prv_nombre))
and ((tipo_domicilio is null and @p_tipo_domicilio is null) or (tipo_domicilio = @p_tipo_domicilio))
and (visible = 1)
AND nombre_fuente != 'AFIP'
END
END
GO
Depends On
1Used By
No items found