Choose your language
AdvPL Programming Course
Over 400,000 professionals on the platform
Exclusive for businesses

AdvPL Programming Course

Master ADVPL development from the ground up and build real, production-ready customisations inside the Totvs Protheus ERP. This course takes you from environment setup through advanced REST APIs, object-oriented design, and secure database operations. If you work with Protheus and need to write code that actually holds up in production, this is your complete technical reference.

Dedika for students

What your team will master:

You will learn to configure the Totvs development environment, write structured ADVPL programmes, and perform full database operations on Protheus tables. The course covers user interface development using dialogs, grids, and the MVC framework, as well as report generation with FWMSPrinter. You will implement points of entry to customise standard Protheus screens and business rules without modifying core code. Advanced topics include REST API development, external web service consumption, scheduled background jobs, and object-oriented programming in ADVPL. Security, performance tuning, testing strategies, and version control round out the curriculum.

How your team learns in practice AdvPL Programming Course

How your team practises AdvPL Programming Course

Professionals from these companies study at Dedika

ActemiumFR
Nunner LogisticsNL
GT Constructora GeotécnicaCR
Sydel StarBR
Metrô de São PauloBR
Aguas AndinasCL
DSMIN
MeridianbetRS
CDHCN

Course content

8 Chapters • 37 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

Introduction to ADVPL and Totvs

  • Lesson 1 • Compiling and Running Programs

    Explains the compile-link-run cycle specific to ADVPL. Students execute their first programs and interpret runtime output.

  • Lesson 2 • ADVPL Language Fundamentals

    Introduces ADVPL syntax, data types, and basic constructs. Builds the vocabulary needed for all programming tasks ahead.

  • Lesson 3 • Overview of Totvs Protheus

    Covers the Protheus ERP architecture and how ADVPL fits within it. Provides context for all subsequent development tasks.

  • Lesson 4 • Setting Up the Development Environment

    Guides installation and configuration of the IDE and application server. Ensures a working local environment before writing any code.

Chapter 2See details

Core Language Constructs

  • Lesson 1 • Functions and Procedures

    Defines user functions, static functions, and parameter passing conventions. Modular design principles are introduced here.

  • Lesson 2 • Operators and Expressions

    Covers arithmetic, relational, logical, and string operators. Establishes expression evaluation rules used throughout all programmes.

  • Lesson 3 • Conditional Structures

    Teaches IF/ELSEIF/ELSE and DO CASE constructs for branching logic. Students implement decision-driven programme flows.

  • Lesson 4 • Looping and Iteration

    Introduces FOR, WHILE, and DO WHILE loops for repetitive processing. Students control iteration with EXIT and LOOP commands.

  • Lesson 5 • Arrays and Data Structures

    Covers one-dimensional and multidimensional arrays and common manipulation functions. Students store and process collections of data.

Chapter 3See details

String, Date, and Numeric Processing

  • Lesson 1 • String Manipulation Functions

    Covers SUBSTR, ALLTRIM, UPPER, LOWER, STRTRAN, and related functions. Students transform and validate text data reliably.

  • Lesson 2 • Type Conversion and Validation

    Covers VAL, STR, VALTYPE, and input validation patterns. Students prevent runtime errors from mismatched data types.

  • Lesson 3 • Numeric Formatting and Maths

    Teaches ROUND, INT, MOD, and formatting functions for numeric output. Ensures accurate financial and statistical calculations.

  • Lesson 4 • Date and Time Functions

    Introduces CTOD, DTOC, DATE, TIME, and date arithmetic. Students handle scheduling and period-based business logic.

Chapter 4See details

Database Access and Table Operations

  • Lesson 1 • Protheus Database Architecture

    Explains the SX-table metadata system and alias-based table access. Provides the conceptual model for all database operations.

  • Lesson 2 • Inserting, Updating, and Deleting Records

    Covers RECLOCK, DBAPPEND, field assignment, and DBDELETE. Students safely modify data with proper locking protocols.

  • Lesson 3 • Opening and Navigating Tables

    Covers DBUSE, DBGOTO, DBSKIP, and index-based navigation commands. Students move through records efficiently and correctly.

  • Lesson 4 • Querying with SEEK and Filters

    Teaches DBSEEK, DBSETFILTER, and DBSETORDER for targeted data retrieval. Students locate specific records without full table scans.

  • Lesson 5 • Embedded SQL in ADVPL

    Introduces TCQUERY, TCSQLEXEC, and parameterised queries for SQL-based access. Students choose between xBase and SQL approaches appropriately.

