Ansicht
Dokumentation

ABAPMESSAGE_OPTIONS - MESSAGE OPTIONS

ABAPMESSAGE_OPTIONS - MESSAGE OPTIONS

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

MESSAGE - message_options

Kurzreferenz



Syntax

... { {[DISPLAY LIKE dtype] [RAISING exception]}
    | [INTO text] }

    [WITH dobj1 ... dobj4].

Zusätze:

1. ... DISPLAY LIKE dtype

2. ... INTO text

3. ... WITH dobj1 ... dobj4

Wirkung

Diese Zusätze ändern die Art der Anzeige, weisen einem Datenobjekt den Text der Nachricht zu und ersetzen die Platzhalter in den Kurz- und Langtexten von Nachrichten.

Mit dem Zusatz RAISING löst die Anweisung MESSAGE eine nicht-klassenbasierte Ausnahme in Funktionsbausteinen oder Methoden aus.

Zusatz 1

... DISPLAY LIKE dtype

Wirkung

Bei Verwendung dieses Zusatzes wird statt der zugehörigen Ikone die Ikone des in dtype angegebenen Nachrichtentyps angezeigt Für dtype wird ein zeichenartiges Datenobjekt erwartet , das einen der Werte "A", "E", "I", "S" oder "W" in Großbuchstaben enthalten muss.

Der Kurztext der Nachrichten wird bei Nachrichten, die standardmäßig als Dialogfenster angezeigt werden, weiterhin als Dialogfenster angezeigt. Nachrichten vom Typ "E" oder "W" werden (außer zu PBO und LOAD-OF-PROGRAM) als Dialogfenster angezeigt, wenn dtype "A" oder "I" enthält. Nachrichten vom Typ "S" werden unabhängig von dtype immer in der Statuszeile angezeigt. Letzteres gilt auch für Nachrichten vom Typ "I" zu PBO und LOAD-OF-PROGRAM. Nachrichten vom Typ "X" führen immer zu einem Laufzeitfehler.

Hinweise

  • Die Verwendung dieses Zusatzes beeinflusst nicht das durch den Nachrichtentyp festgelegte Verhalten, sondern nur die Art der Darstellung.
  • Die Angabe von "X" für dtype ist nicht sinnvoll, da diesem Nachrichtentyp keine Ikone zugeordnet ist.


Zusatz 2

... INTO text

Wirkung

Mit diesem Zusatz wird der Kurztext der Nachricht dem Zielfeld text zugewiesen. Der Nachrichtentyp spielt keine Rolle. Der Programmablauf wird nicht unterbrochen und es findet keine Nachrichtenverarbeitung statt. Für text kann angegeben werden:

  • Eine vorhandene zeichenartige Variable.
  • Eine Inline-Deklaration DATA(var), wobei eine Variable vom Typ string deklariert wird.

Der Zusatz INTO kann nicht bei der Ausgabe eines beliebigen Textes angegeben werden.

Beispiel

Der Kurztext einer in einem Funktionsbaustein gesendeten Nachricht wird bei der Behandlung der Ausnahme error_message unter Verwendung der entsprechenden Systemfelder einem inline deklarierten Datenobjekt mtext zugewiesen.

CALL FUNCTION ... EXCEPTIONS error_message = 4.
IF sy-subrc = 4.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          INTO DATA(mtext)
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.


Zusatz 3

... WITH dobj1 ... dobj4

Wirkung

Dieser Zusatz ersetzt die Platzhalter "&1" bis "&4" und "&" des Kurztextes bzw. "&V1&" bis "&V4&" des Langtextes der Nachricht mit dem aufbereiteten Inhalt der Operanden dobj1, ... , dobj4. Es können bis zu vier Operanden dobj1 bis dobj4 angegeben werden. Sie können den gleichen Datentyp wie ein Quellfeld der Anweisung WRITE TO haben und sie werden entsprechend der zugehörigen vordefinierten Formate in einer Ausgabelänge von 50 aufbereitet. Bei zeichenartigem Datentyp handelt es sich bei dobj1 bis dobj4 um zeichenartige Ausdruckspositionen, ansonsten um funktionale Operandenpositionen.

Die Position eines Operands bestimmt, welcher Platzhalter ersetzt wird. Der aufbereitete Inhalt des ersten Operands ersetzt die Platzhalter "&1", den ersten Platzhalter "&" und "&V1&", der des zweiten ersetzt "&2", das zweite "&" und "&V2&" usw. Weiterhin wird der aufbereitete Inhalt der Operanden dobj1, ..., dobj4 der Reihe nach den Systemfeldern sy-msgv1 bis sy-msgv4 zugewiesen.

Wenn weniger Operanden angegeben sind, als es Platzhalter gibt, werden überzählige Platzhalter im Kurztext nicht dargestellt und die zugehörigen Systemfelder sy-msgv1 bis sy-msgv4 initialisiert. Wenn ein angegebener Operand keinem Platzhalter zugeordnet werden kann, wird er ignoriert.

Wenn die Systemfelder sy-msgid, sy-msgno und sy-msgv1 bis sy-msgv4 direkt hinter WITH angegeben werden, werden bereits die von der aktuellen MESSAGE-Anweisung gesetzten Werte verwendet. Wenn sie als Operanden von zeichenartigen Ausdrücken angegeben werden, werden die vorhergehenden Wert verwendet.

Der Zusatz WITH kann nicht bei der Ausgabe eines beliebigen Texts bzw. einer Objektreferenz oref angegeben werden.

Hinweise

  • Wenn ein Kurztext Platzhalter beider Formen "&i" und "&" enthält, kann der Inhalt eines Operanden zwei Platzhalter ersetzen. Der Operand an der i-ten Stelle ersetzt sowohl "&i" als auch den i-ten Platzhalter "&". Es wird empfohlen, in einem Kurztext nur eine der beiden Formen für Platzhalter zu verwenden. Wenn ein Kurztext in andere Sprachen übersetzt werden soll, sollten nur nummerierte Platzhalter "&i" verwendet werden, da sich der Satzbau ändern kann.

  • Aus Gründen der Abwärtskompatibilität wird das Zeichen "$" in Kurztexten genau wie "&" behandelt. Das gilt auch für "$i". Es muss also "$$" angegeben sein, falls "$" ausgegeben werden soll.

  • In Langtexten müssen die Platzhalter "&V1&" bis "&V4&" als solche in der Datenbank gespeichert sein. Wenn mit dem Grafischen PC-Editor gearbeitet wird, können sie nicht direkt eingegeben werden, sondern müssen über Einbinden → Symbole → Textsymbole übernommen werden.

Beispiel

Wenn der Kurztext der spezifizierten Nachricht in Tabelle T100 den Wert "& & & &" enthält, wird der Text "This is not America" als Informationsnachricht ausgegeben. Ist der Kurztext aber als "&4 &1 &3 &2" definiert, ist die Ausgabe "America This not is".

MESSAGE i010 WITH 'This' 'is' 'not' 'America'.





PERFORM Short Reference   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9055 Date: 20240423 Time: 210749     sap01-206 ( 125 ms )