Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @dni | varchar | 13 | |
| @todos_o_no_en_padron | char | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- [dni_buscar_cuit_posible] '96282812', 'S'
CREATE OR ALTER PROCEDURE dbo.dni_buscar_cuit_posible
@dni varchar(13),
@todos_o_no_en_padron char(1) = 'N'
AS
BEGIN
SET NOCOUNT ON;
if ((select ISNUMERIC(@dni)) = 0) return
if ((select len(@dni)) > 8) return
if ((select len(@dni)) = 0) return
declare @resultado int = 0
declare @cuit_nro varchar(11)
declare @cuit varchar(11)
declare @validacion bit
declare @codes varchar(10) = '6789456789'
--declare @codes varchar(10) = '5432765432'
declare @res char(1)
declare @ok char(1)
declare @pre char(2)
declare @tabla table (cuit varchar(11))
set @ok = 'N'
set @pre = '20'
while @ok = 'N'
begin
set @cuit_nro = @pre + right('00000000'+@dni,8)
declare @x int = 1
set @resultado = 0
while @x <= 10
begin
declare @digitoValidador int = convert(int, substring(@codes, @x , 1))
declare @digito int = convert(int, substring(@cuit_nro, @x, 1))
declare @digitoValidacion int = @digitoValidador * @digito
set @resultado = @resultado + @digitoValidacion
set @x = @x + 1
end
set @resultado = @resultado % 11
set @res = right('00'+convert(varchar,@resultado),1)
set @cuit = @cuit_nro + @res
insert into @tabla values ( @cuit )
if (@pre = '27') begin set @ok = 'S' end
if (@pre = '24') begin set @pre = '27'end
if (@pre = '23') begin set @pre = '24'end
if (@pre = '20') begin set @pre = '23'end
end
if (@todos_o_no_en_padron) = 'N'
select cuit from @tabla
where not exists(select * from padrones
where identificacion = cuit
and habilitado = 1
and identificador in (select identificador from identificadores where country_code = 'AR'))
else
select cuit from @tabla
END
GO
GO
-- [dni_buscar_cuit_posible] '96282812', 'S'
CREATE OR ALTER PROCEDURE dbo.dni_buscar_cuit_posible
@dni varchar(13),
@todos_o_no_en_padron char(1) = 'N'
AS
BEGIN
SET NOCOUNT ON;
if ((select ISNUMERIC(@dni)) = 0) return
if ((select len(@dni)) > 8) return
if ((select len(@dni)) = 0) return
declare @resultado int = 0
declare @cuit_nro varchar(11)
declare @cuit varchar(11)
declare @validacion bit
declare @codes varchar(10) = '6789456789'
--declare @codes varchar(10) = '5432765432'
declare @res char(1)
declare @ok char(1)
declare @pre char(2)
declare @tabla table (cuit varchar(11))
set @ok = 'N'
set @pre = '20'
while @ok = 'N'
begin
set @cuit_nro = @pre + right('00000000'+@dni,8)
declare @x int = 1
set @resultado = 0
while @x <= 10
begin
declare @digitoValidador int = convert(int, substring(@codes, @x , 1))
declare @digito int = convert(int, substring(@cuit_nro, @x, 1))
declare @digitoValidacion int = @digitoValidador * @digito
set @resultado = @resultado + @digitoValidacion
set @x = @x + 1
end
set @resultado = @resultado % 11
set @res = right('00'+convert(varchar,@resultado),1)
set @cuit = @cuit_nro + @res
insert into @tabla values ( @cuit )
if (@pre = '27') begin set @ok = 'S' end
if (@pre = '24') begin set @pre = '27'end
if (@pre = '23') begin set @pre = '24'end
if (@pre = '20') begin set @pre = '23'end
end
if (@todos_o_no_en_padron) = 'N'
select cuit from @tabla
where not exists(select * from padrones
where identificacion = cuit
and habilitado = 1
and identificador in (select identificador from identificadores where country_code = 'AR'))
else
select cuit from @tabla
END
GO