| Bellacosa Mainframe e o esqueleto de um programa COBOL conheça sua estrutura |
Estrutura de um Programa COBOL
O COBOL foi criado para desenvolver:
sistemas corporativos;
processamento batch;
aplicações financeiras;
sistemas bancários;
processamento online.
Uma das maiores características do COBOL é sua:
organização estrutural.
Os programas são divididos em:
DIVISIONs;
SECTIONs;
PARAGRAPHs;
STATEMENTs.
Isso torna o COBOL:
legível;
modular;
organizado;
ideal para sistemas gigantes no mainframe IBM Z.
Estrutura clássica de um programa COBOL
IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
Fluxo lógico
DIVISION
↓
SECTION
↓
PARAGRAPH
↓
STATEMENTS
1. IDENTIFICATION DIVISION
Responsável pela:
identificação do programa.
Contém:
nome;
autor;
comentários;
versão.
Exemplo
IDENTIFICATION DIVISION.
PROGRAM-ID. CLIENTE.
AUTHOR. BELLACOSA.
2. ENVIRONMENT DIVISION
Define:
ambiente de execução.
Contém:
arquivos;
devices;
datasets;
configurações.
SECTIONs principais
CONFIGURATION SECTION
INPUT-OUTPUT SECTION
Exemplo
SELECT ARQCLI
ASSIGN TO CLIENTE.
3. DATA DIVISION
Define:
dados e variáveis.
SECTIONs mais usadas
FILE SECTION
Layouts de arquivos.
WORKING-STORAGE SECTION
Variáveis internas.
LINKAGE SECTION
Parâmetros recebidos.
LOCAL-STORAGE SECTION
Variáveis locais temporárias.
Exemplo
01 WS-NOME PIC X(30).
01 WS-SALDO PIC 9(9)V99.
4. PROCEDURE DIVISION
Contém:
toda lógica do programa.
Aqui ficam:
IF;
PERFORM;
READ;
WRITE;
COMPUTE;
loops;
regras negócio.
Exemplo
PROCEDURE DIVISION.
MAIN.
DISPLAY 'OLA'.
STOP RUN.
O que são SECTIONs?
SECTIONs são:
subdivisões dentro das DIVISIONs.
Exemplo
WORKING-STORAGE SECTION.
O que são PARAGRAPHs?
Blocos menores de lógica.
Exemplo
CALCULAR-JUROS.
O que são STATEMENTs?
São:
comandos COBOL executáveis.
Exemplos
MOVE
DISPLAY
IF
PERFORM
READ
WRITE
COMPUTE
Principais comandos COBOL
MOVE
Movimenta dados.
MOVE 100 TO WS-VALOR
DISPLAY
Mostra mensagens.
DISPLAY 'PROCESSANDO'
IF
Decisão lógica.
IF SALDO > 0
EVALUATE
Similar ao CASE.
PERFORM
Executa rotina/repetição.
PERFORM CALCULAR
READ
Lê arquivos.
WRITE
Grava registros.
REWRITE
Atualiza registro VSAM.
DELETE
Remove registro.
COMPUTE
Realiza cálculos.
CALL
Chama subprograma.
STOP RUN
Finaliza programa.
Tipos de programas COBOL
1. Programa Batch
Executado via:
JCL;
JES2;
scheduler.
Características
processamento lote;
arquivos;
relatórios;
milhões registros.
Fluxo típico
LER
↓
VALIDAR
↓
PROCESSAR
↓
GERAR RELATÓRIO
Exemplo JCL
//STEP1 EXEC PGM=COBPGM
2. Programa Online
Executado interativamente.
Muito usado em:
CICS.
Exemplos
caixa eletrônico;
consulta saldo;
PIX;
cartão.
Características
resposta rápida;
transacional;
online;
interação usuário.
Exemplo CICS
EXEC CICS SEND
3. Programa Aninhado (Nested Program)
Programa dentro de outro programa.
Exemplo
IDENTIFICATION DIVISION.
PROGRAM-ID. PAI.
IDENTIFICATION DIVISION.
PROGRAM-ID. FILHO.
Vantagens
encapsulamento;
compartilhamento variáveis.
Muito usado em COBOL moderno
4. Programa Recursivo
Programa que:
chama a si mesmo.
Exemplo
CALL 'PROG1'
dentro do próprio:
PROG1
Necessita:
RECURSIVE
Muito menos comum no COBOL tradicional
Exemplo
PROGRAM-ID. FAT RECURSIVE.
5. Subprograma
Programa chamado por outro programa.
Exemplo
CALL 'CALCSAL'
Muito comum em:
modularização;
regras compartilhadas.
6. Programa Conversacional
Muito usado em CICS.
Mantém “estado” entre telas.
O que é modularização?
Dividir sistema em:
pequenos programas;
rotinas;
serviços.
Benefícios
manutenção;
reutilização;
organização.
O que é copybook?
Arquivo reutilizável.
Exemplo
COPY CLIENTE.
Muito usado para layouts
O que é PIC?
Define formato campo.
Exemplos
PIC X(20)
Texto.
PIC 9(5)
Número.
O que é COMP-3?
Formato numérico compactado.
Muito usado em:
processamento financeiro.
O que é EOF?
End Of-File
Fim do arquivo.
Exemplo loop batch
PERFORM UNTIL EOF='S'
Como COBOL aparece no dia a dia?
Praticamente em:
bancos;
PIX;
cartões;
folha salarial;
seguros;
faturamento.
Curiosidades incríveis
1. Muitos programas COBOL possuem milhões de linhas
2. Sistemas COBOL podem funcionar décadas sem parar
3. COBOL moderno suporta APIs e cloud
4. Mainframes executam bilhões de transações COBOL diariamente
Erros comuns de iniciantes
1. Misturar lógica e variáveis
2. Criar PROCEDURE DIVISION gigantes
3. Não modularizar
4. Usar GO TO excessivamente
Resumo rápido
| Estrutura | Função |
|---|---|
| DIVISION | Grande bloco |
| SECTION | Subdivisão |
| PARAGRAPH | Bloco lógico |
| STATEMENT | Comando |
| Batch | Processamento lote |
| Online | Processamento interativo |
| Recursive | Chama si mesmo |
| Nested | Programa aninhado |
Conclusão
A estrutura do COBOL foi criada para suportar sistemas corporativos enormes com organização, estabilidade e clareza.
DIVISIONs, SECTIONs, PARAGRAPHs e STATEMENTs permitem criar programas batch e online altamente confiáveis, fundamentais para o ambiente mainframe IBM Z.
Sem comentários:
Enviar um comentário