Message

Variante 1

Einfachste Variante und kürzeste Variante

REPORT ztest MESSAGE-ID test.

...

MESSAGE e001.

Falls im Kurtext in der Tabelle T100 der Wer " & & & & " enthalten ist, dann wird der Text "Mein Name ist Regotz" angezeigt. 

REPORT ztest MESSAGE-ID test.

...

MESSAGE i010 WITH 'Mein' 'Name' 'ist' 'Regotz'.

Es ist durch aus auch Möglich dass Sie auch direkt in den Klammer die MESSAGE-ID angeben.

MESSAGE i011(test) WITH 'Fehler' .
MESSAGE i000(vz) WITH 'Fehler' . " & & & &

Variante 2

Mann kann auch einen Text schreiben und dann für die MESSAGE eine TYPE angabe machen.

MESSAGE 'Meine Nachricht' TYPE 'I'.

Der Zusatz DISPLAY LIKE verändert nicht das Verhalten das durch den Nachritentyp erzielt werden soll, sondern nur die Art der Darstellung.

MESSAGE 'Meine Nachricht' TYPE 'I' DISPLAY LIKE 'W'.

Hier eine kurze Zusammenfassung der Nachrichtentypen

I - Information (Dialogfenster)

 

E - Fehlermeldung (Statuszeile)

 

W - Warnung (Statuszeile)

 

S - Erfolg / Statusmeldung (Statuszeile)

 

A - Abbruchmeldung (Dialogfenster)

 

X - Exit  (Laufzeitfehler)

Nachrichtenklassen von SAP

Im Modul HR verwende ich sehr viel die Nachrichtenklasse PN von SAP

Messages mit einer Klasse erzeugen

        "Erfolgs Meldung
        IF gv_sent_to_all mc_x.

          "Variante1
          MESSAGE S100(VZWITH 'Mail wurde gesendet'.

          "Variante 2
          DATA(gr_msgNEW zcl_hr_messageid CONV #`ZHR_PY_ENTGELT_MAIL` )
                                             no CONV #`000` )
*                                             v1 = `Email sent!!!`
                                           ).
          "Mit Punkt am Schluss Nachrichten Text aus Nachrichtenklasse holen
          DATA(resultcl_message_helper=>get_longtext_for_messagegr_msg ).
          "Ohne Punkt Nachrichten Text aus Nachrichtenklasse holen
          DATA(result2cl_message_helper=>get_text_for_messagegr_msg ).
          MESSAGE gr_msg TYPE 'S'.

          "Variante 3
          DATA(lf_s'S'.
          MESSAGE gr_msg TYPE lf_s.

          "Variante 4
          DATA(gr_msgNEW zcl_hr_messageid CONV #`ZHR_PY_ENTGELT_MAIL` )
                                             no CONV #`000` )
                                           ).
          MESSAGE gr_msg TYPE gr_msg->s.

          "Variante 5
          me->set_messageiv_id CONV #`ZHR_PY_ENTGELT_MAIL` )
                           iv_no CONV #`000` ).
          MESSAGE me TYPE me->mc_s.


        ELSE.
          me->set_messageiv_id CONV #`ZHR_PY_ENTGELT_MAIL` )
                           iv_no CONV #`001` ).
          MESSAGE me TYPE me->mc_e.
        ENDIF.

Beispiel einer Klasse

class ZCL_HR_ENTGELTNACHWEIS definition
  public
  final
  create public .

public section.

  interfaces IF_MESSAGE .
  interfaces IF_T100_MESSAGE .

  aliases GET_LONGTEXT
    for IF_MESSAGE~GET_LONGTEXT .
  aliases GET_TEXT

    for IF_MESSAGE~GET_TEXT . 

  data:
    mv_attr1 TYPE LENGTH 50 .
  data:
    mv_attr2 TYPE LENGTH 50 .
  data:
    mv_attr3 TYPE LENGTH 50 .
  data:
    mv_attr4 TYPE LENGTH 50 .
  constants MC_S type MSGTY value 'S' ##NO_TEXT.
  constants MC_W type MSGTY value 'W' ##NO_TEXT.
  constants MC_E type MSGTY value 'E' ##NO_TEXT.
  constants MC_I type MSGTY value 'I' ##NO_TEXT.

  PROTECTED SECTION.
  private section.

ENDCLASS.

 

CLASS ZCL_HR_ENTGELTNACHWEIS IMPLEMENTATION.

 METHOD set_message.
    if_t100_message~t100key-msgid iv_id.
    if_t100_message~t100key-msgno iv_no.
    if_t100_message~t100key-attr1 'MV_ATTR1'.
    if_t100_message~t100key-attr2 'MV_ATTR2'.
    if_t100_message~t100key-attr3 'MV_ATTR3'.
    if_t100_message~t100key-attr4 'MV_ATTR4'.
    mv_attr1 iv_v1.
    mv_attr2 iv_v2.
    mv_attr3 iv_v3.
    mv_attr4 iv_v4.

  ENDMETHOD.

ENDCLASS.

        search this website

Regotz Michel