Messagehandling (ABAP): Unterschied zwischen den Versionen

Aus MattWiki
(Die Seite wurde neu angelegt: „Zweck: Nach der Verwendung von Nachrichten einer Nachrichtenklasse per SAP Verwendungsnachweis suchen können. Voraussetzung: In den Eigenschaften der jeweili…“)
 
Keine Bearbeitungszusammenfassung
Zeile 29: Zeile 29:


         MESSAGE w380 with <f_variables>-var_id-vnam INTO DATA(lv_dummy).
         MESSAGE w380 with <f_variables>-var_id-vnam INTO DATA(lv_dummy).
         add_message_from_sy( CHANGING ct_messages = r_messages ).
         add_message_from_sy( CHANGING ct_messages = rt_messages ).


</syntaxhighlight>
Rückgabewerte:
<syntaxhighlight lang="abap">
  methods SET_CHAR_TEXTS_EDIT
    returning
      value(RT_MESSAGES) type FPMGB_T_MESSAGES .
</syntaxhighlight>
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 <code>APPEND</code> angefügt werden:
<syntaxhighlight lang="abap">
    APPEND LINES OF me->set_char_texts_edit( ) to rt_messages.
</syntaxhighlight>
</syntaxhighlight>




[[Category:ABAP]]
[[Category:ABAP]]

Version vom 17. August 2018, 10:25 Uhr

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.