UFN_FINANCIALINSTITUTION_ROUTINGNUMBERISVALID
UFN_FINANCIALINSTITUTION_ROUTINGNUMBERISVALID
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ROUTINGNUMBER | nvarchar(9) | IN |
Definition
Copy
create function dbo.UFN_FINANCIALINSTITUTION_ROUTINGNUMBERISVALID(@ROUTINGNUMBER nvarchar(9))
returns bit
with execute as caller
as begin
if len(@ROUTINGNUMBER) = 9
begin
declare @I int;
declare @CHECKSUMTOTAL int;
declare @DIGIT char;
set @I = 1;
set @CHECKSUMTOTAL = 0;
while @I <= 8
begin
set @DIGIT = substring(@ROUTINGNUMBER, @I, 1);
if @DIGIT >= '0' and @DIGIT <= '9'
set @CHECKSUMTOTAL = @CHECKSUMTOTAL + convert(int,@DIGIT) * ((@I % 3 + 1) * (@I % 3 + 1) - (@I % 3));
else
return 0;
set @I = @I + 1;
end
set @DIGIT = substring(@ROUTINGNUMBER, 9, 1);
if @DIGIT >= '0' and @DIGIT <= '9'
if convert(int,@DIGIT) = ceiling(cast(@CHECKSUMTOTAL as decimal) / 10) * 10 - @CHECKSUMTOTAL
return 1;
end
return 0;
end