ABAPMESSAGE_OPTIONS - MESSAGE OPTIONS
BAL Application Log Documentation General Data in Customer MasterDiese Dokumentation steht unter dem Copyright der SAP AG.
MESSAGE - message_options
Syntax
... { {[DISPLAY LIKE dtype] [RAISING exception]}
| [INTO text] }
[WITH dobj1 ... dobj4].
Zusätze:
1. ... DISPLAY LIKE dtype
2. ... RAISING exception
3. ... INTO text
4. ... WITH dobj1 ... dobj4
Wirkung
Diese Zusätze ändern die Art der Anzeige, lösen einenicht-klassenbasierte Ausnahme in Funktionsbausteinen oder Methoden aus, weisen einem Datenobjekt den Text derNachricht zu und ersetzen die Platzhalter in den Kurz- und Langtexten von Nachrichten.
Zusatz 1
... DISPLAY LIKE dtype
Wirkung
Bei Verwendung dieses Zusatzes wird statt der zugehörigen Ikone die Ikone des in dtype angegebenenNachrichtentypsangezeigt 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 Dialogfensterangezeigt werden, weiterhin als Dialogfenster angezeigt. Nachrichten vom Typ "E" oder "W" werden (außerzu 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
... RAISING exception
Wirkung
Mit diesem Zusatz löst die Anweisung MESSAGE entweder einenicht-klassenbasierteAusnahme exception aus oder sendet eine Nachricht. Der Zusatz ist nur während derVerarbeitung von Methoden und Funktionsbausteinen sinnvoll, in denen die nicht-klassenbasierte Ausnahme exception definiert ist. Weiterhin darf er nicht im gleichenVerarbeitungsblockwie die Anweisung RAISE EXCEPTION zum Auslösen klassenbasierter Ausnahmen verwendet werden.
Wenn die MESSAGE-Anweisung mit dem Zusatz RAISING während der Verarbeitung einer Methode oder eines Funktionsbausteins ausgeführt wird, deren Aufrufer der Ausnahmeexception mit dem Zusatz EXCEPTIONS der Anweisung CALL einen Rückgabewertzuweist, wirkt sie wie die Anweisung RAISE.Wenn der Ausnahme exception kein Rückgabewert zugewiesen wird, wird der Zusatz RAISING ignoriert und die Nachricht gemäß ihremNachrichtentyp verarbeitet.
Die Systemfelder der Anweisung MESSAGE werden in beiden Fällen versorgt und stehen nachder Behandlung einer mit MESSAGE ... RAISING ausgelösten Ausnahme im aufrufenden Programm zur Verfügung. Dies gilt insbesondere auch dann, wenn ein Funktionsbaustein über Remote Function Call(RFC) aufgerufen wurde.
Hinweise
- Die Verwendung von MESSAGE ... RAISING ist in Fällen, in denen noch mit nicht-klassenbasiertenAusnahmen gearbeitet werden muss, der Verwendung der Anweisung RAISE vorzuziehen, da dies die Möglichkeit eröffnet, eine Ausnahme mit zusätzlichen Textinformationen zu versehen.
- Nachrichten, die in Funktionsbausteinen ohne den Zusatz RAISING gesendet werden, kann mit dervordefinierten Ausnahme error_message ein Rückgabewert zugewiesen werden.
- Wenn eine Prozedurüber das Auslösen einer Ausnahme verlassen wird, wird der Inhalt der Formalparameter, für welche dieWertübergabe definiert ist, nicht den jeweiligen Aktualparametern zugewiesen.
Beispiel
Beim ersten Aufruf der Methode wird eine Informationsnachricht gesendet, beim zweiten Aufruf wird stattdessen eine Ausnahme ausgelöst und nach dem Aufruf über die Auswertung von sy-subrc behandelt.
CLASS c1 DEFINITION.
PUBLIC SECTION.
CLASS-METHODS m1 EXCEPTIONS exc1.
ENDCLASS.
CLASS c1 IMPLEMENTATION.
METHOD m1.
MESSAGE 'Message in a Method' TYPE 'I' RAISING exc1.
ENDMETHOD.
ENDCLASS.
...
c1=>m1( ).
c1=>m1( EXCEPTIONS exc1 = 4 ).
IF sy-subrc = 4.
...
ENDIF.
Zusatz 3
... INTO text
Wirkung
Mit diesem Zusatz wird der Kurztext der Nachricht der Variablen text zugewiesen. DerNachrichtentypspielt keine Rolle. Der Programmablauf wird nicht unterbrochen und es findet keine Nachrichtenverarbeitung statt. Für text wird ein zeichenartiges Datenobjekt erwartet.
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 Ausnahmeerror_message unter Verwendung der entsprechenden Systemfelder in einem Datenobjekt mtext gespeichert.
DATA mtext TYPE string.
CALL FUNCTION ... EXCEPTIONS error_message = 4.
IF sy-subrc = 4.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
INTO mtext
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Zusatz 4
... WITH dobj1 ... dobj4
Wirkung
Dieser Zusatz ersetzt die Platzhalter "&1" bis "&4" und "&" des Kurztextes bzw. "&V1&" bis "&V4&" desLangtextes der Nachricht mit dem aufbereiteten Inhalt der Datenobjekte dobj1, ... , dobj4.Es können bis zu vier Datenobjekte dobj1 bis dobj4 angegeben werden. Sie könnenden gleichen Datentyp wie ein Quellfeld der Anweisung WRITE TO haben und sie werden entsprechend der zugehörigenvordefinierten Formatein einer Ausgabelänge von 50 aufbereitet. Die Position eines Datenobjekts bestimmt, welcher Platzhalterersetzt wird. Der aufbereitete Inhalt des ersten Datenobjekts ersetzt die Platzhalter "&1", den erstenPlatzhalter "&" und "&V1&", der des zweiten ersetzt "&2", das zweite "&" und "&V2&" usw. Weiterhin wirdder aufbereitete Inhalt der Datenobjekte dobj1, ..., dobj4 der Reihe nach den Systemfeldern sy-msgv1 bis sy-msgv4 zugewiesen.
Wenn weniger Datenobjekte angegeben sind, als es Platzhalter gibt, werden überzähligePlatzhalter im Kurztext nicht dargestellt und die zugehörigen Systemfelder sy-msgv1 bissy-msgv4 initialisiert. Wenn ein angegebenes Datenobjekt keinem Platzhalter zugeordnet werden kann, wird es ignoriert.
Der Zusatz WITH kann nicht bei der Ausgabe einesbeliebigen Textsbzw. einer Objektreferenz oref angegeben werden.
Hinweise
- Wenn ein Kurztext Platzhalter beider Formen "&i" und "&" enthält, kann der Inhalt eines Datenobjektszwei Platzhalter ersetzen. Das Datenobjekt an der i-ten Stelle ersetzt sowohl "&i" als auch den i-tenPlatzhalter "&". Es wird empfohlen, in einem Kurztext nur eine der beiden Formen für Platzhalterzu 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 genauwie "&" 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 gespeichertsein. Wenn mit dem Grafischen PC-Editor gearbeitet wird, könnensie 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" alsInformationsnachrichtausgegeben. Ist der Kurztext aber als "&4 &1 &3 &2" definiert, ist die Ausgabe "America This not is".
- MESSAGE i010 WITH 'This' 'is' 'not' 'America'.
TXBHW - Original Tax Base Amount in Local Currency BAL Application Log Documentation
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 12683 Date: 20120526 Time: 214802 triton ( 344 ms )






