| Bellacosa Mainframe e o comando accept no cobol |
O que é o Comando ACCEPT em COBOL?
O comando ACCEPT é utilizado para:
receber dados de uma fonte externa e armazená-los em uma variável COBOL.
Na prática, ele funciona como uma operação de:
ENTRADA DE DADOS
É o oposto do comando:
DISPLAY
Enquanto o DISPLAY mostra informações, o ACCEPT recebe informações.
Analogia simples
Imagine um terminal 3270.
O usuário digita:
VAGNER
O COBOL precisa capturar esse valor.
Quem faz isso é o:
ACCEPT
Sintaxe básica
ACCEPT nome-do-campo
Exemplo simples
WORKING-STORAGE SECTION.
01 WS-NOME PIC X(30).
PROCEDURE DIVISION.
DISPLAY 'DIGITE O NOME:'
ACCEPT WS-NOME
DISPLAY WS-NOME
STOP RUN.
Resultado
DIGITE O NOME:
VAGNER
VAGNER
ACCEPT em programas interativos
Muito comum em:
TSO
Micro Focus COBOL
GnuCOBOL
ambientes de treinamento
Fluxo
DISPLAY
↓
USUÁRIO DIGITA
↓
ACCEPT
↓
PROCESSAMENTO
ACCEPT Numérico
01 WS-IDADE PIC 9(3).
ACCEPT WS-IDADE
Entrada:
25
Resultado:
WS-IDADE = 25
ACCEPT e Datas do Sistema
O ACCEPT também pode obter informações do sistema operacional.
Data atual
01 WS-DATA PIC 9(8).
ACCEPT WS-DATA FROM DATE
Resultado:
20260802
Formato:
AAAAMMDD
(depende do compilador)
Data Juliana
ACCEPT WS-DATA
FROM DAY
Exemplo:
2026153
Ano + dia juliano.
Hora atual
01 WS-HORA PIC 9(8).
ACCEPT WS-HORA
FROM TIME
Resultado:
14302599
Data e Hora
Alguns compiladores suportam:
ACCEPT WS-DATETIME
FROM DATE YYYYMMDD
ACCEPT FROM DATE
Muito comum em batch.
ACCEPT WS-DATA-SISTEMA
FROM DATE
ACCEPT FROM DAY
Retorna:
AAAA + DIA JULIANO
Exemplo
2 de junho de 2026:
2026153
ACCEPT FROM TIME
Retorna:
HHMMSSCC
Horas, minutos, segundos e centésimos.
Exemplo
15451035
ACCEPT em Mainframe Batch
No z/OS tradicional, ACCEPT de teclado é pouco utilizado.
Normalmente os dados vêm de:
arquivos;
parâmetros JCL;
SYSIN;
DB2;
VSAM.
Exemplo SYSIN
JCL:
//SYSIN DD *
VAGNER
/*
COBOL:
ACCEPT WS-NOME
ACCEPT e PARM do JCL
Muitas instalações utilizam:
//STEP1 EXEC PGM=PROG1,
// PARM='PRODUCAO'
COBOL:
ACCEPT WS-PARM
ou
LINKAGE SECTION
dependendo do padrão adotado.
ACCEPT vs DISPLAY
DISPLAY:
DISPLAY 'OLA'
Mostra informação.
ACCEPT:
ACCEPT WS-NOME
Recebe informação.
Exemplo combinado
DISPLAY 'DIGITE O SALDO:'
ACCEPT WS-SALDO
DISPLAY WS-SALDO
Exemplo completo
IDENTIFICATION DIVISION.
PROGRAM-ID. TESTE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NOME PIC X(30).
PROCEDURE DIVISION.
DISPLAY 'NOME: '
ACCEPT WS-NOME
DISPLAY 'VOCE DIGITOU: '
DISPLAY WS-NOME
STOP RUN.
Onde o ACCEPT é mais usado?
Ambientes educacionais
Micro Focus COBOL
GnuCOBOL
Aplicações de terminal
Captura de data/hora do sistema
Curiosidades
1. ACCEPT existe desde as primeiras versões do COBOL
2. Em z/OS batch seu uso é mais restrito
3. ACCEPT FROM DATE era muito usado antes das funções intrínsecas
4. Hoje muitos programadores preferem:
FUNCTION CURRENT-DATE
em vez de:
ACCEPT FROM DATE
ACCEPT vs FUNCTION CURRENT-DATE
Forma antiga:
ACCEPT WS-DATA
FROM DATE
Forma moderna:
MOVE FUNCTION CURRENT-DATE
TO WS-DATA
Resumo rápido
| Comando | Função |
|---|---|
| ACCEPT | Recebe dados |
| ACCEPT FROM DATE | Data atual |
| ACCEPT FROM DAY | Data Juliana |
| ACCEPT FROM TIME | Hora atual |
| DISPLAY | Exibe dados |
| CURRENT-DATE | Alternativa moderna |
Conclusão
O comando ACCEPT é a principal instrução de entrada de dados do COBOL. Ele permite receber informações digitadas pelo usuário ou obter dados do sistema, como data e hora, sendo um recurso clássico presente desde os primórdios da linguagem e ainda encontrado em aplicações COBOL executadas em ambientes IBM Z, Micro Focus e GnuCOBOL.
Sem comentários:
Enviar um comentário