Ansicht
Dokumentation

CX_TRA_ERROR_MESSAGE - Error message occured

CX_TRA_ERROR_MESSAGE - Error message occured

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

Funktionalität

Die Ausnahmeklasse CX_SHP_ERROR_MESSAGE kann verwendet werden, um T100-Fehlermeldungen als Ausnahme propagieren zu können und erlaubt insbesondere die folgende Verwendung:

data lf_msg.
message e123(zz) with 'Parameter1' into lf_msg.
cx_shp_error_message=>raise( ).

Siehe die Beschreibung zur Methode RAISE unten.

Die folgenden Methoden stehen zur Verfügung:

  • CONSTRUCTOR
Dem Konstruktor kann eine Fehlermeldung über den Parameter MESSAGE als BAPIRET2-Struktur übergeben werden. Das Attribut MESSAGE sollte dennoch nicht direkt ausgelesen werden, sondern stets über die Methode GET_MESSAGE.
  • GET_MESSAGE_FROM_SY
Füllt die BAPIRET2-Struktur aus der aktuellen in der Struktur SY enthaltenen Meldung.
  • GET_MESSAGE
Liefert die BAPIRET2-Struktur zur Fehlermeldung des Ausnahmeobjektes.
  • SEND
Gibt die Meldung mit der Anweisung MESSAGE aus.
  • GET_DEFAULT_MESSAGE
Erzeugt eine Standard-Fehlermeldung, falls keine T100-Fehlermeldung vorliegt.
  • RAISE
Löst eine neue Ausnahme aus.
Ohne Angaben von IS_MESSAGE und IO_PREVIOUS wird die letzte in der Struktur SY vorhandene Meldung weitergegeben.
In IS_MESSAGE kann die Meldung auch vorgegeben werden.
Die Ausnahme kann sich auch auf eine vorangeganene Ausnahme IO_PREVIOUS beziehen, wobei eine Standardmeldung generiert und weitergegeben wird, wenn IS_MESSAGE nicht übergeben wurde.
  • RAISE_DEFAULT
Löst eine Ausnahme mit einer Standardfehlermeldung aus, wenn weder eine T100-Meldung vorliegt noch eine vorangegangene Ausnahme.

Beziehungen

Beispiel

Das folgende Beispiel liest eine Lieferung mit dem Funktionsbaustein LE_DELIVERY_GET_BUFFERED ein.

Dieser löst die Ausnahmen NO_ITM_SELECTED und NO_KEY_SPECIFIED zusammen mit einer Fehlermeldung aus (MESSAGE RAISING), sodass die SY-Felder bereits gefüllt sind.

Anderenfalls wird mit der Anweisung MESSAGE INTO LF_MSG eine Fehlermeldung in die SY-Felder übergeben, sodass auch hier der vereinfachte Aufruf über die Methode RAISE ohne Parameter erfolgen kann.

  data:
    lf_msg,
    lf_vbeln    type vbeln_vl value '80000001',
    ls_sel      type leshp_data,
    ls_dlv      type leshp_delivery_s,
    lt_dlv      type leshp_delivery_t.

  ls_sel-all = 'X'.
  call function 'LE_DELIVERY_GET_BUFFERED'
    exporting
      if_vbeln               = lf_vbeln
      is_data                = ls_sel
    changing
      cx_deliveries          = lt_dlv
    exceptions
      no_item_selected       = 1
      selected_item_enqueued = 2
      no_key_specified       = 3
      others                 = 4.
  if sy-subrc <> 0.
    case sy-subrc.
      when 1. "message raised
      when 3. "message raised
      when others.
        message e302(vl) with lf_vbeln into lf_msg.
    endcase.
    cx_shp_error_message=>raise( ).
  endif.

Hinweise

Weiterführende Informationen






CPI1466 during Backup   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5089 Date: 20240419 Time: 051940     sap01-206 ( 34 ms )