A PROCEDURE DIVISION é o coração lógico do programa COBOL. É nela que são escritos os comandos executáveis, ou seja, as instruções que manipulam os dados declarados na DATA DIVISION, controlam o fluxo, processam registros e realizam chamadas de subprogramas.

🎯 Função principal

  • Executar instruções que compõem a lógica do programa

  • Controlar o fluxo de execução com PERFORM, IF, EVALUATE e outros

  • Acessar e manipular os dados da DATA DIVISION

  • Encerrar a execução com STOP RUN (programas principais) ou EXIT PROGRAM (subprogramas)

🧱 Estrutura geral

PROCEDURE DIVISION.

DECLARATIVES.
   [parágrafos de tratamento de erro]
END DECLARATIVES.

[seções]
[parágrafos]
[instruções]

🔖 Componentes da PROCEDURE DIVISION

🔹 1. DECLARATIVES (Opcional)

Trechos usados para capturar erros e exceções durante a leitura ou escrita de arquivos.

DECLARATIVES.
ERROS-ENTRADA SECTION.
    USE AFTER STANDARD ERROR PROCEDURE ON INPUT-DADOS.
TRATAMENTO-ERRO.
    DISPLAY "ERRO DE LEITURA".
END DECLARATIVES.

🔹 2. SECTION (opcional)

Uma SECTION agrupa um ou mais parágrafos. É nomeada com a palavra-chave SECTION e termina quando começa uma nova seção, parágrafo ou no fim da divisão.

PROCESSAMENTO SECTION.

🔹 3. PARAGRAPH

Um PARAGRAPH (parágrafo) é uma unidade lógica de execução, composta por um nome seguido por comandos.

INICIO-PROGRAMA.
    DISPLAY "INICIANDO PROCESSAMENTO".

🔹 4. SENTENCE

Uma SENTENCE é um ou mais comandos terminados por ponto final (.). Parágrafos contêm uma ou mais sentenças.

🔹 5. STATEMENT

São as instruções COBOL individuais, como DISPLAY, MOVE, IF, PERFORM, etc.

🔹 6. IDENTIFIER

Referência a uma variável da DATA DIVISION, podendo ser qualificada ou subscrita, usada dentro de comandos.

🧪 Exemplo completo

PROCEDURE DIVISION.
INICIO.
    DISPLAY "PROGRAMA COBOL EM EXECUÇÃO".
    PERFORM CALCULO.
    STOP RUN.

CALCULO.
    ADD 1 TO CONTADOR.
    DISPLAY "VALOR ATUAL: " CONTADOR.

⚠️ Boas práticas

Prática recomendada Por quê?
Usar nomes significativos para parágrafos Facilita a leitura e manutenção
Evitar GOTO Prefira PERFORM e EVALUATE para clareza e controle
Usar parágrafos e seções organizadas Estrutura bem definida facilita futuras mudanças
Encerrar sempre com STOP RUN ou EXIT PROGRAM Evita comportamentos inesperados

✅ Conclusão

A PROCEDURE DIVISION é onde o programa ganha vida no COBOL. Dominar sua estrutura e os comandos disponíveis é essencial para escrever códigos limpos, funcionais e profissionais. Seja um programa simples ou um sistema batch complexo, tudo começa aqui.