Ansicht
Dokumentation

RSDLP - Dynamische Logpoints

RSDLP - Dynamische Logpoints

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

Verwendung

Logpoints zeigen der ABAP-Laufzeit an, dass ein ABAP-Programm eine benutzerdefinierte Aktion an einer bestimmten Stelle im Programm ausführt. Wenn der Logpoint während der Programmausführung erreicht wird, wird er ausgewertet. Die Logpoint-Auswertung prüft zuerst die Bedingung. Ist die Bedingung erfüllt, wird entsprechend der angegebenen Logpoint-Parameter ein Protokolleintrag geschrieben.

Statische Logpoints definieren Sie, indem Sie die Anweisung LOG-POINT in das ABAP-Programm schreiben. Dynamische Logpoints setzen Sie direkt an einer bestimmten Stelle im Quelltext, ohne diesen selbst zu verändern.

Dynamische Logpoints wurden eingeführt, um auch in Qualitätssicherungs- oder Produktivsystemen, bei denen der Quelltext nicht geändert werden kann, eine Protokollierung zu ermöglichen. Anwendungsbeispiele sind Stellen im Quelltext, für die zusätzliche Monitoring-Details erforderlich sind, oder schwer lokalisierbare Fehlersituationen in Batchjobs, die immer wieder auftreten und kein Debugging erlauben.

Dynamische Logpoints können Sie wie folgt setzen:

  • Ohne jegliche Änderungen am Quelltext
  • Für jede beliebige Quelltextzeile, die eine ausführbare ABAP-Anweisung enthält

Dynamische Logpoints können Sie wie folgt verwenden:

  • Zur Hinterlegung variabler Werte im Kontext einer definierten ABAP-Programmzeile, wenn eine bestimmte Bedingung erfüllt ist.
  • Zur Ausführungsanalyse für eine einzelne Open-SQL-Anweisung, die im SQL-Monitor erscheint, wenn eine bestimmte Bedingung erfüllt ist.
  • Zur Anzeige des Aufruf-Stacks für eine ABAP-Programmzeile, wenn eine bestimmte Bedingung erfüllt ist.
  • Zur Aktivierung des SQL-Trace für eine einzelne Open-SQL-Anweisung, um Performance-Probleme im Detail analysieren zu können.
  • Zur Aktivierung des Tabellenpuffer-Trace für eine Speicherverbrauchsanalyse einer bestimmten Open-SQL-Anweisung.

Dynamische Logpoints können zwei verschiedene Status annehmen:

  • Aktive Logpoints - Wenn ein aktiver Logpoint während der Programmausführung erreicht wird, wird der Logpoint ausgewertet.
  • Inaktiven Logpoints - diese werden während der Programmausführung ignoriert.

Voraussetzungen

Voraussetzungen für die Verwendung dieser Transaktion:

  • Sie benötigen im entsprechenden System mindestens das Anzeigeberechtigungsprofil für Objekt S_DEVELOP (Aktivität: 03).
  • Die Berechtigung für das Objekt S_DYNLGPTS zur Verwendung der grundlegenden Logpoint-Funktionen mit dem Wert BASIC für das Berechtigungsfeld OBJNAME und den Werten LOGPTS und RESULT für das Feld OBJTYPE. Mit dieser Basisberechtigung können Sie:
  • Logpoints anlegen

  • Logpoints ändern, aktivieren, deaktivieren und löschen

  • Protokolleinträge (Ergebnisse) abrufen.

  • Eine Zusatzberechtigung für das Objekt S_DYNLGPTS, die erweiterte Protokollierungsfunktionen umfasst wie:
  • Tracing ein- und ausschalten (Wert TRACING für Feld OBJNAME)

  • ABAP-Variablen analysieren (Wert VARIABLES für Feld OBJNAME).

Weitere Informationen: Lesen Sie die Systemdokumentation für das Berechtigungsobjekt S_DYNLGPTS.
Hinweis: Sie können die erweiterten Protokollierungsfunktionen nutzen, wenn Sie bereits die entsprechenden Berechtigungen für den ABAP-Debugger oder für die Transaktion ST05 haben.

Aktivitäten

