Auxílios do VisualAge Generator

EZEC11

EZEC11 verifica um dígito de verificação do módulo 11.

Usos

EZEC11 pode ser utilizado como qualquer um dos seguintes:

A seguir a seqüência de chamada para EZEC11:

>>-EZEC11---(--xxxx--,---yyyy--,---zzzz--)--;------------------><
 

xxxx
Item de dados de caractere em armazenamento de trabalho que contém o número para o qual se quer verificar 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 número for de módulo 11 e 1 se não for.

Considerações sobre Definição

Quando usado como rotina de edição de campo variável de mapa, o valor é verificado para o comprimento do campo definido para garantir que ele passe na verificação de módulo 11. Se a verificação falhar, o usuário do programa será solicitado a digitar corretamente os dados.

Ambientes de Destino

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

Exemplo de

No exemplo a seguir, myinput é definido como dados de caracteres contendo o valor 56621865 (o 5 mais à direita é o dígito de alto-verificação entrado, não parte do número base), mylength é um item de dados binário contendo o valor 8 e myresult é um item de dados binário cujo valor será definido pela rotina EZEC11.

EZEC11(myinput,mylength,myresult);

EZEC11 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 ]