Auxílios do VisualAge Generator

EZEG11

EZEG11 gera um dígito de verificação de módulo 11.

Usos

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--)--;------------------><
 

xxxx
Item de dados de caractere em armazenamento de trabalho que contém o número para o qual se quer gerar um dígito de verificação e que inclui uma posição para o dígito de verificação.

yyyy
Item de dados binário de menos de 5 dígitos que contém o número de caracteres a ser usado no item xxxx e o dígito de verificação.

zzzz
Item de dados binário de menos de 5 dígitos que retorna 0 se o dígito de verificação de módulo 11 tiver sido gerado e 1 se não tiver.

Ambientes de Destino

Suportado em todos os ambientes sem considerações de compatibilidade.

Exemplo

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:

  1. Multiplicar o dígito das unidades (mais a direita) do número base por 2, a posição de décimos por 3, a posição de centésimos por 4, e assim por diante, até 7 ser usado como um multiplicador. Se houverem mais dígitos a multiplicar, começar a seqüência novamente usando 2 como um multiplicador:
        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
    
  2. Somar os produtos do passo 1:
    10 + 42 + 36 + 10 + 4 + 24 + 12 = 138
    
  3. Dividir a soma dos produtos por 11:
              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.


[ Início da Página | Página Anterior | Próxima Página | Índice ]