Ponto de entrada MT110QRY

Estou construindo um filtro com o ponto de entrada MT110QRY, onde o objetivo é fazer com que os solicitantes vejam apenas as solicitações realizadas por eles. A lógica é ir na tabela SAI, verificar se o usuário logado está cadastrado como solicitante e, se positivo, filtrar. O cQuery está retornando " C1_FILIAL='02' AND C1_SOLICIT='willian.galvao' ". Eu já verifiquei que o dbseek está retornando .T. e que existe o registro 'willian.galvao' na SC1, como C1_SOLICIT. A filial correta também é a 02. Na prática, quando eu acesso a rotina, o filtro não está sendo aplicado. Alguma ideia sobre o motivo ou como corrigir?


User Function MT110QRY()

    Local cQuery
    Local cSolicit := UsrRetName(RetCodUsr())


    DbSelectArea("SAI")
    SAI->(DbSetOrder(2))

    IF (Dbseek(xFilial("SAI")+RetCodUsr()))
        cQuery := " C1_FILIAL='"+xFilial("SC1")+"' AND C1_SOLICIT='"+cSolicit+"' "
    ENDIF

    SAI->(dbCloseArea())

Return cQuery

William, você depurou o ponto de entrada e verificou se ele está sendo chamado corretamente? Você está trabalhando na rotina MATA110 certo?

Sim, Daniel. Eu depurei pelo VSCode e chamei o PE na rotina certa. Essa especificação foi alterada: antes eu fiz um fonte que verificava se o usuário era COMPRADOR e então não executava o filtro, para todos os outros usuário ele filtrava só as solicitações em que o usuário era solicitante. Esse primeiro fonte funcionou normalmente. Quando eu recebi a alteração na especificação e mudei a lógica, ele não executa o filtro.

Uma coisa que pode estar influenciando é que este P.E. só é executado caso o MT110FIL não exista. O sistema não pode executa ambos, ou um ou outro. Pode ser isso também a causa do problema.

Sim, Cirilo. Obrigado pela resposta, mas eu já varri o RPO e não tem nenhum MT110FIL copilado.

O código está correto, o meu smartclient estava apontado para o servidor errado. Obrigado pelas respostas.