Auxílios do VisualAge Generator

EZEC10

EZEC10 verifica um dígito de verificação de 10 módulos.

Usos

EZEC10 pode ser utilizado como qualquer um dos seguintes:

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

>>-EZEC10---(--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 10 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 10. 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 que contêm o valor 1734284 (o 4 na extrema direita é o dígito de auto-verificação digitado, não faz parte do número base), mylength é um item de dados binários que contém o valor 7 e myresult é um item de dados binários cujo valor será definido pela rotina EZEC10.

EZEC10(myinput,mylength,myresult);

EZEC10 deriva o dígito de verificação de módulo 10, usando o seguinte algoritmo:

  1. Multiplique a posição das unidade do número base dos dados de origem por 2 e multiplique cada posição alternada, da direita para a esquerda, por 2:

    1    7    3    4    2    8    4 (Dígito de autoverificação)
       x 2       x 2       x 2
       ___       ___       ___
        14         8        16
    
  2. Somar os dígitos dos produtos aos dígitos do número base que não foram multiplicados por 2:
    1 + 1 + 4 + 3 + 8 + 2 + 1 + 6 = 26
    
  3. Subtrair a soma do número mais alto seguinte terminado em 0 para obter o dígito de auto-verificação. (Se a diferença for 10, 0 é usado.)
       30 - 26 = 4
    

    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 ]