COBOL - Character-strings - Special registers



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

COBOL - Character-strings - Special registers
Enterprise COBOL for z/OS 6.3.0, Language Reference

Registradores especiais são palavras reservadas que nomeiam áreas de armazenamento geradas pelo compilador.

Seu principal uso é armazenar informações produzidas através de recursos específicos do COBOL.
Cada uma dessas áreas de armazenamento tem um nome fixo e não deve ser definido no programa.

Para programas com o atributo RECURSIVE, para programas compilados com a opção THREAD e para métodos, o armazenamento dos seguintes registros especiais é alocado por invocação:

  • ADDRESS OF
  • JSON-CODE
  • JSON-STATUS
  • RETURN-CODE
  • SORT-CONTROL
  • SORT-CORE-SIZE
  • SORT-FILE-SIZE
  • SORT-MESSAGE
  • SORT-MODE-SIZE
  • SORT-RETURN
  • TALLY
  • XML-CODE
  • XML-EVENT
  • XML-INFORMATION
  • XML-NAMESPACE
  • XML-NAMESPACE-PREFIX
  • XML-NNAMESPACE
  • XML-NNAMESPACE-PREFIX
  • XML-NTEXT
  • XML-TEXT

Para a primeira chamada para um programa após um cancelamento desse programa ou para uma chamada de método, o compilador inicializa os campos de registro especiais com seus valores iniciais.

Para os quatro casos a seguir:

  • Programas que possuem a cláusula INITIAL especificada
  • Programas que possuem a cláusula RECURSIVE especificada
  • Programas compilados com a opção THREAD
  • Métodos

os seguintes registros especiais são redefinidos para seu valor inicial em cada entrada de programa ou método:

  • JSON-CODE
  • JSON-STATUS
  • RETURN-CODE
  • SORT-CONTROL
  • SORT-CORE-SIZE
  • SORT-FILE-SIZE
  • SORT-MESSAGE
  • SORT-MODE-SIZE
  • SORT-RETURN
  • TALLY
  • XML-CODE
  • XML-EVENT

Além disso, nos quatro casos acima, os valores definidos em registradores especiais ADDRESS OF persistem apenas durante o período da chamada específica do programa ou método.

Em todos os outros casos, os registros especiais não serão redefinidos; eles permanecerão inalterados em relação ao valor contido na CALL ou INVOKE anterior.

A menos que seja explicitamente restrito, um registro especial pode ser usado sempre que um nome de dados ou identificador que tenha a mesma definição que a definição implícita do registro especial possa ser usado.
Definições implícitas, se aplicáveis, são fornecidas na especificação de cada registro especial.

Você pode especificar um registro especial alfanumérico em uma função sempre que um argumento alfanumérico para uma função for permitido, a menos que seja especificamente proibido.

Se a qualificação for permitida, registros especiais podem ser qualificados conforme necessário para fornecer exclusividade.



© Copyright IBM Corp.