advpl-to-tlpp-migration

Convert ADVPL functions to TLPP classes with TOTVS naming conventions.

176|37|Updated Mar 4, 2026
One-click install
npx skills add https://github.com/thalysjuvenal/advpl-specialist --skill advpl-to-tlpp-migration
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: advpl-to-tlpp-migration
Source: https://github.com/thalysjuvenal/advpl-specialist/tree/main/skills/advpl-to-tlpp-migration
Command: npx skills add https://github.com/thalysjuvenal/advpl-specialist --skill advpl-to-tlpp-migration

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill automates the complex and time-consuming process of migrating legacy ADVPL procedural code to modern, object-oriented TLPP, ensuring backward compatibility and adherence to best practices.

Core Features & Use Cases

  • Code Conversion: Transforms ADVPL functions into TLPP classes and methods.
  • Modernization: Refactors procedural code to leverage object-oriented patterns, namespaces, and TLPP-specific includes.
  • Backward Compatibility: Generates wrapper functions to maintain compatibility with existing systems during migration.
  • Use Case: Convert a critical .prw module with hundreds of User Functions and Static Functions into a maintainable TLPP class structure, reducing technical debt and improving future development.

Quick Start

Use the advpl-to-tlpp-migration skill to convert the ADVPL code in 'CalcPed.prw' to TLPP.

Frequently Asked Questions about advpl-to-tlpp-migration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate ADVPL procedural code to TLPP object-oriented classes?

Migrating ADVPL to TLPP involves refactoring procedural functions into object-oriented service classes, updating include directives, and managing variable scoping while adhering to TOTVS naming conventions.

Does converting ADVPL to TLPP maintain backward compatibility with existing Protheus systems?

Converting ADVPL to TLPP maintains backward compatibility by generating wrapper functions, allowing existing Protheus systems to call the new TLPP class methods without breaking current integrations.

How do I refactor static functions in a `.prw` module into a TLPP class structure?

Refactoring `.prw` static functions into TLPP classes transforms them into private methods within service classes, reducing technical debt and improving code maintainability for critical Protheus modules.

What is the best way to update include directives when modernizing legacy ADVPL code?

The best way to update include directives during ADVPL modernization is to replace legacy references with TLPP-specific standards, ensuring proper namespace usage and adherence to official TOTVS naming conventions.

Are there specific naming conventions required when converting ADVPL functions to TLPP namespaces?

Converting ADVPL functions to TLPP requires strict adherence to official TOTVS naming conventions for namespaces, files, classes, and methods to ensure the modernized codebase remains standardized and maintainable.