Para startar o processo automaticamente, o Oracle tem o esquedule de jobs, ele define horário e dias específicos para executar o processo, por exemplo, toda noite, todo dia primeiro, dias primeiro e décimo quinto, etc…
Você teria que fazer um processo maior que vai criar um arquivo texto a ser populado e selecionar os objetos a serem listados, pode ser um cursor.
Dentro desse loop maior, você vai passar por parâmetro qual a informação de cabeçalho, para uma procedure que envie para o arquivo texto
Depois chamar uma outra procedure que listará as linhas referentes ao cabeçalho acima
Depois chamar a terceira procedure que encerrará o pacote com o rodapé.
passa para a próxima linha a ser processada e continua no loop até terminar.
Fechar o arquivo texto gerado.
Não vou colocar um esqueleto de procedures por que não é o meu forte, mas aqui certametne há pessoas mais bem qualificadas para isso…
Seguindo este escopo, as procedures criadas poderão ser aproveitadas em outros processos.
Tente ao máximo evitar criar os famosos linguições… ❗