SAP B1 SQL:IBAN en ESPAÑA de carácter obligatorio desde Febrero 2014, Algoritmo de cálculo


Algo va a cambiar el 1 febrero de 2014 en las cuentas bancarias. Se acabó eso de realizar transferencias o domiciliaciones facilitando el número de cuenta corriente de 20 dígitos. A partir de esa fecha, sólo se podrá usar un nuevo estándar europeo para ejecutar esas operaciones.

Es decir, la cuenta de cualquier español ya no estará identificada con las siglas CCC, ni tendrá 20 dígitos, sino que pasará a llamarse IBAN y contará con cuatro dígitos más. Esto es, el código del país -ES 1428, en el caso de España- y un dígito de control. Es lo que se ha bautizado con el nombre de SEPA, siglas que responden a Zona Única de Pago en Euros, “consecuencia lógica de haber introducido el euro”, según fuentes del Banco de España.

Para ello os dejo un breve resumen de sentencias sql que realizan la conversión de todas las cuentas de clientes y proveedores que tengáis en vuestro sistema calculando su IBAN correspondiente. Debéis tener en cuenta que el algoritmo actual sólo utiliza ES como caracterizador, para otro países acudir al estándar de la SEPA

Pseudocódigo del algoritmo

CALCULO Y MODIFICACIÓN DEL IBAN SEGUN NORMA ISO:
BANCO+SUCURSAL+DC+CUENTA+1428=X
RESTO(X,97)=Y
98-Y=Z
ES+(Z.2DIGITOS)=IBAN

Query SQL:

Select  ‘ES’+ RIGHT(REPLICATE(‘0′, 2)+ CAST(98-convert(decimal(26),T0.ENTIDAD +”+T0.SUCURSAL +”+T0.CC +”+T0.Cuenta+”+’142800’)%97 AS VARCHAR(2)), 2) as IBAN  FROM TABLA_CLIENTES_PROVEEDORES_CON_DATOS_BANCARIOS

Query para SAP B1 en 8.82 (simula la tabla de Cuentas bancarias del IC)

SELECT
AbsEntry, CardCode, BankCode, Country, Account, Branch, Street, Block, ZipCode, City, County, State, ControlKey, UsrNumber1, UsrNumber2,
UsrNumber3, UsrNumber4
, ‘ES’+ RIGHT(REPLICATE(‘0′, 2)+ CAST(98-convert(decimal(26),T0.BankCode +”+T0.Branch +”+T0.ControlKey +”+T0.Account+”+’142800’)%97 AS VARCHAR(2)), 2) as IBAN
, LogInstanc, Building, AliasName, AcctType, BankKey, BIK, AcctName, CorresAcct, Phone, Fax, ISRType, ISRBillerI,
CustIdNum, AddrType, StreetNo, SwiftNum, ABARoutNum, MandateID, SignDate, PWZAbsEntr, BranchChk
FROM OCRB AS T0

(C) IAPSA

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

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: