COBOL - Procedures



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

COBOL - Procedures
Enterprise COBOL for z/OS, V4.2, Language Reference

Dentro da PROCEDURE DIVISION, um procedimento consiste em:

  • Uma seção ou um grupo de seções
  • Um parágrafo ou grupo de parágrafos

Um nome do procedimento é um nome definido pelo usuário que identifica uma seção ou um parágrafo.

Section
Um cabeçalho de seção opcionalmente seguido por um ou mais parágrafos.
Section-header
Um nome de seção seguido pela palavra-chave SECTION, opcionalmente seguido por um número de prioridade, seguido por um período separador.

Os cabeçalhos de seção são opcionais após as palavras-chave END DECLARATIVES ou se não houver declarativos.

Section-name
Uma palavra definida pelo usuário que identifica uma seção.
Um nome de seção referenciado, porque não pode ser qualificado, deve ser exclusivo no programa em que está definido.

Priority-number
Um número inteiro ou um literal numérico com sinal positivo, variando de 0 a 99.
O número de prioridade identifica um segmento fixo ou um segmento independente que deve conter a seção.

As seções na parte declarativa devem conter números de prioridade no intervalo de 0 a 49.

Você não pode especificar números de prioridade:

  • Em uma definição de método
  • Em um programa declarado com o atributo RECURSIVE
  • Em um programa compilado com a opção do compilador THREAD

Uma seção termina imediatamente antes do cabeçalho da próxima seção, ou no final da divisão do procedimento ou, na parte declarativa, nas palavras-chave END DECLARATIVES.

Segments
Um segmento consiste em todas as seções em um programa que possuem o mesmo número de prioridade.
O número de prioridade determina se uma seção é armazenada em um segmento fixo ou em um segmento independente no tempo de execução.

Segmentos com um número de prioridade de 0 a 49 são segmentos fixos.
Os segmentos com um número de prioridade de 50 a 99 são segmentos independentes.

O tipo de segmento (fixo ou independente) controla o recurso de segmentação.

Em segmentos fixos, os procedimentos estão sempre no último estado usado.
Em segmentos independentes, os procedimentos estão no estado inicial cada vez que o segmento recebe o controle de um segmento com um número de prioridade diferente, exceto quando a transferência do controle resulta da execução de uma instrução GOBACK ou EXIT PROGRAM.
Restrições ao uso das instruções ALTER, SORT e MERGE em segmentos independentes são descritas nessas instruções.

O Enterprise COBOL não suporta o recurso de sobreposição do módulo de segmentação Standard COBOL 85.

Paragraph
Um nome de parágrafo seguido por um ponto separador, opcionalmente seguido por uma ou mais frases.

Os parágrafos devem ser precedidos por um período, porque sempre seguem o cabeçalho da divisão de identificação, uma seção ou outro parágrafo, todos os quais devem terminar com um período.

Paragraph-name
Uma palavra definida pelo usuário que identifica um parágrafo.
Um nome de parágrafo, porque pode ser qualificado, não precisa ser exclusivo.

Se não houver declarativos (formato 2), um nome de parágrafo não será necessário na divisão de procedimentos.

Um parágrafo termina imediatamente antes do próximo nome do parágrafo ou cabeçalho da seção, ou no final da PROCEDURE DIVISION ou, na parte declarativa, nas palavras-chave END DECLARATIVES.

Os parágrafos não precisam ser todos contidos em seções, mesmo que um ou mais parágrafos estejam contidos.

Sentence
Uma ou mais instruções terminadas por um período separador.

Statement
Uma combinação sintaticamente válida de identificadores e símbolos (literais, operadores relacionais etc.) começando com um verbo COBOL.

Identifier
A palavra ou palavras necessárias para fazer referência exclusiva a um item de dados, incluindo opcionalmente qualificação, assinatura, indexação e modificação de referência.
Em qualquer referência de PROCEDURE DIVISION (exceto no teste de classe), o conteúdo de um identificador deve ser compatível com a classe especificada na cláusula PICTURE, caso contrário, os resultados serão imprevisíveis.

A execução começa com a primeira instrução na divisão de procedimentos, excluindo declarativos.
As instruções são executadas na ordem em que são apresentadas para compilação, a menos que as regras da instrução determinem alguma outra ordem de execução.

O final da divisão do procedimento é indicado por um dos seguintes:

  • Um cabeçalho de divisão de identificação que indica o início de um programa de origem aninhado
  • Um marcador END PROGRAM, END METHOD, END FACTORY, ou END OBJECT
  • O fim físico de um programa; isto é, a posição física em um programa de origem após o qual não ocorrem mais linhas de programa de origem


© Copyright IBM Corp.