Message Classes/MESSAGE keyword

Other topics

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.

Contributors

Topic Id: 10691

Example Ids: 32068,32069,32071,32072,32073

This site is not affiliated with any of the contributors.