Ansicht
Dokumentation
CX_TRA_ERROR_MESSAGE - Error message occured
General Material Data PERFORM Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
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 )