Ansicht
Dokumentation
RSDLP - Dynamische Logpoints
BAL_S_LOG - Application Log: Log header data Addresses (Business Address Services)Diese Dokumentation steht unter dem Copyright der SAP AG.
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
- Um die GUI-basierte Anwendung zum Anlegen von Logpoints zu starten, geben Sie den Transaktionscode SDLP ein.
- Wählen Sie die Drucktaste Anlegen.
-
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. -
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. - Geben Sie die Protokolleigenschaften ein:
- 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
- Feldwerte: Gibt die Liste der Felder (Ergebnisliste) an, die in den Protokolleinträgen verwendet werden. Siehe auch: Feldwerte in Logpoints
- Optionale Bedingung: Gibt an, in welchem Fall Protokolleinträge geschrieben werden sollen. Siehe auch: Bedingungen in Logpoints
- Geben Sie die Aktivierungsdaten, den Löschzeitstempel und weitere technische Einschränkungen an - falls diese von den Standardeinstellungen abweichen.
- Bevor Sie den Logpoint anlegen, können Sie prüfen lassen, ob Ihre Einträge konsistent sind.
- 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 )