COBOL - Funções intrínsecas - TEST-NUMVAL-C



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Funções intrínsecas - TEST-NUMVAL-C
Intrinsic functions - Enterprise COBOL for z/OS 6.3.0

A função TEST-NUMVAL-C verifica se o conteúdo do argument-1 está em conformidade com a especificação do argument-1 da função NUMVAL-C.

O tipo de função é inteiro.

argument-1
Deve ser um literal alfanumérico, um literal nacional ou um item de dados da classe alfanumérica ou nacional da classe que contenha uma cadeia de caracteres em um dos seguintes formatos:

Formato 1: argument-1

Formato 2: argument-1, formato monetário - monetary format

space
Uma sequência de um ou mais espaços.

cs
A sequência de um ou mais caracteres que formam o sinal de moeda.
No máximo, uma cópia dos caracteres especificados por cs pode ocorrer no argument-1.

digit
Uma sequência de um ou mais dígitos.
Se a opção do compilador ARITH (COMPAT) estiver em vigor, o número total de dígitos não deverá exceder 18.
Se a opção do compilador ARITH (EXTEND) estiver em vigor, o número total de dígitos não deverá exceder 31.

Se a cláusula DECIMAL-POINT IS COMMA for especificada no parágrafo SPECIAL-NAMES, as funções da vírgula e do ponto decimal no argumento-1 serão revertidas.

argument-2
Especifica o valor da sequência da moeda.

As seguintes regras se aplicam:

  • O argument-2 deve ser especificado se o programa contiver mais de uma cláusula CURRENCY SIGN.
  • o argument-2, se especificado, deve ser da mesma classe que o argument-1.
  • o argument-2 não deve conter nenhum dos dígitos de 0 a 9, espaços à esquerda ou à direita ou qualquer um dos caracteres especiais '+', '-', '.' ou ','.
  • o argument-2 pode ter qualquer comprimento válido para um item de dados elementar ou de grupo da classe do argument-2, incluindo zero.
  • A correspondência do argument-2 diferencia maiúsculas de minúsculas.
    Por exemplo, se você especificar o argument-2 como 'CHF', ele não corresponderá a 'ChF', 'chf' ou 'chF'.

Se o argument-2 não for especificado, o caractere usado para cs é o símbolo da moeda especificado para o programa.

O valor retornado é o seguinte:

  • Se o conteúdo do argument-1 estiver em conformidade com as regras de argumento da função NUMVAL-C, o valor retornado será 0.
  • Se um ou mais caracteres estiverem com erro, o valor retornado será a posição do primeiro caractere com erro.
    Notas:
    • Se um ou mais espaços forem incorporados a uma sequência de caracteres numéricos, o valor retornado será a posição do primeiro caractere não espacial após os espaços, porque um ou mais espaços após um ou mais dígitos são válidos.
    • Se a opção do compilador ARITH (COMPAT) estiver em vigor, o valor retornado será a posição do 19º dígito se nenhum erro anterior for encontrado, porque o caracter com erro para um argumento maior que 18 dígitos é o 19º dígito.
    • Se a opção do compilador ARITH (EXTEND) estiver em vigor, o valor retornado será a posição do 32º dígito se nenhum erro anterior for encontrado, porque o caracter com erro para um argumento maior que 31 dígitos é o 32º dígito.
  • Caso contrário, o valor retornado será (FUNCTION LENGTH (argument-1) + 1).

    Esses erros incluem, mas não estão limitados a:

    • argument-1 tem comprimento zero.
    • argument-1 contém apenas espaços.
    • argument-1 contém caracteres válidos, mas está incompleto, como a sequência '+.'


© Copyright IBM Corp.