ABAP

Message Classes/MESSAGE keyword

Introduction#

The MESSAGE statement may be used to interrupt program flow to display short messages to the user. Messages content may be defined in the program’s code, in the program’s text symbols, or in an independent message class defined in SE91.

Remarks#

The maximum length of a message, including parameters passed to it using &, is 72 characters.

Defining a Message Class

PROGRAM zprogram MESSAGE-ID sabapdemos.

System-defined message may be stored in a message class. The MESSAGE-ID token defines the message class sabapdemos for the entire program. If this is not used, the message class must be specified on each MESSAGE call.

MESSAGE with Predefined Text Symbol

PROGRAM zprogram MESSAGE-ID za.
...
MESSAGE i000 WITH TEXT-i00.

A message will display the text stored in the text symbol i00 to the user. Since the message type is i (as seen in i000), after the user exits the dialog box, program flow will continue from the point of the MESSAGE call.

Although the text did not come from the message class za, a MESSAGE-ID must be specified.

Message without Predefined Message Class

PROGRAM zprogram.
...
MESSAGE i050(sabapdemos).

It may be inconvenient to define a message class for the entire program, so it is possible to define the message class that the message comes from in the MESSAGE statement itself. This example will display message 050 from the message class sabapdemos.

Dynamic Messaging

DATA: msgid TYPE sy-msgid VALUE 'SABAPDEMOS', 
      msgty TYPE sy-msgty VALUE 'I', 
      msgno TYPE sy-msgno VALUE '050'. 

MESSAGE ID mid TYPE mtype NUMBER num. 

The MESSAGE call above is synonymous to the call MESSAGE i050(sapdemos)..

Passing Parameters to Messages

The & symbol may be used in a message to allow parameters to be passed to it.


Ordered Parameters

Message 777 of class sabapdemos:

Message with type &1 &2 in event &3

Calling this message with three parameters will return a message using the parameters:

MESSAGE i050(sabapdemos) WITH 'E' '010' 'START-OF-SELECTION`.

This message will be displayed as Message with type E 010 in event START-OF-SELECTION. The number next to the & symbol designates the order in which the parameters are displayed.


Unordered Parameters

Message 888 of class sabapdemos:

& & & &

The calling of this message is similar:

MESSAGE i050(sabapdemos) WITH 'param1' 'param2' 'param3' 'param4'.

This will output param1 param2 param3 param4.


This modified text is an extract of the original Stack Overflow Documentation created by the contributors and released under CC BY-SA 3.0 This website is not affiliated with Stack Overflow