
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.
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









Course content
8 Chapters • 37 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsIntroduction to ADVPL and Totvs
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 2HideHide detailsSee detailsCore Language Constructs
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 3HideHide detailsSee detailsString, Date, and Numeric Processing
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 4HideHide detailsSee detailsDatabase Access and Table Operations
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 5HideHide detailsSee detailsUser Interface Development
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 6HideHide detailsSee detailsReports and Print Output
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 7HideHide detailsSee detailsCustomisation and Point of Entry
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 8HideHide detailsSee detailsAdvanced ADVPL and Integration
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.
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



















