Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @cuit | varchar | 20 | |
| @validacion | bit | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
declare @val bit
exec sp_validar_cuit '20208925658', @val output
select @val
*/
CREATE OR ALTER PROCEDURE dbo.sp_validar_cuit
@cuit varchar(20),
@validacion bit output
AS
begin
declare @verificador int
declare @resultado int = 0
declare @cuit_nro varchar(11)
declare @codes varchar(10) = '6789456789'
set @cuit = (select replace(@cuit,'-',''))
set @cuit = (select replace(@cuit,'.',''))
set @cuit = (select replace(@cuit,'/',''))
set @cuit = (select replace(@cuit,' ',''))
set @cuit = (select ltrim(rtrim(@cuit)))
if (len(@cuit)=11)
begin
set @cuit_nro = @cuit
set @verificador = RIGHT(@cuit_nro, 1)
declare @x int = 0
while @x < 10
begin
declare @digitoValidador int = convert(int, substring(@codes, @x + 1, 1))
declare @digito int = convert(int, substring(@cuit_nro, @x + 1, 1))
declare @digitoValidacion int = @digitoValidador * @digito
set @resultado = @resultado + @digitoValidacion
set @x = @x + 1
end
set @resultado = @resultado % 11
If @resultado = @verificador
begin
set @validacion = 1
end
else
begin
set @validacion = 0
End
end
else
begin
set @validacion = 0
end
end
GO
GO
/*
declare @val bit
exec sp_validar_cuit '20208925658', @val output
select @val
*/
CREATE OR ALTER PROCEDURE dbo.sp_validar_cuit
@cuit varchar(20),
@validacion bit output
AS
begin
declare @verificador int
declare @resultado int = 0
declare @cuit_nro varchar(11)
declare @codes varchar(10) = '6789456789'
set @cuit = (select replace(@cuit,'-',''))
set @cuit = (select replace(@cuit,'.',''))
set @cuit = (select replace(@cuit,'/',''))
set @cuit = (select replace(@cuit,' ',''))
set @cuit = (select ltrim(rtrim(@cuit)))
if (len(@cuit)=11)
begin
set @cuit_nro = @cuit
set @verificador = RIGHT(@cuit_nro, 1)
declare @x int = 0
while @x < 10
begin
declare @digitoValidador int = convert(int, substring(@codes, @x + 1, 1))
declare @digito int = convert(int, substring(@cuit_nro, @x + 1, 1))
declare @digitoValidacion int = @digitoValidador * @digito
set @resultado = @resultado + @digitoValidacion
set @x = @x + 1
end
set @resultado = @resultado % 11
If @resultado = @verificador
begin
set @validacion = 1
end
else
begin
set @validacion = 0
End
end
else
begin
set @validacion = 0
end
end
GO
Depends On
No items found