SAP Debugging API

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.

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 auf
    • POST /breakpoints – Setzt Breakpoints in ABAP-Programmen
    • DELETE /breakpoints/{id} – Entfernt einen gesetzten Breakpoint
    • GET /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" }

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 ab
    • POST /trace/start – Aktiviert das Debugging für einen bestimmten OData-Request
    • GET /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 }

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 ab
    • POST /performance/start – Startet die Performance-Messung für eine Fiori-App
    • GET /performance/results/{session_id} – Gibt die Ladezeiten und Bottlenecks einer Fiori-App aus
  • Beispiel JSON-Schema für Performance-Messung: { "appId": "F1234", "duration": 60 }

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-Aufrufe
    • POST /trace/start – Aktiviert die Nachverfolgung eines bestimmten RFCs
    • GET /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" }

Bietet Zugriff auf verschiedene SAP-Logdateien zur Fehleranalyse, einschließlich System- und Applikationslogs.

  • Endpunkt: /sap/bc/debug/logs
  • Methoden:
    • GET /system – Ruft allgemeine Systemprotokolle ab
    • GET /application?component={component} – Zeigt Logs für eine bestimmte SAP-Komponente
    • DELETE /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" } }

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-Sitzung
    • POST /profile/start – Startet eine Speicherprofilierung für einen ABAP-Prozess
    • GET /profile/result/{profile_id} – Ruft die Ergebnisse einer Speicheranalyse ab
  • Beispiel JSON-Schema für Speicherprofilierung: { "sessionId": "123456", "duration": 120 }

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-Prozess
    • GET /trace/result/{trace_id} – Ruft detaillierte Laufzeitanalysen ab
    • GET /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 }