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