Pragiva — Tecnologia na prática

Meu ponto de entrada executou? Como separar chamada e efeito

Meu ponto de entrada executou? Separe três perguntas: foi encontrado, executou e produziu o efeito esperado. Cada uma pede uma evidência diferente.

Desenvolvimento Guia de processo 2 min de leitura

Assista o vídeo

Resposta rápida

Pergunta
“meu ponto de entrada executou?” são, na prática, três perguntas.
Encontrado
o padrão perguntou se a User Function existe (ExistBlock).
Executou
o padrão chamou a função (ExecBlock) e o código rodou.
Efeito esperado
o que a função fez, ou retornou, produziu o resultado de negócio.
Cuidado
evidência de uma etapa não prova a seguinte.
Nesta página3 seções

Três perguntas, três evidências

PerguntaO que respondeEvidência
Foi encontrado?O nome está no RPO em uso, e o padrão o procuraConferir o RPO do ambiente onde você testa
Executou?A função rodou naquela açãoUm registro de execução ligado ao horário da ação
Produziu o efeito?A regra funcionouConferir o dado gravado, a mensagem ou o bloqueio na tela

Um ponto de entrada pode ser encontrado e não executar, e pode executar e não produzir efeito, por exemplo quando o retorno é ignorado pela rotina. O mecanismo de chamada e de retorno está em Ponto de entrada no Protheus: como o padrão te chama.

Como montar a evidência

  1. Defina a operação de teste. Uma ação só, repetível (por exemplo, incluir um pedido de teste). Anote o horário.

  2. Identifique o ambiente. Confirme que o teste roda no ambiente cujo RPO tem o fonte compilado. Um PE compilado em homologação não existe em produção.

  3. Colete o registro de execução. Uma linha de ConOut() na primeira instrução da função, antes de qualquer Return antecipado, mostra que a função foi chamada. Inclua o nome do ponto de entrada e a operação, sem dados pessoais.

  4. Relacione horário e ação. Só vale a linha cujo horário bate com a ação de teste.

    ADVPL / TLPP
    User Function NomeDoPE()
        ConOut("NomeDoPE chamado - inclusao de pedido de teste")
        // ... restante da regra
    Return
  5. Confira o efeito. Verifique separadamente o dado ou o comportamento esperado.

  6. Encerre o diagnóstico. Se executou e o efeito falhou, o problema é a regra ou o retorno, não a chamada.

O que este texto ainda não afirma

Existe uma chave do AppServer relacionada ao registro de execução de pontos de entrada. Este artigo não a cobre: valores, alcance e efeito dependem da documentação oficial da TOTVS, que não foi conferida. Até lá, a evidência aqui é a linha de ConOut() colocada por você.

Continue por aqui