Скачать книгу

Grund »RFC-Antwort«

      Per Doppelklick auf einen Workprozess in der Übersicht (siehe Abbildung 1.2) erhalten Sie die zugehörigen Detailinformationen. Unter der Rubrik Wartegrund finden Sie im Feld Warteinfo (

) die sogenannte Conversation ID des RFC-Aufrufs. Starten Sie nun die Transaktion SM5A und geben Sie dort die Conversion ID in das betreffende Feld ein (
). Im nachfolgenden Bild sehen Sie dann u.a., welche RFC-Destination für den Aufruf genutzt wurde und auf welcher Instanz (Server
) der gerufene Baustein ausgeführt wird. Starten Sie auf dieser Instanz nun die Transaktion SM50. Sie gibt Ihnen u.U. Hinweise darauf, ob die Instanz möglicherweise stark belastet ist und der RFC-Aufruf deshalb zu langen Antwortzeiten führt.

      SAP-Hinweis 934109

      

SAP-Hinweis 934109 enthält detaillierte Informationen zu den Ursachen des Status »hält RFC« und zeichnet Lösungswege auf, wie Sie das Setzen des Status vermeiden.

      1.2.2 Workprozess im Status »hält« mit Grund »PRIV-Modus«

      Ein Workprozess wird mit dem Grund »PRIV« in den Status »hält« versetzt, wenn für die Ablage des Benutzerkontextes (Variableninhalte der gestarteten Anwendungen, Pufferung von Bildschirmlisten etc.) kein Extended Memory mehr verfügbar ist. Der betroffene Anwender wird auf diese Situation durch die Meldung »Speicher wird knapp. Vor Pausen Transaktion beenden!« hingewiesen.

      Wir müssen zwei Ursachen für den Engpass an Extended Memory unterscheiden:

      1. Für eine Dialoganwendung kann die maximal erlaubte Quote an Extended Memory erreicht sein.

      2. Das für die gesamte Instanz zur Verfügung stehende Extended Memory ist ausgeschöpft.

      Der zweite Fall ist besonders kritisch, denn jetzt werden Workprozesse auf den Status »hält« gesetzt, selbst wenn die im Prozess laufenden Anwendungen nur wenig Speicher verbrauchen. In der Folge befinden sich bereits nach kurzer Zeit alle Dialogworkprozesse im Status »hält«; einzig die Anwender, die einen Prozess reserviert haben, können noch Aktionen ausführen.

      Die Transaktion ST02 hilft Ihnen dabei, einen solch globalen Engpass an »Extended Memory« zu erkennen (

), mithilfe der Transaktion SM04 können Sie prüfen, welcher Anwender übermäßig viel Speicher benötigt (
) (siehe Abbildung 1.5).

      Abbildung 1.5: Analyse des Speicherverbrauchs

      Vermeidung »PRIV«

      

Bevor man sich entscheidet, das Extended Memory oder die für einen Anwender verfügbare Quote zu vergrößern, sollte geprüft werden, ob nicht sinnvolle Selektionskriterien beim Start der Anwendung oder ggf. eine Optimierung des Programmcodings dabei helfen können, eine häufige Workprozessreservierung zu vermeiden. Beachten Sie zusätzlich auch den SAP-Hinweis 2098461.

      Bisweilen kann es notwendig sein, eine Anwendung vorzeitig zu stoppen, weil z.B. Selektionskriterien eingegeben wurden, die zu problematisch langen Laufzeiten führen können.

      Für das Abbrechen stehen verschiedene Optionen zur Verfügung. Zunächst einmal kann der User, der die Anwendung gestartet hat, selbst versuchen, sie zu stoppen (siehe Abbildung 1.6). Zu diesem Zweck bietet die SAP GUI die Funktion Transaktion abbrechen (

). Ist diese nicht erfolgreich oder läuft die Anwendung z.B. im Hintergrund, können Sie in der Transaktion SM50 Programm • abbrechen (
) wählen. Bei beiden Verfahren wird der Workprozess angewiesen, die laufende Anwendung zu beenden, der Workprozess selbst wird betriebssystemseitig aber nicht durchgestartet, sondern kann sofort die nächste Anfrage abarbeiten. In jedem Fall sollten Sie nach dem eingeleiteten Abbruch etwas Geduld haben. Wenn z.B. die Anwendung mitten in einer ändernden Datenbankoperation gestoppt wurde, kann das notwendige Rollback einige Zeit in Anspruch nehmen. Lässt sich die Anwendung über keinen der beschriebenen Wege beenden, sollten Sie den Workprozess durchstarten. Dazu wählen Sie Administration • Workprozess • abbrechen • ohne Core (
).

      Abbildung 1.6: Alternativen für den Abbruch einer Anwendung

      Anwendungen in Dialogworkprozessen werden zudem automatisch gestoppt, wenn sie ein durch den Parameter rdisp/max_wprun_time vorgegebenes Zeitlimit überschritten haben. Beachten Sie, dass dieses Limit automatisch um ca. 60 Sekunden verlängert wird, wenn die Anwendung z.B. gerade ein SQL-Statement ausführt. Der Abbruch der Anwendung aufgrund einer Zeitüberschreitung führt zu einem Laufzeitfehler.

      Bei aktuelleren SAP-Kernel kann das Limit in Abhängigkeit von Prioritäten differenziert werden. Es stehen folgende Parameter zur Verfügung:

       rdisp/scheduler/prio_high/max_runtime

       rdisp/scheduler/prio_normal/max_runtime

       rdisp/scheduler/prio_low/max_runtime

      Detaillierte Informationen zu den Parametern liefert die Transaktion RZ11.

      Die Priorität einer im Workprozess zu bearbeitenden Anfrage kann wie in Tabelle 1.3 festgelegt sein:

Priorität Bedeutung
Hoch Dialoganwendungen und systeminterne Vorgänge wie z.B. Puffersynchronisation, Batch-Scheduler
Normal RFC-Aufrufe aus Dialoganwendungen
Niedrig Ausführung von Job-Steps und RFC-Aufrufen aus Batch-Anwendungen

      Tabelle 1.3: Prioritäten für Workprozessaufträge

      Die Transaktion SM50 kann selbst vom Systemadministrator nur dann genutzt werden, wenn mindestens ein Dialogworkprozess im Status »wartet« zur Verfügung steht. Was tun, wenn alle Prozesse blockiert sind?

      Ein sehr rudimentäres Werkzeug für die Analyse und Verwaltung von Workprozessen bietet das Kommando dpmon, das auf Betriebssystemebene des Applikationsservers gestartet werden kann. Melden Sie sich dazu als SAP-Systemadministrator (<SID>adm) an. Wenn Sie in das Verzeichnis (DIR_PROFIL) wechseln, können Sie das Kommando z.B. wie folgt starten:

      dpmon pf=TZ7_DVEBMGS00_saptz7

      Für den Parameter pf muss der jeweilige Name des Instanzprofils angegeben werden.

      Wählen Sie im Folgebild die Option m - menue. Daraufhin erhalten Sie eine Aufstellung über die zur Verfügung stehenden Kommandos. Das Kommando »l« zeigt Ihnen eine zur Transaktion SM50 analoge Auflistung der Workprozesse

Скачать книгу