Page tree
Skip to end of metadata
Go to start of metadata

Most of the time we define macro in our program by DEFINE ... END-OF-DEFINITION statement.


DEFINE  <Name>.  "<Name> = placeholder for macro name

ABAP code......
ABAP code......
ABAP code......


And this macro can be called in the following way

<Name> par1 par2 ...par9.        "par1... par9 = Parameters, separated by spaces

This above definition is local to the program where it is defined i.e. we cannot call this macro from another program. But we can create global macro that can be called by any program.

Global macro can be created by maintaining entries in table TRMAC.

Most popular example of standard global (system) macro is BREAK which is defined in table TRMAC as shown in the screen shot below.

From any program we can call this macro as:

BREAK  <user id>. "<user id> = placeholder for userid

Similarly if we want we can maintain our own global macro in TRMAC as shown below:

Add new entry to TRMAC


Create custom macro

Call this global macro from a report



Caution: Table TRMAC is a system table. Removing or changing existing entries in this table can mess up the system.