Pular para o conteúdo
Início » O que é AdvPl

O que é AdvPl

O que é AdvPl

O que é AdvPl

 

A linguagem AdvPl (Advanced Protheus Language) é um Super-Conjunto da linguagem padrão xBase/CodBase e evoluiu à partir do padrão do Clipper 5.3 e das bibliotecas do FiveWin. O AdvPl teve seu início em 1994 com a criação da tecnologia Protheus, na época era necessário criar uma linguagem que suportasse o padrão xBase para a manutenção de todo o código existente do sistema Protheus.

Em constante evolução, o AdvPl ainda é a liguagem utilizada pela Totvs para o desenvolmento do ERP Protheus e no desenvolvimento de rotinas específicas nas empresas usuárias desse sistema.

Também é uma linguagem orientada a objetos e eventos, permitindo ao programador desenvolver aplicações visuais e criar suas próprias classes de objetos.
Quando compilados, todos os arquivos de código tornam-se unidades de inteligência básicas, chamados APO´s (de Advanced Protheus Objects). Tais APO´s são mantidos em um repositório e carregados dinamicamente pelo PROTHEUS Server para a execução. Como não existe a linkedição, ou união física do código compilado a um determinado módulo ou aplicação, funções criadas em ADVPL podem ser executadas em qualquer ponto do Ambiente Advanced Protheus.
O compilador e o interpretador da linguagem ADVPL é o próprio servidor PROTHEUS (PROTHEUS Server), e existe um Ambiente visual para desenvolvimento integrado (PROTHEUSIDE), em que o código pode ser criado, compilado e depurado.

Estude para provas de certificações em TI com os simulados Bynem

Os programas em AdvPl podem conter comandos ou funções de interface com o usuário. De acordo com tal característica, tais programas são subdivididos nas seguintes categorias:

Programação Com Interface Própria com o Usuário

 

Os programas AdvPl com interface própria com o usuário são desenvolvidos para serem executados através do terminal remoto, o TOTVS | SmartClient. O TOTVS | SmartClient é a aplicação, desenvolvida pela TOTVS, encarregada da interface e da interação com usuário, ou seja, todo o processamento do código fonte em AdvPL e o acesso ao banco de dados. Já o gerenciamento das conexões é efetuado pelo o TOTVS | Application Server.

O TOTVS | Application Server é o principal meio de acesso a execução de rotinas desenvolvidas em AdvPL no sistema de gestão . Através desta aplicação os códigos fontes, com ou sem interface com o usuário, são executados. No entanto, nesse tipo de desenvolvimento, são considerados apenas os programas que realizam algum tipo de interface remota utilizando um protocolo de comunicação do sistema.

 

Programação Sem Interface Própria com o Usuário

 

A rotinas AdvPl criadas sem interface, tem uma utilização mais específica do que um processo adicional ou relatório. Essas rotinas não tem interface com usuário através do TOTVS | SmartClient e qualquer tentativa (como a criação de uma janela padrão) ocasionará uma exceção em tempo de execução. Desta forma, essas rotinas são apenas processos ou Jobs executados no TOTVS | Application Server. No entanto, a interface fica a cargo das aplicações externas, desenvolvidas em outras linguagens, responsáveis por iniciar os processos no servidor através dos meios disponíveis de integração e conectividade no sistema.

 

Estrutura de um programa ADVPL

 

Um programa de computador nada mais é do que um grupo de comandos logicamente dispostos, com o objetivo de executar determinada tarefa. Esses comandos são gravados em um arquivo texto que é transformado em uma linguagem executável por um computador, através de um processo chamado compilação.

A compilação substitui os comandos de alto nível (que os humanos compreendem) por instruções de baixo nível (compreendida pelo sistema operacional em execução no computador). No caso do ADVPL, não é o sistema operacional de um computador que executará o código compilado, mas sim o Protheus Server.

Dentro de um programa, os comandos e funções utilizados devem seguir regras de sintaxe da linguagem utilizada, pois caso contrário o programa será interrompido por erros. Os erros podem ser de compilação ou de execução. Erros de compilação são aqueles encontrados na sintaxe que não permitem que o arquivo de código do programa seja compilado. Podem ser comandos especificados de forma errônea, utilização inválida de operadores, etc.

Erros de execução são aqueles que acontecem depois da compilação, quando o programa está sendo executado. Podem ocorrer por inúmeras razões, mas geralmente se referem às funções não existentes, ou variáveis não criadas ou inicializadas etc.

 

Estrutura Básica de Programação

 

O ADVPL suporta várias estruturas de controle que permitem mudar a seqüência de fluxo de execução de um programa. Estas estruturas permitem a execução de código baseado em condições lógicas e a repetição da execução de pedaços de código em qualquer número de vezes.

Em ADVPL, todas as estruturas de controle podem ser “aninhadas” dentro de todas as demais estruturas, contanto que estejam aninhadas propriamente. Estruturas de controle têm um identificador de início e um de fim, e qualquer estrutura aninhada deve se encontrar entre estes identificadores.

Também existem estruturas de controle para determinar que elementos, comandos, etc. em um programa serão compilados. Estas são as diretivas do pré-processador #ifdef…#endif e #ifndef…#endif. Consulte a documentação sobre o pré-processador para maiores detalhes.

 

Estrutura Básica de Programação

 

Estruturas de repetição são designadas para executar uma seção de código mais de uma vez. Por exemplo, imaginando-se a existência de uma função para imprimir um relatório, pode-se desejar imprimi-lo quatro vezes. Claro, pode-se simplesmente chamar a função de impressão quatro vezes em seqüência, mas isto se tornaria pouco profissional e não resolveria o problema se o número de relatórios fosse variável.

Em ADVPL existem dois comandos para a repetição de seções de código, que são os comandos FOR…NEXT e o comando WHILE…ENDDO.

A Six IT é uma Consultoria Totvs Protheus. Trabalhamos com implantações, suporte e melhorias. Entre em contato e saiba mais

Veja também: