Convert String to Uppercase in SAP ABAP
In SAP ABAP, you can convert a string or character field to uppercase using different methods.
1. Using TRANSLATE TO UPPER CASE (Recommended)
The TRANSLATE statement converts a string to uppercase in-place.
DATA: lv_string TYPE string VALUE 'sap abap programming'.
TRANSLATE lv_string TO UPPER CASE.
WRITE: lv_string. " Output: SAP ABAP PROGRAMMING✅ Works for both STRING and CHAR.
✅ Modifies the variable directly.
2. Using CONVERSION_EXIT_ALPHA_INPUT (For ALPHA Conversion)
If you’re dealing with numeric fields stored as CHAR, use CONVERSION_EXIT_ALPHA_INPUT first.
DATA: lv_string TYPE char10 VALUE '00001234'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = lv_string IMPORTING output = lv_string.
TRANSLATE lv_string TO UPPER CASE.
WRITE: lv_string. " Output: 1234 (without leading zeros)✅ Removes leading zeros before converting to uppercase. ❌ Only useful for numeric CHAR fields.
3. Using TOUPPER (Newer ABAP Syntax)
For inline data declarations, use TOUPPER.
DATA(lv_upper) = to_upper( 'sap abap' ).
WRITE: lv_upper. " Output: SAP ABAP✅ Shorter syntax, ideal for modern ABAP (7.40+).
4. Using XSDBOOL in SQL Queries
For uppercase conversions in SQL statements, use UPPER.
SELECT UPPER(name) INTO @DATA(lv_upper) FROM my_table WHERE id = 1.
WRITE: lv_upper.✅ Converts database field to uppercase before fetching.
🚀 Summary: Best Methods to Convert to Uppercase
| Method | Use Case |
|---|---|
TRANSLATE lv_string TO UPPER CASE | ✅ Best for general string conversion |
TOUPPER( lv_string ) | ✅ Modern ABAP syntax (7.40+) |
CONVERSION_EXIT_ALPHA_INPUT | ✅ Removes leading zeros before uppercase |
SELECT UPPER(column) | ✅ Convert text in SQL queries |