Brian Dunning's FileMaker Custom Functions

Verhoeff ( numericString ; index ; checkSum )

Returns the Verhoeff dihedral check digit of numericString. Use this function to verify a numeric string protected by a Verhoeff check digit, or to generate the correct Verhoeff check digit for a given numeric string.

  Average rating: 3.7 (58 votes) Log in to vote

Michael Horak   Michael Horak
*COMMENT Visual Realisation
http://comment.cjb.net/

Share on Facebook Share on Twitter

  Sample input:
Verhoeff ( "1428570" ; 0 ; 0 )

Middle ( "0432156789" ; Verhoeff ( "142857" & "0" ; 0 ; 0 ) + 1 ; 1 )
  Sample output:
0

0

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

Returns the Verhoeff dihedral check digit of numericString. Use this function to verify a numeric string protected by a Verhoeff check digit, or to generate the correct Verhoeff check digit for a given numeric string.

For more information about the Verhoeff algorithm, see:
http://en.wikipedia.org/wiki/Verhoeff_algorithm



EXAMPLES OF CALLING THE FUNCTION

1. To extract the check digit from a string in Input field:

Verhoeff ( Input ; 0 ; 0 )

A result of zero (0) indicates a valid entry; any other result indicates a data entry error.


2. To validate an entry in Input field:

not Verhoeff ( Input ; 0 ; 0 )


3. To generate a check digit for a string in Input field:

Middle ( "0432156789" ; Verhoeff ( Input & "0" ; 0 ; 0 ) + 1 ; 1 )


4. To append a check digit to a string in Input field:

Input & Middle ( "0432156789" ; Verhoeff ( Input & "0" ; 0 ; 0 ) + 1 ; 1 )


 

Comments

Rodolfo Vargas   Rodolfo Vargas, Santa Cruz - Bolivia
Nov 25, 2012
Desarrollo en File Maker 9,11,12 y pondre a prueba esta funcioin , paRA GENERAR UN CODIGO DE CONTROL....en facturas para impuestos internos......
 

Log in to post comments.

 

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

Under construction. Email me your wish list for improvements.