Messagehandling (ABAP)
Aus MattWiki
Zweck: Nach der Verwendung von Nachrichten einer Nachrichtenklasse per SAP Verwendungsnachweis suchen können.
Voraussetzung: In den Eigenschaften der jeweiligen Klasse muss die Nachrichtenklasse gepflegt sein.
Dann kann man eine Add-Message-Methode bauen, die etwa so aussieht:
METHOD add_message_from_sy.
APPEND VALUE fpmgb_s_t100_message(
msgid = sy-msgid
msgno = sy-msgno
severity = sy-msgty
parameter_1 = sy-msgv1
parameter_2 = sy-msgv2
parameter_3 = sy-msgv3
parameter_4 = sy-msgv4
) TO ct_messages.
ENDMETHOD.
Der Aufruf findet dabei wie folgt statt. Dabei setzt die MESSAGE
-Funktion die sy-msg*-Werte.
MESSAGE w380 with <f_variables>-var_id-vnam INTO DATA(lv_dummy).
add_message_from_sy( CHANGING ct_messages = rt_messages ).
Rückgabewerte:
methods SET_CHAR_TEXTS_EDIT
returning
value(RT_MESSAGES) type FPMGB_T_MESSAGES .
Da es sich bei diesem Rückgabewert um einen Returning- und nicht um einen Changing-Parameter handelt, muss an der Aufrufenden Stelle das Ergebnis an die Messages-Tabelle mit APPEND
angefügt werden:
APPEND LINES OF me->set_char_texts_edit( ) to rt_messages.