Si tenemos que utilizar datos de una base de datos SQL, nos sera util la siguiente función de SQL, la función requiere la entrada del código de país y el numero de la cuenta.
create function [dbo].[CalculoIBAN] (@Pais varchar(2), @Cuenta varchar(50))
returns varchar (50)
as
begin
DECLARE @Letras As varchar(50)
DECLARE @IBAN As varchar(50)
DECLARE @Dividendo As int
DECLARE @Resto As int
DECLARE @Contador As int
declare @Resultado as varchar(50)
set @Cuenta = Replace(@Cuenta,' ', '') --limpia espacios
set @Cuenta = Replace(@Cuenta,'-', '') --limpia guiones
set @Pais = upper(@Pais)
-- Calcula el valor de las letras, las quita y añade el valor al final
set @Letras = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
set @IBAN = @Cuenta + cast((CHARINDEX( Left(@Pais, 1),@Letras) + 9) as varchar)
+ cast((CHARINDEX( Right(@Pais, 1),@Letras) + 9) as varchar) + '00'
SET @Contador = 1
set @Resto=0
WHILE (@Contador <= Len(@IBAN))
BEGIN
set @Dividendo = cast(@Resto as varchar) + substring(@IBAN, @Contador, 1)
set @Resto = @Dividendo % 97
SET @Contador = @Contador + 1
END
set @Resultado = Right('00' + cast((98 - @Resto) as varchar),2)
return ( @Pais + @Resultado + @Cuenta)
end
No hay comentarios:
Publicar un comentario