|
Enterprise COBOL for z/OS, Version 4.2, Programming Guide
Se um programa é deixado em seu último estado usado ou em seu estado inicial, e para qual chamador ele retorna, pode depender das instruções de término que você usa.
Você pode usar qualquer uma das três instruções de término em um programa, mas elas têm efeitos diferentes, conforme mostrado na tabela abaixo.
Tabela 1. Efeitos das declarações de rescisão
| Declaração de término |
Programa principal |
Subprograma |
| EXIT PROGRAM |
Nenhuma ação tomada |
Retorne ao programa de chamada sem encerrar a unidade de execução.
Uma instrução EXIT PROGRAM implícita é gerada se o programa chamado não tiver a próxima instrução executável.
Em um ambiente encadeado, o encadeamento não é encerrado a menos que o programa seja o primeiro (mais antigo) do encadeamento. |
| STOP RUN |
Retorne ao programa de chamada.1 (pode ser o sistema operacional, e o aplicativo será encerrado.)
STOP RUN termina a unidade de execução e exclui todos os programas chamados dinamicamente na unidade de execução e todos os programas editados por link com eles.
(Não exclui o programa principal.)
Em um ambiente encadeado, todo o enclave do Language Environment é encerrado, incluindo todos os encadeamentos em execução no enclave. |
Retorne diretamente ao programa que chamou o programa principal.1 (pode ser o sistema operacional, e o aplicativo será
encerrado.)
STOP RUN termina a unidade de execução e exclui todos os programas chamados dinamicamente na unidade de execução e todos os programas editados por link com eles.
(Não exclui o programa principal.)
Em um ambiente encadeado, todo o enclave do Language Environment é encerrado, incluindo todos os encadeamentos em execução no enclave. |
| GOBACK |
Retorne ao programa de chamada.1 (pode ser o sistema operacional, e o aplicativo será encerrado.)
GOBACK termina a unidade de execução e exclui todos os programas chamados dinamicamente na unidade de execução e todos os programas editados por link com eles.
(Não exclui o programa principal.)
Em um ambiente encadeado, o encadeamento é encerrado.2 |
Retorne ao programa de chamada.
Em um ambiente encadeado, se o programa for o primeiro programa em um encadeamento, o encadeamento será encerrado.2 |
- Se o programa principal for chamado por um programa escrito em outra linguagem que não segue as convenções de vinculação do Ambiente de Linguagem, retorne
para este programa de chamada.
- Se o encadeamento for o encadeamento inicial de execução em um enclave, o enclave será encerrado.
|
Um subprograma é normalmente deixado em seu último estado usado quando termina com EXIT PROGRAM ou GOBACK.
Na próxima vez que o subprograma for chamado na unidade de execução, seus valores internos serão os mesmos, exceto que os valores de retorno para instruções
PERFORM são redefinidos para seus valores iniciais.
(Em contraste, um programa principal é inicializado cada vez que é chamado.)
Existem alguns casos em que os programas estarão em seu estado inicial:
- Um subprograma que é chamado dinamicamente e depois cancelado estará no estado inicial na próxima vez que for chamado.
- Um programa que possui o atributo INITIAL estará no estado inicial toda vez que for chamado.
- Os itens de dados definidos na LOCAL-STORAGE SECTION serão redefinidos para o estado inicial especificado por suas cláusulas VALUE cada vez que o programa for
chamado.
Tarefas relacionadas
© Copyright IBM Corp.
|