A macro is a text replacement technique defined using DEFINE … END-OF-DEFINITION. It’s similar to a preprocessor directive and is expanded at runtime.
When to use:
· For short code blocks with similar patterns (e.g., logging or repetitive output).
· Used mainly in reports.
DEFINE double_value.
&1 = &1 * 2.
END-OF-DEFINITION.
DATA: lv_num TYPE i VALUE 5.
double_value lv_num.
WRITE: / 'Doubled:', lv_num.
Output: