ERP - Recebimento Eletrônico - Erro na execução do processo automático: Erro ao executar o comando de busca de multi-filiais da rotina 67
Incidente
Ao ser executado o processo agendado de rotina 67 (Recebimento Eletrônico), o processo é executado com erro, sendo retornada a mensagem Erro na execução do processo automático: Erro ao executar o comando de busca de multi-filiais da rotina 67.
Causa
Essa mensagem é uma mensagem genérica que indica que o processo agendado não conseguiu executar o select necessário para encontrar os registros na base de dados, de acordo com os parâmetros e filtros que estão sendo repassados para o processo agendado.
Solução
Como a situação tem relação com os parâmetros definidos no processo agendado, é necessário analisar os parâmetros que estão sendo repassados para o processo agendado e ir isolando a situação. Abaixo serão dadas orientações/dicas de como analisar e resolver essa situação.
1. Verifique os parâmetros que estão cadastrados para o processo agendado na tela F000AGE - Recursos / Processos Automáticos / Cadastro.
2. Faça a validação dos parâmetros definidos e trabalhe para isolar os parâmetros que podem influenciar na execução do comando no banco de dados. Você pode ir retirando parâmetros de filtros que tenham sido adicionados a fim de identificar qual o parâmetro que está afetando a rotina.
Atenção
- Tome muito cuidado com a alteração de filtros que possam permitir que o processo execute com um escopo de documentos muito grande e acabe travando (exemplo: o filtro personalizado busca apenas documentos a partir de uma determinada data e sendo retirado o filtro milhões de documentos seriam processados).
- Valide através da documentação do processo a forma adequada de tratar abrangências de filiais.
- É comum que filtro customizado definido através do parâmetro SQLSTRING do processo agendado impacte na execução do comando que será executado no banco de dados, sendo gerada então a mensagem de erro Erro ao executar o comando de busca de multi-filiais da rotina 67.
3. Você poderá efetuar a coleta de Log SQLMon da execução do processo agendado, o que pode lhe ajudar na verificação do comando que está sendo executado e a mensagem que eventualmente está sendo retornada pelo banco de dados. Para executar esse processo, verifique o artigo ERP - Processo Agendado - Como efetuar a depuração de uma regra ou efetuar a coleta de um log de SQLMon em um Processo Agendado/Processo Automático (-agendador:?).
Segue um exemplo de uma coleta de Log de SQLMon para o processo sendo executado em Banco de Dados SQLServer, onde é evidenciado o problema relacionado ao formato de data repassado no filtro customizado através do parâmetro SQLSTRING:
4. Após identificar o motivo pelo qual a situação ocorre, verifique para que os parâmetros do processo agendado sejam atualizados adequadamente na tela F000AGE.