dbo.validar_cuit

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

1
Name Data Type Length Description
@cuit varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.validar_cuit
@cuit varchar(20)
AS

begin
declare @verificador int
declare @resultado int = 0
declare @cuit_nro varchar(11)
declare @validacion bit
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
 select 1 as validacion
 end
 else
 begin
 select 0 as validacion
 End
end
else
begin
 select 0 as validacion
end 

end

GO

Depends On

No items found