SAP Debugging APIs
SAP Debugging APIs ermöglichen eine tiefgehende Analyse von Fehlern in ABAP-Programmen, SAP Fiori-Apps und OData-Services. Sie bieten Zugriff auf Laufzeitinformationen, Log-Daten und Systemzustände, um Probleme effizient zu identifizieren und zu beheben. Die folgenden APIs sind besonders relevant für Debugging-Zwecke und bieten detaillierte Funktionen zur Fehleranalyse, Performance-Messung und Nachverfolgung von Systemprozessen.
ABAP Debugging API
Diese API ermöglicht das Analysieren und Verwalten von laufenden ABAP-Prozessen sowie das Setzen von Breakpoints über externe Tools.
- Endpunkt:
/sap/bc/debug/abap - Methoden:
GET /sessions– Listet alle aktiven Debugging-Sitzungen aufPOST /breakpoints– Setzt Breakpoints in ABAP-ProgrammenDELETE /breakpoints/{id}– Entfernt einen gesetzten BreakpointGET /variables?session={session_id}– Zeigt Werte von Variablen in einer laufenden Debugging-Sitzung
- Beispiel JSON-Schema für Breakpoints:
{ "program": "Z_MY_PROGRAM", "line": 120, "type": "session" }
OData Debugging API
Diese API erlaubt das Debuggen von OData-Services in SAP Gateway und liefert detaillierte Fehlerprotokolle.
- Endpunkt:
/sap/opu/odata/IWFND/TRACES - Methoden:
GET /errors– Ruft eine Liste aller OData-Fehlermeldungen abPOST /trace/start– Aktiviert das Debugging für einen bestimmten OData-RequestGET /trace/result/{trace_id}– Zeigt das detaillierte Debugging-Ergebnis für eine Trace-ID
- Beispiel JSON-Schema für Trace-Aktivierung:
{ "user": "DEVELOPER1", "service": "/sap/opu/odata/sap/Z_MY_SERVICE", "duration": 300 }
SAP Fiori Debugging API
Mit dieser API lassen sich SAPUI5- und Fiori-Anwendungen auf Fehler analysieren, darunter Performance-Messungen und UI-Fehlermeldungen.
- Endpunkt:
/sap/ui/debug - Methoden:
GET /logs– Ruft UI-Fehlermeldungen und Warnungen abPOST /performance/start– Startet die Performance-Messung für eine Fiori-AppGET /performance/results/{session_id}– Gibt die Ladezeiten und Bottlenecks einer Fiori-App aus
- Beispiel JSON-Schema für Performance-Messung:
{ "appId": "F1234", "duration": 60 }
RFC Debugging API
Erlaubt das Debugging und Nachverfolgen von Remote Function Calls (RFC) zwischen SAP-Systemen und externen Anwendungen.
- Endpunkt:
/sap/bc/debug/rfc - Methoden:
GET /calls?status=failed– Zeigt fehlgeschlagene RFC-AufrufePOST /trace/start– Aktiviert die Nachverfolgung eines bestimmten RFCsGET /trace/result/{trace_id}– Liefert Details zu einem RFC-Debugging-Ergebnis
- Beispiel JSON-Schema für eine RFC-Trace-Anfrage:
{ "functionModule": "Z_MY_RFC_FUNCTION", "user": "DEVELOPER1", "traceLevel": "full" }
SAP Log Debugging API
Bietet Zugriff auf verschiedene SAP-Logdateien zur Fehleranalyse, einschließlich System- und Applikationslogs.
- Endpunkt:
/sap/bc/debug/logs - Methoden:
GET /system– Ruft allgemeine Systemprotokolle abGET /application?component={component}– Zeigt Logs für eine bestimmte SAP-KomponenteDELETE /logs?olderThan={days}– Entfernt alte Log-Einträge zur Speicheroptimierung
- Beispiel JSON-Schema für eine Log-Anfrage:
{ "component": "BC-DWB-TOO-DBG", "severity": "ERROR", "timeRange": { "start": "2024-03-01T00:00:00Z", "end": "2024-03-10T23:59:59Z" } }
SAP Memory Debugging API
Ermöglicht das Überwachen des Speicherkonsums von ABAP-Programmen und hilft bei der Optimierung von Performance-Problemen.
- Endpunkt:
/sap/bc/debug/memory - Methoden:
GET /usage?session={session_id}– Zeigt den aktuellen Speicherverbrauch einer Debugging-SitzungPOST /profile/start– Startet eine Speicherprofilierung für einen ABAP-ProzessGET /profile/result/{profile_id}– Ruft die Ergebnisse einer Speicheranalyse ab
- Beispiel JSON-Schema für Speicherprofilierung:
{ "sessionId": "123456", "duration": 120 }
ABAP Performance Debugging API
Diese API hilft, Performance-Probleme in ABAP-Programmen zu analysieren, indem sie Laufzeiten, SQL-Statements und Engpässe erfasst.
- Endpunkt:
/sap/bc/debug/performance - Methoden:
POST /trace/start– Startet eine Performance-Trace für einen ABAP-ProzessGET /trace/result/{trace_id}– Ruft detaillierte Laufzeitanalysen abGET /sql/longRunning?threshold={milliseconds}– Zeigt SQL-Abfragen, die über einer bestimmten Zeit laufen
- Beispiel JSON-Schema für Performance-Trace:
{ "program": "Z_MY_PERFORMANCE_TEST", "traceLevel": "detailed", "duration": 300 }
