Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: cArqTab :: Otimizando a Abertura do Sistema: Como a Escolha do Método de Carregamento Afeta o Desempenho

_Créditos da imagem: Gerada com auxílio do ChatGPT_ # cArqTab :: Como o carregamento de informações em uma variável pode tornar lenta a abertura do sistema TOTVS Microsiga Protheus --- # Comparando LoadFromDBQuery e LoadFromDBWhile: Vantagens e Desempenho No desenvolvimento de soluções para o TOTVS Microsiga Protheus, otimizar o tempo de execução das funções é essencial, especialmente quando lidamos com grandes volumes de dados. Neste artigo, vamos analisar a diferença de desempenho entre os métodos `LoadFromDBQuery` e `LoadFromDBWhile`, utilizando os tempos de execução para demonstrar a vantagem de cada abordagem. ## Contexto do Teste Para avaliar o desempenho, executamos dois procedimentos distintos: - **U_TSTArqTabLoadDBQuery**: utiliza a função `LoadFromDBQuery`. - **U_TSTArqTabLoadDBWhile**: utiliza a função `LoadFromDBWhile`. Os comandos foram executados no ambiente Cygwin, e PowerShell e os tempos foram medidos da seguinte forma: *Cygwin ```bash $ time C:/totvs/tst/sma

Protheus :: Programação Básica em Advpl “Combo XXII”

Funções:

As funções, em Advpl, podem ser entendidas como um mecanismo de sub-rotinas. Elas sempre retornam um valor. Uma função pode retornar qualquer tipo de dados ( array, numérico, string, objeto, lógico... ) e, se nenhum tipo de retorno for definido a função retornará NIL. Elas retornam seu valor como uma expressão após a instrução RETURN ( Obs.: a rotina chamadora da função não precisa, necessariamente, usar o valor de retorno ).

O uso adequado das funções possibilita a grande reutilização da codificação.

As funções são definidas uma só vez dentro de um programa, mas podem ser chamadas várias vezes. Elas podem ser definidas em qualquer ordem e você pode chamar uma antes de defini-la. Todas as funções são armazendas no Repositório de Objetos. E Podem ser declaradas como:

Públicas: Podem ser chamadas em qualquer programa:

Funções Reservadas ( Microsiga )

Function -> Reservado para desenvolvimento no ERP na Microsiga
Template Function -> Para a criação de Templates
Project Function -> Para a criação de Projetos

Funções Comuns ( Microsiga / Clientes usuários )

User Function -> Para criação de funções de usuário
Web Function -> Para criação de funções para uso na Web
Html Function -> Para criação de funções para uso na Web

Estáticas: Podem ser chamadas apenas no programa onde foram declaradas ( Static )

Static Function

Obs.: Consulte o Header ( arquivo de cabeçalho ) Protheus.ch ( \mp8\include\ para verificar os detalhes sobre o padrão de conversão das delcarações acima nas chamadas de função.

Parâmetros:

No Advpl, a forma de passagem de parâmetros para as funções é colocando os nomes dos parâmetros entre parênteses e delimitando-os por vírgula. Este método é conhecido como lista de parâmetros formais. Como em:

Function Teste( a , b , c )
User Function Teste( a , b , c )

Onde a, b, c são os parâmetros formais da função. O escopo destes parâmetros é Local ( tem visibilidade e duração enquanto durar a execução da função ).

Comentários

  1. web function e project function são de uso exclusivo da TOTVS, nós que estamos afora não temos permissão de compilação

    ResponderExcluir

Postar um comentário

Postagens mais visitadas