Dynamischen Logpoint für eine Programmzeile anlegen

  1. Um die GUI-basierte Anwendung zum Anlegen von Logpoints zu starten, geben Sie den Transaktionscode SDLP ein.
  2. Wählen Sie die Drucktaste Anlegen.
  3. Geben Sie auf dem nachfolgenden Dialogfenster eine sinnvolle Beschreibung für den Logpoint ein. Dieser Schritt ist optional.

    Tipp: Eine solche Beschreibung empfiehlt sich, wenn Sie mehrere Logpoints in einem Programm oder mehrere Logpoints für eine einzelne Programmzeile setzen möchten.
  4. Geben Sie die Quelltextstelle ein, an welcher der Logpoint erstellt werden soll.

    Hinweis: Die Quelltextstelle wird durch den Programmnamen, den Include-Namen und die Zeile im Include angegeben. Falls Sie einen vorhandenen Session-Breakpoint als dynamischen Logpoint wiederverwenden möchten, wählen Sie die Drucktaste Stelle aus Breakpoint extrahieren.
  5. Geben Sie die Protokolleigenschaften ein:
    1. Schlüsseldefinition: Definiert den Feldwert, für den der Protokolleintrag erstellt wird. Der Schlüssel wird auch zur Aggregation der Ergebnismenge verwendet. Siehe auch: Schlüsseldefinition in Logpoints
    2. Feldwerte: Gibt die Liste der Felder (Ergebnisliste) an, die in den Protokolleinträgen verwendet werden. Siehe auch: Feldwerte in Logpoints
    3. Optionale Bedingung: Gibt an, in welchem Fall Protokolleinträge geschrieben werden sollen. Siehe auch: Bedingungen in Logpoints
  6. Geben Sie die Aktivierungsdaten, den Löschzeitstempel und weitere technische Einschränkungen an - falls diese von den Standardeinstellungen abweichen.
  7. Bevor Sie den Logpoint anlegen, können Sie prüfen lassen, ob Ihre Einträge konsistent sind.
  8. Wählen Sie die Aktion Sichern, um den dynamischen Logpoint anzulegen.

Hinweis:Für dynamische Logpoints sind die folgenden Standardwerte im System bereits vordefiniert:
  • Aktiv bis: Zeitstempel, an dem der aktive dynamische Logpoint automatisch deaktiviert wird.

  • Logpoint nach Deaktivierung löschen [Tage]: Zeitpunkt zum Löschen des Logpoints nach Ablauf seiner Aktivierung. Der Standardwert beträgt 7 Tage (nach Ablauf der Aktivierung).

Dynamischen Logpoint deaktivieren

Wenn Sie die Protokollierung während der Programmausführung unterdrücken möchten, ohne jedoch den dazugehörigen Logpoint zu löschen, können Sie den Logpoint deaktivieren.


Um einen aktiven Logpoint zu deaktivieren, markieren Sie den Logpoint-Eintrag in der Liste und wählen dann Deaktivieren in der Symbolleiste.

Dynamischen Logpoint aktivieren

Nur aktive Logpoints werden zur Laufzeit ausgewertet. Inaktive Logpoints werden bei der Programmausführung ignoriert.

Um einen inaktiven Logpoint zu aktivieren, markieren Sie den Logpoint-Eintrag in der Liste und wählen dann Aktivieren in der Symbolleiste.

Protokollergebnisse anzeigen

Logpoints veranlassen das Schreiben eines Protokolleintrags, wenn das entsprechende ABAP-Programm eine bestimmte Stelle erreicht.

Um die Protokollergebnisse für das ausgeführte Programm (für das der betreffende Logpoint gesetzt wurde) anzuzeigen, markieren Sie den entsprechenden Logpoint-Eintrag in der Liste und wählen dann Ergebnisse anzeigenin der Symbolleiste.

Dynamischen Logpoint löschen

Neben der impliziten Löschoption haben Sie auch die Möglichkeit, einen Logpoint explizit zu löschen.

Um einen Logpoint zu löschen, markieren Sie den Logpoint-Eintrag in der Liste und wählen dann Löschen in der Symbolleiste.
Der dynamische Logpoint wird aus dem ABAP-Programm entfernt, und die dazugehörigen Protokolleinträge werden im aktuellen System gelöscht.

Verwandte Themen






TXBHW - Original Tax Base Amount in Local Currency   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 10567 Date: 20240531 Time: 080005     sap01-206 ( 145 ms )