Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Check digit 11 Algorithm (vfp function)
Message
From
30/09/2002 08:36:21
 
 
To
30/09/2002 05:56:20
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00705844
Message ID:
00705864
Views:
10
We use this "modulo 11" function, all comments are in french...:

*-----
function modulo_11
*
* Retourne une chaine de validation selon la méthode
* du modulo 11 PTT (Pour BVR avec numéro d'adhérent à 5 positions)
* Syntaxe: modulo_11('12345678901234')
*
parameters l_numero

private all like l_*

* Nettoye le numero
l_numero = alltrim(l_numero)
l_longueur = len(l_numero)

* Calcule la somme des produits
l_facteur = 1
l_produits = 0
for l_pos = l_longueur to 1 step -1

* Corrige le facteur
l_facteur = l_facteur + 1
if l_facteur = 8
l_facteur = 2
endif

* Produits
l_produits = l_produits + (l_facteur * val(substr(l_numero, l_pos, 1)))

endfor

* Reste de la division
l_reste = mod(l_produits, 11)

* Chiffre clé
if l_reste = 0
l_retval = '00'
else
l_retval = transform(11 - l_reste, '@l 99')
endif

return l_retval
*-----
Gensoft Sàrl
Christian Carron
Previous
Reply
Map
View

Click here to load this message in the networking platform