[RESOLVIDO] Utilizar SP com retorno PRINT

Boa tarde, estou com uma dúvida em relação a uma Stored Procedure. A SP tem uma lógica de verificação de dependências em tabelas e, se houver vínculos, retorna uma mensagem de erro. O problema é que ela foi desenvolvida para usar o comando PRINT para enviar as mensagens de retorno, e tô tendo dificuldade em capturar usando as macros, sc_lookup() a consulta falha porque ela foi projetada para capturar comandos SELECT acredito eu, e não as mensagens enviadas por PRINT.

Existe alguma forma de contornar essa incompatibilidade e capturar o retorno sem ser modificando a SP?

1 Curtida

Resulte a SP com:

Select “Mensagem”;

2 Curtidas

Já que não tem outra alternativa, vou provavelmente criar uma cópia com a alteração então, usamos essa sp em outro sistema também

1 Curtida

Não precisas de fazer uma cópia. Isso vai complicar uma eventual manutenção futura. Se tens acesso ao banco de dados, adiciona um parâmetros à SP. Quando chamada, passas nesse parâmetro o nome da aplicação que está a chamar ou uma flag qualquer a teu gosto. Depois basta modificar nas aplicações que a usam a chamada da SP adicionando esse parâmetro.

Se não tens acesso à outra aplicação, então cria no SP, no banco de dados, esse parâmetro como opcional (assim a outra aplicação continuará a trabalhar como está agora) e na tua aplicação SC passas o parâmetro.

Depois, no final do SP, usas um if para dirigir a saída, deixando como está caso seja chamada da outra aplicação e no caso de ser a tua aplicação a chamar, usa a dica do @InfinitusWeb