A instrução RELEASE no COBOL é usada dentro de um INPUT PROCEDURE de uma instrução SORT para enviar registros à fase de classificação. Ela transfere os dados de um campo ou registro para o arquivo de trabalho da ordenação.

📌 Para que serve

  • Enviar registros um a um para o processo de SORT.

  • Usar um campo temporário ou um registro de outro arquivo para alimentar a ordenação.

  • Controlar manualmente quais registros serão classificados.

🧾 Sintaxe básica

RELEASE nome-do-registro.
RELEASE nome-do-registro FROM identificador.

✅ Exemplo prático

INPUT-PROCEDURE.
   PERFORM UNTIL FIM-DO-ARQUIVO
      READ ARQ-CLIENTES
         AT END
            SET FIM-DO-ARQUIVO TO TRUE
         NOT AT END
            MOVE REG-CLIENTE TO REG-SORT
            RELEASE REG-SORT
      END-READ
   END-PERFORM.

⚙️ Definição de campos

Elemento Definição
record-name-1 Nome do registro definido na SD (SORT FILE).
FROM identifier-1 Permite liberar um campo sem precisar mover manualmente.
RELEASE FROM Equivale a MOVE identifier-1 TO record-name-1 seguido de RELEASE.

🧠 Dicas práticas

  • Só pode ser usada dentro de um INPUT PROCEDURE de um SORT.

  • RELEASE é obrigatório se o SORT usar INPUT PROCEDURE.

  • O campo record-name-1 precisa estar definido em uma entrada SD.

  • Ao usar FROM, o conteúdo do identifier-1 continua disponível após a instrução.

  • Se estiver usando SAME RECORD AREA, o conteúdo do record-name-1 é preservado.

✅ Conclusão

A instrução RELEASE é essencial para alimentar a operação de ordenação (SORT) manualmente, registro por registro. Seu uso permite total controle sobre quais registros entram na ordenação e facilita a preparação dos dados antes da classificação automática pelo COBOL.