Chapter 5See details

User Interface Development

  • Lesson 1 • Dialog and Window Basics

    Covers DEFINE DIALOG, ACTIVATE DIALOG, and window sizing. Establishes the container model for all UI components.

  • Lesson 2 • Grids and Browse Components

    Introduces MSBROWSE and grid controls for tabular data display. Students present record sets in structured, navigable grids.

  • Lesson 3 • MVC Pattern in Protheus

    Explains the Model-View-Controller architecture used in modern Protheus screens. Students separate data logic from presentation code.

  • Lesson 4 • Validation and User Feedback

    Covers field-level validation, HELP messages, and ALERT dialogs. Students enforce data integrity at the UI layer.

  • Lesson 5 • Standard Controls and Widgets

    Teaches SAY, GET, buttons, checkboxes, and combo boxes. Students populate dialogs with interactive input and display elements.

Chapter 6See details

Reports and Print Output

  • Lesson 1 • Defining Headers and Footers

    Covers HEADER, FOOTER, and page numbering commands. Students produce professional, consistently branded report pages.

  • Lesson 2 • Advanced Formatting with FWMSPrinter

    Introduces the FWMSPrinter class for pixel-level layout control. Students build complex, multi-column business documents.

  • Lesson 3 • Detail Lines and Grouping

    Teaches DETAIL, GROUP BY, and subtotal accumulation patterns. Students organise report data into meaningful sections.

  • Lesson 4 • Report Architecture in Protheus

    Explains the REPORT/ENDREPORT structure and the print spool pipeline. Provides the foundation for all report development tasks.

Chapter 7See details

Customisation and Point of Entry

  • Lesson 1 • Customising Standard Screens

    Teaches adding fields, changing validations, and modifying screen behaviour via entry points. Students tailor standard forms to business requirements.

  • Lesson 2 • Implementing User Exits

    Covers writing and registering user exit functions for standard routines. Students intercept standard processes to add business logic.

  • Lesson 3 • Customising Business Rules

    Covers intercepting save, delete, and process events to enforce custom rules. Students ensure data integrity beyond standard system behaviour.

  • Lesson 4 • Testing and Maintaining Customisations

    Introduces strategies for testing entry points and managing them across upgrades. Students keep customisations stable through system updates.

  • Lesson 5 • Understanding Points of Entry

    Defines the point-of-entry mechanism and its role in safe customisation. Students identify where and when custom code is invoked.

Chapter 8See details

Advanced ADVPL and Integration

  • Lesson 1 • Scheduled Jobs and Background Processing

    Teaches APSCHEDULER, STARTTALK, and multi-threading patterns for async tasks. Students offload long-running processes from the UI thread.

  • Lesson 2 • Consuming External Web Services

    Covers HTTPCLIENT, SOAP calls, and XML parsing for third-party integrations. Students connect Protheus to external platforms reliably.

  • Lesson 3 • REST API Development with ADVPL

    Introduces the FWRESTAREA framework for building and consuming REST endpoints. Students expose Protheus data to external systems securely.

  • Lesson 4 • Object-Oriented Programming in ADVPL

    Covers CLASS, METHOD, DATA, and inheritance syntax. Students design reusable, encapsulated components for complex applications.

  • Lesson 5 • Error Handling and Debugging

    Teaches BEGIN SEQUENCE/RECOVER, CONOUT logging, and the IDE debugger. Students diagnose and recover from runtime failures gracefully.

Certification

Your valid completion certificate

This course is for you:

  • Junior ADVPL developers: ready to move beyond copy-paste fixes into structured solutions.

  • ERP consultants: needing hands-on coding skills to handle client customisation requests.

  • Systems analysts: wanting to read and write ADVPL code alongside their functional work.

  • IT professionals in Totvs shops: tasked with maintaining or extending Protheus modules.

  • Career changers from general programming: entering the Protheus ecosystem for the first time.

  • Business developers: building internal tools that connect Protheus data to other platforms.

Related Courses

FAQ

Who is Dedika?

Is the certificate valid in Australia?

Are the courses free?

What is the course workload?

What are the courses like?

How do the courses work?

What is the duration of the courses?

What is the cost or price of the courses?

What is an EAD or online course and how does it work?

PDF Course