[ABAP] Messages ausgeben

Messagetypen

Typ  Bezeichnung  Bedeutung

A    Abbruch      Anzeige der Nachricht in einem Dialogfenster. Die gesamte Transaktion wird nach der Bestätigung durch ENTER abgebrochen.
E    Error        Anzeige der Nachricht in der Statuszeile. Nach der Bestätigung durch ENTER wird der aktuelle Ereignisblock abgebrochen und die Anzeige der vorhergehenden Listenstufe bleibt bestehen. Während der Erstellung der Grundliste wird das gesamte Programm abgebrochen.
I    Information  Anzeige der Nachricht in einem Dialogfenster. Nach der Bestätigung durch ENTER wird die Verarbeitung hinter der MESSAGE-Anweisung wieder aufgenommen.
S    Status       Anzeige der Nachricht in der Statuszeile der momentan erstellten Liste.
W    Warnung      siehe E
X    Exit         Dieser Nachrichtentyp löst einen Laufzeitfehler aus und erzeugt einen Kurzdump.

Codebeispiele

* Beispiele
* Popup-Message des Typs 'E' (Fehler)
MESSAGE 'Nachricht.' TYPE 'I' DISPLAY LIKE 'E'.
* Popup-Message vom Typ 'I' (Information)
MESSAGE 'Text.' TYPE 'I'.

* Message in der Statuszeile vom Typ 'E' (rot)
MESSAGE 'Nachricht.' TYPE 'S' DISPLAY LIKE 'E'.
* Message in der Statuszeile vom Typ 'W' (gelb)
MESSAGE 'Nachricht.' TYPE 'S' DISPLAY LIKE 'W'.
* Message in der Statuszeile (grün)
MESSAGE 'Nachricht.' TYPE 'S'.

* Nachrichtentext Nr. 004 der Nachrichtenklasse 'mymessageclass', Typ 'I' (Information) mit Parameter v1
MESSAGE i004(mymessageclass) TYPE 'I' WITH v1.
* Nachrichtentext Nr. 004 der Nachrichtenklasse 'MYMESSAGECLASS' (Großschreibung!), Typ 'I' (Information)
MESSAGE ID 'MYMESSAGECLASS' TYPE 'I' NUMBER '004'.
* Fehlermessage komplett in der Statusleiste anzeigen
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 DISPLAY LIKE 'E'.
* Fehlermessage in String konvertieren
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO DATA(lv_message_str).
WRITE: / lv_message_str.

sy-msg in String

* Variante 1
DATA(lv_msg) = |{ sy-msgv1 } { sy-msgv2 } { sy-msgv3 } { sy-msgv4 }|.
WRITE: / lv_msg.

* Variante 2
DATA(lv_msg) = ||.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO lv_msg.
WRITE: / lv_msg.

Weiterführender Link: Link