User Function
User Function <Nome>()Declara uma função pública que pode ser chamada pelo ambiente, por menus, pontos de entrada ou outras rotinas AdvPL.
Visão geral
User Function é a forma tradicional de declarar uma rotina acessível externamente no AdvPL. O nome informado passa a identificar uma função que pode ser executada a partir do menu, de chamadas diretas, de pontos de entrada ou de outros mecanismos do ambiente. Em fontes didáticos antigos, aparece como a primeira estrutura ensinada para criar uma rotina executável.
Sintaxe
User Function <Nome>()Rotina pública simples
#Include "TOTVS.ch"
User Function CursoADVPL()
Local cMensagem := "Primeira rotina AdvPL"
MsgInfo(cMensagem, "Treinamento")
ReturnA função U_CursoADVPL pode ser chamada pelo ambiente ou por outro fonte, conforme a convenção de chamada utilizada.
User Function chamando função auxiliar
#Include "TOTVS.ch"
User Function ExRelatorio()
Local cTitulo := "Relatório introdutório"
U_MostraTitulo(cTitulo)
Return
Static Function MostraTitulo(cTitulo)
MsgInfo(cTitulo, "Título")
ReturnA User Function fica como ponto de entrada da rotina e a regra auxiliar permanece encapsulada no mesmo fonte.
- Use nomes claros, curtos e estáveis para rotinas chamadas externamente.
- Declare variáveis locais logo no início do bloco para reduzir criação implícita de Private.
- Mantenha o retorno compatível com o contrato esperado por quem chama a função.
- Evite misturar muitas responsabilidades em uma única User Function; extraia regras para funções auxiliares.
- Renomear uma User Function usada em menus, pontos de entrada ou chamadas externas quebra a referência.
- Funções públicas demais podem dificultar governança e manutenção do projeto.
- Exemplos históricos usam RWMake.ch; para novos fontes, avalie TOTVS.ch conforme a orientação atual do ambiente.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.