Defining Global Macros

by Joyjit Ghosh, IBM India

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


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


Statement …..



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 entries in this table can mess up the system.

Please send us your feedback/suggestions at webmaster@SAPTechnical.COM 

HomeContribute About Us Privacy Terms Of Use • Disclaimer • SafeCompanies: Advertise on SAPTechnical.COM | Post JobContact Us  

Graphic Design by Round the Bend Wizards

footer image footer image