Open Source Contribution: This project is community-driven and Open Source! 🚀
If you spot a bug or have an idea for a cool enhancement, your contributions are more than welcome. Feel free to open an Issue or submit a Pull Request.
A lightweight, dynamic runtime translation tool for SAP forms.
It decouples text management from form development, allowing functional consultants or users to maintain labels via a simple database table (SM30,Business Configuration,RAP Application), bypassing the complex standard SE63 workflow.
This project is licensed under the MIT License.
The repository was created by George Drakos.
- No more SE63: Forget about the painful standard translation process for forms.
- Zero Hardcoding: Keep your form logic clean. No more
IF sy-langu = 'D'. text = 'Kunde'. ENDIF. - Hot-Swap Texts: Change a label description in Production without a Transport Request.
- Generic: Works with any ABAP structure or Form interface using RTTI.
- Performance: Optimized with table buffering to ensure zero impact on print times.
- Unit Tested: Includes built-in ABAP Unit tests.
- Fiori Elements App built entirely with the ABAP RESTful Application Programming Model (RAP) for maintaining form translations
- Install via ABAPGit
- ABAP Cloud/Clean Core compatibility.Passed SCI check variant S4HANA_READINESS_2023 and ABAP_CLOUD_READINESS
- Unit Tested
- Define a structure for your labels/texts in the form Global Definitions or the Driver Program.
- Populate it with default values (optional).
- Call the translator before calling the form Function Module(for smartforms).
DATA: BEGIN OF gs_labels,
title TYPE string,
footer_note TYPE string,
customer_lbl TYPE string,
END OF gs_labels.
" 1.Initialize (Optional defaults)
gs_labels-title = 'Invoice'.
" 2.Translate dynamically based on Language and DB Configuration
NEW zcl_form_translation( )->translate_form(
EXPORTING
iv_formname = 'ZINVOICE_FORM' " Key in ZABAP_FORM_TRANS
iv_langu = p_langu " e.g., NAST-SPRAS
CHANGING
cs_form_elements = gs_labels ). " The structure to be translated
" 3. The gs_labels structure now contains the translated texts from ZDB_FORM_TRANS
" Pass this structure to your Smartform / Adobe Form interface.