What is Message?

Messages are used to describe what is happening in the program execution to the programmer or user. Messages represents with a three-digit number. Messages range starts from 000 to 999.

Message Types -

Messages are basically six types. Those are -

AAbend The message appears in a separate dialog box and the program execution get terminated.
When the user has confirmed the message, control returns to the next-highest area menu.
EErrorAn error dialog appears or the program terminates depending on the program condition.
IInformationThe message appears in a separate dialog box.
Once the user has confirmed the message, the program execution continues from the next statement coded immediately after the MESSAGE statement.
SSuccessThe total program execution continues normally and the message is displayed in the status bar of the screen.
WWarningAn error message is displayed in the status bar of the screen and the program execution terminates.
XExit or AbortNo message is displayed.
The program terminates with a short dump.
Program terminations with a short dump normally only occur when a runtime error occurs.

Message Usage -

Messages can be added to the program mostly in two ways. Those are -

  • Coding directly in the program
  • By using the message class.

Coding directly in the program -

Coding the message directly in the program is a very simple process. No definition was required before coding the message in the program.

Syntax -

MESSAGE {message-name} TYPE {message-type}.

  • Message - 80 characters user defined message.
  • Message-type - Specifies the message type.

Now, let us see how different message types coded one by one with seperate examples.

Example -

Display abend message.

Code -

*&---------------------------------------------------------------------*
*& Report  Z_MESSAGE
*&---------------------------------------------------------------------*
*& Written by TutorialsCampus
*&---------------------------------------------------------------------*

REPORT  Z_MESSAGE.

* Displaying Abend Message of type A
MESSAGE 'This is a Abend message' TYPE 'A'.

Output -

Abend message example display

Explaining Example -

In the above example, each and every statement is preceeded with a comment to explain about the statement. Go through them to get clear understanding of example code.

MESSAGE 'This is a Abend message' TYPE 'A'. - Opens a popup and displays 'This is a Abend message' on the popup.


Example -

Display error message.

Code -

*&---------------------------------------------------------------------*
*& Report  Z_MESSAGE
*&---------------------------------------------------------------------*
*& Written by TutorialsCampus
*&---------------------------------------------------------------------*

REPORT  Z_MESSAGE.

* Displaying error Message of type E
MESSAGE 'This is a Error message' TYPE 'E'.

Output -

Error message example display

Explaining Example -

In the above example, each and every statement is preceeded with a comment to explain about the statement. Go through them to get clear understanding of example code.

MESSAGE 'This is a Error message' TYPE 'E'. - Displays 'This is a Error message' on the output page status bar.


Example -

Display Informational message.

Code -

*&---------------------------------------------------------------------*
*& Report  Z_MESSAGE
*&---------------------------------------------------------------------*
*& Written by TutorialsCampus
*&---------------------------------------------------------------------*

REPORT  Z_MESSAGE.

* Displaying Informational Message of type I
MESSAGE 'This is a Informational message' TYPE 'I'.

Output -

informational message example display

Explaining Example -

In the above example, each and every statement is preceeded with a comment to explain about the statement. Go through them to get clear understanding of example code.

MESSAGE 'This is a Informational message' TYPE 'I'. - Opens a popup and displays 'This is a Informatonal message' on the popup.


Example -

Display success message.

Code -

*&---------------------------------------------------------------------*
*& Report  Z_MESSAGE
*&---------------------------------------------------------------------*
*& Written by TutorialsCampus
*&---------------------------------------------------------------------*

REPORT  Z_MESSAGE.

* Displaying Success Message of type S
MESSAGE 'This is a Success message' TYPE 'S'.

Output -

Success message example display

Explaining Example -

In the above example, each and every statement is preceeded with a comment to explain about the statement. Go through them to get clear understanding of example code.

MESSAGE 'This is a Success message' TYPE 'S'. - Displays 'This is a Success message' on the output page status bar.


Example -

Display warning message.

Code -

*&---------------------------------------------------------------------*
*& Report  Z_MESSAGE
*&---------------------------------------------------------------------*
*& Written by TutorialsCampus
*&---------------------------------------------------------------------*

REPORT  Z_MESSAGE.

* Displaying Warning Message of type W
MESSAGE 'This is a Warning message' TYPE 'W'.

Output -

Warning message example display

Explaining Example -

In the above example, each and every statement is preceeded with a comment to explain about the statement. Go through them to get clear understanding of example code.

MESSAGE 'This is a Warning message' TYPE 'W'. - Displays 'This is a Warning message' on the output page status bar.


Example -

Display exit message.

Code -

*&---------------------------------------------------------------------*
*& Report  Z_MESSAGE
*&---------------------------------------------------------------------*
*& Written by TutorialsCampus
*&---------------------------------------------------------------------*

REPORT  Z_MESSAGE.

* Displaying Exit Message of type X
MESSAGE 'This is a Exit message' TYPE 'X'.

Output -

Exit message example display

Explaining Example -

In the above example, each and every statement is preceeded with a comment to explain about the statement. Go through them to get clear understanding of example code.

MESSAGE 'This is a Exit message' TYPE 'X'. - Displays 'This is a Exit message' on the output exit page.


Using the message class -

In this scenario, messages gets displayed from the message class that is defined by using MESSAGE-ID along with the REPORT command. Message number is a three-character code that can define a set of 1000 messages and those are accessed when MESSAGE command executed in the program.

Messages number ranges from 000 to 999 (i.e. 1000 messages). Each message associated with message number and the message length can be upto 80 characters. When a message number used in the program, the corresponding message retrived from the message class and gets displayed.

Syntax -

MESSAGE {message-name} WITH field1 ... field4.

This addition replaces the placeholders "&1" to "&4" and "&" of the short text or "&V1&" to "&V4&" of the long text of of the operands field1, ..., field4. Up to four operands field1 through field4 can be specified.

Messages are not always static and some part of the message can be filled with a dynamic or runtime text. While creating a custom message, Amber sign (&) symbol used in the place of dynamic or runtime text. The MESSAGE...WITH statement used to pass the dynamic or runtime text during the program execution.


Example -

Create a message class with a template message and pass the runtime text to complete the message.

First we need to create the message class with MESSAGE-ID by coding in the program.

Step-1: Code MESSAGE-ID along with REPORT shown like below. ZMG_CUSTMESG is the new message class.

create custom message1

Step-2: Double click on the message class name (ZMG_CUSTMESG) to create it. The Create Object diaglog gets opened.

create custom message2

Step-3: Click on "YES" to create new. It directs to Message Maintenance screen.

create custom message3

Step-4: Once the required information updated, move to "Messages" tab or Save button. Below screen gets appear.

create custom message4

Step-5: Select the desired package and click on "Local Object" button or "Save". The Messages tab gets opened like below.

create custom message5

Step-6: Create the messages that required and click on "Save" button to save. Now newly created message class gets saved and it routes to ABAP Editor to continue the program coding.


Note! The message added with &. '&' used to pass custom information from the MESSAGE...WITH statement to the message text.
The text in the MESSAGE statement replaces '&' and displays the message.

Step-7: Open ABAP editor and complete the coding in the program.

create custom message6

The message defined for the message number 000 is 'This is a & Message'. We are passing custom text('Informational') in MESSAGE....WITH statement. So the '&' replaces with 'Informational' and displays the message as 'This is a Informational message'. As it is an message type 'I', it displays in separate dialog box.

Step-8: Execute the program to display the output.

Finally, the custom message displayed with dynamic or runtime text 'Informational'. The output 'This is Informational Message' gets displayed on the seperate informational dialog box.