Enterprise COBOL for z/OS, V4.2, Language Reference
A instrução GOBACK funciona como a instrução EXIT PROGRAM quando é codificada como parte de um programa chamado (ou a instrução EXIT METHOD quando GOBACK é
codificada como parte de um método chamado) e como a instrução STOP RUN quando codificada em um programa principal.
A instrução GOBACK especifica o final lógico de um programa chamado ou método chamado.
Uma declaração GOBACK deve aparecer como a única declaração ou a última de uma série de declarações imperativas em uma frase, porque quaisquer declarações após o
GOBACK não são executadas.
GOBACK não deve ser usado em um procedimento declarativo no qual a frase GLOBAL é especificada.
Se o controle atingir uma instrução GOBACK enquanto uma instrução CALL estiver ativa, o controle retornará ao ponto no programa ou método de chamada imediatamente
após a instrução CALL, como na instrução EXIT PROGRAM.
Além disso, a execução de uma instrução GOBACK em um programa chamado que possui o atributo INITIAL é equivalente a executar uma instrução CANCEL que faz
referência a esse programa.
A tabela abaixo mostra as ações executadas para a instrução GOBACK em um programa principal, um subprograma e um método chamado.
| Termination statement |
Programa principal |
Subprograma |
Método invocado |
| GOBACK |
Retorna ao programa de chamada. |
Retorna ao programa de chamada. |
Retorna ao método de chamada.
|
Exemplo prático
Programa principal:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRINCIPAL.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AUXILIARES.
05 WS-INPUT1 PIC 9(002).
05 WS-INPUT2 PIC 9(002).
05 WS-OUT-PUT PIC 9(003).
PROCDEDURE DIVISION.
ACCEPT WS-INPUT1
ACCEPT WS-INPUT2
CALL 'SUBPROGR' USING WS-INPUT1 WS-INPUT2 WS-OUT-PUT
DISPLAY WS-OUT-PUT
STOP RUN.
|
|
Sub-programa:
IDENTIFICATION DIVISION.
PROGRAM-ID. SUBPROGR.
ENVIRONMENT DIVISION.
DATA DIVISION.
LINKAGE SECTION.
01 LS-AUXILIARES.
05 LS-INPUT1 PIC 9(002).
05 LS-INPUT2 PIC 9(002).
05 LS-OUT-PUT PIC 9(003).
PROCEDURE DIVISION USING LS-INPUT1 LS-INPUT2 LS-OUT-PUT.
COMPUTE LS-OUT-PUT = LS-INPUT1 * LS-INPUT2
GOBACK.
|
|
Veja também
© Copyright IBM Corp.