We know that we can use MESSAGE statement to issue a message in ABAP. What if we want to issue the same message in more than one program? Do we need to hard code the same message text or maintain the same text symbols in all the programs? The answer is NO. Instead of maintaining the same message text in all the programs maintain the message in a Message class and use it in all the programs.
What is a Message Class?
Message Class is a like a container which holds a number of different messages. Each message in the message class is identified with unique message number. So when you call a message in a ABAP program, you need to specify the message class and message number.
How to create a Message Class?
First go to t-code SE91 i.e. Message Maintenance, enter the name of the message class and click on create button.
Maintain the required message texts with message numbers. Then save the entries and assign it to proper development class and transport request. Once the message class is saved we can use it in our ABAP programs.
Messages can be issued as follows.
In the above code, the message number, message class and message type are specified in the MESSAGE statement. We can also specify the message class in the REPORT statement as shown below, so that we can skip the message class in the MESSAGE statements of the program.
. MESSAGE s000.
We can also maintain placeholders for variables in messages.
In the above message “&” is the placeholder. At runtime the placeholders (&) will be replaced by the variable values specified in the MESSAGE statement.
REPORT zmessages MESSAGE-ID ztest. MESSAGE s001
WITH ‘XYZ’ ‘1000’
The values “XYZ” and “1000” replaces the placeholders in the actual message.