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 e WS-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.