Usina BRAdvPL Guide
Sign in
← Catalog
FOUNDATION

The AdvPL
language

An introduction to the origins, concepts and evolution of the Advanced Protheus Language development environment.

START HERE

AdvPL is the language used in the Protheus ecosystem. It preserves characteristics of the xBase standard and supports procedural routines, event-driven interfaces and object-oriented structures.

1994

xBase evolution

Waterloo Ferreira da Silva’s historical reference places the beginning of the evolution of the xBase languages used by Microsiga in this period.

1997 · 5.07

Protheus platform

The TOTVS account associates the creation of its technology department with the client/server platform that preserved legacy code and gave rise to Advanced Protheus 5.07 and AdvPL.

Today

Modern development

Current development uses AppServer and can be performed in Visual Studio Code with the TOTVS Developer Studio extension.

xBase heritage

AdvPL extends concepts from Clipper and Visual Objects, as well as the experience with FiveWin, adding control structures, functions, commands and reserved words for Protheus.

Two chronological perspectives

The sources describe different milestones in the same process. The 2004 text identifies 1994 as the beginning of the evolution that led to AdvPL. The TOTVS Developers account highlights 1997, when the technology department was created, and associates AdvPL with Advanced Protheus 5.07. The dates represent the beginning of language evolution and the consolidation of the platform, respectively.

Architecture and portability

The client/server strategy preserved much of the xBase code while processing was handled by the server. SmartClient later evolved through multiplatform initiatives, Linux and macOS versions, and browser access alternatives. These are historical milestones; current availability and support must be checked for the version in use.

Procedural code, objects and events

A routine can be organized as a sequence of functions and procedures, while the language also provides classes, objects and event handling for visual applications.

APOs and repository

Compiled sources become executable objects stored in the application repository, allowing routines to be loaded by the server while the environment is running.

Program types

AdvPL programs can run background processing or interact with users through messages, dialogs, forms, queries and other visual components.

Learning, integration and support

Learning can combine technical documentation, examples, courses and developer communities. For integrations, web or mobile applications, performance and security, first identify the product, architecture and version involved, then consult the relevant TOTVS APIs and documentation. Authentication, authorization, encryption, transactions, caching and data access depend on the solution design and must not be assumed merely because it uses AdvPL.

CURRENT ENVIRONMENT

AppServer + VS Code

Current TOTVS documentation uses the name AppServer and recommends Visual Studio Code with the TOTVS Developer Studio extension. This distinction preserves the history without mixing older and current tools.

REFERENCES
  1. SILVA, Waterloo Ferreira da. A Linguagem AdvPL. 2004, p. 11. Content summarized and reorganized.
  2. TOTVS. AdvPL. TDN — language definition and paradigms.
  3. TOTVS. TOTVS Developer Studio para VS Code. TDN — current development environment.
  4. CHINAGLIA, Rafael. ADVPL: dúvidas básicas. TOTVS Developers, 20 out. 2023. — overview, learning, integration and support channels.
  5. GODOI, Ricardo Mansano. A história do Setor de Tecnologia da TOTVS. TOTVS Developers, 29 jan. 2018. — journey from Clipper to AdvPL and the platform’s historical evolution.
  6. TOTVS. Microsiga Protheus SDK. TDN — additional reference.