Message

Aus SAP-Wiki
Wechseln zu:Navigation, Suche

Siehe Fehlerbehandlung.

Messages können mit dem Befehl "message" sehr einfach im SAP-System ausgegeben werden. Es hilft dem Anwender und dem Berater/Entwickler sehr, wenn sprechende Erfolgs- und Fehlermeldung ausgegeben werden.

Ausgabe Systemmeldungen

Schreibt das SAP-System passende Meldungen im Programmablauf in die Systemfelder, können sie direkt ausgegeben werden.

MESSAGE ID sy-msgid   "Nachrichtenklasse
      TYPE sy-msgty   "Typ (E = Error, S = Success, I = Info, A = Abbruch)
    NUMBER sy-msgno   "Nachrichtennummer
      WITH sy-msgv1   "Platzhaltervariable1
           sy-msgv2   "Platzhaltervariable2
           sy-msgv3   "Platzhaltervariable3
           sy-msgv4.  "Platzhaltervariable4

Vorsicht sollte man jedoch bei der Ausgabe von "SY-MSGTY" haben. Steht hier ein "E" (Error), wird das Programm in aller Regel abbrechen nach der Ausgabe dieser Meldung, was in aller Regel nicht erwünscht ist. Hier kann man diese Systemvariable durch "I" ersetzen, um dann kontrolliert den Programmablauf fortzusetzen.

Message Raising und Meldungen Systemvariablen

Beispiel Meldung in einer klassenbasierten Fehlerbehandlung

 TRY.
   data(lv_zahl) = 4 / 0.

   CATCH cx_sy_zerodivide INTO oerror.
     lv_txterror_long = oerror->get_longtext( ). "Langtext ist oft über 50 Zeichen

     message i531(0u) with lv_txterror_long.     "Begrenzung auf 50 Zeichen im Platzhalter der Message

     message lv_txterror_long type 'I'.          "Auch Texte über 50 Zeichen werden ausgegeben
 ENDTRY.

Platzhalter in einer Message

In einer Messagebox ist es sehr elegant und praktisch Variablen in die Meldung zu integrieren. Die Länge jedes Platzhalters ist auf 50 Zeichen beschränkt. In der Summe der Platzhalter können es jedoch über 50 Zeichen sein.

Das sieht man z. B. auch in der Nachrichtenklasse "0U". Hier gibt es maximal 4 Platzhalterzeichen. Sie können entweder durch "&" gekennzeichnet sein oder durch "&1", "&2", "&3" und "&4".

Platzhalter1.JPG

Typ der Message

  • A = Abbruch
  • E = Error
  • I = Info
  • S = Success
  • W = Warnung