A instrução ACCEPT
é usada para receber dados do ambiente externo, geralmente via entrada do teclado, arquivo, ou para obter informações do sistema, como data e hora. É uma das instruções básicas para entrada de dados em programas COBOL.
🧾 Sintaxe geral
📌 Formato 1 – Entrada de dados do ambiente
ACCEPT identificador-1 [FROM mnemonic-name | environment-name].
-
identificador-1: variável de destino
-
FROM: (opcional) especifica a origem da entrada (teclado, dispositivo, etc.)
Se FROM
for omitido, o COBOL assume entrada padrão do sistema (geralmente o teclado).
📌 Formato 2 – Informações do sistema (data e hora)
ACCEPT identificador-2 FROM { DATE | YYYYMMDD | DAY | YYYYDDD | DAY-OF-WEEK | TIME }.
📥 Exemplo de entrada do teclado
WORKING-STORAGE SECTION.
01 WS-NOME PIC X(30).
PROCEDURE DIVISION.
DISPLAY "Informe seu nome: ".
ACCEPT WS-NOME.
Resultado: o conteúdo digitado será armazenado em
WS-NOME
.
📅 Exemplo com informações do sistema
01 WS-DATA PIC 9(08). *> Formato AAAAMMDD
01 WS-HORA PIC 9(06). *> Formato HHMMSS
PROCEDURE DIVISION.
ACCEPT WS-DATA FROM DATE.
ACCEPT WS-HORA FROM TIME.
Essa instrução preenche
WS-DATA
com a data atual eWS-HORA
com a hora atual do sistema.
📌 Fontes possíveis com FROM
Fonte (FROM ) |
O que representa |
---|---|
CONSOLE |
Entrada padrão do sistema (teclado) |
SYSIN , SYSIPT |
Dispositivos de entrada lógica |
DATE |
Data atual no formato AAAAMMDD |
DAY |
Número do dia no ano (1 a 366) |
DAY-OF-WEEK |
Dia da semana (1 = domingo, 7 = sábado) |
TIME |
Hora atual no formato HHMMSS |
⚠️ Considerações importantes
-
Se o campo destino (
identificador
) for maior que a entrada, ele será preenchido com espaços em branco -
O
ACCEPT
não faz validação nem formatação -
Ao usar
ACCEPT
com dispositivos como arquivos, o comportamento pode variar entre ambientes -
Evite usar com arquivos do tipo relativo, indexado ou Btrieve
🧠 Dica técnica
Use a função intrínseca FUNCTION CURRENT-DATE
se quiser
MOVE FUNCTION CURRENT-DATE TO WS-DATA-COMPLETA.
✅ Conclusão
O comando ACCEPT
é fundamental para captura de dados simples e para obter informações do sistema sem recorrer a bibliotecas externas. Seu uso é direto, mas requer atenção quanto ao ambiente e à formatação da entrada.