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 Functionexiste (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
| Pergunta | O que responde | Evidência |
|---|---|---|
| Foi encontrado? | O nome está no RPO em uso, e o padrão o procura | Conferir o RPO do ambiente onde você testa |
| Executou? | A função rodou naquela ação | Um registro de execução ligado ao horário da ação |
| Produziu o efeito? | A regra funcionou | Conferir 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
-
Defina a operação de teste. Uma ação só, repetível (por exemplo, incluir um pedido de teste). Anote o horário.
-
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.
-
Colete o registro de execução. Uma linha de
ConOut()na primeira instrução da função, antes de qualquerReturnantecipado, mostra que a função foi chamada. Inclua o nome do ponto de entrada e a operação, sem dados pessoais. -
Relacione horário e ação. Só vale a linha cujo horário bate com a ação de teste.
ADVPL / TLPPUser Function NomeDoPE() ConOut("NomeDoPE chamado - inclusao de pedido de teste") // ... restante da regra Return -
Confira o efeito. Verifique separadamente o dado ou o comportamento esperado.
-
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
- Vídeo
DesenvolvimentoReferência técnica
Ponto de entrada no Protheus: como o padrão te chama
Duas linhas do fonte padrão explicam quase todo ponto de entrada que 'não funciona': se ele dispara, e se o que você retorna vale alguma coisa.
- Vídeo
ProtheusReferência técnica
Catálogo de personalizações: desligar um ponto de entrada sem recompilar
Catálogo de Personalizações (CFGA030): como desligar um ponto de entrada sem recompilar, o que Desabilitado e Retorno padrão fazem e o que não alcança.