Trace-Logging 
Wenn Sie zur Fehlersuche den Trace mit Trace-Level 2 oder 3 über längere Zeit aktiv lassen wollen, aber dennoch keine beliebig großen Trace-Dateien in Kauf nehmen wollen, können Sie diese Funktion verwenden. Dies ist sinnvoll, wenn Sie einen sporadisch auftretenden Fehler suchen. Wenn Sie auf eine spezielle Traceausgabe 'warten', können Sie einrichten, dass nach Auffinden dieses Musters die Trace-Datei gesichert und der Trace-Level auf 1 zurückgesetzt wird.
Die Funktionen können also einfach verwendet werden, um die Größe der Trace-Dateien zu beschränken. Es kann aber auch nach einer speziellen Zeichenfolge im Trace gesucht werden, ohne Gefahr zu laufen, bei hohem Trace-Level die Festplatte zu überfüllen.
Um das Trace-Logging zu aktivieren, müssen Sie den Parameter rdisp/TRACE_LOGGING setzen. Hier geben Sie auch die Größe an, die die Trace-Datei maximal erreichen darf.
Wenn dann die Trace-Datei eine gewisse Größe überschreitet, wird der Inhalt in eine Log-Datei mit dem Namen der Trace-Datei, ergänzt um den Zusatz .old, geschrieben, die aktuelle Trace-Datei wird zurückgesetzt. Die Überprüfung und das evtl. Rücksetzen der Trace-Dateien erfolgt in durch den Parameter rdisp/autothtime definierten Zeitabständen. Default sind 60 Sekunden.
Das Trace-Logging wirkt für folgende Trace-Dateien
Workprozess-Traces dev_w*
Dispatcher-Trace dev_disp
Gateway-Trace dev_rd
ICM-Trace dev_icm
Message-Server-Trace dev_ms
Mit dem Parameter rdisp/TRACE_SEARCH_LIST können Sie eine Liste der Trace-Komponenten angeben, die bei der automatischen Trace-Suche berücksichtigt werden.
Als Wert kann eine durch Komma oder Semikolon getrennte Liste mit folgenden Elementen angegeben werden.
ALL: alle Trace-Dateien werden durchsucht (dies ist auch der Defaultwert)
WP: alle Workprozess-Trace-Files werden durchsucht
DISP: das Dispatcher-Trace-File wird durchsucht
GWRD: das Gateway-Trace-File wird durchsucht
ICMAN: das ICM-Trace-File wird durchsucht (falls vorhanden)
MS: das Message-Server-Trace-File wird durchsucht (falls vorhanden)
Beispiel
rdisp/TRACE_SEARCH_LIST = WP, ICMAN bedeutet: alle Workprozess-Trace-Dateien und die ICM-Trace-Datei werden bei der Suche berücksichtigt.
Sie können die Parameter rdisp/TRACE_PATTERN_<x> verwenden, um in den Trace-Dateien nach einem Muster zu suchen. Die Datei wird dann, wenn die mit rdisp/TRACE_LOGGING festgelegte Größe überschritten ist, auf das Muster durchsucht. Wird es gefunden, wird für alle aktiven Komponenten der Trace-Level wieder auf 1 gesetzt.
Sie können auch Wildcards (* für eine beliebige Zeichenfolge, ? für ein Zeichen) verwenden. Mit dem Zeichen \ können die Sonderzeichen entwertet werden, d.h. haben dann die Bedeutung eines gewöhnlichen Zeichens.
Hinweis
Beachten Sie, dass Wildcards, insbesondere in der Mitte des Patterns, zu niedrigerer Performance des Systems führen.
Zur besseren Lesbarkeit wurden in den nachfolgenden Beispielen die Suchmuster mit Hochkommata umschlossen, bei der Definition mit der Transaktion RZ11 oder auch in den Profilen müssen sie jedoch ohne Hochkommata angegeben werden.
Beispiel
Das Muster "word1 * word?" wird in Zeile "one example with word1 and word2" gefunden, nicht jedoch in Zeile "one example with word1 and word".
Das Muster "10 \* 10 =" wird in Zeile "Multiplikation: 10 * 10 = 100" gefunden, nicht jedoch in Zeile "Addition: 10 + 10 = 20".
Achtung
Sie können nicht mehrere Suchmuster logisch verknüpfen, also zum Beispiel Stellen suchen, in denen muster1 und muster2 vorkommen.
Wenn Sie auf alle Servern eines Systems nach einem Muster suchen wollen, und sobald dieses gefunden ist, das Trace-Logging auf allen Servern beenden wollen (d.h. den Trace-Level wieder auf 1 setzen), verwenden Sie den Zusatz global=on. Ist global=off oder gar nicht gesetzt, so wird das Logging nur auf dem Server ausgeschaltet, wo das Muster gefunden wurde.
Hinweis
Der Zusatz global=on oder global=off hat nur eine Wirkung, wenn gleichzeitig mit dem Parameter rdisp/TRACE_LOGGING auch der Parameter rdisp/TRACE_PATTERN_0 gesetzt wurde.
Der Message-Server sucht nur selbst nach dem String in dev_ms, wenn der Parameter ms/standalone = 1 gesetzt ist. Ansonsten wird die Suche von einem Workprozess derselben Instanz, mit der der Message-Server gestartet wurde, vorgenommen.
Falls der Message-Server selbst sucht, dann wird die Suche in einem eigenen Thread gestartet, damit bei einer großen Datei die normale Bearbeitung von Aufträgen nicht behindert wird.
Gehen Sie vor wie folgt.
Setzen Sie den Parameter rdisp/TRACE_LOGGING = ON, um das Trace-Logging zu aktivieren. Sie geben hier auch die Größe an, bei deren Erreichen die Trace-Datei geloggt und dann zurückgesetzt wird.
Sie können den Parameter in der Transaktion RZ11 dynamisch ändern.
Die Parameter-Werte müssen folgende Syntax befolgen:
Syntax
rdisp/TRACE_LOGGING = on, <n> [k | m] , [global=on | off] | off
Der erste Teil gibt an, ob das Logging aktiv ist. Hier sind die Angaben ON bzw. OFF erlaubt. Bei aktivem Logging kann im zweiten Teil die Dateigröße angegeben werden, ab der die Trace-Datei geloggt wird und eine neue Trace-Datei beschrieben wird. Der Zusatz global=on oder global=off hat nur eine Wirkung, wenn der Parameter rdisp/TRACE_PATTERN_0 zur Mustersuche gesetzt wurde (vgl. systemweites Trace-Logging).
Beispiel
rdisp/TRACE_LOGGING = off bewirkt kein Trace-Logging
rdisp/TRACE_LOGGING = on, 1000 bewirkt Trace-Logging, falls die Trace-Datei mehr als 1000 Bytes enthält.
rdisp/TRACE_LOGGING = on, 20 k bewirkt Trace-Logging, falls die Trace-Datei mehr als 20 Kilobytes enthält.
rdisp/TRACE_LOGGING = on, 30 m, global=on bewirkt Trace-Logging und begrenzt die Größe der Trace-Datei auf 30 Megabytes. Wurde das gesuchte Pattern in einer Trace-Datei gefunden, wird das Trace-Logging auf allen Servern deaktiviert.
Legen Sie mit dem Parameter rdisp/TRACE_PATTERN_0 ein Suchmuster zum automatisierten Abschalten des SAP-Trace fest. Dieser Parameter wirkt nur, falls mittels rdisp/TRACE_LOGGING das Trace-Logging aktiviert wurde. In diesem Fall werden die Trace-Dateien vor dem automatischen Zurücksetzen nach dem Suchmuster durchsucht. Falls es gefunden wird, wird das Trace-Logging deaktiviert und der Trace-Level auf den Wert 1 gesetzt. Bei der Suche werden folgende Trace-Dateien berücksichtigt:
Work-Prozess-Traces dev_w*
Dispatcher-Trace dev_disp
Gateway-Trace dev_rd
ICM-Trace dev_icm
Message-Server-Trace dev_ms
Das Suchmuster kann die Sonderzeichen * für eine beliebe Zeichenfolge und ? für ein beliebiges Zeichen enthalten. Sie können mit den Parametern rdisp/TRACE_PATTERN_1 und rdisp/TRACE_PATTERN_2 weitere Suchmuster definieren. Alle Suchmuster werden dann oder-verknüpft, d.h. wenn eines der Muster gefunden wurde, wird der Trace-Level zurückgeschaltet.
Ein Beispiel für die Verwendung des Trace-Loggings finden Sie hier.