Árvore de páginas

O AdvPL (Advanced Protheus Language) é uma linguagem de programação padrão xBase (Clipper, Visual Objects e depois Fivewin) com comandos, funções, operadores, estruturas de controle de fluxo e palavras reservadas que permite o desenvolvimento de programas seguidos do paradigma de orientação a objetos ou procedural.

O AdvPL é uma linguagem de programação criada em 1994 para o desenvolvimento de sistemas ERP do grupo TOTVS.

Quando compilados, todos os arquivos de código fonte tornam-se unidades de inteligência básicas, chamadas de APO´s (Advanced Protheus Objects). Esses APO´s são mantidos em um repositório e carregados dinamicamente pelo servidor de aplicação (TOTVS | Application Server) para a execução. No entanto, não existe linkedição ou união física do código compilado a um determinado ambiente ou aplicação, o que permite executar funções criadas em AdvPL em qualquer ponto do ambiente ERP.

O compilador e o interpretador da linguagem AdvPL é o próprio servidor de aplicação (Application Server), e existe um ambiente visual para desenvolvimento integrado (Development Studio) onde o código-fonte pode ser criado, compilado e depurado.

Os programas desenvolvidos na linguagem AdvPL, podem conter comandos ou funções de interface com o usuário com as seguintes características:

  • Programação com interface própria com o usuário

    Os programas com interface própria com o usuário são desenvolvidos para serem executados através do terminal remoto, o . O  é 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 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  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.

Ao utilizar um meio de conectividade, as rotinas desenvolvidas são subcategorizadas da seguinte forma:

  • Programação por processos
    As rotinas desenvolvidas em AdvPL podem ser iniciadas como processos individuais (sem interface), no TOTVS | Application Server, por outra rotina através de funções ou automaticamente na inicialização do TOTVS | Application Server (quando configurado).
  • Programação de RPC
    A programação de RPC – Remote Procedure Call (Chamada de Procedimentos Remota) é realizada por bibliotecas de funções disponíveis no sistema (uma API de comunicação), que permite executar rotinas escritas em AdvPL diretamente no TOTVS | Application Server em modo blind (sem interface). Com isso, o TOTVS | Application Server pode executar rotinas em AdvPL em outros servidores através da conexão TCP/IP direta utilizando o conceito de RPC.
  • Programação Web
    O TOTVS | Application Server pode ser executado como servidor Web respondendo as requisições HTTP. No momento dessas requisições, é possível executar rotinas escritas em AdvPL como processos individuais, enviando o resultado das funções como retorno das requisições para o cliente HTTP (como, por exemplo, uma browser de internet). No entanto, qualquer rotina escrita em AdvPL que não contenha comandos de interface pode ser executada através de requisições HTTP. Pois, o TOTVS | Application Server permite compilar arquivos HTML que contenham código AdvPL embutido. Os chamados arquivos AdvPL ASP, para criação de páginas dinâmicas.
  • Programação TelNet
    Programação TelNet faz parta da gama de protocolos TCP/IP que permite a conexão a um computador remoto através de uma aplicação cliente desse protocolo. O TOTVS | Application Server emula um terminal TelNet, através da execução de rotinas escritas em AdvPL, ou seja, rotinas AdvPL cuja interface final será um terminal TelNet ou coletor de dados móvel.