Tuesday 3 December 2024

O comando COMPUTE atribui o valor de uma expressão aritmética a uma referência especificada. O COMPUTE é uma palavra-chave e não pode ser abreviada.

>>-COMPUTE--refence--=--expression--;--------------------->

 

reference

Um válido z / OS depurador COBOL referência numérica.

expression

Um válido z / OS depurador COBOL expressão numérica.

 

Notas:

  • Se você estiver depurando um programa COBOL otimizado, COMPUTE para atribuir um valor a uma variável de programa somente se você SET WARNING OFF comando.
  • Se você está depurando um programa COBOL otimizado e você especificar uma expressão , você pode fazer referência a variáveis do programa que não foram descartados pelo otimizador.
  • Se z/OS depurador foi iniciado devido a uma condição computacional ou uma atenção interromper, usando uma atribuição para definir uma variável pode não dar os resultados esperados. Isto é devido à incerteza de valores de variáveis ​​dentro de declarações em oposição aos seus valores em limites de declaração.
  • COMPUTE atribui um valor apenas a um único receptor; Diferentemente de COBOL, variáveis ​​de receptor múltiplas não são suportadas.
  • A Palavra-chave "EQUAL" não é suportada ("=" deve ser utilizado).
  • Palavra-chaves ROUNDED e SIZE ERROR não são suportadas, por isso END-COMPUTE não é suportado.
  • COMPUTE não pode ser utilizado para executar um cálculo com um campo de data janelas se a expressão é constituída por mais do que um operando.
  • Qualquer campo de data expandido especificado como um operando na expressão é tratado como um campo nondate.
  • O resultado da avaliação da expressão é sempre considerada como sendo um campo nondate.
  • Se a expressão é constituída por um único operando numérico, o COMPUTE será tratado como um MOVE portanto, sujeitas às mesmas regras que o comando MOVE.
  • Se o parâmetro DATA do comando PLAYBACK ENABLE estiver em vigor para a unidade de compilação, COMPUTE pode ser usado enquanto você repete as instruções gravadas usando o comando PLAYBACK. O objetivo do comando COMPUTE deve ser uma variável de sessão.
  • O valor atribuído a uma variável é sempre atribuído ao armazenamento para essa variável. Em um programa otimizado, uma variável pode ser temporariamente atribuída a um registrador, e um novo valor atribuído a essa variável não altera necessariamente o valor usado pelo programa.

 

Exemplos:

  • Atribuir a variável X o valor de A + 6.

COMPUTE X = A + 6;

  • Atribuir à variável mycode o valor Z/OS Debugger variável %PATHCODE + 1.

COMPUTE mycode = %PATHCODE + 1;

  • Atribuir a variável XX O resultado da expressão (A + E (1)) / C * 2.

COMPUTE XX = (A + E(1)) ⁄ C * 2;

Você também pode usar elementos de tabela em tais atribuições como mostrado no exemplo a seguir.

COMPUTE itm-2(1,2) = (a + 10) ⁄ e(2);