Enterprise COBOL for z/OS, V4.2, Language Reference
A frase PROCEDURE-POINTER define um item como um item de dados do procedure-pointer.
Um item de dados do procedure-pointer é um item elementar de 8 bytes.
Um procedure-pointer pode conter um dos seguintes endereços ou NULL:
- O ponto de entrada principal de um programa COBOL, conforme definido no parágrafo de identificação do programa do programa mais externo de uma unidade de
compilação
- Um ponto de entrada alternativo de um programa COBOL, conforme definido por uma instrução COBOL ENTRY
- Um ponto de entrada em um programa não-COBOL
Um item de dados do procedure-pointer pode ser usado apenas:
- Em uma instrução SET (apenas no formato 6)
- Em uma instrução CALL
- Em uma condição de relação
- Na frase USING de uma instrução ENTRY ou no procedure division header
Os itens de dados do Procedure-pointer podem ser comparados quanto à igualdade ou movidos para outros itens de dados do procedure-pointer.
Os itens de dados do ponteiro de procedimento podem fazer parte de um grupo referido em uma instrução MOVE ou em uma instrução de entrada/saída.
No entanto, não há conversão de valores quando a instrução é executada.
Se um item de dados do ponteiro do procedimento for gravado em um conjunto de dados, a leitura subsequente do registro que contém o ponteiro do procedimento
poderá resultar em um valor inválido no ponteiro do procedimento.
Um item de dados do procedure-pointer pode ser o assunto ou objeto de uma cláusula REDEFINES.
SYNCHRONIZED pode ser usado com USAGE IS PROCEDURE-POINTER para obter um alinhamento eficiente do item de dados do procedure-pointer.
A cláusula GLOBAL, EXTERNAL e OCCURS pode ser usada com USAGE IS PROCEDURE-POINTER.
Uma cláusula VALUE para um item de dados do procedure-pointer pode conter apenas NULL ou NULLS.
As cláusulas DATA FORMAT, JUSTIFIED, PICTURE e BLANK WHEN ZERO não podem ser usadas para descrever itens de grupo ou elementares definidos com a cláusula USAGE
IS PROCEDURE-POINTER.
Um item de dados do procedure-pointer não pode ser uma variável condicional.
Um item de dados do procedure-pointer não pertence a nenhuma classe ou categoria.
Os itens de dados do Procedure-pointer são ignorados nas operações CORRESPONDING.
© Copyright IBM Corp.