EZEG11 gera um dígito de verificação de módulo 11.
Você pode utilizar EZEG11 como o nome de função em uma instrução de chamada da função.
A seqüência de chamada para EZEG11 é:
>>-EZEG11---(--xxxx--,---yyyy--,---zzzz--)--;------------------><
Suportado em todos os ambientes sem considerações de compatibilidade.
No exemplo dado, myinput é definido como dados de caractere que contêm o valor 56621865 (o 5 da direita é o dígito de autoverificação informado, não faz parte do número base), mylength é um item de dados binário que contém o valor 8 e myresult é um item de dados binário cujo valor será definido pela rotina de EZEG11.
EZEG11(myinput,mylength,myresult);
EZEG11 deriva o dígito de verificação de módulo 11, usando o seguinte algoritmo:
5 6 6 2 1 8 6 5 (dígito de autoverificação) x 2 x 7 x 6 x 5 x 4 x 3 x 2 10 42 36 10 4 24 12
10 + 42 + 36 + 10 + 4 + 24 + 12 = 138
12 _________ 11 |138 11 ______ 28 22 _____ 6
Subtrair o resto de 11 para obter o dígito de autoverificação. (Se o resto for 0 ou 1, 0 é usado.)
11 - 6 = 5
O dígito resultante é o de autoverificação. A variável myresult é definida para 0, se o dígito de autoverificação for gerado, ou para 1, se não for.