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-DATAcom a data atual eWS-HORAcom 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
ACCEPTnão faz validação nem formatação -
Ao usar
ACCEPTcom 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.