Saiba como a linguagem de programação evoluiu do ADVPL ao TL++ e quais suas principais funções.

A sacada de desenvolver uma linguagem de programação própria acrescentou alguns benefícios importantes para a TOTVS e suas soluções em software de gestão. A ADVPL – Advanced Protheus Language permite total domínio da provedora por sua tecnologia e maior velocidade de inovação.

Lançada em 1999, a ADVPL revolucionou o mercado de TI, tornando possível escrever o ERP TOTVS Protheus, hoje, um dos mais utilizados no Brasil. Uma de suas principais características é a flexibilidade, criando ferramentas totalmente personalizáveis, aumentando a aderência às rotinas de cada empresa, de forma individual e exclusiva.

Hoje existem mais de 90 módulos do TOTVS Protheus com mais de 30 milhões de linhas de códigos escritas em ADVPL. Essa facilidade proporcionada pela detenção da linguagem permite que a desenvolvedora implemente novas funcionalidades ou crie novos produtos, atendendo as demandas de seus clientes e do mercado, como integrações com portais, aplicativos e web services.

Em 2019 a ADVPL evoluiu, passando a se chamar TL++ (TOTVS Language Plus Plus), com uma nova extensão tlpp e tipagem de variáveis que previnem erros de conversão de tipos, avisados no momento da compilação do código fonte.

A chegada do TL++ não descarta o legado da ADVPL e muito menos dos fontes prw, prg e prx, até porque um programa desenvolvido em TL++ consegue chamar funções em ADVPL e os em ADVPL, chamar os em TL++. Ambas utilizam C++, tanto para executar os códigos fontes no AppServer, como para mostrar a interface no SmartClient para usuários.

Com o TL++ a TOTVS ganhou um aumento significativo no limite de caracteres, saindo de 10, com a ADVPL, para 255, proporcionando liberdade de criação para os desenvolvedores e programadores. Também é possível realizar testes unitários pelo Unit Test Engine, trazendo mais flexibilidade para funções, classes e validação da porcentagem de cobertura de código.

Além da ADVPL e agora da TL++, a TOTVS também utiliza algumas linguagens de mercado, vindas de softwares adquiridos ao longo do tempo, como o RM desenvolvido em C#, Logix em 4GL e Datasul em Java.

Dentre as inúmeras linguagens de programação de mercado, as mais usadas pela TOTVS para desenvolvimento de produtos segmentados, incluindo o Fluig com o No-Code, são Java e C#.

Para o desenvolvimento de aplicativos híbridos, por exemplo, a TOTVS utiliza a linguagem Javascript, ou, dependendo da necessidade, linguagens próprias de IOS ou Android, como Swift e Kotlin.

Atualmente, tudo é pensado no desenvolvimento de soluções em nuvem, por isso, a TOTVS tem adotado o conceito de microsserviços, onde um produto pode ser criado em mais de uma linguagem.

Principais funções da ADVPL

A linguagem ADVPL conta com diversas funções pré-programadas necessárias para o desenvolvimento de aplicações. Essas funções são tão essenciais que chegam a ser consideradas mais importantes que os comandos.

Todas as funções padrão do AdvPL seguem a seguinte forma:

FUNÇÃO(<lista de argumentos>)

A Função leva o nome que a identifica, já a Lista de Argumentos são os argumentos definidos para a função, com valores separados por vírgulas, podendo ser números; caracteres; variáveis; expressões; datas; arrays; blocos de código, etc, por onde a função executará a operação e fornecerá um resultado.

Exemplos de principais funções ADVPL:

FUNÇÃODESCRIÇÃOSINTAXE
AllGroupsInformações do grupo de usuáriosAllGroups( lAlter )
AllUsersInformações do usuárioAllUsers( lSerie , lAlfa  )
cUserNameRetorna o Nome do usuário correntecUserName
FWGrpHorInformações de restrição de horário do grupoFWGrpHor(cGrpID)
GrpRetNameRetorna o nome do grupo de usuáriosGrpRetName ( cCodGrp )
PswAdminVerifica usuário no grupo de administradoresPswAdmin( cUser , cPsw , cId )
FwLibVersionFunção que retorna a versão da LIBFwLibVersion()
UsrExistVerifica se o usuário existeUsrExist( )
PswOrderSeleciona ordem de pesquisaPswOrder(nOrder)
RetCodUsrRetorna o código do usuário correnteRetCodUsr()
FwRulesDBDescreve privilégios com ambiente no BDFwRulesDB( <cCode> )

Há ainda funções de ações básicas, como por exemplo:

  • posicione advpl

Função usada para posicionar uma outra tabela para coletar informações.

  • transform advpl

Converte qualquer valor para uma string formatada.

  • val advpl

Função para conversão de tipo.

  • strtran advpl

Pesquisa e substitui caracteres de uma cadeia de caracteres.

  • strzero advpl

Retorna uma string formatada, inserindo zeros à esquerda e / ou o símbolo decimal conforme informações do parâmetro.

  • right advpl

Extrai uma parte de uma cadeia de caracteres a partir da sua última posição.

  • left advpl

Retorna um determinado número da caracteres à esquerda de uma string.

  • ascan advpl

Função que faz a busca de um elemento dentro de um Array.

  • at advpl

Retorna a posição da primeira ocorrência de uma substring em uma string.

  • Len advpl

Retorna o tamanho de uma variável.

Além desse artigo sobre ADVPL e suas funções, temos outros conteúdos em nosso blog que podem ajudar sua empresa a melhorar a performance do seu ERP TOTVS Protheus. Mas se precisar de apoio com sua solução, nós podemos ajudar.

A CRM Services está no mercado de consultoria em software de gestão há mais de 11 anos, referenciada como especialista nas soluções Protheus, RM e Fluig da TOTVS, atuando com os melhores e mais experientes profissionais, capazes de ajudar sua empresa a extrair o máximo do potencial da sua solução.

Entre em contato conosco e saiba mais!