Ansicht
Dokumentation

CX_SA_BASE_ERROR - Allgemeine Ausnahmeklasse Solution Manager

CX_SA_BASE_ERROR - Allgemeine Ausnahmeklasse Solution Manager

Fill RESBD Structure from EBP Component Structure   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Diese Klasse unterstützt Sie bei der Ausnahmebehandlung im Solution Manager. Wenn Sie die Ausnahme auslösen, können wichtige Informationen gesammelt werden und viele Ebenen höher im Call-Stack an den Ausnahmebehandller übergeben werden. Der Ausnahmebehandler gibt eine Meldung aus oder gibt sie bei entsprechender Anforderung in einem Exportparameter oder einer Tabelle zurück. Er kann auch eine Ausnahme im Anwendungslog protokollieren.

Um eine Ausnahme zu behandeln, verwenden Sie den folgenden Code:

  DATA l_exception_object TYPE REF TO cx_sa_base_error.

  DATA l_handler_object TYPE REF TO cl_sa_exception_handler.

TRY.

  CALL METHOD x.    #beliebige Methode, Unterprogramm oder Funktionsbaustein

  PERFORM y.        #beliebige Methode, Unterprogramm oder Funktionsbaustein

  CALL_FUNCTION z.  #beliebige Methode, Unterprogramm oder Funktionsbaustein

CATCH cx_sa_base_error INTO l_exception_object.

  CREATE OBJECT l_handler_object

    EXPORTING

      exception_object = l_exception_object.

  CALL METHOD l_handler_object->handle_exception.

ENDTRY.

Wenn Sie die Standardwerte für CX_SA_BASE_ERROR ändern möchten, legen Sie einfach eine Unterklasse von CX_SA_BASE_ERROR an. Wenn Sie eine andere Ausnahmebehandlung wünschen, können Sie eine Unterklasse von CL_SA_EXCEPTION_HANDLER anlegen und die Methode HANDLE_EXCEPTION neu definieren.

Um den Code zum automatischen Auslösen einer Klassenausnahme zu schreiben, können Sie die Pattern-Funktion im ABAP-Editor verwenden.

Konstruktorparameter

Verwenden Sie den Parameter MESSAGE, um eine bestimmte Meldung an den Ausnahmebehandler zu übergeben. Wenn Sie ihn initial lassen, wird eine Standardmeldung "Interner Fehler" an den Benutzer gesendet, die im Langtext die Codezeile anzeigt, in der der Fehler aufgetreten ist. Dieser Fehler wird außerdem im Anwendungslog protokolliert. Sie können die Protokollobjekte mit der Transaktion SLG1 für das Objekt SOLAR anzeigen.

Wenn Sie USE_SYST markieren, sendet der Ausnahmebehandler die aktuellen Meldungs-SY-Felder an MESSAGE.

Wenn Sie DONT_SEND_MESSAGE markieren, sendet der Ausnahmebehandler keine Meldung.

Markieren Sie den Parameter LOG_ERROR, wenn Sie eine Protokollierung des Fehlers im Anwendungslog erzwingen wollen.

Wenn Sie eine "alte" Ausnahme an den Ausnahmebehandler übermiteln wollen, können Sie dies mit dem Parameter CLASSIC_EXCEPTION_ID tun. Der Ausnahmebehandler gibt sie an Sie zurück. Das ist sinnvoll, wenn Aufrufer ihre Programme nicht auf Klassenausnahmen ändern wollen.

Sie können das Teilobjekt 'DEFAULT' für das Anwendungslog mit dem Parameter LOG_SUBOBJECT ändern. Das ist sinnvoll, wenn Sie eigene Customizing-Einstellungen für die Protokollierung im View VDMD_APPLOG_CUST senden möchten.






BAL_S_LOG - Application Log: Log header data   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3597 Date: 20240426 Time: 044732     sap01-206 ( 74 ms )