A SCREEN SECTION
, parte da DATA DIVISION
, é usada para definir interfaces de entrada e saída diretamente no terminal, permitindo ao programa COBOL exibir informações formatadas e receber dados do usuário.
É uma forma de criar telas interativas no modo texto, muito comum em ambientes como mainframe, sistemas legados Unix/Linux ou aplicativos COBOL standalone.
🎯 Função da SCREEN SECTION
-
Criar interfaces de usuário no terminal
-
Exibir mensagens ou valores com
DISPLAY
-
Coletar entradas com
ACCEPT
-
Definir a posição, tamanho, formato e comportamento dos campos
-
Estruturar telas de forma hierárquica e reutilizável
🧱 Estrutura geral
A SCREEN SECTION
funciona de forma parecida com a WORKING-STORAGE
, mas voltada à exibição:
SCREEN SECTION.
01 TELA-CLIENTE.
05 CLI-NOME PIC X(30).
05 CLI-IDADE PIC 99.
🧭 Regras e características
Item | Comportamento |
---|---|
Início obrigatório | SCREEN SECTION. (com ponto final) |
Níveis suportados | 01 a 49 e 77 (⚠️ níveis 66 e 88 são proibidos) |
Nomes de tela | Precisam ser únicos somente se forem referenciados no programa |
Redesenho da tela | Pode ser refeito a qualquer momento pelo programa |
Uso em comandos | Referenciável apenas via DISPLAY ou ACCEPT |
Dimensões padrão | 80 colunas x 25 linhas (pode variar conforme o terminal) |
🧪 Exemplo simples
SCREEN SECTION.
01 TELA-INICIAL.
05 WS-NOME PIC X(30).
05 WS-IDADE PIC 99.
PROCEDURE DIVISION.
DISPLAY TELA-INICIAL.
ACCEPT TELA-INICIAL.
Este exemplo:
-
Mostra dois campos (nome e idade)
-
Permite entrada de dados diretamente pelo terminal
-
Os valores são preenchidos nas variáveis WS-NOME e WS-IDADE
🎨 Personalização de campos
Você pode adicionar posições fixas, realce de cor, proteções de edição e outras características:
01 FORM-CLIENTE.
05 CLI-CODIGO PIC 9(05) LINE 5 COLUMN 10 BOLD.
05 CLI-NOME PIC X(30) LINE 6 COLUMN 10 HIGHLIGHT.
Cláusulas úteis:
-
LINE
eCOLUMN
: define posição na tela -
BOLD
,REVERSE
,HIGHLIGHT
: formatações -
USING
,FROM
,TO
: especifica variáveis ligadas ao campo -
REQUIRED
,AUTO
,SECURE
: comportamentos adicionais
✅ Cuidados e limitações
-
A
SCREEN SECTION
não cria variáveis de dados; ela apenas define a interface visual -
Para manipular os dados, é necessário associar variáveis da
WORKING-STORAGE
-
Programas com interface gráfica moderna (ex: web, Windows) não usam SCREEN SECTION
-
Pode não ser suportada por compiladores como GnuCOBOL, dependendo da configuração
✅ Conclusão
A SCREEN SECTION
é uma poderosa funcionalidade para criar telas interativas em COBOL, ideal para aplicações legadas que rodam em terminais. Embora limitada para aplicações modernas, continua relevante para quem mantém ou estuda sistemas emulando o ambiente de mainframe ou batch com interação direta com o usuário.