SQL:Función para el cálculo del dígito de control de una cuenta bancaria


Por si a alguien le resulta útil, aunque sea bastante sencillo, adjunto la función t-sql para el calculo del DC de una cuenta bancaria:

Create function [dbo].[ZIAPSACCCgenerateDC] (@Entidad AS CHAR(4), @Agencia AS CHAR(4), @Cuenta AS CHAR(10) )
returns CHAR(2)
as
BEGIN
declare
@RetVal CHAR(2),
@aPesos AS CHAR(10),
@iDC1 AS INT,
@iDC2 AS INT,
@iX AS INT,
@iDigit AS INT,
@iResto AS INT,
@sEntOfi AS CHAR(8)

SET @aPesos = ‘0137498625’ –cal sumar-hi 1
SET @sEntOfi = @Entidad + @Agencia

SET @iDC1 = 0
SET @iX = 8
WHILE (@iX > 0)
begin
SET @iDigit = SUBSTRING(@sEntOfi,@iX,1)
SET @iDC1 = @iDC1 + ( CAST( substring(@aPesos, @iX+2, 1) AS INT ) + 1 ) * @iDigit
SET @iX = @iX -1
END
SET @iResto = @iDC1 % 11
SET @iDC1 = 11 – @iResto
IF (@iDC1 = 10) SET @iDC1 = 1
IF (@iDC1 = 11) SET @iDC1 = 0

SET @iDC2 = 0
SET @iX = 10
WHILE (@iX > 0)
begin
SET @iDigit = SUBSTRING(@Cuenta,@iX,1)
SET @iDC2 = @iDC2 + ( CAST( substring(@aPesos, @iX, 1) AS INT ) + 1 ) * @iDigit
SET @iX = @iX -1
END
SET @iResto = @iDC2 % 11
SET @iDC2 = 11 – @iResto
IF (@iDC2 = 10) SET @iDC2 = 1;
IF (@iDC2 = 11) SET @iDC2 = 0;

SET @retval = CAST ( @iDC1 AS CHAR(1) ) + CAST ( @iDC2 AS CHAR(1) )

return @Retval
end

Acerca de albertoarceti
Administrador de sistemas informáticos, y erps en la industria farmacéutica.

One Response to SQL:Función para el cálculo del dígito de control de una cuenta bancaria

  1. Buenas, me podrías enviar el codigo de esta funcion por txt a gimeno@hotmail.com por favor?
    ya que copiandola de la web y pegandola no me funciona.
    Es de SQL Server de microsoft?
    Gracias

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: