SAP Message Class

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.

create-message-class-1

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.

create-message-class-2

Messages can be issued as follows.

MESSAGE s000(ztest).

Output

create-message-class-3

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.

REPORT zmessages

MESSAGE-ID ztest

.

MESSAGE s000.

We can also maintain placeholders for variables in messages.

create-message-class-4

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’

.

Output

create-message-class-5

The values “XYZ” and “1000” replaces the placeholders in the actual message.


8 Comments

  1. Hi

    Very Nice Explaination.One Doubt i have is where did the zmessages come from in the REPORT statement. because in the “Message Maintenence ” screen the name of the message class is given to be ZTEST.

    Thanks

  2. Very nice blog. Informative and self explanatory. Best self help material on the web.
    Just want to add here. If you want to post a message with a different message type. just add the message type in the statement. E.g –
    Message I001 with ‘XYZ’ ‘1000’.
    or
    Message W001 with ‘XYZ’ ‘1000’.
    Thanks.

Leave a Reply

Your email address will not be published.


*